diff --git a/discovery/androidmanagement-v1.json b/discovery/androidmanagement-v1.json index 59ddec9b5b9..565cd83eab9 100644 --- a/discovery/androidmanagement-v1.json +++ b/discovery/androidmanagement-v1.json @@ -1202,7 +1202,7 @@ } } }, - "revision": "20250428", + "revision": "20250501", "rootUrl": "https://androidmanagement.googleapis.com/", "schemas": { "AdbShellCommandEvent": { @@ -2208,7 +2208,7 @@ "type": "string" }, "errorCode": { - "description": "If the command failed, an error code explaining the failure. This is not set when the command is cancelled by the caller.", + "description": "If the command failed, an error code explaining the failure. This is not set when the command is cancelled by the caller. For reasoning about command errors, prefer fields in the following order (most preferred first): 1. Command-specific fields like clearAppsDataStatus, startLostModeStatus, or similar, if they exist. 2. This field, if set. 3. The generic error field in the Operation that wraps the command.", "enum": [ "COMMAND_ERROR_CODE_UNSPECIFIED", "UNKNOWN", @@ -2231,6 +2231,15 @@ "description": "For commands of type RESET_PASSWORD, optionally specifies the new password. Note: The new password must be at least 6 characters long if it is numeric in case of Android 14 devices. Else the command will fail with INVALID_VALUE.", "type": "string" }, + "requestDeviceInfoParams": { + "$ref": "RequestDeviceInfoParams", + "description": "Optional. Parameters for the REQUEST_DEVICE_INFO command to get device related information. If this is set, then it is suggested that type should not be set. In this case, the server automatically sets it to REQUEST_DEVICE_INFO . It is also acceptable to explicitly set type to REQUEST_DEVICE_INFO." + }, + "requestDeviceInfoStatus": { + "$ref": "RequestDeviceInfoStatus", + "description": "Output only. Status of the REQUEST_DEVICE_INFO command.", + "readOnly": true + }, "resetPasswordFlags": { "description": "For commands of type RESET_PASSWORD, optionally specifies flags.", "items": { @@ -3133,6 +3142,33 @@ }, "type": "object" }, + "Eid": { + "description": "EID information for each eUICC chip.", + "id": "Eid", + "properties": { + "eid": { + "description": "Output only. The EID", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EidInfo": { + "description": "Information related to the EIDs of the device.", + "id": "EidInfo", + "properties": { + "eids": { + "description": "Output only. EID information for each eUICC chip.", + "items": { + "$ref": "Eid" + }, + "readOnly": true, + "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", @@ -3365,6 +3401,18 @@ }, "type": "object" }, + "EuiccChipInfo": { + "description": "Information related to the eUICC chip.", + "id": "EuiccChipInfo", + "properties": { + "eid": { + "description": "Output only. The Embedded Identity Document (EID) that identifies the eUICC chip for each eUICC chip on the device. This is available on company owned devices running Android 13 and above.", + "readOnly": true, + "type": "string" + } + }, + "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 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", @@ -3535,6 +3583,14 @@ "readOnly": true, "type": "string" }, + "euiccChipInfo": { + "description": "Output only. Information related to the eUICC chip.", + "items": { + "$ref": "EuiccChipInfo" + }, + "readOnly": true, + "type": "array" + }, "gpuShutdownTemperatures": { "description": "GPU shutdown temperature thresholds in Celsius for each GPU on the device.", "items": { @@ -5888,6 +5944,55 @@ }, "type": "object" }, + "RequestDeviceInfoParams": { + "description": "Parameters associated with the REQUEST_DEVICE_INFO command to get device related information.", + "id": "RequestDeviceInfoParams", + "properties": { + "deviceInfo": { + "description": "Required. Type of device information to be requested.", + "enum": [ + "DEVICE_INFO_UNSPECIFIED", + "EID" + ], + "enumDescriptions": [ + "This value is disallowed.", + "Request the identifier for eSIM. The user will be asked to approve the disclosure of the information before the result can be returned. If the user doesn't approve the disclosure, USER_DECLINED will be returned. This is supported only for personally owned devices with work profiles and Android versions 13 and above." + ], + "type": "string" + } + }, + "type": "object" + }, + "RequestDeviceInfoStatus": { + "description": "Status of the REQUEST_DEVICE_INFO command.", + "id": "RequestDeviceInfoStatus", + "properties": { + "eidInfo": { + "$ref": "EidInfo", + "description": "Information related to the EIDs of the device." + }, + "status": { + "description": "Output only. Status of a REQUEST_DEVICE_INFO command.", + "enum": [ + "STATUS_UNSPECIFIED", + "SUCCEEDED", + "PENDING_USER_ACTION", + "USER_DECLINED", + "UNSUPPORTED" + ], + "enumDescriptions": [ + "Unspecified. This value is not used.", + "Device information has been successfully delivered.", + "The user has not completed the actions required to share device information.", + "The user declined sharing device information.", + "The requested device info is not supported on this device, e.g. eSIM is not supported on the device." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "ScreenBrightnessSettings": { "description": "Controls for the screen brightness settings.", "id": "ScreenBrightnessSettings", diff --git a/discovery/certificatemanager-v1.json b/discovery/certificatemanager-v1.json index b89038f25b1..93705e4da51 100644 --- a/discovery/certificatemanager-v1.json +++ b/discovery/certificatemanager-v1.json @@ -143,6 +143,12 @@ "name" ], "parameters": { + "extraLocationTypes": { + "description": "Optional. A list of extra location types that should be used as conditions for controlling the visibility of the locations.", + "location": "query", + "repeated": true, + "type": "string" + }, "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", @@ -1314,7 +1320,7 @@ } } }, - "revision": "20250211", + "revision": "20250423", "rootUrl": "https://certificatemanager.googleapis.com/", "schemas": { "AllowlistedCertificate": { diff --git a/discovery/civicinfo-v2.json b/discovery/civicinfo-v2.json index 946c9a81f94..81f2a6b9d3e 100644 --- a/discovery/civicinfo-v2.json +++ b/discovery/civicinfo-v2.json @@ -199,187 +199,9 @@ } } } - }, - "representatives": { - "methods": { - "representativeInfoByAddress": { - "description": "Looks up political geography and representative information for a single address.", - "flatPath": "civicinfo/v2/representatives", - "httpMethod": "GET", - "id": "civicinfo.representatives.representativeInfoByAddress", - "parameterOrder": [], - "parameters": { - "address": { - "description": "The address to look up. May only be specified if the field ocdId is not given in the URL", - "location": "query", - "type": "string" - }, - "includeOffices": { - "default": "true", - "description": "Whether to return information about offices and officials. If false, only the top-level district information will be returned.", - "location": "query", - "type": "boolean" - }, - "levels": { - "description": "A list of office levels to filter by. Only offices that serve at least one of these levels will be returned. Divisions that don't contain a matching office will not be returned.", - "enum": [ - "international", - "country", - "administrativeArea1", - "regional", - "administrativeArea2", - "locality", - "subLocality1", - "subLocality2", - "special" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "location": "query", - "repeated": true, - "type": "string" - }, - "roles": { - "description": "A list of office roles to filter by. Only offices fulfilling one of these roles will be returned. Divisions that don't contain a matching office will not be returned.", - "enum": [ - "headOfState", - "headOfGovernment", - "deputyHeadOfGovernment", - "governmentOfficer", - "executiveCouncil", - "legislatorUpperBody", - "legislatorLowerBody", - "highestCourtJudge", - "judge", - "schoolBoard", - "specialPurposeOfficer", - "otherRole" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "location": "query", - "repeated": true, - "type": "string" - } - }, - "path": "civicinfo/v2/representatives", - "response": { - "$ref": "CivicinfoApiprotosV2RepresentativeInfoResponse" - } - }, - "representativeInfoByDivision": { - "description": "Looks up representative information for a single geographic division.", - "flatPath": "civicinfo/v2/representatives/{ocdId}", - "httpMethod": "GET", - "id": "civicinfo.representatives.representativeInfoByDivision", - "parameterOrder": [ - "ocdId" - ], - "parameters": { - "levels": { - "description": "A list of office levels to filter by. Only offices that serve at least one of these levels will be returned. Divisions that don't contain a matching office will not be returned.", - "enum": [ - "international", - "country", - "administrativeArea1", - "regional", - "administrativeArea2", - "locality", - "subLocality1", - "subLocality2", - "special" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "location": "query", - "repeated": true, - "type": "string" - }, - "ocdId": { - "description": "The Open Civic Data division identifier of the division to look up.", - "location": "path", - "required": true, - "type": "string" - }, - "recursive": { - "description": "If true, information about all divisions contained in the division requested will be included as well. For example, if querying ocd-division/country:us/district:dc, this would also return all DC's wards and ANCs.", - "location": "query", - "type": "boolean" - }, - "roles": { - "description": "A list of office roles to filter by. Only offices fulfilling one of these roles will be returned. Divisions that don't contain a matching office will not be returned.", - "enum": [ - "headOfState", - "headOfGovernment", - "deputyHeadOfGovernment", - "governmentOfficer", - "executiveCouncil", - "legislatorUpperBody", - "legislatorLowerBody", - "highestCourtJudge", - "judge", - "schoolBoard", - "specialPurposeOfficer", - "otherRole" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "location": "query", - "repeated": true, - "type": "string" - } - }, - "path": "civicinfo/v2/representatives/{ocdId}", - "response": { - "$ref": "CivicinfoApiprotosV2RepresentativeInfoData" - } - } - } } }, - "revision": "20250320", + "revision": "20250430", "rootUrl": "https://civicinfo.googleapis.com/", "schemas": { "CivicinfoApiprotosV2DivisionByAddressResponse": { @@ -457,70 +279,6 @@ }, "type": "object" }, - "CivicinfoApiprotosV2RepresentativeInfoData": { - "id": "CivicinfoApiprotosV2RepresentativeInfoData", - "properties": { - "divisions": { - "additionalProperties": { - "$ref": "CivicinfoSchemaV2GeographicDivision" - }, - "description": "A map of political geographic divisions that contain the requested address, keyed by the unique Open Civic Data identifier for this division.", - "type": "object" - }, - "offices": { - "description": "Elected offices referenced by the divisions listed above. Will only be present if includeOffices was true in the request.", - "items": { - "$ref": "CivicinfoSchemaV2Office" - }, - "type": "array" - }, - "officials": { - "description": "Officials holding the offices listed above. Will only be present if includeOffices was true in the request.", - "items": { - "$ref": "CivicinfoSchemaV2Official" - }, - "type": "array" - } - }, - "type": "object" - }, - "CivicinfoApiprotosV2RepresentativeInfoResponse": { - "description": "The result of a representative info lookup query.", - "id": "CivicinfoApiprotosV2RepresentativeInfoResponse", - "properties": { - "divisions": { - "additionalProperties": { - "$ref": "CivicinfoSchemaV2GeographicDivision" - }, - "description": "A map of political geographic divisions that contain the requested address, keyed by the unique Open Civic Data identifier for this division.", - "type": "object" - }, - "kind": { - "default": "civicinfo#representativeInfoResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"civicinfo#representativeInfoResponse\".", - "type": "string" - }, - "normalizedInput": { - "$ref": "CivicinfoSchemaV2SimpleAddressType", - "description": "The normalized version of the requested address" - }, - "offices": { - "description": "Elected offices referenced by the divisions listed above. Will only be present if includeOffices was true in the request.", - "items": { - "$ref": "CivicinfoSchemaV2Office" - }, - "type": "array" - }, - "officials": { - "description": "Officials holding the offices listed above. Will only be present if includeOffices was true in the request.", - "items": { - "$ref": "CivicinfoSchemaV2Official" - }, - "type": "array" - } - }, - "type": "object" - }, "CivicinfoApiprotosV2VoterInfoResponse": { "description": "The result of a voter info lookup query.", "id": "CivicinfoApiprotosV2VoterInfoResponse", @@ -1069,154 +827,6 @@ }, "type": "object" }, - "CivicinfoSchemaV2Office": { - "description": "Information about an Office held by one or more Officials.", - "id": "CivicinfoSchemaV2Office", - "properties": { - "divisionId": { - "description": "The OCD ID of the division with which this office is associated.", - "type": "string" - }, - "levels": { - "description": "The levels of government of which this office is part. There may be more than one in cases where a jurisdiction effectively acts at two different levels of government; for example, the mayor of the District of Columbia acts at \"locality\" level, but also effectively at both \"administrative-area-2\" and \"administrative-area-1\".", - "items": { - "enum": [ - "international", - "country", - "administrativeArea1", - "regional", - "administrativeArea2", - "locality", - "subLocality1", - "subLocality2", - "special" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "name": { - "description": "The human-readable name of the office.", - "type": "string" - }, - "officialIndices": { - "description": "List of indices in the officials array of people who presently hold this office.", - "items": { - "format": "uint32", - "type": "integer" - }, - "type": "array" - }, - "roles": { - "description": "The roles which this office fulfills. Roles are not meant to be exhaustive, or to exactly specify the entire set of responsibilities of a given office, but are meant to be rough categories that are useful for general selection from or sorting of a list of offices.", - "items": { - "enum": [ - "headOfState", - "headOfGovernment", - "deputyHeadOfGovernment", - "governmentOfficer", - "executiveCouncil", - "legislatorUpperBody", - "legislatorLowerBody", - "highestCourtJudge", - "judge", - "schoolBoard", - "specialPurposeOfficer", - "otherRole" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "sources": { - "description": "A list of sources for this office. If multiple sources are listed, the data has been aggregated from those sources.", - "items": { - "$ref": "CivicinfoSchemaV2Source" - }, - "type": "array" - } - }, - "type": "object" - }, - "CivicinfoSchemaV2Official": { - "description": "Information about a person holding an elected office.", - "id": "CivicinfoSchemaV2Official", - "properties": { - "address": { - "description": "Addresses at which to contact the official.", - "items": { - "$ref": "CivicinfoSchemaV2SimpleAddressType" - }, - "type": "array" - }, - "channels": { - "description": "A list of known (social) media channels for this official.", - "items": { - "$ref": "CivicinfoSchemaV2Channel" - }, - "type": "array" - }, - "emails": { - "description": "The direct email addresses for the official.", - "items": { - "type": "string" - }, - "type": "array" - }, - "name": { - "description": "The official's name.", - "type": "string" - }, - "party": { - "description": "The full name of the party the official belongs to.", - "type": "string" - }, - "phones": { - "description": "The official's public contact phone numbers.", - "items": { - "type": "string" - }, - "type": "array" - }, - "photoUrl": { - "description": "A URL for a photo of the official.", - "type": "string" - }, - "urls": { - "description": "The official's public website URLs.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "CivicinfoSchemaV2PollingLocation": { "description": "A location where a voter can vote. This may be an early vote site, an election day voting location, or a drop off location for a completed ballot.", "id": "CivicinfoSchemaV2PollingLocation", diff --git a/discovery/compute-beta.json b/discovery/compute-beta.json index 2307b7d313a..0fd1904ffc6 100644 --- a/discovery/compute-beta.json +++ b/discovery/compute-beta.json @@ -14903,6 +14903,372 @@ } } }, + "interconnectAttachmentGroups": { + "methods": { + "delete": { + "description": "Deletes the specified InterconnectAttachmentGroup in the given scope", + "flatPath": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}", + "httpMethod": "DELETE", + "id": "compute.interconnectAttachmentGroups.delete", + "parameterOrder": [ + "project", + "interconnectAttachmentGroup" + ], + "parameters": { + "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" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{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/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.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{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/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": "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.", + "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/interconnectAttachmentGroups/{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" + ] + }, + "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", + "interconnectAttachmentGroup" + ], + "parameters": { + "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, + "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/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-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{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/interconnectAttachmentGroups", + "request": { + "$ref": "InterconnectAttachmentGroup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Lists the InterconnectAttachmentGroups for a project in the given scope.", + "flatPath": "projects/{project}/global/interconnectAttachmentGroups", + "httpMethod": "GET", + "id": "compute.interconnectAttachmentGroups.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/interconnectAttachmentGroups", + "response": { + "$ref": "InterconnectAttachmentGroupsListResponse" + }, + "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 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", + "interconnectAttachmentGroup" + ], + "parameters": { + "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.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{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": "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-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{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/interconnectAttachmentGroups/{resource}/setIamPolicy", + "request": { + "$ref": "GlobalSetPolicyRequest" + }, + "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}/global/interconnectAttachmentGroups/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.interconnectAttachmentGroups.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/interconnectAttachmentGroups/{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" + ] + } + } + }, "interconnectAttachments": { "methods": { "aggregatedList": { @@ -15319,20 +15685,20 @@ } } }, - "interconnectLocations": { + "interconnectGroups": { "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", + "createMembers": { + "description": "Create Interconnects with redundancy by creating them in a specified interconnect group.", + "flatPath": "projects/{project}/global/interconnectGroups/{interconnectGroup}/createMembers", + "httpMethod": "POST", + "id": "compute.interconnectGroups.createMembers", "parameterOrder": [ "project", - "interconnectLocation" + "interconnectGroup" ], "parameters": { - "interconnectLocation": { - "description": "Name of the interconnect location to return.", + "interconnectGroup": { + "description": "Name of the group resource to create members for.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -15346,47 +15712,107 @@ "type": "string" } }, - "path": "projects/{project}/global/interconnectLocations/{interconnectLocation}", + "path": "projects/{project}/global/interconnectGroups/{interconnectGroup}/createMembers", + "request": { + "$ref": "InterconnectGroupsCreateMembersRequest" + }, "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", - "httpMethod": "GET", - "id": "compute.interconnectLocations.list", + "delete": { + "description": "Deletes the specified InterconnectGroup in the given scope", + "flatPath": "projects/{project}/global/interconnectGroups/{interconnectGroup}", + "httpMethod": "DELETE", + "id": "compute.interconnectGroups.delete", "parameterOrder": [ - "project" + "project", + "interconnectGroup" ], "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", + "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, "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.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating 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/interconnectGroups/{interconnectGroup}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified InterconnectGroup resource in the given scope.", + "flatPath": "projects/{project}/global/interconnectGroups/{interconnectGroup}", + "httpMethod": "GET", + "id": "compute.interconnectGroups.get", + "parameterOrder": [ + "project", + "interconnectGroup" + ], + "parameters": { + "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, + "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", + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{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/interconnectGroups/{interconnectGroup}", + "response": { + "$ref": "InterconnectGroup" + }, + "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/interconnectGroups/{resource}/getIamPolicy", + "httpMethod": "GET", + "id": "compute.interconnectGroups.getIamPolicy", + "parameterOrder": [ + "project", + "resource" + ], + "parameters": { + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", + "format": "int32", + "location": "query", + "type": "integer" }, "project": { "description": "Project ID for this request.", @@ -15395,38 +15821,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" + "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/interconnectLocations", + "path": "projects/{project}/global/interconnectGroups/{resource}/getIamPolicy", "response": { - "$ref": "InterconnectLocationList" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - } - } - }, - "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}", + }, + "getOperationalStatus": { + "description": "Returns the interconnectStatuses for the specified InterconnectGroup.", + "flatPath": "projects/{project}/global/interconnectGroups/{interconnectGroup}/getOperationalStatus", "httpMethod": "GET", - "id": "compute.interconnectRemoteLocations.get", + "id": "compute.interconnectGroups.getOperationalStatus", "parameterOrder": [ "project", - "interconnectRemoteLocation" + "interconnectGroup" ], "parameters": { - "interconnectRemoteLocation": { - "description": "Name of the interconnect remote location to return.", + "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, @@ -15440,9 +15864,9 @@ "type": "string" } }, - "path": "projects/{project}/global/interconnectRemoteLocations/{interconnectRemoteLocation}", + "path": "projects/{project}/global/interconnectGroups/{interconnectGroup}/getOperationalStatus", "response": { - "$ref": "InterconnectRemoteLocation" + "$ref": "InterconnectGroupsGetOperationalStatusResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -15450,11 +15874,45 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "insert": { + "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.interconnectGroups.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" + } + }, + "path": "projects/{project}/global/interconnectGroups", + "request": { + "$ref": "InterconnectGroup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "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", + "description": "Lists the InterconnectGroups for a project in the given scope.", + "flatPath": "projects/{project}/global/interconnectGroups", "httpMethod": "GET", - "id": "compute.interconnectRemoteLocations.list", + "id": "compute.interconnectGroups.list", "parameterOrder": [ "project" ], @@ -15495,32 +15953,28 @@ "type": "boolean" } }, - "path": "projects/{project}/global/interconnectRemoteLocations", + "path": "projects/{project}/global/interconnectGroups", "response": { - "$ref": "InterconnectRemoteLocationList" + "$ref": "InterconnectGroupsListResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - } - } - }, - "interconnects": { - "methods": { - "delete": { - "description": "Deletes the specified Interconnect.", - "flatPath": "projects/{project}/global/interconnects/{interconnect}", - "httpMethod": "DELETE", - "id": "compute.interconnects.delete", + }, + "patch": { + "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.interconnectGroups.patch", "parameterOrder": [ "project", - "interconnect" + "interconnectGroup" ], "parameters": { - "interconnect": { - "description": "Name of the interconnect to delete.", + "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, @@ -15534,12 +15988,21 @@ "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": "InterconnectGroup" + }, "response": { "$ref": "Operation" }, @@ -15548,14 +16011,320 @@ "https://www.googleapis.com/auth/compute" ] }, - "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", + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/global/interconnectGroups/{resource}/setIamPolicy", + "httpMethod": "POST", + "id": "compute.interconnectGroups.setIamPolicy", "parameterOrder": [ "project", - "interconnect" + "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/interconnectGroups/{resource}/setIamPolicy", + "request": { + "$ref": "GlobalSetPolicyRequest" + }, + "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}/global/interconnectGroups/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.interconnectGroups.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/interconnectGroups/{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" + ] + } + } + }, + "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" + } + }, + "path": "projects/{project}/global/interconnectLocations/{interconnectLocation}", + "response": { + "$ref": "InterconnectLocation" + }, + "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 locations available to the specified project.", + "flatPath": "projects/{project}/global/interconnectLocations", + "httpMethod": "GET", + "id": "compute.interconnectLocations.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/interconnectLocations", + "response": { + "$ref": "InterconnectLocationList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "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", + "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" + }, + "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/interconnectRemoteLocations", + "response": { + "$ref": "InterconnectRemoteLocationList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "interconnects": { + "methods": { + "delete": { + "description": "Deletes the specified Interconnect.", + "flatPath": "projects/{project}/global/interconnects/{interconnect}", + "httpMethod": "DELETE", + "id": "compute.interconnects.delete", + "parameterOrder": [ + "project", + "interconnect" + ], + "parameters": { + "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, + "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}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "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": { @@ -16221,6 +16990,54 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] + }, + "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", + "license" + ], + "parameters": { + "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": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{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" + } + }, + "path": "projects/{project}/global/licenses/{license}", + "request": { + "$ref": "License" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] } } }, @@ -19369,6 +20186,48 @@ "https://www.googleapis.com/auth/compute" ] }, + "requestRemovePeering": { + "description": "Requests to remove a peering from the specified network. Applicable only for PeeringConnection with update_strategy=CONSENSUS.", + "flatPath": "projects/{project}/global/networks/{network}/requestRemovePeering", + "httpMethod": "POST", + "id": "compute.networks.requestRemovePeering", + "parameterOrder": [ + "project", + "network" + ], + "parameters": { + "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, + "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}/requestRemovePeering", + "request": { + "$ref": "NetworksRequestRemovePeeringRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "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", @@ -44492,7 +45351,7 @@ } } }, - "revision": "20250415", + "revision": "20250427", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -47868,7 +48727,7 @@ }, "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. " + "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, HTTP2 or H2C, 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.", @@ -48008,7 +48867,7 @@ "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. localityLbPolicy cannot be specified with haPolicy.", + "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, HTTP2 or H2C, 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. localityLbPolicy cannot be specified with haPolicy.", "enum": [ "INVALID_LB_POLICY", "LEAST_REQUEST", @@ -48063,7 +48922,7 @@ }, "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." + "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, HTTP2 or H2C, 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, @@ -48076,7 +48935,7 @@ "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.", + "description": "The protocol this BackendService uses to communicate with backends. Possible values are HTTP, HTTPS, HTTP2, H2C, 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", @@ -48593,6 +49452,34 @@ "" ], "type": "string" + }, + "leader": { + "$ref": "BackendServiceHAPolicyLeader", + "description": "Selects one of the network endpoints attached to the backend NEGs of this service as the active endpoint (the leader) that receives all traffic. When the leader changes, there is no connection draining to persist existing connections on the old leader. You are responsible for selecting a suitable endpoint as the leader. For example, preferring a healthy endpoint over unhealthy ones. Note that this service does not track backend endpoint health, and selects the configured leader unconditionally." + } + }, + "type": "object" + }, + "BackendServiceHAPolicyLeader": { + "id": "BackendServiceHAPolicyLeader", + "properties": { + "backendGroup": { + "description": "A fully-qualified URL (starting with https://www.googleapis.com/) of the zonal Network Endpoint Group (NEG) with `GCE_VM_IP` endpoints that the leader is attached to. The leader's backendGroup must already be specified as a backend of this backend service. Removing a backend that is designated as the leader's backendGroup is not permitted.", + "type": "string" + }, + "networkEndpoint": { + "$ref": "BackendServiceHAPolicyLeaderNetworkEndpoint", + "description": "The network endpoint within the leader.backendGroup that is designated as the leader. This network endpoint cannot be detached from the NEG specified in the haPolicy.leader.backendGroup until the leader is updated with another network endpoint, or the leader is removed from the haPolicy." + } + }, + "type": "object" + }, + "BackendServiceHAPolicyLeaderNetworkEndpoint": { + "id": "BackendServiceHAPolicyLeaderNetworkEndpoint", + "properties": { + "instance": { + "description": "The name of the VM instance of the leader network endpoint. The instance must already be attached to the NEG specified in the haPolicy.leader.backendGroup. The name must be 1-63 characters long, and comply with RFC1035. Authorization requires the following IAM permission on the specified resource instance: compute.instances.use", + "type": "string" } }, "type": "object" @@ -50058,9 +50945,11 @@ "COMPUTE_OPTIMIZED_C3", "COMPUTE_OPTIMIZED_C3D", "COMPUTE_OPTIMIZED_H3", + "COMPUTE_OPTIMIZED_H4D", "GENERAL_PURPOSE", "GENERAL_PURPOSE_C4", "GENERAL_PURPOSE_C4A", + "GENERAL_PURPOSE_C4D", "GENERAL_PURPOSE_E2", "GENERAL_PURPOSE_N2", "GENERAL_PURPOSE_N2D", @@ -50103,6 +50992,8 @@ "", "", "", + "", + "", "Note for internal users: When adding a new enum Type for v1, make sure to also add it in the comment for the `optional Type type` definition. This ensures that the public documentation displays the new enum Type." ], "type": "string" @@ -55029,6 +55920,10 @@ "description": "An optional description of this resource. Provide this property when you create the future reservation.", "type": "string" }, + "enableEmergentMaintenance": { + "description": "Indicates if this group of VMs have emergent maintenance enabled.", + "type": "boolean" + }, "id": { "description": "[Output Only] A unique identifier for this future reservation. The server defines this identifier.", "format": "uint64", @@ -56376,6 +57271,7 @@ "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 - SNP_SVSM_CAPABLE For more information, see Enabling guest operating system features.", "enum": [ + "BARE_METAL_LINUX_COMPATIBLE", "FEATURE_TYPE_UNSPECIFIED", "GVNIC", "IDPF", @@ -56385,6 +57281,7 @@ "SEV_LIVE_MIGRATABLE", "SEV_LIVE_MIGRATABLE_V2", "SEV_SNP_CAPABLE", + "SNP_SVSM_CAPABLE", "TDX_CAPABLE", "UEFI_COMPATIBLE", "VIRTIO_SCSI_MULTIQUEUE", @@ -56403,6 +57300,8 @@ "", "", "", + "", + "", "" ], "type": "string" @@ -64338,6 +65237,13 @@ }, "type": "array" }, + "interconnectGroups": { + "description": "[Output Only] URLs of InterconnectGroups that include this Interconnect. Order is arbitrary and items are unique.", + "items": { + "type": "string" + }, + "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": [ @@ -64567,6 +65473,10 @@ "description": "Determines whether this Attachment will carry packets. Not present for PARTNER_PROVIDER.", "type": "boolean" }, + "attachmentGroup": { + "description": "[Output Only] URL of the AttachmentGroup that includes this Attachment.", + "type": "string" + }, "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": [ @@ -65043,24 +65953,579 @@ }, "type": "object" }, - "InterconnectAttachmentList": { - "description": "Response to the list request, and contains a list of interconnect attachments.", - "id": "InterconnectAttachmentList", + "InterconnectAttachmentGroup": { + "description": "An interconnect attachment group resource allows customers to create, analyze, and expand highly available deployments.", + "id": "InterconnectAttachmentGroup", + "properties": { + "attachments": { + "additionalProperties": { + "$ref": "InterconnectAttachmentGroupAttachment" + }, + "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" + }, + "configured": { + "$ref": "InterconnectAttachmentGroupConfigured" + }, + "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" + }, + "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" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", + "format": "uint64", + "type": "string" + }, + "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" + }, + "kind": { + "default": "compute#interconnectAttachmentGroup", + "description": "[Output Only] Type of the resource. Always compute#interconnectAttachmentGroup.", + "type": "string" + }, + "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" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + } + }, + "type": "object" + }, + "InterconnectAttachmentGroupAttachment": { + "description": "An Attachment in this AttachmentGroup.", + "id": "InterconnectAttachmentGroupAttachment", + "properties": { + "attachment": { + "type": "string" + } + }, + "type": "object" + }, + "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": { + "availabilitySla": { + "$ref": "InterconnectAttachmentGroupConfiguredAvailabilitySLA" + } + }, + "type": "object" + }, + "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": { + "effectiveSla": { + "enum": [ + "EFFECTIVE_SLA_UNSPECIFIED", + "NO_SLA", + "PRODUCTION_CRITICAL", + "PRODUCTION_NON_CRITICAL" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "intendedSlaBlockers": { + "items": { + "$ref": "InterconnectAttachmentGroupConfiguredAvailabilitySLAIntendedSlaBlockers" + }, + "type": "array" + } + }, + "type": "object" + }, + "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": { + "attachments": { + "description": "[Output Only] URLs of any particular Attachments to explain this blocker in more detail.", + "items": { + "type": "string" + }, + "type": "array" + }, + "blockerType": { + "enum": [ + "BLOCKER_TYPE_UNSPECIFIED", + "INCOMPATIBLE_METROS", + "INCOMPATIBLE_REGIONS", + "MISSING_GLOBAL_ROUTING", + "NO_ATTACHMENTS", + "NO_ATTACHMENTS_IN_METRO_AND_ZONE", + "OTHER" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "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": "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": { + "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" + }, + "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": { + "availabilitySla": { + "enum": [ + "AVAILABILITY_SLA_UNSPECIFIED", + "NO_SLA", + "PRODUCTION_CRITICAL", + "PRODUCTION_NON_CRITICAL" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "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": { + "regions": { + "items": { + "$ref": "InterconnectAttachmentGroupLogicalStructureRegion" + }, + "type": "array" + } + }, + "type": "object" + }, + "InterconnectAttachmentGroupLogicalStructureRegion": { + "description": "[Output Only] The regions Attachments in this group are in.", + "id": "InterconnectAttachmentGroupLogicalStructureRegion", + "properties": { + "metros": { + "items": { + "$ref": "InterconnectAttachmentGroupLogicalStructureRegionMetro" + }, + "type": "array" + }, + "region": { + "description": "[Output Only] The name of a region, like \"us-central1\".", + "type": "string" + } + }, + "type": "object" + }, + "InterconnectAttachmentGroupLogicalStructureRegionMetro": { + "description": "[Output Only] The metros of Attachments in this group in this region.", + "id": "InterconnectAttachmentGroupLogicalStructureRegionMetro", + "properties": { + "facilities": { + "items": { + "$ref": "InterconnectAttachmentGroupLogicalStructureRegionMetroFacility" + }, + "type": "array" + }, + "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" + }, + "InterconnectAttachmentGroupLogicalStructureRegionMetroFacility": { + "description": "[Output Only] The facilities used for this group's Attachments' Interconnects.", + "id": "InterconnectAttachmentGroupLogicalStructureRegionMetroFacility", + "properties": { + "facility": { + "description": "[Output Only] The name of a facility, like \"iad-1234\".", + "type": "string" + }, + "zones": { + "items": { + "$ref": "InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone" + }, + "type": "array" + } + }, + "type": "object" + }, + "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": { + "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": { + "type": "string" + }, + "type": "array" + }, + "zone": { + "description": "[Output Only] The name of a zone, either \"zone1\" or \"zone2\".", + "type": "string" + } + }, + "type": "object" + }, + "InterconnectAttachmentGroupsGetOperationalStatusResponse": { + "description": "Response for the InterconnectAttachmentGroupsGetOperationalStatusResponse.", + "id": "InterconnectAttachmentGroupsGetOperationalStatusResponse", + "properties": { + "etag": { + "type": "string" + }, + "result": { + "$ref": "InterconnectAttachmentGroupsOperationalStatus" + } + }, + "type": "object" + }, + "InterconnectAttachmentGroupsListResponse": { + "id": "InterconnectAttachmentGroupsListResponse", + "properties": { + "etag": { + "type": "string" + }, "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 InterconnectAttachmentGroup resources.", "items": { - "$ref": "InterconnectAttachment" + "$ref": "InterconnectAttachmentGroup" }, "type": "array" }, "kind": { - "default": "compute#interconnectAttachmentList", - "description": "[Output Only] Type of resource. Always compute#interconnectAttachmentList for lists of interconnect attachments.", + "default": "compute#interconnectAttachmentGroup", + "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" + }, + "InterconnectAttachmentGroupsOperationalStatus": { + "id": "InterconnectAttachmentGroupsOperationalStatus", + "properties": { + "attachmentStatuses": { + "items": { + "$ref": "InterconnectAttachmentGroupsOperationalStatusAttachmentStatus" + }, + "type": "array" + }, + "configured": { + "$ref": "InterconnectAttachmentGroupConfigured" + }, + "groupStatus": { + "description": "Summarizes the status of the group.", + "enum": [ + "DEGRADED", + "FULLY_DOWN", + "FULLY_UP", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "intent": { + "$ref": "InterconnectAttachmentGroupIntent" + }, + "operational": { + "$ref": "InterconnectAttachmentGroupConfigured", + "description": "The operational state of the group, including only active Attachments." + } + }, + "type": "object" + }, + "InterconnectAttachmentGroupsOperationalStatusAttachmentStatus": { + "description": "The status of one Attachment in the group. List order is arbitrary.", + "id": "InterconnectAttachmentGroupsOperationalStatusAttachmentStatus", + "properties": { + "adminEnabled": { + "description": "Whether this Attachment is enabled. This becomes false when the customer drains their Attachment.", + "type": "boolean" + }, + "attachment": { + "description": "The URL of the Attachment being described.", + "type": "string" + }, + "isActive": { + "description": "Whether this Attachment is participating in the redundant configuration. This will be ACTIVE if and only if the status below is CONNECTION_UP. Any INACTIVE Attachments are excluded from the analysis that generates operational.availabilitySLA.", + "enum": [ + "ACTIVE", + "INACTIVE", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "status": { + "description": "Whether this Attachment is active, and if so, whether BGP is up. This is based on the statuses available in the Pantheon UI here: http://google3/java/com/google/cloud/boq/clientapi/gce/hybrid/api/interconnect_models.proto", + "enum": [ + "ATTACHMENT_STATUS_UNKNOWN", + "CONNECTION_DISABLED", + "CONNECTION_DOWN", + "CONNECTION_UP", + "DEFUNCT", + "IPSEC_CONFIGURATION_NEEDED_STATUS", + "IPSEC_READY_TO_RESUME_FLOW_STATUS", + "IPV4_DOWN_IPV6_UP", + "IPV4_UP_IPV6_DOWN", + "PARTNER_REQUEST_RECEIVED", + "PENDING_CUSTOMER", + "PENDING_PARTNER", + "PROVISIONED", + "ROUTER_CONFIGURATION_BROKEN", + "UNPROVISIONED" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "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 InterconnectAttachment resources.", + "items": { + "$ref": "InterconnectAttachment" + }, + "type": "array" + }, + "kind": { + "default": "compute#interconnectAttachmentList", + "description": "[Output Only] Type of resource. Always compute#interconnectAttachmentList for lists of interconnect attachments.", "type": "string" }, "nextPageToken": { @@ -65567,6 +67032,635 @@ }, "type": "object" }, + "InterconnectGroup": { + "description": "An interconnect group resource allows customers to create, analyze, and expand their redundant connections.", + "id": "InterconnectGroup", + "properties": { + "configured": { + "$ref": "InterconnectGroupConfigured" + }, + "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" + }, + "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" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", + "format": "uint64", + "type": "string" + }, + "intent": { + "$ref": "InterconnectGroupIntent" + }, + "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" + }, + "kind": { + "default": "compute#InterconnectGroup", + "description": "[Output Only] Type of the resource. Always compute#InterconnectGroup", + "type": "string" + }, + "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" + }, + "physicalStructure": { + "$ref": "InterconnectGroupPhysicalStructure" + }, + "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" + }, + "supportedSla": { + "enum": [ + "NO_SLA", + "PRODUCTION_CRITICAL", + "PRODUCTION_NON_CRITICAL", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "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": [ + "INCOMPATIBLE_METROS", + "NOT_AVAILABLE", + "NO_INTERCONNECTS", + "NO_INTERCONNECTS_IN_METRO_AND_ZONE", + "OTHER", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "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" + }, + "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" + }, + "interconnects": { + "description": "[Output Only] Interconnects used to explain this blocker in more detail.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + }, + "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": [ + "NO_SLA", + "PRODUCTION_CRITICAL", + "PRODUCTION_NON_CRITICAL", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "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" + }, + "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" + } + }, + "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" + }, + "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" + }, + "InterconnectGroupsCreateMembers": { + "id": "InterconnectGroupsCreateMembers", + "properties": { + "intentMismatchBehavior": { + "description": "How to behave when configured.topologyCapability.supportedSLA would not equal intent.topologyCapability after this call.", + "enum": [ + "CREATE", + "REJECT", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "interconnects": { + "items": { + "$ref": "InterconnectGroupsCreateMembersInterconnectInput" + }, + "type": "array" + }, + "templateInterconnect": { + "$ref": "InterconnectGroupsCreateMembersInterconnectInput", + "description": "Parameters for the Interconnects to create." + } + }, + "type": "object" + }, + "InterconnectGroupsCreateMembersInterconnectInput": { + "description": "LINT.IfChange", + "id": "InterconnectGroupsCreateMembersInterconnectInput", + "properties": { + "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" + }, + "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" + }, + "facility": { + "description": "A zone-free location to use for all Interconnects created in this call, like \"iad-1234\".", + "type": "string" + }, + "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" + }, + "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. - LINK_TYPE_ETHERNET_400G_LR4: A 400G Ethernet with LR4 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", + "LINK_TYPE_ETHERNET_400G_LR4" + ], + "enumDescriptions": [ + "100G Ethernet, LR Optics.", + "10G Ethernet, LR Optics. [(rate_bps) = 10000000000];", + "400G Ethernet, LR4 Optics." + ], + "type": "string" + }, + "name": { + "description": "Name of the Interconnects to be created. This must be specified on the template and/or on each individual interconnect. The name, if not empty, must be 1-63 characters long, and comply with RFC1035. Specifically, any nonempty 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" + }, + "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" + }, + "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": { + "enum": [ + "IF_CROSS_SITE_NETWORK", + "IF_MACSEC" + ], + "enumDescriptions": [ + "Cross-Site Networking", + "Media Access Control security (MACsec)" + ], + "type": "string" + }, + "type": "array" + }, + "requestedLinkCount": { + "description": "Target number of physical links in the link bundle, as requested by the customer.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "InterconnectGroupsCreateMembersRequest": { + "id": "InterconnectGroupsCreateMembersRequest", + "properties": { + "request": { + "$ref": "InterconnectGroupsCreateMembers" + } + }, + "type": "object" + }, + "InterconnectGroupsGetOperationalStatusResponse": { + "description": "Response for the InterconnectGroupsGetOperationalStatusResponse.", + "id": "InterconnectGroupsGetOperationalStatusResponse", + "properties": { + "etag": { + "type": "string" + }, + "result": { + "$ref": "InterconnectGroupsOperationalStatus" + } + }, + "type": "object" + }, + "InterconnectGroupsListResponse": { + "id": "InterconnectGroupsListResponse", + "properties": { + "etag": { + "type": "string" + }, + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of InterconnectGroup resources.", + "items": { + "$ref": "InterconnectGroup" + }, + "type": "array" + }, + "kind": { + "default": "compute#InterconnectGroup", + "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" + }, + "InterconnectGroupsOperationalStatus": { + "description": "Request to get the status of the interconnect group with extra detail.", + "id": "InterconnectGroupsOperationalStatus", + "properties": { + "configured": { + "$ref": "InterconnectGroupConfigured", + "description": "The configuration analysis, as returned by Get." + }, + "groupStatus": { + "description": "Summarizes the status of the group.", + "enum": [ + "DEGRADED", + "FULLY_DOWN", + "FULLY_UP", + "GROUPS_STATUS_UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "intent": { + "$ref": "InterconnectGroupIntent", + "description": "The intent of the resource, as returned by Get." + }, + "interconnectStatuses": { + "items": { + "$ref": "InterconnectGroupsOperationalStatusInterconnectStatus" + }, + "type": "array" + }, + "operational": { + "$ref": "InterconnectGroupConfigured", + "description": "The operational state of the group, including only active Interconnects." + } + }, + "type": "object" + }, + "InterconnectGroupsOperationalStatusInterconnectStatus": { + "description": "The status of one Interconnect in the group. The order is arbitrary.", + "id": "InterconnectGroupsOperationalStatusInterconnectStatus", + "properties": { + "adminEnabled": { + "description": "Whether the Interconnect is enabled.", + "type": "boolean" + }, + "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" + }, "InterconnectList": { "description": "Response to the list request, and contains a list of interconnects.", "id": "InterconnectList", @@ -66580,6 +68674,17 @@ "description": "Represents a License resource. A License represents billing and aggregate usage data for public and marketplace images. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", "id": "License", "properties": { + "allowedReplacementLicenses": { + "description": "Specifies licenseCodes of licenses that can replace this license. Note: such replacements are allowed even if removable_from_disk is false.", + "items": { + "type": "string" + }, + "type": "array" + }, + "appendableToDisk": { + "description": "If true, this license can be appended to an existing disk's set of licenses.", + "type": "boolean" + }, "chargesUseFee": { "description": "[Output Only] Deprecated. This field no longer reflects whether a license charges a usage fee.", "type": "boolean" @@ -66597,6 +68702,13 @@ "format": "uint64", "type": "string" }, + "incompatibleLicenses": { + "description": "Specifies licenseCodes of licenses that are incompatible with this license. If a license is incompatible with this license, it cannot be attached to the same disk or image.", + "items": { + "type": "string" + }, + "type": "array" + }, "kind": { "default": "compute#license", "description": "[Output Only] Type of resource. Always compute#license for licenses.", @@ -66607,6 +68719,14 @@ "format": "uint64", "type": "string" }, + "minimumRetention": { + "$ref": "Duration", + "description": "If set, this license will be unable to be removed or replaced once attached to a disk until the minimum_retention period has passed." + }, + "multiTenantOnly": { + "description": "If true, this license can only be used on VMs on multi tenant nodes.", + "type": "boolean" + }, "name": { "annotations": { "required": [ @@ -66617,6 +68737,21 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "osLicense": { + "description": "If true, indicates this is an OS license. Only one OS license can be attached to a disk or image at a time.", + "type": "boolean" + }, + "removableFromDisk": { + "description": "If true, this license can be removed from a disk's set of licenses, with no replacement license needed.", + "type": "boolean" + }, + "requiredCoattachedLicenses": { + "description": "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.", + "items": { + "type": "string" + }, + "type": "array" + }, "resourceRequirements": { "$ref": "LicenseResourceRequirements", "description": "[Input Only] Deprecated." @@ -66625,9 +68760,21 @@ "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" + }, + "soleTenantOnly": { + "description": "If true, this license can only be used on VMs on sole tenant nodes.", + "type": "boolean" + }, "transferable": { "description": "If false, licenses will not be copied from the source resource when creating an image from a disk, disk from snapshot, or snapshot from disk.", "type": "boolean" + }, + "updateTimestamp": { + "description": "[Output Only] Last update timestamp in RFC3339 text format.", + "type": "string" } }, "type": "object" @@ -71000,6 +73147,10 @@ "description": "This field will be deprecated soon. Use the exchange_subnet_routes field instead. Indicates whether full mesh connectivity is created and managed automatically between peered networks. Currently this field should always be true since Google Compute Engine will automatically create and manage subnetwork routes between two networks when peering state is ACTIVE.", "type": "boolean" }, + "connectionStatus": { + "$ref": "NetworkPeeringConnectionStatus", + "description": "[Output Only] The effective state of the peering connection as a whole." + }, "exchangeSubnetRoutes": { "description": "Indicates whether full mesh connectivity is created and managed automatically between peered networks. Currently this field should always be true since Google Compute Engine will automatically create and manage subnetwork routes between two networks when peering state is ACTIVE.", "type": "boolean" @@ -71060,6 +73211,122 @@ "stateDetails": { "description": "[Output Only] Details about the current state of the peering.", "type": "string" + }, + "updateStrategy": { + "description": "The update strategy determines the semantics for updates and deletes to the peering connection configuration.", + "enum": [ + "CONSENSUS", + "INDEPENDENT", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "Updates are reflected in the local peering but aren't applied to the peering connection until a complementary change is made to the matching peering. To delete a peering with the consensus update strategy, both the peerings must request the deletion of the peering before the peering can be deleted.", + "In this mode, changes to the peering configuration can be unilaterally altered by changing either side of the peering. This is the default value if the field is unspecified.", + "Peerings with update strategy UNSPECIFIED are created with update strategy INDEPENDENT." + ], + "type": "string" + } + }, + "type": "object" + }, + "NetworkPeeringConnectionStatus": { + "description": "[Output Only] Describes the state of a peering connection, not just the local peering. This field provides information about the effective settings for the connection as a whole, including pending delete/update requests for CONSENSUS peerings.", + "id": "NetworkPeeringConnectionStatus", + "properties": { + "consensusState": { + "$ref": "NetworkPeeringConnectionStatusConsensusState", + "description": "The consensus state contains information about the status of update and delete for a consensus peering connection." + }, + "trafficConfiguration": { + "$ref": "NetworkPeeringConnectionStatusTrafficConfiguration", + "description": "The active connectivity settings for the peering connection based on the settings of the network peerings." + }, + "updateStrategy": { + "description": "The update strategy determines the update/delete semantics for this peering connection.", + "enum": [ + "CONSENSUS", + "INDEPENDENT", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "Updates are reflected in the local peering but aren't applied to the peering connection until a complementary change is made to the matching peering. To delete a peering with the consensus update strategy, both the peerings must request the deletion of the peering before the peering can be deleted.", + "In this mode, changes to the peering configuration can be unilaterally altered by changing either side of the peering. This is the default value if the field is unspecified.", + "Peerings with update strategy UNSPECIFIED are created with update strategy INDEPENDENT." + ], + "type": "string" + } + }, + "type": "object" + }, + "NetworkPeeringConnectionStatusConsensusState": { + "description": "The status of update/delete for a consensus peering connection. Only set when connection_status.update_strategy is CONSENSUS or a network peering is proposing to update the strategy to CONSENSUS.", + "id": "NetworkPeeringConnectionStatusConsensusState", + "properties": { + "deleteStatus": { + "description": "The status of the delete request.", + "enum": [ + "DELETE_ACKNOWLEDGED", + "DELETE_STATUS_UNSPECIFIED", + "LOCAL_DELETE_REQUESTED", + "PEER_DELETE_REQUESTED" + ], + "enumDescriptions": [ + "Both network admins have agreed this consensus peering connection can be deleted.", + "", + "Network admin has requested deletion of this peering connection.", + "The peer network admin has requested deletion of this peering connection." + ], + "type": "string" + }, + "updateStatus": { + "description": "The status of the update request.", + "enum": [ + "IN_SYNC", + "PENDING_LOCAL_ACKNOWLEDMENT", + "PENDING_PEER_ACKNOWLEDGEMENT", + "UPDATE_STATUS_UNSPECIFIED" + ], + "enumDescriptions": [ + "No pending configuration update proposals to the peering connection.", + "The peer network admin has made an updatePeering call. The change is awaiting acknowledgment from this peering's network admin.", + "The local network admin has made an updatePeering call. The change is awaiting acknowledgment from the peer network admin.", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "NetworkPeeringConnectionStatusTrafficConfiguration": { + "id": "NetworkPeeringConnectionStatusTrafficConfiguration", + "properties": { + "exportCustomRoutesToPeer": { + "description": "Whether custom routes are being exported to the peer network.", + "type": "boolean" + }, + "exportSubnetRoutesWithPublicIpToPeer": { + "description": "Whether subnet routes with public IP ranges are being exported to the peer network.", + "type": "boolean" + }, + "importCustomRoutesFromPeer": { + "description": "Whether custom routes are being imported from the peer network.", + "type": "boolean" + }, + "importSubnetRoutesWithPublicIpFromPeer": { + "description": "Whether subnet routes with public IP ranges are being imported from the peer network.", + "type": "boolean" + }, + "stackType": { + "description": "Which IP version(s) of traffic and routes are being imported or exported between peer networks.", + "enum": [ + "IPV4_IPV6", + "IPV4_ONLY" + ], + "enumDescriptions": [ + "This Peering will allow IPv4 traffic and routes to be exchanged. Additionally if the matching peering is IPV4_IPV6, IPv6 traffic and routes will be exchanged as well.", + "This Peering will only allow IPv4 traffic and routes to be exchanged, even if the matching peering is IPV4_IPV6." + ], + "type": "string" } }, "type": "object" @@ -71908,6 +74175,16 @@ }, "type": "object" }, + "NetworksRequestRemovePeeringRequest": { + "id": "NetworksRequestRemovePeeringRequest", + "properties": { + "name": { + "description": "Name of the peering, which should conform to RFC1035.", + "type": "string" + } + }, + "type": "object" + }, "NetworksUpdatePeeringRequest": { "id": "NetworksUpdatePeeringRequest", "properties": { @@ -76617,7 +78894,7 @@ "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. ", + "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 announced and ready to use. - `DELETING` The public delegated prefix is being deprovsioned. ", "enum": [ "ANNOUNCED", "ANNOUNCED_TO_GOOGLE", @@ -76627,7 +78904,7 @@ "READY_TO_ANNOUNCE" ], "enumDescriptions": [ - "The public delegated prefix is active.", + "The public delegated prefix is announced and ready to use.", "The prefix is announced within Google network.", "The prefix is announced to Internet and within Google.", "The public delegated prefix is being deprovsioned.", @@ -79638,6 +81915,10 @@ "description": "An optional description of this resource. Provide this property when you create the resource.", "type": "string" }, + "enableEmergentMaintenance": { + "description": "Indicates if this group of VMs have emergent maintenance enabled.", + "type": "boolean" + }, "id": { "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", "format": "uint64", @@ -82207,6 +84488,10 @@ }, "type": "array" }, + "nccGateway": { + "description": "URI of the ncc_gateway to which this router associated.", + "type": "string" + }, "network": { "annotations": { "required": [ @@ -83242,6 +85527,10 @@ }, "type": "array" }, + "nccGateway": { + "description": "URI of the ncc_gateway to which this router associated.", + "type": "string" + }, "network": { "description": "URI of the network to which this router belongs.", "type": "string" @@ -84818,6 +87107,7 @@ "enum": [ "CLOUD_ARMOR", "CLOUD_ARMOR_EDGE", + "CLOUD_ARMOR_INTERNAL_SERVICE", "CLOUD_ARMOR_NETWORK", "FIREWALL" ], @@ -84825,6 +87115,7 @@ "", "", "", + "", "" ], "type": "string" @@ -85013,7 +87304,7 @@ "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.", + "description": "The maximum request size chosen by the customer with Waf enabled. Values supported are \"8KB\", \"16KB, \"32KB\", \"48KB\" and \"64KB\". Values are case insensitive.", "type": "string" }, "userIpRequestHeaders": { @@ -89208,6 +91499,7 @@ "description": "Properties of the object. Contains field @type with type URL.", "type": "any" }, + "format": "google.protobuf.Any", "type": "object" }, "type": "array" @@ -90656,6 +92948,7 @@ "properties": { "entries": { "additionalProperties": { + "format": "google.protobuf.Value", "type": "any" }, "description": "Map of a partner metadata that belong to the same subdomain. It accepts any value including google.protobuf.Struct.", @@ -90861,6 +93154,22 @@ "Subnetwork is ready for use." ], "type": "string" + }, + "systemReservedExternalIpv6Ranges": { + "description": "Output only. [Output Only] The array of external IPv6 network ranges reserved from the subnetwork's external IPv6 range for system use.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "systemReservedInternalIpv6Ranges": { + "description": "Output only. [Output Only] The array of internal IPv6 network ranges reserved from the subnetwork's internal IPv6 range for system use.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" } }, "type": "object" @@ -91423,6 +93732,140 @@ }, "type": "object" }, + "SubnetworksScopedWarning": { + "id": "SubnetworksScopedWarning", + "properties": { + "scopeName": { + "description": "Name of the scope containing this set of Subnetworks.", + "type": "string" + }, + "warning": { + "description": "An informational warning about unreachable scope", + "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" + }, "SubnetworksSetPrivateIpGoogleAccessRequest": { "id": "SubnetworksSetPrivateIpGoogleAccessRequest", "properties": { @@ -96327,10 +98770,24 @@ "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" }, + "scopedWarnings": { + "description": "[Output Only] Informational warning messages for failures encountered from scopes.", + "items": { + "$ref": "SubnetworksScopedWarning" + }, + "type": "array" + }, "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": { diff --git a/discovery/compute-v1.json b/discovery/compute-v1.json index ace5bec7788..f21862d4523 100644 --- a/discovery/compute-v1.json +++ b/discovery/compute-v1.json @@ -12933,6 +12933,372 @@ } } }, + "interconnectAttachmentGroups": { + "methods": { + "delete": { + "description": "Deletes the specified InterconnectAttachmentGroup in the given scope", + "flatPath": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}", + "httpMethod": "DELETE", + "id": "compute.interconnectAttachmentGroups.delete", + "parameterOrder": [ + "project", + "interconnectAttachmentGroup" + ], + "parameters": { + "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" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{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/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.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{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/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": "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.", + "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/interconnectAttachmentGroups/{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" + ] + }, + "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", + "interconnectAttachmentGroup" + ], + "parameters": { + "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, + "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/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-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{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/interconnectAttachmentGroups", + "request": { + "$ref": "InterconnectAttachmentGroup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Lists the InterconnectAttachmentGroups for a project in the given scope.", + "flatPath": "projects/{project}/global/interconnectAttachmentGroups", + "httpMethod": "GET", + "id": "compute.interconnectAttachmentGroups.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/interconnectAttachmentGroups", + "response": { + "$ref": "InterconnectAttachmentGroupsListResponse" + }, + "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 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", + "interconnectAttachmentGroup" + ], + "parameters": { + "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.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{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": "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-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{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/interconnectAttachmentGroups/{resource}/setIamPolicy", + "request": { + "$ref": "GlobalSetPolicyRequest" + }, + "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}/global/interconnectAttachmentGroups/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.interconnectAttachmentGroups.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/interconnectAttachmentGroups/{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" + ] + } + } + }, "interconnectAttachments": { "methods": { "aggregatedList": { @@ -13303,20 +13669,20 @@ } } }, - "interconnectLocations": { + "interconnectGroups": { "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", + "createMembers": { + "description": "Create Interconnects with redundancy by creating them in a specified interconnect group.", + "flatPath": "projects/{project}/global/interconnectGroups/{interconnectGroup}/createMembers", + "httpMethod": "POST", + "id": "compute.interconnectGroups.createMembers", "parameterOrder": [ "project", - "interconnectLocation" + "interconnectGroup" ], "parameters": { - "interconnectLocation": { - "description": "Name of the interconnect location to return.", + "interconnectGroup": { + "description": "Name of the group resource to create members for.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -13330,47 +13696,107 @@ "type": "string" } }, - "path": "projects/{project}/global/interconnectLocations/{interconnectLocation}", + "path": "projects/{project}/global/interconnectGroups/{interconnectGroup}/createMembers", + "request": { + "$ref": "InterconnectGroupsCreateMembersRequest" + }, "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", - "httpMethod": "GET", - "id": "compute.interconnectLocations.list", + "delete": { + "description": "Deletes the specified InterconnectGroup in the given scope", + "flatPath": "projects/{project}/global/interconnectGroups/{interconnectGroup}", + "httpMethod": "DELETE", + "id": "compute.interconnectGroups.delete", "parameterOrder": [ - "project" + "project", + "interconnectGroup" ], "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", + "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, "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.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating 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/interconnectGroups/{interconnectGroup}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified InterconnectGroup resource in the given scope.", + "flatPath": "projects/{project}/global/interconnectGroups/{interconnectGroup}", + "httpMethod": "GET", + "id": "compute.interconnectGroups.get", + "parameterOrder": [ + "project", + "interconnectGroup" + ], + "parameters": { + "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, + "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", + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{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/interconnectGroups/{interconnectGroup}", + "response": { + "$ref": "InterconnectGroup" + }, + "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/interconnectGroups/{resource}/getIamPolicy", + "httpMethod": "GET", + "id": "compute.interconnectGroups.getIamPolicy", + "parameterOrder": [ + "project", + "resource" + ], + "parameters": { + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", + "format": "int32", + "location": "query", + "type": "integer" }, "project": { "description": "Project ID for this request.", @@ -13379,38 +13805,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" + "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/interconnectLocations", + "path": "projects/{project}/global/interconnectGroups/{resource}/getIamPolicy", "response": { - "$ref": "InterconnectLocationList" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - } - } - }, - "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}", + }, + "getOperationalStatus": { + "description": "Returns the interconnectStatuses for the specified InterconnectGroup.", + "flatPath": "projects/{project}/global/interconnectGroups/{interconnectGroup}/getOperationalStatus", "httpMethod": "GET", - "id": "compute.interconnectRemoteLocations.get", + "id": "compute.interconnectGroups.getOperationalStatus", "parameterOrder": [ "project", - "interconnectRemoteLocation" + "interconnectGroup" ], "parameters": { - "interconnectRemoteLocation": { - "description": "Name of the interconnect remote location to return.", + "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, @@ -13424,9 +13848,9 @@ "type": "string" } }, - "path": "projects/{project}/global/interconnectRemoteLocations/{interconnectRemoteLocation}", + "path": "projects/{project}/global/interconnectGroups/{interconnectGroup}/getOperationalStatus", "response": { - "$ref": "InterconnectRemoteLocation" + "$ref": "InterconnectGroupsGetOperationalStatusResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -13434,11 +13858,45 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "insert": { + "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.interconnectGroups.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" + } + }, + "path": "projects/{project}/global/interconnectGroups", + "request": { + "$ref": "InterconnectGroup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "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", + "description": "Lists the InterconnectGroups for a project in the given scope.", + "flatPath": "projects/{project}/global/interconnectGroups", "httpMethod": "GET", - "id": "compute.interconnectRemoteLocations.list", + "id": "compute.interconnectGroups.list", "parameterOrder": [ "project" ], @@ -13479,32 +13937,28 @@ "type": "boolean" } }, - "path": "projects/{project}/global/interconnectRemoteLocations", + "path": "projects/{project}/global/interconnectGroups", "response": { - "$ref": "InterconnectRemoteLocationList" + "$ref": "InterconnectGroupsListResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - } - } - }, - "interconnects": { - "methods": { - "delete": { - "description": "Deletes the specified Interconnect.", - "flatPath": "projects/{project}/global/interconnects/{interconnect}", - "httpMethod": "DELETE", - "id": "compute.interconnects.delete", + }, + "patch": { + "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.interconnectGroups.patch", "parameterOrder": [ "project", - "interconnect" + "interconnectGroup" ], "parameters": { - "interconnect": { - "description": "Name of the interconnect to delete.", + "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, @@ -13518,12 +13972,21 @@ "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": "InterconnectGroup" + }, "response": { "$ref": "Operation" }, @@ -13532,14 +13995,320 @@ "https://www.googleapis.com/auth/compute" ] }, - "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", + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/global/interconnectGroups/{resource}/setIamPolicy", + "httpMethod": "POST", + "id": "compute.interconnectGroups.setIamPolicy", "parameterOrder": [ "project", - "interconnect" + "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/interconnectGroups/{resource}/setIamPolicy", + "request": { + "$ref": "GlobalSetPolicyRequest" + }, + "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}/global/interconnectGroups/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.interconnectGroups.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/interconnectGroups/{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" + ] + } + } + }, + "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" + } + }, + "path": "projects/{project}/global/interconnectLocations/{interconnectLocation}", + "response": { + "$ref": "InterconnectLocation" + }, + "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 locations available to the specified project.", + "flatPath": "projects/{project}/global/interconnectLocations", + "httpMethod": "GET", + "id": "compute.interconnectLocations.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/interconnectLocations", + "response": { + "$ref": "InterconnectLocationList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "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", + "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" + }, + "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/interconnectRemoteLocations", + "response": { + "$ref": "InterconnectRemoteLocationList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "interconnects": { + "methods": { + "delete": { + "description": "Deletes the specified Interconnect.", + "flatPath": "projects/{project}/global/interconnects/{interconnect}", + "httpMethod": "DELETE", + "id": "compute.interconnects.delete", + "parameterOrder": [ + "project", + "interconnect" + ], + "parameters": { + "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, + "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}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "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": { @@ -14167,6 +14936,54 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] + }, + "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", + "license" + ], + "parameters": { + "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": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{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" + } + }, + "path": "projects/{project}/global/licenses/{license}", + "request": { + "$ref": "License" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] } } }, @@ -38900,7 +39717,7 @@ } } }, - "revision": "20250415", + "revision": "20250427", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -41667,6 +42484,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])?", @@ -42046,7 +42873,7 @@ }, "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. " + "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, HTTP2 or H2C, 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.", @@ -42182,7 +43009,7 @@ "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. localityLbPolicy cannot be specified with haPolicy.", + "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, HTTP2 or H2C, 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. localityLbPolicy cannot be specified with haPolicy.", "enum": [ "INVALID_LB_POLICY", "LEAST_REQUEST", @@ -42233,7 +43060,7 @@ }, "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." + "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, HTTP2 or H2C, 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, @@ -42246,9 +43073,10 @@ "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.", + "description": "The protocol this BackendService uses to communicate with backends. Possible values are HTTP, HTTPS, HTTP2, H2C, 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", @@ -42259,6 +43087,7 @@ ], "enumDescriptions": [ "gRPC (available for Traffic Director).", + "HTTP2 over cleartext", "", "HTTP/2 with SSL.", "", @@ -42735,6 +43564,34 @@ "" ], "type": "string" + }, + "leader": { + "$ref": "BackendServiceHAPolicyLeader", + "description": "Selects one of the network endpoints attached to the backend NEGs of this service as the active endpoint (the leader) that receives all traffic. When the leader changes, there is no connection draining to persist existing connections on the old leader. You are responsible for selecting a suitable endpoint as the leader. For example, preferring a healthy endpoint over unhealthy ones. Note that this service does not track backend endpoint health, and selects the configured leader unconditionally." + } + }, + "type": "object" + }, + "BackendServiceHAPolicyLeader": { + "id": "BackendServiceHAPolicyLeader", + "properties": { + "backendGroup": { + "description": "A fully-qualified URL (starting with https://www.googleapis.com/) of the zonal Network Endpoint Group (NEG) with `GCE_VM_IP` endpoints that the leader is attached to. The leader's backendGroup must already be specified as a backend of this backend service. Removing a backend that is designated as the leader's backendGroup is not permitted.", + "type": "string" + }, + "networkEndpoint": { + "$ref": "BackendServiceHAPolicyLeaderNetworkEndpoint", + "description": "The network endpoint within the leader.backendGroup that is designated as the leader. This network endpoint cannot be detached from the NEG specified in the haPolicy.leader.backendGroup until the leader is updated with another network endpoint, or the leader is removed from the haPolicy." + } + }, + "type": "object" + }, + "BackendServiceHAPolicyLeaderNetworkEndpoint": { + "id": "BackendServiceHAPolicyLeaderNetworkEndpoint", + "properties": { + "instance": { + "description": "The name of the VM instance of the leader network endpoint. The instance must already be attached to the NEG specified in the haPolicy.leader.backendGroup. The name must be 1-63 characters long, and comply with RFC1035. Authorization requires the following IAM permission on the specified resource instance: compute.instances.use", + "type": "string" } }, "type": "object" @@ -44055,9 +44912,11 @@ "COMPUTE_OPTIMIZED_C3", "COMPUTE_OPTIMIZED_C3D", "COMPUTE_OPTIMIZED_H3", + "COMPUTE_OPTIMIZED_H4D", "GENERAL_PURPOSE", "GENERAL_PURPOSE_C4", "GENERAL_PURPOSE_C4A", + "GENERAL_PURPOSE_C4D", "GENERAL_PURPOSE_E2", "GENERAL_PURPOSE_N2", "GENERAL_PURPOSE_N2D", @@ -44100,6 +44959,8 @@ "", "", "", + "", + "", "Note for internal users: When adding a new enum Type for v1, make sure to also add it in the comment for the `optional Type type` definition. This ensures that the public documentation displays the new enum Type." ], "type": "string" @@ -47898,6 +48759,25 @@ "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", @@ -48803,6 +49683,7 @@ "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 - SNP_SVSM_CAPABLE For more information, see Enabling guest operating system features.", "enum": [ + "BARE_METAL_LINUX_COMPATIBLE", "FEATURE_TYPE_UNSPECIFIED", "GVNIC", "IDPF", @@ -48812,6 +49693,7 @@ "SEV_LIVE_MIGRATABLE", "SEV_LIVE_MIGRATABLE_V2", "SEV_SNP_CAPABLE", + "SNP_SVSM_CAPABLE", "TDX_CAPABLE", "UEFI_COMPATIBLE", "VIRTIO_SCSI_MULTIQUEUE", @@ -48830,6 +49712,8 @@ "", "", "", + "", + "", "" ], "type": "string" @@ -56441,6 +57325,13 @@ }, "type": "array" }, + "interconnectGroups": { + "description": "[Output Only] URLs of InterconnectGroups that include this Interconnect. Order is arbitrary and items are unique.", + "items": { + "type": "string" + }, + "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": [ @@ -56586,6 +57477,10 @@ "description": "Determines whether this Attachment will carry packets. Not present for PARTNER_PROVIDER.", "type": "boolean" }, + "attachmentGroup": { + "description": "[Output Only] URL of the AttachmentGroup that includes this Attachment.", + "type": "string" + }, "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": [ @@ -57062,24 +57957,579 @@ }, "type": "object" }, - "InterconnectAttachmentList": { - "description": "Response to the list request, and contains a list of interconnect attachments.", - "id": "InterconnectAttachmentList", + "InterconnectAttachmentGroup": { + "description": "An interconnect attachment group resource allows customers to create, analyze, and expand highly available deployments.", + "id": "InterconnectAttachmentGroup", + "properties": { + "attachments": { + "additionalProperties": { + "$ref": "InterconnectAttachmentGroupAttachment" + }, + "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" + }, + "configured": { + "$ref": "InterconnectAttachmentGroupConfigured" + }, + "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" + }, + "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" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", + "format": "uint64", + "type": "string" + }, + "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" + }, + "kind": { + "default": "compute#interconnectAttachmentGroup", + "description": "[Output Only] Type of the resource. Always compute#interconnectAttachmentGroup.", + "type": "string" + }, + "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" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + } + }, + "type": "object" + }, + "InterconnectAttachmentGroupAttachment": { + "description": "An Attachment in this AttachmentGroup.", + "id": "InterconnectAttachmentGroupAttachment", + "properties": { + "attachment": { + "type": "string" + } + }, + "type": "object" + }, + "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": { + "availabilitySla": { + "$ref": "InterconnectAttachmentGroupConfiguredAvailabilitySLA" + } + }, + "type": "object" + }, + "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": { + "effectiveSla": { + "enum": [ + "EFFECTIVE_SLA_UNSPECIFIED", + "NO_SLA", + "PRODUCTION_CRITICAL", + "PRODUCTION_NON_CRITICAL" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "intendedSlaBlockers": { + "items": { + "$ref": "InterconnectAttachmentGroupConfiguredAvailabilitySLAIntendedSlaBlockers" + }, + "type": "array" + } + }, + "type": "object" + }, + "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": { + "attachments": { + "description": "[Output Only] URLs of any particular Attachments to explain this blocker in more detail.", + "items": { + "type": "string" + }, + "type": "array" + }, + "blockerType": { + "enum": [ + "BLOCKER_TYPE_UNSPECIFIED", + "INCOMPATIBLE_METROS", + "INCOMPATIBLE_REGIONS", + "MISSING_GLOBAL_ROUTING", + "NO_ATTACHMENTS", + "NO_ATTACHMENTS_IN_METRO_AND_ZONE", + "OTHER" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "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": "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": { + "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" + }, + "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": { + "availabilitySla": { + "enum": [ + "AVAILABILITY_SLA_UNSPECIFIED", + "NO_SLA", + "PRODUCTION_CRITICAL", + "PRODUCTION_NON_CRITICAL" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "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": { + "regions": { + "items": { + "$ref": "InterconnectAttachmentGroupLogicalStructureRegion" + }, + "type": "array" + } + }, + "type": "object" + }, + "InterconnectAttachmentGroupLogicalStructureRegion": { + "description": "[Output Only] The regions Attachments in this group are in.", + "id": "InterconnectAttachmentGroupLogicalStructureRegion", + "properties": { + "metros": { + "items": { + "$ref": "InterconnectAttachmentGroupLogicalStructureRegionMetro" + }, + "type": "array" + }, + "region": { + "description": "[Output Only] The name of a region, like \"us-central1\".", + "type": "string" + } + }, + "type": "object" + }, + "InterconnectAttachmentGroupLogicalStructureRegionMetro": { + "description": "[Output Only] The metros of Attachments in this group in this region.", + "id": "InterconnectAttachmentGroupLogicalStructureRegionMetro", + "properties": { + "facilities": { + "items": { + "$ref": "InterconnectAttachmentGroupLogicalStructureRegionMetroFacility" + }, + "type": "array" + }, + "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" + }, + "InterconnectAttachmentGroupLogicalStructureRegionMetroFacility": { + "description": "[Output Only] The facilities used for this group's Attachments' Interconnects.", + "id": "InterconnectAttachmentGroupLogicalStructureRegionMetroFacility", + "properties": { + "facility": { + "description": "[Output Only] The name of a facility, like \"iad-1234\".", + "type": "string" + }, + "zones": { + "items": { + "$ref": "InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone" + }, + "type": "array" + } + }, + "type": "object" + }, + "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": { + "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": { + "type": "string" + }, + "type": "array" + }, + "zone": { + "description": "[Output Only] The name of a zone, either \"zone1\" or \"zone2\".", + "type": "string" + } + }, + "type": "object" + }, + "InterconnectAttachmentGroupsGetOperationalStatusResponse": { + "description": "Response for the InterconnectAttachmentGroupsGetOperationalStatusResponse.", + "id": "InterconnectAttachmentGroupsGetOperationalStatusResponse", + "properties": { + "etag": { + "type": "string" + }, + "result": { + "$ref": "InterconnectAttachmentGroupsOperationalStatus" + } + }, + "type": "object" + }, + "InterconnectAttachmentGroupsListResponse": { + "id": "InterconnectAttachmentGroupsListResponse", + "properties": { + "etag": { + "type": "string" + }, "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 InterconnectAttachmentGroup resources.", "items": { - "$ref": "InterconnectAttachment" + "$ref": "InterconnectAttachmentGroup" }, "type": "array" }, "kind": { - "default": "compute#interconnectAttachmentList", - "description": "[Output Only] Type of resource. Always compute#interconnectAttachmentList for lists of interconnect attachments.", + "default": "compute#interconnectAttachmentGroup", + "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" + }, + "InterconnectAttachmentGroupsOperationalStatus": { + "id": "InterconnectAttachmentGroupsOperationalStatus", + "properties": { + "attachmentStatuses": { + "items": { + "$ref": "InterconnectAttachmentGroupsOperationalStatusAttachmentStatus" + }, + "type": "array" + }, + "configured": { + "$ref": "InterconnectAttachmentGroupConfigured" + }, + "groupStatus": { + "description": "Summarizes the status of the group.", + "enum": [ + "DEGRADED", + "FULLY_DOWN", + "FULLY_UP", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "intent": { + "$ref": "InterconnectAttachmentGroupIntent" + }, + "operational": { + "$ref": "InterconnectAttachmentGroupConfigured", + "description": "The operational state of the group, including only active Attachments." + } + }, + "type": "object" + }, + "InterconnectAttachmentGroupsOperationalStatusAttachmentStatus": { + "description": "The status of one Attachment in the group. List order is arbitrary.", + "id": "InterconnectAttachmentGroupsOperationalStatusAttachmentStatus", + "properties": { + "adminEnabled": { + "description": "Whether this Attachment is enabled. This becomes false when the customer drains their Attachment.", + "type": "boolean" + }, + "attachment": { + "description": "The URL of the Attachment being described.", + "type": "string" + }, + "isActive": { + "description": "Whether this Attachment is participating in the redundant configuration. This will be ACTIVE if and only if the status below is CONNECTION_UP. Any INACTIVE Attachments are excluded from the analysis that generates operational.availabilitySLA.", + "enum": [ + "ACTIVE", + "INACTIVE", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "status": { + "description": "Whether this Attachment is active, and if so, whether BGP is up. This is based on the statuses available in the Pantheon UI here: http://google3/java/com/google/cloud/boq/clientapi/gce/hybrid/api/interconnect_models.proto", + "enum": [ + "ATTACHMENT_STATUS_UNKNOWN", + "CONNECTION_DISABLED", + "CONNECTION_DOWN", + "CONNECTION_UP", + "DEFUNCT", + "IPSEC_CONFIGURATION_NEEDED_STATUS", + "IPSEC_READY_TO_RESUME_FLOW_STATUS", + "IPV4_DOWN_IPV6_UP", + "IPV4_UP_IPV6_DOWN", + "PARTNER_REQUEST_RECEIVED", + "PENDING_CUSTOMER", + "PENDING_PARTNER", + "PROVISIONED", + "ROUTER_CONFIGURATION_BROKEN", + "UNPROVISIONED" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "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 InterconnectAttachment resources.", + "items": { + "$ref": "InterconnectAttachment" + }, + "type": "array" + }, + "kind": { + "default": "compute#interconnectAttachmentList", + "description": "[Output Only] Type of resource. Always compute#interconnectAttachmentList for lists of interconnect attachments.", "type": "string" }, "nextPageToken": { @@ -57385,203 +58835,830 @@ }, "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", + "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.", + "items": { + "$ref": "InterconnectDiagnosticsARPEntry" + }, + "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." + ], + "type": "string" + }, + "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" + }, + "links": { + "description": "A list of InterconnectDiagnostics.LinkStatus objects, describing the status for each link on the Interconnect.", + "items": { + "$ref": "InterconnectDiagnosticsLinkStatus" + }, + "type": "array" + }, + "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" + }, + "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" + }, + "neighborSystemId": { + "description": "System ID of the port on the neighbor's side of the LACP exchange.", + "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." + ], + "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." + ], + "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", + "items": { + "$ref": "InterconnectDiagnosticsARPEntry" + }, + "type": "array" + }, + "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": [ + "LINK_OPERATIONAL_STATUS_DOWN", + "LINK_OPERATIONAL_STATUS_UP" + ], + "enumDescriptions": [ + "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" + }, + "InterconnectDiagnosticsMacsecStatus": { + "description": "Describes the status of MACsec encryption on the link.", + "id": "InterconnectDiagnosticsMacsecStatus", + "properties": { + "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" + }, + "InterconnectGroup": { + "description": "An interconnect group resource allows customers to create, analyze, and expand their redundant connections.", + "id": "InterconnectGroup", + "properties": { + "configured": { + "$ref": "InterconnectGroupConfigured" + }, + "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" + }, + "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" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", + "format": "uint64", + "type": "string" + }, + "intent": { + "$ref": "InterconnectGroupIntent" + }, + "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" + }, + "kind": { + "default": "compute#InterconnectGroup", + "description": "[Output Only] Type of the resource. Always compute#InterconnectGroup", + "type": "string" + }, + "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" + }, + "physicalStructure": { + "$ref": "InterconnectGroupPhysicalStructure" + }, + "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" + }, + "supportedSla": { + "enum": [ + "NO_SLA", + "PRODUCTION_CRITICAL", + "PRODUCTION_NON_CRITICAL", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "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": [ + "INCOMPATIBLE_METROS", + "NOT_AVAILABLE", + "NO_INTERCONNECTS", + "NO_INTERCONNECTS_IN_METRO_AND_ZONE", + "OTHER", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "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" + }, + "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" + }, + "interconnects": { + "description": "[Output Only] Interconnects used to explain this blocker in more detail.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + }, + "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": [ + "NO_SLA", + "PRODUCTION_CRITICAL", + "PRODUCTION_NON_CRITICAL", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "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" + }, + "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" + } + }, + "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" + }, + "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" + }, + "InterconnectGroupsCreateMembers": { + "id": "InterconnectGroupsCreateMembers", + "properties": { + "intentMismatchBehavior": { + "description": "How to behave when configured.topologyCapability.supportedSLA would not equal intent.topologyCapability after this call.", + "enum": [ + "CREATE", + "REJECT", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "interconnects": { + "items": { + "$ref": "InterconnectGroupsCreateMembersInterconnectInput" + }, + "type": "array" + }, + "templateInterconnect": { + "$ref": "InterconnectGroupsCreateMembersInterconnectInput", + "description": "Parameters for the Interconnects to create." + } + }, + "type": "object" + }, + "InterconnectGroupsCreateMembersInterconnectInput": { + "description": "LINT.IfChange", + "id": "InterconnectGroupsCreateMembersInterconnectInput", + "properties": { + "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" + }, + "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" + }, + "facility": { + "description": "A zone-free location to use for all Interconnects created in this call, like \"iad-1234\".", + "type": "string" + }, + "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" + }, + "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. - LINK_TYPE_ETHERNET_400G_LR4: A 400G Ethernet with LR4 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", + "LINK_TYPE_ETHERNET_400G_LR4" + ], + "enumDescriptions": [ + "100G Ethernet, LR Optics.", + "10G Ethernet, LR Optics. [(rate_bps) = 10000000000];", + "400G Ethernet, LR4 Optics." + ], + "type": "string" + }, + "name": { + "description": "Name of the Interconnects to be created. This must be specified on the template and/or on each individual interconnect. The name, if not empty, must be 1-63 characters long, and comply with RFC1035. Specifically, any nonempty 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" + }, + "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" + }, + "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": { + "enum": [ + "IF_MACSEC" + ], + "enumDescriptions": [ + "Media Access Control security (MACsec)" + ], + "type": "string" + }, + "type": "array" + }, + "requestedLinkCount": { + "description": "Target number of physical links in the link bundle, as requested by the customer.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "InterconnectGroupsCreateMembersRequest": { + "id": "InterconnectGroupsCreateMembersRequest", + "properties": { + "request": { + "$ref": "InterconnectGroupsCreateMembers" + } + }, + "type": "object" + }, + "InterconnectGroupsGetOperationalStatusResponse": { + "description": "Response for the InterconnectGroupsGetOperationalStatusResponse.", + "id": "InterconnectGroupsGetOperationalStatusResponse", + "properties": { + "etag": { + "type": "string" + }, + "result": { + "$ref": "InterconnectGroupsOperationalStatus" + } + }, + "type": "object" + }, + "InterconnectGroupsListResponse": { + "id": "InterconnectGroupsListResponse", + "properties": { + "etag": { + "type": "string" + }, + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of InterconnectGroup resources.", + "items": { + "$ref": "InterconnectGroup" + }, + "type": "array" + }, + "kind": { + "default": "compute#InterconnectGroup", + "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" + }, + "InterconnectGroupsOperationalStatus": { + "description": "Request to get the status of the interconnect group with extra detail.", + "id": "InterconnectGroupsOperationalStatus", "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.", - "items": { - "$ref": "InterconnectDiagnosticsARPEntry" - }, - "type": "array" + "configured": { + "$ref": "InterconnectGroupConfigured", + "description": "The configuration analysis, as returned by Get." }, - "bundleAggregationType": { - "description": "The aggregation type of the bundle interface.", + "groupStatus": { + "description": "Summarizes the status of the group.", "enum": [ - "BUNDLE_AGGREGATION_TYPE_LACP", - "BUNDLE_AGGREGATION_TYPE_STATIC" + "DEGRADED", + "FULLY_DOWN", + "FULLY_UP", + "GROUPS_STATUS_UNSPECIFIED" ], "enumDescriptions": [ - "LACP is enabled.", - "LACP is disabled." + "", + "", + "", + "" ], "type": "string" }, - "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" + "intent": { + "$ref": "InterconnectGroupIntent", + "description": "The intent of the resource, as returned by Get." }, - "links": { - "description": "A list of InterconnectDiagnostics.LinkStatus objects, describing the status for each link on the Interconnect.", + "interconnectStatuses": { "items": { - "$ref": "InterconnectDiagnosticsLinkStatus" + "$ref": "InterconnectGroupsOperationalStatusInterconnectStatus" }, "type": "array" }, - "macAddress": { - "description": "The MAC address of the Interconnect's bundle interface.", - "type": "string" + "operational": { + "$ref": "InterconnectGroupConfigured", + "description": "The operational state of the group, including only active Interconnects." } }, "type": "object" }, - "InterconnectDiagnosticsARPEntry": { - "description": "Describing the ARP neighbor entries seen on this link", - "id": "InterconnectDiagnosticsARPEntry", + "InterconnectGroupsOperationalStatusInterconnectStatus": { + "description": "The status of one Interconnect in the group. The order is arbitrary.", + "id": "InterconnectGroupsOperationalStatusInterconnectStatus", "properties": { - "ipAddress": { - "description": "The IP address of this ARP neighbor.", - "type": "string" + "adminEnabled": { + "description": "Whether the Interconnect is enabled.", + "type": "boolean" }, - "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" + "diagnostics": { + "$ref": "InterconnectDiagnostics", + "description": "The diagnostics of the Interconnect, as returned by the existing get-diagnostics method." }, - "neighborSystemId": { - "description": "System ID of the port on the neighbor's side of the LACP exchange.", + "interconnect": { + "description": "The URL of the Interconnect being described.", "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. ", + "isActive": { + "description": "Whether this interconnect is participating in the redundant configuration.", "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." - ], - "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." - ], - "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", - "items": { - "$ref": "InterconnectDiagnosticsARPEntry" - }, - "type": "array" - }, - "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": [ - "LINK_OPERATIONAL_STATUS_DOWN", - "LINK_OPERATIONAL_STATUS_UP" + "INACTIVE", + "IS_ACTIVE_UNSPECIFIED" ], "enumDescriptions": [ - "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" - }, - "InterconnectDiagnosticsMacsecStatus": { - "description": "Describes the status of MACsec encryption on the link.", - "id": "InterconnectDiagnosticsMacsecStatus", - "properties": { - "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" @@ -58579,6 +60656,17 @@ "description": "Represents a License resource. A License represents billing and aggregate usage data for public and marketplace images. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", "id": "License", "properties": { + "allowedReplacementLicenses": { + "description": "Specifies licenseCodes of licenses that can replace this license. Note: such replacements are allowed even if removable_from_disk is false.", + "items": { + "type": "string" + }, + "type": "array" + }, + "appendableToDisk": { + "description": "If true, this license can be appended to an existing disk's set of licenses.", + "type": "boolean" + }, "chargesUseFee": { "description": "[Output Only] Deprecated. This field no longer reflects whether a license charges a usage fee.", "type": "boolean" @@ -58596,6 +60684,13 @@ "format": "uint64", "type": "string" }, + "incompatibleLicenses": { + "description": "Specifies licenseCodes of licenses that are incompatible with this license. If a license is incompatible with this license, it cannot be attached to the same disk or image.", + "items": { + "type": "string" + }, + "type": "array" + }, "kind": { "default": "compute#license", "description": "[Output Only] Type of resource. Always compute#license for licenses.", @@ -58606,6 +60701,14 @@ "format": "uint64", "type": "string" }, + "minimumRetention": { + "$ref": "Duration", + "description": "If set, this license will be unable to be removed or replaced once attached to a disk until the minimum_retention period has passed." + }, + "multiTenantOnly": { + "description": "If true, this license can only be used on VMs on multi tenant nodes.", + "type": "boolean" + }, "name": { "annotations": { "required": [ @@ -58616,6 +60719,21 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "osLicense": { + "description": "If true, indicates this is an OS license. Only one OS license can be attached to a disk or image at a time.", + "type": "boolean" + }, + "removableFromDisk": { + "description": "If true, this license can be removed from a disk's set of licenses, with no replacement license needed.", + "type": "boolean" + }, + "requiredCoattachedLicenses": { + "description": "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.", + "items": { + "type": "string" + }, + "type": "array" + }, "resourceRequirements": { "$ref": "LicenseResourceRequirements", "description": "[Input Only] Deprecated." @@ -58624,9 +60742,21 @@ "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" + }, + "soleTenantOnly": { + "description": "If true, this license can only be used on VMs on sole tenant nodes.", + "type": "boolean" + }, "transferable": { "description": "If false, licenses will not be copied from the source resource when creating an image from a disk, disk from snapshot, or snapshot from disk.", "type": "boolean" + }, + "updateTimestamp": { + "description": "[Output Only] Last update timestamp in RFC3339 text format.", + "type": "string" } }, "type": "object" @@ -59368,20 +61498,6 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, - "scratchDisks": { - "description": "[Output Only] A list of extended scratch disks assigned to the instance.", - "items": { - "properties": { - "diskGb": { - "description": "Size of the scratch disk, defined in GB.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "type": "array" - }, "selfLink": { "description": "[Output Only] Server-defined URL for the resource.", "type": "string" @@ -68162,7 +70278,7 @@ "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. ", + "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 announced and ready to use. - `DELETING` The public delegated prefix is being deprovsioned. ", "enum": [ "ANNOUNCED", "ANNOUNCED_TO_GOOGLE", @@ -68172,7 +70288,7 @@ "READY_TO_ANNOUNCE" ], "enumDescriptions": [ - "The public delegated prefix is active.", + "The public delegated prefix is announced and ready to use.", "The prefix is announced within Google network.", "The prefix is announced to Internet and within Google.", "The public delegated prefix is being deprovsioned.", @@ -70946,6 +73062,14 @@ "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" }, + "deleteAfterDuration": { + "$ref": "Duration", + "description": "Duration time relative to reservation creation when Compute Engine will automatically delete this resource." + }, + "deleteAtTime": { + "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": [ @@ -79632,6 +81756,7 @@ "description": "Properties of the object. Contains field @type with type URL.", "type": "any" }, + "format": "google.protobuf.Any", "type": "object" }, "type": "array" @@ -81264,6 +83389,22 @@ "Subnetwork is ready for use." ], "type": "string" + }, + "systemReservedExternalIpv6Ranges": { + "description": "Output only. [Output Only] The array of external IPv6 network ranges reserved from the subnetwork's external IPv6 range for system use.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "systemReservedInternalIpv6Ranges": { + "description": "Output only. [Output Only] The array of internal IPv6 network ranges reserved from the subnetwork's internal IPv6 range for system use.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" } }, "type": "object" @@ -81812,6 +83953,140 @@ }, "type": "object" }, + "SubnetworksScopedWarning": { + "id": "SubnetworksScopedWarning", + "properties": { + "scopeName": { + "description": "Name of the scope containing this set of Subnetworks.", + "type": "string" + }, + "warning": { + "description": "An informational warning about unreachable scope", + "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" + }, "SubnetworksSetPrivateIpGoogleAccessRequest": { "id": "SubnetworksSetPrivateIpGoogleAccessRequest", "properties": { @@ -86559,10 +88834,24 @@ "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" }, + "scopedWarnings": { + "description": "[Output Only] Informational warning messages for failures encountered from scopes.", + "items": { + "$ref": "SubnetworksScopedWarning" + }, + "type": "array" + }, "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": { diff --git a/discovery/dataflow-v1b3.json b/discovery/dataflow-v1b3.json index a95ba43dbef..af4ebcce130 100644 --- a/discovery/dataflow-v1b3.json +++ b/discovery/dataflow-v1b3.json @@ -341,7 +341,7 @@ ] }, "create": { - "description": "Creates a Cloud Dataflow job. To create a job, we recommend using `projects.locations.jobs.create` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.create` is not recommended, as your job will always start in `us-central1`. Do not enter confidential information when you supply string values using the API.", + "description": "A Job is a multi-stage computation graph run by the Cloud Dataflow service. Creates a Cloud Dataflow job. To create a job, we recommend using `projects.locations.jobs.create` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.create` is not recommended, as your job will always start in `us-central1`. Do not enter confidential information when you supply string values using the API.", "flatPath": "v1b3/projects/{projectId}/jobs", "httpMethod": "POST", "id": "dataflow.projects.jobs.create", @@ -972,7 +972,7 @@ "jobs": { "methods": { "create": { - "description": "Creates a Cloud Dataflow job. To create a job, we recommend using `projects.locations.jobs.create` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.create` is not recommended, as your job will always start in `us-central1`. Do not enter confidential information when you supply string values using the API.", + "description": "A Job is a multi-stage computation graph run by the Cloud Dataflow service. Creates a Cloud Dataflow job. To create a job, we recommend using `projects.locations.jobs.create` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.create` is not recommended, as your job will always start in `us-central1`. Do not enter confidential information when you supply string values using the API.", "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs", "httpMethod": "POST", "id": "dataflow.projects.locations.jobs.create", @@ -2208,7 +2208,7 @@ } } }, - "revision": "20250421", + "revision": "20250428", "rootUrl": "https://dataflow.googleapis.com/", "schemas": { "ApproximateProgress": { diff --git a/discovery/dataplex-v1.json b/discovery/dataplex-v1.json index 1296dd964b5..476bf409a58 100644 --- a/discovery/dataplex-v1.json +++ b/discovery/dataplex-v1.json @@ -910,6 +910,11 @@ "description": "Optional. The scope under which the search should be operating. It must either be organizations/ or projects/. If it is unspecified, it defaults to the organization where the project provided in name is located.", "location": "query", "type": "string" + }, + "semanticSearch": { + "description": "Optional. Internal only.", + "location": "query", + "type": "boolean" } }, "path": "v1/{+name}:searchEntries", @@ -2945,6 +2950,93 @@ ] } } + }, + "entryLinks": { + "methods": { + "create": { + "description": "Creates an Entry Link.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entryLinks", + "httpMethod": "POST", + "id": "dataplex.projects.locations.entryGroups.entryLinks.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "entryLinkId": { + "description": "Required. Entry Link identifier * 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 EntryGroup.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the parent Entry Group: projects/{project}/locations/{location}/entryGroups/{entry_group}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/entryLinks", + "request": { + "$ref": "GoogleCloudDataplexV1EntryLink" + }, + "response": { + "$ref": "GoogleCloudDataplexV1EntryLink" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an Entry Link.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entryLinks/{entryLinksId}", + "httpMethod": "DELETE", + "id": "dataplex.projects.locations.entryGroups.entryLinks.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the Entry Link: projects/{project}/locations/{location}/entryGroups/{entry_group}/entryLinks/{entry_link}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entryLinks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudDataplexV1EntryLink" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets an entry link.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entryLinks/{entryLinksId}", + "httpMethod": "GET", + "id": "dataplex.projects.locations.entryGroups.entryLinks.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the Entry Link: projects/{project}/locations/{location}/entryGroups/{entry_group}/entryLinks/{entry_link}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entryLinks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudDataplexV1EntryLink" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } }, @@ -3310,6 +3402,99 @@ }, "glossaries": { "methods": { + "create": { + "description": "Creates a new Glossary resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries", + "httpMethod": "POST", + "id": "dataplex.projects.locations.glossaries.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "glossaryId": { + "description": "Required. Glossary ID: Glossary identifier.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource where this Glossary will be created. Format: projects/{projectId}/locations/{locationId} where locationId refers to a GCP region.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "validateOnly": { + "description": "Optional. Validates the request without actually creating the glossary. Default: false.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+parent}/glossaries", + "request": { + "$ref": "GoogleCloudDataplexV1Glossary" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a Glossary resource. All the categories and terms within the glossary must be deleted before a glossary can be deleted.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}", + "httpMethod": "DELETE", + "id": "dataplex.projects.locations.glossaries.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The etag of the Glossary. If this is provided, it must match the server's etag. If the etag is provided and does not match the server-computed etag, the request must fail with a ABORTED error code.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the Glossary to delete. Format: projects/{project}/locations/{location}/glossary/{glossary}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieves a specified Glossary resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}", + "httpMethod": "GET", + "id": "dataplex.projects.locations.glossaries.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the Glossary to retrieve. Format: projects/{project}/locations/{location}/glossaries/{glossary}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudDataplexV1Glossary" + }, + "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}/glossaries/{glossariesId}:getIamPolicy", @@ -3341,6 +3526,91 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "list": { + "description": "Lists Glossary resources in a project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries", + "httpMethod": "GET", + "id": "dataplex.projects.locations.glossaries.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter expression that filters glossaries listed in the response. Initially, no filter is supported.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Order by expression that orders glossaries listed in the response. Order by fields are: name or create_time for the result. If not specified, the ordering is undefined.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of glossaries to return. The service may return fewer than this value. If unspecified, at most 50 glossaries 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 ListGlossaries call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListGlossaries must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which has this collection of glossaries. Format: projects/{project}/locations/{location} Location is the GCP region.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/glossaries", + "response": { + "$ref": "GoogleCloudDataplexV1ListGlossariesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a Glossary resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}", + "httpMethod": "PATCH", + "id": "dataplex.projects.locations.glossaries.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Identifier. The resource name of the Glossary. Format: projects/{projectId}/locations/{locationId}/glossaries/{glossaryId}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The list of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. Validates the request without actually updating the glossary. Default: false.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudDataplexV1Glossary" + }, + "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}/glossaries/{glossariesId}:setIamPolicy", @@ -3401,6 +3671,89 @@ "resources": { "categories": { "methods": { + "create": { + "description": "GlossaryCategory APIs are CCFE passthrough APIs. Creates a new GlossaryCategory resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/categories", + "httpMethod": "POST", + "id": "dataplex.projects.locations.glossaries.categories.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "categoryId": { + "description": "Required. Category ID: GlossaryCategory identifier.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource where this GlossaryCategory will be created. Format: projects/{projectId}/locations/{locationId}/glossaries/{glossaryId} where locationId refers to a GCP region.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/categories", + "request": { + "$ref": "GoogleCloudDataplexV1GlossaryCategory" + }, + "response": { + "$ref": "GoogleCloudDataplexV1GlossaryCategory" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a GlossaryCategory resource. All the categories and terms nested directly under the category will be moved one level up to the parent in the hierarchy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/categories/{categoriesId}", + "httpMethod": "DELETE", + "id": "dataplex.projects.locations.glossaries.categories.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the GlossaryCategory to delete. Format: projects/{project}/locations/{location}/glossary/{glossary}/categories/{glossary_category}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/categories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieves a specified GlossaryCategory resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/categories/{categoriesId}", + "httpMethod": "GET", + "id": "dataplex.projects.locations.glossaries.categories.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the GlossaryCategory to retrieve. Format: projects/{project}/locations/{location}/glossaries/{glossary}/categories/{glossary_category}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/categories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudDataplexV1GlossaryCategory" + }, + "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}/glossaries/{glossariesId}/categories/{categoriesId}:getIamPolicy", @@ -3432,6 +3785,86 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "list": { + "description": "Lists GlossaryCategory resources in a glossary.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/categories", + "httpMethod": "GET", + "id": "dataplex.projects.locations.glossaries.categories.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter expression that filters categories listed in the response. Filters supported: List GlossaryCategories based on immediate parent in the resource hierarchy. This will only return the GlossaryCategories nested directly under the parent and no other subsequent nested categories will be returned.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Order by expression that orders categories listed in the response. Order by fields are: name or create_time for the result. If not specified, the ordering is undefined.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of categories to return. The service may return fewer than this value. If unspecified, at most 50 categories 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 ListGlossaryCategories call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListGlossaryCategories must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which has this collection of categories. Format: projects/{project}/locations/{location}/glossaries/{glossary} Location is the GCP region.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/categories", + "response": { + "$ref": "GoogleCloudDataplexV1ListGlossaryCategoriesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a GlossaryCategory resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/categories/{categoriesId}", + "httpMethod": "PATCH", + "id": "dataplex.projects.locations.glossaries.categories.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. Identifier. The resource name of the GlossaryCategory. Format: projects/{projectId}/locations/{locationId}/glossaries/{glossaryId}/categories/{categoryId}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/categories/[^/]+$", + "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": "GoogleCloudDataplexV1GlossaryCategory" + }, + "response": { + "$ref": "GoogleCloudDataplexV1GlossaryCategory" + }, + "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}/glossaries/{glossariesId}/categories/{categoriesId}:setIamPolicy", @@ -3472,52 +3905,215 @@ "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/[^/]+/glossaries/[^/]+/categories/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/categories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "terms": { + "methods": { + "create": { + "description": "GlossaryTerm APIs are CCFE passthrough APIs. Creates a new GlossaryTerm resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/terms", + "httpMethod": "POST", + "id": "dataplex.projects.locations.glossaries.terms.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource where this GlossaryTerm will be created. Format: projects/{projectId}/locations/{locationId}/glossaries/{glossaryId} where locationId refers to a GCP region.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$", + "required": true, + "type": "string" + }, + "termId": { + "description": "Required. Term ID: GlossaryTerm identifier.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/terms", + "request": { + "$ref": "GoogleCloudDataplexV1GlossaryTerm" + }, + "response": { + "$ref": "GoogleCloudDataplexV1GlossaryTerm" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a GlossaryTerm resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/terms/{termsId}", + "httpMethod": "DELETE", + "id": "dataplex.projects.locations.glossaries.terms.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the GlossaryTerm to delete. Format: projects/{project}/locations/{location}/glossary/{glossary}/terms/{glossary_term}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/terms/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieves a specified GlossaryTerm resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/terms/{termsId}", + "httpMethod": "GET", + "id": "dataplex.projects.locations.glossaries.terms.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the GlossaryTerm to retrieve. Format: projects/{project}/locations/{location}/glossaries/{glossary}/terms/{glossary_term}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/terms/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudDataplexV1GlossaryTerm" + }, + "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}/glossaries/{glossariesId}/terms/{termsId}:getIamPolicy", + "httpMethod": "GET", + "id": "dataplex.projects.locations.glossaries.terms.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/[^/]+/glossaries/[^/]+/terms/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists GlossaryTerm resources in a glossary.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/terms", + "httpMethod": "GET", + "id": "dataplex.projects.locations.glossaries.terms.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter expression that filters terms listed in the response. Filters supported: List GlossaryTerms based on immediate parent in the resource hierarchy. This will only return the terms nested directly under the parent and no other subsequent nested terms will be returned.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Order by expression that orders terms listed in the response. Order by fields are: name or create_time for the result. If not specified, the ordering is undefined.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of terms to return. The service may return fewer than this value. If unspecified, at most 50 terms 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 ListGlossaryTerms call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListGlossaryTerms must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which has this collection of terms. Format: projects/{project}/locations/{location}/glossaries/{glossary} Location is the GCP region.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+$", "required": true, "type": "string" } }, - "path": "v1/{+resource}:testIamPermissions", - "request": { - "$ref": "GoogleIamV1TestIamPermissionsRequest" - }, + "path": "v1/{+parent}/terms", "response": { - "$ref": "GoogleIamV1TestIamPermissionsResponse" + "$ref": "GoogleCloudDataplexV1ListGlossaryTermsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] - } - } - }, - "terms": { - "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}/glossaries/{glossariesId}/terms/{termsId}:getIamPolicy", - "httpMethod": "GET", - "id": "dataplex.projects.locations.glossaries.terms.getIamPolicy", + }, + "patch": { + "description": "Updates a GlossaryTerm resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/glossaries/{glossariesId}/terms/{termsId}", + "httpMethod": "PATCH", + "id": "dataplex.projects.locations.glossaries.terms.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", - "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": "Output only. Identifier. The resource name of the GlossaryTerm. Format: projects/{projectId}/locations/{locationId}/glossaries/{glossaryId}/terms/{termId}", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/glossaries/[^/]+/terms/[^/]+$", "required": true, "type": "string" + }, + "updateMask": { + "description": "Required. The list of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" } }, - "path": "v1/{+resource}:getIamPolicy", + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudDataplexV1GlossaryTerm" + }, "response": { - "$ref": "GoogleIamV1Policy" + "$ref": "GoogleCloudDataplexV1GlossaryTerm" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -6431,7 +7027,7 @@ } } }, - "revision": "20250419", + "revision": "20250429", "rootUrl": "https://dataplex.googleapis.com/", "schemas": { "Empty": { @@ -6783,7 +7379,7 @@ "type": "object" }, "GoogleCloudDataplexV1AspectTypeAuthorization": { - "description": "Autorization for an AspectType.", + "description": "Authorization for an AspectType.", "id": "GoogleCloudDataplexV1AspectTypeAuthorization", "properties": { "alternateUsePermission": { @@ -8949,7 +9545,7 @@ "Data scan job successfully completed.", "Data scan job was unsuccessful.", "Data scan job was cancelled.", - "Data scan job was createed." + "Data scan job was created." ], "type": "string" }, @@ -9870,6 +10466,70 @@ }, "type": "object" }, + "GoogleCloudDataplexV1EntryLink": { + "description": "EntryLink represents a link between two entries.", + "id": "GoogleCloudDataplexV1EntryLink", + "properties": { + "createTime": { + "description": "Output only. The time when the Entry Link was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "entryLinkType": { + "description": "Required. Immutable. Relative resource name of the Entry Link Type used to create this Entry Link, of the form: projects/{project}/locations/{location}/entryLinkTypes/{entry_link_type}.", + "type": "string" + }, + "entryReferences": { + "description": "Required. Specifies the entries referenced in the entry link. There should be exactly two entry references.", + "items": { + "$ref": "GoogleCloudDataplexV1EntryLinkEntryReference" + }, + "type": "array" + }, + "name": { + "description": "Output only. Immutable. Identifier. The relative resource name of the Entry Link, of the form: projects/{project}/locations/{location}/entryGroups/{entry_group}/entryLinks/{entry_link}.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time when the Entry Link was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1EntryLinkEntryReference": { + "description": "Reference to the Entry that is linked through the entry link.", + "id": "GoogleCloudDataplexV1EntryLinkEntryReference", + "properties": { + "name": { + "description": "Required. Immutable. The relative resource name of the referenced entry, of the form: projects/{project}/locations/{location}/entryGroups/{entryGroup}/entries/{entry}.", + "type": "string" + }, + "path": { + "description": "Immutable. The path in the entry that is referenced in the entry link. Empty path denotes that the entry itself is referenced in the entry link.", + "type": "string" + }, + "type": { + "description": "Required. Immutable. The reference type of the entry.", + "enum": [ + "UNSPECIFIED", + "SOURCE", + "TARGET" + ], + "enumDescriptions": [ + "Unspecified reference type. Implies that the entry is referenced in a non-directional entry link.", + "The entry is referenced as the source of the directional entry link.", + "The entry is referenced as the target of the directional entry link." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDataplexV1EntryLinkEvent": { "description": "Payload associated with Entry related log events.", "id": "GoogleCloudDataplexV1EntryLinkEvent", @@ -10280,6 +10940,162 @@ }, "type": "object" }, + "GoogleCloudDataplexV1Glossary": { + "description": "A Glossary represents a collection of categories and terms defined by the user. Glossary is a top level resource and is the GCP parent resource of all the categories and terms within it.", + "id": "GoogleCloudDataplexV1Glossary", + "properties": { + "categoryCount": { + "description": "Output only. The number of categories in the glossary.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "createTime": { + "description": "Output only. The time at which the glossary was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. The user-mutable description of the glossary.", + "type": "string" + }, + "displayName": { + "description": "Optional. User friendly display name of the glossary. This is user-mutable. This will be same as the glossaryId, if not specified.", + "type": "string" + }, + "etag": { + "description": "Optional. Needed for resource freshness validation. 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.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. User-defined labels for the Glossary.", + "type": "object" + }, + "name": { + "description": "Output only. Identifier. The resource name of the Glossary. Format: projects/{projectId}/locations/{locationId}/glossaries/{glossaryId}", + "readOnly": true, + "type": "string" + }, + "termCount": { + "description": "Output only. The number of terms in the glossary.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "uid": { + "description": "Output only. System generated unique id for the Glossary. This ID will be different if the Glossary is deleted and re-created with the same name.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time at which the glossary was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1GlossaryCategory": { + "description": "A GlossaryCategory represents a collection of categories and terms within a Glossary that are related to each other.", + "id": "GoogleCloudDataplexV1GlossaryCategory", + "properties": { + "createTime": { + "description": "Output only. The time at which the GlossaryCategory was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. The user-mutable description of the GlossaryCategory.", + "type": "string" + }, + "displayName": { + "description": "Optional. User friendly display name of the GlossaryCategory. This is user-mutable. This will be same as the categoryId, if not specified.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. User-defined labels for the GlossaryCategory.", + "type": "object" + }, + "name": { + "description": "Output only. Identifier. The resource name of the GlossaryCategory. Format: projects/{projectId}/locations/{locationId}/glossaries/{glossaryId}/categories/{categoryId}", + "readOnly": true, + "type": "string" + }, + "parent": { + "description": "Required. The immediate parent of the GlossaryCategory in the resource-hierarchy. It can either be a Glossary or a Category. Format: projects/{projectId}/locations/{locationId}/glossaries/{glossaryId} OR projects/{projectId}/locations/{locationId}/glossaries/{glossaryId}/categories/{categoryId}", + "type": "string" + }, + "uid": { + "description": "Output only. System generated unique id for the GlossaryCategory. This ID will be different if the GlossaryCategory is deleted and re-created with the same name.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time at which the GlossaryCategory was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1GlossaryTerm": { + "description": "GlossaryTerms are the core of glossary. A GlossaryTerm holds a rich text description that can be attached to entries or specific columns to enrich them.", + "id": "GoogleCloudDataplexV1GlossaryTerm", + "properties": { + "createTime": { + "description": "Output only. The time at which the GlossaryTerm was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. The user-mutable description of the GlossaryTerm.", + "type": "string" + }, + "displayName": { + "description": "Optional. User friendly display name of the GlossaryTerm. This is user-mutable. This will be same as the termId, if not specified.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. User-defined labels for the GlossaryTerm.", + "type": "object" + }, + "name": { + "description": "Output only. Identifier. The resource name of the GlossaryTerm. Format: projects/{projectId}/locations/{locationId}/glossaries/{glossaryId}/terms/{termId}", + "readOnly": true, + "type": "string" + }, + "parent": { + "description": "Required. The immediate parent of the GlossaryTerm in the resource-hierarchy. It can either be a Glossary or a Category. Format: projects/{projectId}/locations/{locationId}/glossaries/{glossaryId} OR projects/{projectId}/locations/{locationId}/glossaries/{glossaryId}/categories/{categoryId}", + "type": "string" + }, + "uid": { + "description": "Output only. System generated unique id for the GlossaryTerm. This ID will be different if the GlossaryTerm is deleted and re-created with the same name.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time at which the GlossaryTerm was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDataplexV1GovernanceEvent": { "description": "Payload associated with Governance related log events.", "id": "GoogleCloudDataplexV1GovernanceEvent", @@ -11043,6 +11859,81 @@ }, "type": "object" }, + "GoogleCloudDataplexV1ListGlossariesResponse": { + "description": "List Glossaries Response", + "id": "GoogleCloudDataplexV1ListGlossariesResponse", + "properties": { + "glossaries": { + "description": "Lists the glossaries in the specified parent.", + "items": { + "$ref": "GoogleCloudDataplexV1Glossary" + }, + "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" + }, + "unreachableLocations": { + "description": "Locations that the service couldn't reach.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1ListGlossaryCategoriesResponse": { + "description": "List GlossaryCategories Response", + "id": "GoogleCloudDataplexV1ListGlossaryCategoriesResponse", + "properties": { + "categories": { + "description": "Lists the glossaryCategories in the specified parent.", + "items": { + "$ref": "GoogleCloudDataplexV1GlossaryCategory" + }, + "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" + }, + "unreachableLocations": { + "description": "Locations that the service couldn't reach.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1ListGlossaryTermsResponse": { + "description": "List GlossaryTerms Response", + "id": "GoogleCloudDataplexV1ListGlossaryTermsResponse", + "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" + }, + "terms": { + "description": "Lists the terms in the specified parent.", + "items": { + "$ref": "GoogleCloudDataplexV1GlossaryTerm" + }, + "type": "array" + }, + "unreachableLocations": { + "description": "Locations that the service couldn't reach.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudDataplexV1ListJobsResponse": { "description": "List jobs response.", "id": "GoogleCloudDataplexV1ListJobsResponse", diff --git a/discovery/displayvideo-v2.json b/discovery/displayvideo-v2.json index 00551060db6..96b809e6326 100644 --- a/discovery/displayvideo-v2.json +++ b/discovery/displayvideo-v2.json @@ -260,7 +260,7 @@ "type": "string" }, "orderBy": { - "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` * `updateTime` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.", + "description": "Field by which to sort the list. Acceptable values are: * `advertiserId` (default) * `displayName` * `entityStatus` * `updateTime` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.", "location": "query", "type": "string" }, @@ -3798,7 +3798,7 @@ "type": "string" }, "targetingType": { - "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD`", + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_CONTENT_THEME_EXCLUSION`", "enum": [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", @@ -3955,7 +3955,7 @@ "type": "string" }, "targetingType": { - "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD`", + "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_CONTENT_THEME_EXCLUSION`", "enum": [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", @@ -8010,7 +8010,7 @@ } } }, - "revision": "20250424", + "revision": "20250501", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActivateManualTriggerRequest": { diff --git a/discovery/displayvideo-v3.json b/discovery/displayvideo-v3.json index a06a906efce..7d11117a335 100644 --- a/discovery/displayvideo-v3.json +++ b/discovery/displayvideo-v3.json @@ -260,7 +260,7 @@ "type": "string" }, "orderBy": { - "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` * `updateTime` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.", + "description": "Field by which to sort the list. Acceptable values are: * `advertiserId` (default) * `displayName` * `entityStatus` * `updateTime` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.", "location": "query", "type": "string" }, @@ -743,7 +743,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -911,7 +911,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -1376,7 +1376,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -1544,7 +1544,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -2560,7 +2560,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -2718,7 +2718,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -2873,7 +2873,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -3041,7 +3041,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -3665,7 +3665,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -3823,7 +3823,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -3978,7 +3978,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -4146,7 +4146,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -5025,7 +5025,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -5174,7 +5174,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -5217,7 +5217,7 @@ "type": "string" }, "targetingType": { - "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD`", + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_CONTENT_THEME_EXCLUSION`", "enum": [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", @@ -5320,7 +5320,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -5376,7 +5376,7 @@ "type": "string" }, "targetingType": { - "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD`", + "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_CONTENT_THEME_EXCLUSION`", "enum": [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", @@ -5479,7 +5479,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -8123,7 +8123,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -8272,7 +8272,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -8418,7 +8418,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -8577,7 +8577,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -8784,7 +8784,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -8940,7 +8940,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -9069,7 +9069,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -9268,7 +9268,7 @@ } } }, - "revision": "20250424", + "revision": "20250501", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActiveViewVideoViewabilityMetricConfig": { @@ -10216,7 +10216,7 @@ "id": "AlgorithmRules", "properties": { "attributionModelId": { - "description": "Attribution model for the algorithm.", + "description": "Attribution model for the algorithm. This field is only supported for allowlisted partners.", "format": "int64", "type": "string" }, @@ -10226,7 +10226,7 @@ }, "postImpressionSignalRuleset": { "$ref": "AlgorithmRulesRuleset", - "description": "Rules for the post-impression signals." + "description": "Rules for the post-impression signals. This field is only supported for allowlisted partners." } }, "type": "object" @@ -10498,7 +10498,7 @@ "type": "string" }, "videoPlayerSizeValue": { - "description": "Video player size value.", + "description": "Video player size value. This field is only supported for allowlisted partners.", "enum": [ "VIDEO_PLAYER_SIZE_UNSPECIFIED", "VIDEO_PLAYER_SIZE_SMALL", @@ -10640,7 +10640,7 @@ "id": "AlgorithmRulesSignal", "properties": { "activeViewSignal": { - "description": "Signal based on active views.", + "description": "Signal based on active views. This field is only supported for allowlisted partners.", "enum": [ "ACTIVE_VIEW_SIGNAL_UNSPECIFIED", "ACTIVE_VIEW_VIEWED", @@ -10662,7 +10662,7 @@ "type": "string" }, "clickSignal": { - "description": "Signal based on clicks.", + "description": "Signal based on clicks. This field is only supported for allowlisted partners.", "enum": [ "CLICK_SIGNAL_UNSPECIFIED", "CLICK" @@ -10748,7 +10748,7 @@ "id": "AlgorithmRulesSignalValue", "properties": { "activeViewSignal": { - "description": "Signal based on active views. Only `TIME_ON_SCREEN` is supported.", + "description": "Signal based on active views. Only `TIME_ON_SCREEN` is supported. This field is only supported for allowlisted partners.", "enum": [ "ACTIVE_VIEW_SIGNAL_UNSPECIFIED", "ACTIVE_VIEW_VIEWED", @@ -10771,7 +10771,7 @@ }, "floodlightActivityConversionSignal": { "$ref": "AlgorithmRulesFloodlightActivityConversionSignal", - "description": "Signal based on floodlight conversion events." + "description": "Signal based on floodlight conversion events. This field is only supported for allowlisted partners." }, "number": { "description": "Value to use as result.", @@ -11298,7 +11298,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "readOnly": true, "type": "string" @@ -13200,7 +13200,7 @@ "CONTENT_THEME_UNPLEASANT_NEWS" ], "enumDescriptions": [ - "This enum is only a placeholder and doesn't specify a DV360 content theme.", + "Content theme is not specified or is unknown in this version.", "Fighting video games.", "Mature games.", "Not yet determined health sources.", @@ -13229,7 +13229,7 @@ "CONTENT_THEME_UNPLEASANT_NEWS" ], "enumDescriptions": [ - "This enum is only a placeholder and doesn't specify a DV360 content theme.", + "Content theme is not specified or is unknown in this version.", "Fighting video games.", "Mature games.", "Not yet determined health sources.", @@ -13268,7 +13268,7 @@ "CONTENT_THEME_UNPLEASANT_NEWS" ], "enumDescriptions": [ - "This enum is only a placeholder and doesn't specify a DV360 content theme.", + "Content theme is not specified or is unknown in this version.", "Fighting video games.", "Mature games.", "Not yet determined health sources.", @@ -13456,7 +13456,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "type": "string" } @@ -14612,7 +14612,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "type": "string" } @@ -22074,7 +22074,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "readOnly": true, "type": "string" diff --git a/discovery/displayvideo-v4.json b/discovery/displayvideo-v4.json index e76c5ab2fdf..16a1a1007e1 100644 --- a/discovery/displayvideo-v4.json +++ b/discovery/displayvideo-v4.json @@ -260,7 +260,7 @@ "type": "string" }, "orderBy": { - "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` * `updateTime` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.", + "description": "Field by which to sort the list. Acceptable values are: * `advertiserId` (default) * `displayName` * `entityStatus` * `updateTime` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.", "location": "query", "type": "string" }, @@ -743,7 +743,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -911,7 +911,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -2582,7 +2582,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -2740,7 +2740,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -2895,7 +2895,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -3063,7 +3063,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -3942,7 +3942,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -4091,7 +4091,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -4134,7 +4134,7 @@ "type": "string" }, "targetingType": { - "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD`", + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_CONTENT_THEME_EXCLUSION`", "enum": [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", @@ -4237,7 +4237,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -4293,7 +4293,7 @@ "type": "string" }, "targetingType": { - "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD`", + "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_CONTENT_THEME_EXCLUSION`", "enum": [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", @@ -4396,7 +4396,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -7040,7 +7040,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -7189,7 +7189,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -7335,7 +7335,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -7494,7 +7494,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -7735,7 +7735,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -7891,7 +7891,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -8020,7 +8020,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "location": "path", "pattern": "^[^/]+$", @@ -8219,7 +8219,7 @@ } } }, - "revision": "20250424", + "revision": "20250501", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActiveViewVideoViewabilityMetricConfig": { @@ -9167,7 +9167,7 @@ "id": "AlgorithmRules", "properties": { "attributionModelId": { - "description": "Attribution model for the algorithm.", + "description": "Attribution model for the algorithm. This field is only supported for allowlisted partners.", "format": "int64", "type": "string" }, @@ -9177,7 +9177,7 @@ }, "postImpressionSignalRuleset": { "$ref": "AlgorithmRulesRuleset", - "description": "Rules for the post-impression signals." + "description": "Rules for the post-impression signals. This field is only supported for allowlisted partners." } }, "type": "object" @@ -9449,7 +9449,7 @@ "type": "string" }, "videoPlayerSizeValue": { - "description": "Video player size value.", + "description": "Video player size value. This field is only supported for allowlisted partners.", "enum": [ "VIDEO_PLAYER_SIZE_UNSPECIFIED", "VIDEO_PLAYER_SIZE_SMALL", @@ -9591,7 +9591,7 @@ "id": "AlgorithmRulesSignal", "properties": { "activeViewSignal": { - "description": "Signal based on active views.", + "description": "Signal based on active views. This field is only supported for allowlisted partners.", "enum": [ "ACTIVE_VIEW_SIGNAL_UNSPECIFIED", "ACTIVE_VIEW_VIEWED", @@ -9613,7 +9613,7 @@ "type": "string" }, "clickSignal": { - "description": "Signal based on clicks.", + "description": "Signal based on clicks. This field is only supported for allowlisted partners.", "enum": [ "CLICK_SIGNAL_UNSPECIFIED", "CLICK" @@ -9699,7 +9699,7 @@ "id": "AlgorithmRulesSignalValue", "properties": { "activeViewSignal": { - "description": "Signal based on active views. Only `TIME_ON_SCREEN` is supported.", + "description": "Signal based on active views. Only `TIME_ON_SCREEN` is supported. This field is only supported for allowlisted partners.", "enum": [ "ACTIVE_VIEW_SIGNAL_UNSPECIFIED", "ACTIVE_VIEW_VIEWED", @@ -9722,7 +9722,7 @@ }, "floodlightActivityConversionSignal": { "$ref": "AlgorithmRulesFloodlightActivityConversionSignal", - "description": "Signal based on floodlight conversion events." + "description": "Signal based on floodlight conversion events. This field is only supported for allowlisted partners." }, "number": { "description": "Value to use as result.", @@ -10249,7 +10249,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "readOnly": true, "type": "string" @@ -12117,7 +12117,7 @@ "CONTENT_THEME_UNPLEASANT_NEWS" ], "enumDescriptions": [ - "This enum is only a placeholder and doesn't specify a DV360 content theme.", + "Content theme is not specified or is unknown in this version.", "Fighting video games.", "Mature games.", "Not yet determined health sources.", @@ -12146,7 +12146,7 @@ "CONTENT_THEME_UNPLEASANT_NEWS" ], "enumDescriptions": [ - "This enum is only a placeholder and doesn't specify a DV360 content theme.", + "Content theme is not specified or is unknown in this version.", "Fighting video games.", "Mature games.", "Not yet determined health sources.", @@ -12185,7 +12185,7 @@ "CONTENT_THEME_UNPLEASANT_NEWS" ], "enumDescriptions": [ - "This enum is only a placeholder and doesn't specify a DV360 content theme.", + "Content theme is not specified or is unknown in this version.", "Fighting video games.", "Mature games.", "Not yet determined health sources.", @@ -12373,7 +12373,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "type": "string" } @@ -13518,7 +13518,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "type": "string" } @@ -20885,7 +20885,7 @@ "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API.", - "Filter website content by content themes (for example, religion)." + "Filter website content by content themes (for example, religion). Only supported for Advertiser resources. Targeting of this type cannot be created or updated using the API. This targeting is only inherited by child YouTube and Demand Gen line item resources." ], "readOnly": true, "type": "string" diff --git a/discovery/doubleclicksearch-v2.json b/discovery/doubleclicksearch-v2.json index 77278472639..34061f4c0cc 100644 --- a/discovery/doubleclicksearch-v2.json +++ b/discovery/doubleclicksearch-v2.json @@ -543,7 +543,7 @@ } } }, - "revision": "20240124", + "revision": "20250430", "rootUrl": "https://doubleclicksearch.googleapis.com/", "schemas": { "Availability": { @@ -606,7 +606,7 @@ "type": "object" }, "Conversion": { - "description": "A conversion containing data relevant to DoubleClick Search.", + "description": "A conversion containing data relevant to DoubleClick Search. Common DS3 API conversion fields: Id Range [1 - 2800]. Next Id to use: 33", "id": "Conversion", "properties": { "adGroupId": { diff --git a/discovery/index.json b/discovery/index.json index 95213cbf9bf..e980eb610e3 100644 --- a/discovery/index.json +++ b/discovery/index.json @@ -3006,7 +3006,7 @@ "version": "v1alpha1" }, { - "description": "FCM send API that provides a cross-platform messaging solution to reliably deliver messages at no cost.", + "description": "FCM send API that provides a cross-platform messaging solution to reliably deliver messages.", "discoveryRestUrl": "https://fcm.googleapis.com/$discovery/rest?version=v1", "documentationLink": "https://firebase.google.com/docs/cloud-messaging", "icons": { diff --git a/discovery/integrations-v1.json b/discovery/integrations-v1.json index 3e188796a27..aef0956e7a0 100644 --- a/discovery/integrations-v1.json +++ b/discovery/integrations-v1.json @@ -887,6 +887,242 @@ } } }, + "collections": { + "resources": { + "engines": { + "resources": { + "assistants": { + "resources": { + "agentFlows": { + "methods": { + "create": { + "description": "Request to create a new AgentFlow with user-provided flow configuration.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agentFlows", + "httpMethod": "POST", + "id": "integrations.projects.locations.collections.engines.assistants.agentFlows.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Parent resource name where this AgentFlow will be created.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/assistants/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/agentFlows", + "request": { + "$ref": "GoogleCloudIntegrationsV1alphaAgentFlow" + }, + "response": { + "$ref": "GoogleCloudIntegrationsV1alphaAgentFlow" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an existing AgentFlow.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agentFlows/{agentFlowsId}", + "httpMethod": "DELETE", + "id": "integrations.projects.locations.collections.engines.assistants.agentFlows.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the AgentFlow to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/assistants/[^/]+/agentFlows/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "generate": { + "description": "Uses Natural Language (NL) to generate an AgentFlow configuration and create a new AgentFlow.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agentFlows:generate", + "httpMethod": "POST", + "id": "integrations.projects.locations.collections.engines.assistants.agentFlows.generate", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Parent resource name where this AgentFlow will be created.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/assistants/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/agentFlows:generate", + "request": { + "$ref": "GoogleCloudIntegrationsV1alphaGenerateAgentFlowRequest" + }, + "response": { + "$ref": "GoogleCloudIntegrationsV1alphaGenerateAgentFlowResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "generateAndUpdate": { + "description": "Uses Natural Language (NL) to generate an AgentFlow configuration and update an existing AgentFlow.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agentFlows/{agentFlowsId}:generateAndUpdate", + "httpMethod": "POST", + "id": "integrations.projects.locations.collections.engines.assistants.agentFlows.generateAndUpdate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the AgentFlow to update.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/assistants/[^/]+/agentFlows/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:generateAndUpdate", + "request": { + "$ref": "GoogleCloudIntegrationsV1alphaGenerateAndUpdateAgentFlowRequest" + }, + "response": { + "$ref": "GoogleCloudIntegrationsV1alphaGenerateAndUpdateAgentFlowResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets an existing AgentFlow.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agentFlows/{agentFlowsId}", + "httpMethod": "GET", + "id": "integrations.projects.locations.collections.engines.assistants.agentFlows.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the AgentFlow to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/assistants/[^/]+/agentFlows/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudIntegrationsV1alphaAgentFlow" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all AgentFlows.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agentFlows", + "httpMethod": "GET", + "id": "integrations.projects.locations.collections.engines.assistants.agentFlows.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Standard filter field. Filtering as supported in https://developers.google.com/authorized-buyers/apis/guides/list-filters.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. The results would be returned in order specified here. Currently supported sort keys are: Descending sort order for \"create_time\", \"update_time\". Ascending sort order for \"agent_flow_id\", \"display_name\".", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of AgentFlows to return. The service may return fewer than this value. If unspecified, at most 100 AgentFlows will be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListAgentFlows` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAgentFlows` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource where this AgentFlow was created.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/assistants/[^/]+$", + "required": true, + "type": "string" + }, + "readMask": { + "description": "Optional. The mask which specifies fields that need to be returned in the AgentFlow's response.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/agentFlows", + "response": { + "$ref": "GoogleCloudIntegrationsV1alphaListAgentFlowsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing AgentFlow.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/assistants/{assistantsId}/agentFlows/{agentFlowsId}", + "httpMethod": "PATCH", + "id": "integrations.projects.locations.collections.engines.assistants.agentFlows.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the agent flow.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/assistants/[^/]+/agentFlows/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask specifying the fields in the above AgentFlow that have been modified and need to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudIntegrationsV1alphaAgentFlow" + }, + "response": { + "$ref": "GoogleCloudIntegrationsV1alphaAgentFlow" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + }, "connections": { "methods": { "getConnectionSchemaMetadata": { @@ -4574,7 +4810,7 @@ } } }, - "revision": "20250423", + "revision": "20250427", "rootUrl": "https://integrations.googleapis.com/", "schemas": { "CrmlogErrorCode": { @@ -10353,6 +10589,50 @@ }, "type": "object" }, + "GoogleCloudIntegrationsV1alphaAgentFlow": { + "description": "AgentFlow configurations.", + "id": "GoogleCloudIntegrationsV1alphaAgentFlow", + "properties": { + "createTime": { + "description": "Output only. The timestamp when the agent flow was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "creator": { + "description": "Output only. The user who created the agent flow.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the agent flow.", + "type": "string" + }, + "displayName": { + "description": "Optional. Display name of the agent flow.", + "type": "string" + }, + "flowConfig": { + "description": "Required. The flow configuration, represented as a string.", + "type": "string" + }, + "name": { + "description": "Required. Resource name of the agent flow.", + "type": "string" + }, + "noCodeAgent": { + "description": "Optional. Name of the NoCodeAgent.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the agent flow was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudIntegrationsV1alphaApiTriggerResource": { "description": "List of API triggerID and their workflow resource name.", "id": "GoogleCloudIntegrationsV1alphaApiTriggerResource", @@ -11792,6 +12072,68 @@ }, "type": "object" }, + "GoogleCloudIntegrationsV1alphaGenerateAgentFlowRequest": { + "description": "Request message for GenerateAgentFlow.", + "id": "GoogleCloudIntegrationsV1alphaGenerateAgentFlowRequest", + "properties": { + "creator": { + "description": "Optional. The creator id;", + "type": "string" + }, + "description": { + "description": "Optional. The description of the AgentFlow to be generated.", + "type": "string" + }, + "displayName": { + "description": "Optional. The display name of the AgentFlow to be generated.", + "type": "string" + }, + "intent": { + "description": "Required. The intent, described in natural language, for the AgentFlow to generate.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudIntegrationsV1alphaGenerateAgentFlowResponse": { + "description": "Response message for GenerateAgentFlow.", + "id": "GoogleCloudIntegrationsV1alphaGenerateAgentFlowResponse", + "properties": { + "agentFlow": { + "$ref": "GoogleCloudIntegrationsV1alphaAgentFlow", + "description": "Output only. AgentFlow that gets generated.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleCloudIntegrationsV1alphaGenerateAndUpdateAgentFlowRequest": { + "description": "Request message for GenerateAndUpdateAgentFlow.", + "id": "GoogleCloudIntegrationsV1alphaGenerateAndUpdateAgentFlowRequest", + "properties": { + "intent": { + "description": "Required. The intent, described in natural language, for the AgentFlow to update.", + "type": "string" + }, + "updater": { + "description": "Optional. The updater id;", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudIntegrationsV1alphaGenerateAndUpdateAgentFlowResponse": { + "description": "Response message for GenerateAndUpdateAgentFlow.", + "id": "GoogleCloudIntegrationsV1alphaGenerateAndUpdateAgentFlowResponse", + "properties": { + "agentFlow": { + "$ref": "GoogleCloudIntegrationsV1alphaAgentFlow", + "description": "Output only. AgentFlow that gets updated.", + "readOnly": true + } + }, + "type": "object" + }, "GoogleCloudIntegrationsV1alphaGenerateOpenApiSpecRequest": { "description": "Request for GenerateOpenApiSpec.", "id": "GoogleCloudIntegrationsV1alphaGenerateOpenApiSpecRequest", @@ -12470,6 +12812,26 @@ }, "type": "object" }, + "GoogleCloudIntegrationsV1alphaListAgentFlowsResponse": { + "description": "Response for ListAgentFlows.", + "id": "GoogleCloudIntegrationsV1alphaListAgentFlowsResponse", + "properties": { + "agentFlows": { + "description": "Output only. The AgentFlows from the specified collection.", + "items": { + "$ref": "GoogleCloudIntegrationsV1alphaAgentFlow" + }, + "readOnly": true, + "type": "array" + }, + "nextPageToken": { + "description": "Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudIntegrationsV1alphaListAuthConfigsResponse": { "description": "Response to list AuthConfigs.", "id": "GoogleCloudIntegrationsV1alphaListAuthConfigsResponse", diff --git a/discovery/merchantapi-accounts_v1beta.json b/discovery/merchantapi-accounts_v1beta.json index 739aebd27b3..34d38e032c8 100644 --- a/discovery/merchantapi-accounts_v1beta.json +++ b/discovery/merchantapi-accounts_v1beta.json @@ -233,7 +233,7 @@ "type": "string" }, "provider": { - "description": "Required. The aggregation service provider. Format: `accounts/{providerId}`", + "description": "Required. The aggregation service provider. Format: `accounts/{accountId}`", "location": "path", "pattern": "^accounts/[^/]+$", "required": true, @@ -1728,7 +1728,7 @@ } } }, - "revision": "20250427", + "revision": "20250430", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "AcceptTermsOfServiceResponse": { @@ -3051,11 +3051,11 @@ "id": "OnlineReturnPolicy", "properties": { "acceptDefectiveOnly": { - "description": "This field specifies if merchant only accepts defective products for returns, and this field is required.", + "description": "Optional. This field specifies if merchant only accepts defective products for returns.", "type": "boolean" }, "acceptExchange": { - "description": "This field specifies if merchant allows customers to exchange products, this field is required.", + "description": "Optional. This field specifies if merchant allows customers to exchange products.", "type": "boolean" }, "countries": { @@ -3095,7 +3095,7 @@ "description": "Optional. The return policy." }, "processRefundDays": { - "description": "The field specifies the number of days it takes for merchants to process refunds, field is optional.", + "description": "Optional. The field specifies the number of days it takes for merchants to process refunds.", "format": "int32", "type": "integer" }, @@ -3104,7 +3104,7 @@ "description": "Optional. The restocking fee that applies to all return reason categories. This would be treated as a free restocking fee if the value is not set." }, "returnLabelSource": { - "description": "The field specifies the return label source. This field is required when return method is BY_MAIL.", + "description": "Optional. The field specifies the return label source.", "enum": [ "RETURN_LABEL_SOURCE_UNSPECIFIED", "DOWNLOAD_AND_PRINT", diff --git a/discovery/merchantapi-datasources_v1beta.json b/discovery/merchantapi-datasources_v1beta.json index ddf21cc66c9..cd4039ae9d5 100644 --- a/discovery/merchantapi-datasources_v1beta.json +++ b/discovery/merchantapi-datasources_v1beta.json @@ -261,7 +261,7 @@ ], "parameters": { "name": { - "description": "Identifier. The name of the data source. Format: `accounts/{account}/dataSources/{datasource}`", + "description": "Required. Identifier. The name of the data source. Format: `accounts/{account}/dataSources/{datasource}`", "location": "path", "pattern": "^accounts/[^/]+/dataSources/[^/]+$", "required": true, @@ -321,7 +321,7 @@ } } }, - "revision": "20250427", + "revision": "20250430", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "DataSource": { @@ -370,7 +370,7 @@ "description": "The [merchant review](https://support.google.com/merchants/answer/7045996) data source." }, "name": { - "description": "Identifier. The name of the data source. Format: `accounts/{account}/dataSources/{datasource}`", + "description": "Required. Identifier. The name of the data source. Format: `accounts/{account}/dataSources/{datasource}`", "type": "string" }, "primaryProductDataSource": { diff --git a/discovery/merchantapi-lfp_v1beta.json b/discovery/merchantapi-lfp_v1beta.json index accab92a78f..498dc9c1bc7 100644 --- a/discovery/merchantapi-lfp_v1beta.json +++ b/discovery/merchantapi-lfp_v1beta.json @@ -327,7 +327,7 @@ } } }, - "revision": "20250401", + "revision": "20250430", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "CountrySettings": { @@ -530,7 +530,7 @@ }, "inventoryStats": { "$ref": "InventoryStats", - "description": "The inventory statistics for the merchant." + "description": "The inventory statistics for the merchant. The field will be absent if the merchant has no inventory submitted through LFP." }, "linkedGbps": { "description": "Number of [GBPs](https://www.google.com/business/) this merchant has access to.", @@ -542,7 +542,7 @@ "type": "string" }, "storeStates": { - "description": "Output only. The state per store from the specified merchant.", + "description": "Output only. The state per store from the specified merchant. The field will be absent if the merchant has no stores submitted through LFP.", "items": { "$ref": "LfpStoreState" }, diff --git a/discovery/merchantapi-reports_v1beta.json b/discovery/merchantapi-reports_v1beta.json index afe45510417..2ef8da84da7 100644 --- a/discovery/merchantapi-reports_v1beta.json +++ b/discovery/merchantapi-reports_v1beta.json @@ -142,7 +142,7 @@ } } }, - "revision": "20250311", + "revision": "20250430", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "BestSellersBrandView": { @@ -1518,7 +1518,7 @@ "type": "string" }, "query": { - "description": "Required. Query that defines a report to be retrieved. For details on how to construct your query, see the Query Language guide. For the full list of available tables and fields, see the Available fields.", + "description": "Required. Query that defines a report to be retrieved. For details on how to construct your query, see the [Query Language guide](/merchant/api/guides/reports/query-language). For the full list of available tables and fields, see the [Available fields](/merchant/api/reference/rest/reports_v1beta/accounts.reports).", "type": "string" } }, diff --git a/discovery/monitoring-v1.json b/discovery/monitoring-v1.json index 16543322f0e..17ed33179ef 100644 --- a/discovery/monitoring-v1.json +++ b/discovery/monitoring-v1.json @@ -753,7 +753,7 @@ } } }, - "revision": "20250329", + "revision": "20250424", "rootUrl": "https://monitoring.googleapis.com/", "schemas": { "Aggregation": { @@ -1808,6 +1808,11 @@ "readOnly": true, "type": "string" }, + "isTombstoned": { + "description": "Output only. Set if the project has been tombstoned by the user.", + "readOnly": true, + "type": "boolean" + }, "name": { "description": "Immutable. The resource name of the MonitoredProject. On input, the resource name includes the scoping project ID and monitored project ID. On output, it contains the equivalent project numbers. Example: locations/global/metricsScopes/{SCOPING_PROJECT_ID_OR_NUMBER}/projects/{MONITORED_PROJECT_ID_OR_NUMBER}", "type": "string" @@ -2923,7 +2928,7 @@ "properties": { "templateVariableCondition": { "$ref": "TemplateVariableCondition", - "description": "A condition whose evaluation is based on the value of a template variable." + "description": "A condition whose evaluation is based on the value of a template1 variable." } }, "type": "object" diff --git a/discovery/networkmanagement-v1.json b/discovery/networkmanagement-v1.json index 92d2f01db18..99b976e7fbc 100644 --- a/discovery/networkmanagement-v1.json +++ b/discovery/networkmanagement-v1.json @@ -764,7 +764,7 @@ } } }, - "revision": "20250416", + "revision": "20250423", "rootUrl": "https://networkmanagement.googleapis.com/", "schemas": { "AbortInfo": { @@ -1394,7 +1394,8 @@ "PSC_PORT_MAPPING_WITHOUT_PSC_CONNECTION_UNSUPPORTED", "UNSUPPORTED_ROUTE_MATCHED_FOR_NAT64_DESTINATION", "TRAFFIC_FROM_HYBRID_ENDPOINT_TO_INTERNET_DISALLOWED", - "NO_MATCHING_NAT64_GATEWAY" + "NO_MATCHING_NAT64_GATEWAY", + "LOAD_BALANCER_BACKEND_IP_VERSION_MISMATCH" ], "enumDescriptions": [ "Cause is unspecified.", @@ -1486,7 +1487,8 @@ "Sending packets directly to the PSC port mapping service without going through the PSC connection is not supported.", "Packet with destination IP address within the reserved NAT64 range is dropped due to matching a route of an unsupported type.", "Packet could be dropped because hybrid endpoint like a VPN gateway or Interconnect is not allowed to send traffic to the Internet.", - "Packet with destination IP address within the reserved NAT64 range is dropped due to no matching NAT gateway in the subnet." + "Packet with destination IP address within the reserved NAT64 range is dropped due to no matching NAT gateway in the subnet.", + "Packet is dropped due to being sent to a backend of a passthrough load balancer that doesn't use the same IP version as the frontend." ], "type": "string" }, diff --git a/discovery/networkservices-v1beta1.json b/discovery/networkservices-v1beta1.json index a7ed95b1a7a..8fd9f1902e8 100644 --- a/discovery/networkservices-v1beta1.json +++ b/discovery/networkservices-v1beta1.json @@ -2879,7 +2879,7 @@ } } }, - "revision": "20250410", + "revision": "20250423", "rootUrl": "https://networkservices.googleapis.com/", "schemas": { "AuthzExtension": { @@ -3180,7 +3180,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. This field is not supported for plugin extensions. Setting it results in a validation error.", + "description": "Optional. Specifies the timeout for each individual message on the stream. The timeout must be between `10`-`10000` 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" } @@ -5245,6 +5245,10 @@ "$ref": "ServiceLbPolicyFailoverConfig", "description": "Optional. Configuration related to health based failover." }, + "isolationConfig": { + "$ref": "ServiceLbPolicyIsolationConfig", + "description": "Optional. Configuration to provide isolation support for the associated Backend Service." + }, "labels": { "additionalProperties": { "type": "string" @@ -5306,6 +5310,39 @@ }, "type": "object" }, + "ServiceLbPolicyIsolationConfig": { + "description": "Configuration to provide isolation support for the associated Backend Service.", + "id": "ServiceLbPolicyIsolationConfig", + "properties": { + "isolationGranularity": { + "description": "Optional. The isolation granularity of the load balancer.", + "enum": [ + "ISOLATION_GRANULARITY_UNSPECIFIED", + "REGION" + ], + "enumDescriptions": [ + "No isolation is configured for the backend service. Traffic can overflow based on the load balancing algorithm.", + "Traffic for this service will be isolated at the cloud region level." + ], + "type": "string" + }, + "isolationMode": { + "description": "Optional. The isolation mode of the load balancer.", + "enum": [ + "ISOLATION_MODE_UNSPECIFIED", + "NEAREST", + "STRICT" + ], + "enumDescriptions": [ + "No isolation mode is configured for the backend service.", + "Traffic will be sent to the nearest region.", + "Traffic will fail if no serving backends are available in the same region as the load balancer." + ], + "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", diff --git a/discovery/oracledatabase-v1.json b/discovery/oracledatabase-v1.json index ea8344cef68..c978220e5cf 100644 --- a/discovery/oracledatabase-v1.json +++ b/discovery/oracledatabase-v1.json @@ -555,7 +555,7 @@ ] }, "switchover": { - "description": "Initiates a switchover of specified autonomous deatabase to the associated peer database.", + "description": "Initiates a switchover of specified autonomous database to the associated peer database.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/autonomousDatabases/{autonomousDatabasesId}:switchover", "httpMethod": "POST", "id": "oracledatabase.projects.locations.autonomousDatabases.switchover", @@ -1237,7 +1237,7 @@ } } }, - "revision": "20250416", + "revision": "20250428", "rootUrl": "https://oracledatabase.googleapis.com/", "schemas": { "AllConnectionStrings": { @@ -3951,7 +3951,7 @@ "type": "object" }, "SwitchoverAutonomousDatabaseRequest": { - "description": "The request for `AutonomousDatabase.Switchover`.", + "description": "The request for `OracleDatabase.SwitchoverAutonomousDatabase`.", "id": "SwitchoverAutonomousDatabaseRequest", "properties": { "peerAutonomousDatabase": { diff --git a/discovery/recaptchaenterprise-v1.json b/discovery/recaptchaenterprise-v1.json index 4e67265b689..a5d65f6547d 100644 --- a/discovery/recaptchaenterprise-v1.json +++ b/discovery/recaptchaenterprise-v1.json @@ -786,7 +786,7 @@ } } }, - "revision": "20250209", + "revision": "20250427", "rootUrl": "https://recaptchaenterprise.googleapis.com/", "schemas": { "GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment": { @@ -1098,6 +1098,33 @@ }, "type": "object" }, + "GoogleCloudRecaptchaenterpriseV1Bot": { + "description": "Bot information and metadata.", + "id": "GoogleCloudRecaptchaenterpriseV1Bot", + "properties": { + "botType": { + "description": "Optional. Enumerated field representing the type of bot.", + "enum": [ + "BOT_TYPE_UNSPECIFIED", + "AI_AGENT", + "CONTENT_SCRAPER", + "SEARCH_INDEXER" + ], + "enumDescriptions": [ + "Default unspecified type.", + "Software program that interacts with a site and performs tasks autonomously.", + "Software that extracts specific data from sites for use.", + "Software that crawls sites and stores content for the purpose of efficient retrieval, likely as part of a search engine." + ], + "type": "string" + }, + "name": { + "description": "Optional. Enumerated string value that indicates the identity of the bot, formatted in kebab-case.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRecaptchaenterpriseV1ChallengeMetrics": { "description": "Metrics related to challenges.", "id": "GoogleCloudRecaptchaenterpriseV1ChallengeMetrics", @@ -1916,6 +1943,14 @@ "format": "float", "readOnly": true, "type": "number" + }, + "verifiedBots": { + "description": "Output only. Bots with identities that have been verified by reCAPTCHA and detected in the event.", + "items": { + "$ref": "GoogleCloudRecaptchaenterpriseV1Bot" + }, + "readOnly": true, + "type": "array" } }, "type": "object" diff --git a/discovery/sqladmin-v1.json b/discovery/sqladmin-v1.json index 89fd1259253..007136cd836 100644 --- a/discovery/sqladmin-v1.json +++ b/discovery/sqladmin-v1.json @@ -234,7 +234,7 @@ ] }, "UpdateBackup": { - "description": "Updates the retention period and description of the backup. You can use this API to update final backups only.", + "description": "This API updates the following: 1- retention period and description of backup in case of final backups only. 2- gcbdr_soft_delete_status of backup in case of GCBDR managed backups only.", "flatPath": "v1/projects/{projectsId}/backups/{backupsId}", "httpMethod": "PATCH", "id": "sql.Backups.UpdateBackup", @@ -250,7 +250,7 @@ "type": "string" }, "updateMask": { - "description": "The list of fields that you can update. You can update only the description and retention period of the final backup.", + "description": "The list of fields that you can update. 1- You can update only the description and retention period for a final backup. 2- You can update only the gcbdr_soft_delete_status for GCBDR managed backup.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1381,6 +1381,35 @@ "https://www.googleapis.com/auth/sqlservice.admin" ] }, + "pointInTimeRestore": { + "description": "Point in time restore for an instance managed by Google Cloud Backup and Disaster Recovery.", + "flatPath": "v1/projects/{projectsId}:pointInTimeRestore", + "httpMethod": "POST", + "id": "sql.instances.pointInTimeRestore", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource where you created this instance. Format: projects/{project}", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}:pointInTimeRestore", + "request": { + "$ref": "PointInTimeRestoreContext" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/sqlservice.admin" + ] + }, "promoteReplica": { "description": "Promotes the read replica instance to be an independent Cloud SQL primary instance. Using this operation might cause your instance to restart.", "flatPath": "v1/projects/{project}/instances/{instance}/promoteReplica", @@ -2565,7 +2594,7 @@ } } }, - "revision": "20250412", + "revision": "20250427", "rootUrl": "https://sqladmin.googleapis.com/", "schemas": { "AclEntry": { @@ -2681,7 +2710,7 @@ "type": "object" }, "Backup": { - "description": "A backup resource.", + "description": "A backup resource. Next ID: 30", "id": "Backup", "properties": { "backupInterval": { @@ -2990,6 +3019,29 @@ "$ref": "BackupRetentionSettings", "description": "Backup retention settings." }, + "backupTier": { + "description": "Output only. Backup tier that manages the backups for the instance.", + "enum": [ + "BACKUP_TIER_UNSPECIFIED", + "STANDARD", + "ADVANCED", + "ENHANCED" + ], + "enumDeprecated": [ + false, + false, + true, + false + ], + "enumDescriptions": [ + "Unspecified.", + "Instance is managed by Cloud SQL.", + "Deprecated: ADVANCED is deprecated. Please use ENHANCED instead.", + "Instance is managed by Google Cloud Backup and DR Service." + ], + "readOnly": true, + "type": "string" + }, "binaryLogEnabled": { "description": "(MySQL only) Whether binary log is enabled. If backup configuration is disabled, binarylog must be disabled as well.", "type": "boolean" @@ -5521,6 +5573,10 @@ "description": "The name of the backup that's used to restore a Cloud SQL instance: Format: projects/{project-id}/backups/{backup-uid}. Only one of restore_backup_context, backup, backupdr_backup can be passed to the input.", "type": "string" }, + "backupdrBackup": { + "description": "The name of the backup that's used to restore a Cloud SQL instance: Format: \"projects/{project-id}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource}/backups/{backup-uid}\". Only one of restore_backup_context, backup, backupdr_backup can be passed to the input.", + "type": "string" + }, "restoreBackupContext": { "$ref": "RestoreBackupContext", "description": "Parameters required to perform the restore backup operation." @@ -6016,7 +6072,8 @@ "MANAGE_BACKUP", "ENHANCED_BACKUP", "REPAIR_READ_POOL", - "CREATE_READ_POOL" + "CREATE_READ_POOL", + "PRE_CHECK_MAJOR_VERSION_UPGRADE" ], "enumDeprecated": [ false, @@ -6070,6 +6127,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -6124,7 +6182,8 @@ "Changes the BackupTier of a Cloud SQL instance.", "Creates a backup for an Enhanced BackupTier Cloud SQL instance.", "Repairs entire read pool or specified read pool nodes in the read pool.", - "Creates a Cloud SQL read pool instance." + "Creates a Cloud SQL read pool instance.", + "Pre-checks the major version upgrade operation." ], "type": "string" }, @@ -6353,6 +6412,42 @@ }, "type": "object" }, + "PointInTimeRestoreContext": { + "description": "The context to perform a point-in-time recovery of an instance managed by Google Cloud Backup and Disaster Recovery.", + "id": "PointInTimeRestoreContext", + "properties": { + "allocatedIpRange": { + "description": "Optional. The name of the allocated IP range for the internal IP Cloud SQL instance. For example: \"google-managed-services-default\". If you set this, then Cloud SQL creates the IP address for the cloned instance in the allocated range. This range must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035) standards. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?. Reserved for future use. http://go/speckle-subnet-picker-clone", + "type": "string" + }, + "datasource": { + "description": "The Google Cloud Backup and Disaster Recovery Datasource URI. Format: projects/{project}/locations/{region}/backupVaults/{backupvault}/dataSources/{datasource}.", + "type": "string" + }, + "pointInTime": { + "description": "Required. The date and time to which you want to restore the instance.", + "format": "google-datetime", + "type": "string" + }, + "preferredSecondaryZone": { + "description": "Optional. Point-in-time recovery of a regional instance in the specified zones. If not specified, clone to the same secondary zone as the source instance. This value cannot be the same as the preferred_zone field.", + "type": "string" + }, + "preferredZone": { + "description": "Optional. Point-in-time recovery of an instance to the specified zone. If no zone is specified, then clone to the same primary zone as the source instance.", + "type": "string" + }, + "privateNetwork": { + "description": "Optional. The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, `/projects/myProject/global/networks/default`.", + "type": "string" + }, + "targetInstance": { + "description": "Target instance name.", + "type": "string" + } + }, + "type": "object" + }, "PoolNodeConfig": { "description": "Details of a single read pool node of a read pool.", "id": "PoolNodeConfig", @@ -7635,20 +7730,6 @@ "description": "Optional. The host from which the user can connect. For `insert` operations, host defaults to an empty string. For `update` operations, host is specified as part of the request URL. The host name cannot be updated after insertion. For a MySQL instance, it's required; for a PostgreSQL or SQL Server instance, it's optional.", "type": "string" }, - "iamStatus": { - "description": "Indicates if user is active for IAM Authentication.", - "enum": [ - "IAM_STATUS_UNSPECIFIED", - "INACTIVE", - "ACTIVE" - ], - "enumDescriptions": [ - "The default value for users that are not of type CLOUD_IAM_GROUP. Only CLOUD_IAM_GROUP users will be inactive/active. Will not display any value in UI.", - "User is not available for IAM Authentication.", - "User is available for IAM Authentication." - ], - "type": "string" - }, "instance": { "description": "The name of the Cloud SQL instance. This does not include the project ID. Can be omitted for `update` because it is already specified on the URL.", "type": "string" diff --git a/discovery/sqladmin-v1beta4.json b/discovery/sqladmin-v1beta4.json index 9c54da41f4c..71c89da3b9b 100644 --- a/discovery/sqladmin-v1beta4.json +++ b/discovery/sqladmin-v1beta4.json @@ -396,7 +396,7 @@ ] }, "updateBackup": { - "description": "Updates the retention period and the description of the backup. You can use this API to update final backups only.", + "description": "This API updates the following: 1- retention period and description of backup in case of final backups only. 2- gcbdr_soft_delete_status of backup in case of GCBDR managed backups only.", "flatPath": "sql/v1beta4/projects/{projectsId}/backups/{backupsId}", "httpMethod": "PATCH", "id": "sql.backups.updateBackup", @@ -412,7 +412,7 @@ "type": "string" }, "updateMask": { - "description": "The list of fields that you can update. You can update only the description and retention period of the final backup.", + "description": "The list of fields that you can update. 1- You can update only the description and retention period for a final backup. 2- You can update only the gcbdr_soft_delete_status for GCBDR managed backup.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1381,6 +1381,35 @@ "https://www.googleapis.com/auth/sqlservice.admin" ] }, + "pointInTimeRestore": { + "description": "Point in time restore for an instance managed by Google Cloud Backup and Disaster Recovery.", + "flatPath": "sql/v1beta4/projects/{projectsId}:pointInTimeRestore", + "httpMethod": "POST", + "id": "sql.instances.pointInTimeRestore", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource where you created this instance. Format: projects/{project}", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "sql/v1beta4/{+parent}:pointInTimeRestore", + "request": { + "$ref": "PointInTimeRestoreContext" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/sqlservice.admin" + ] + }, "promoteReplica": { "description": "Promotes the read replica instance to be an independent Cloud SQL primary instance. Using this operation might cause your instance to restart.", "flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/promoteReplica", @@ -2565,7 +2594,7 @@ } } }, - "revision": "20250412", + "revision": "20250427", "rootUrl": "https://sqladmin.googleapis.com/", "schemas": { "AclEntry": { @@ -2681,7 +2710,7 @@ "type": "object" }, "Backup": { - "description": "A backup resource.", + "description": "A backup resource. Next ID: 30", "id": "Backup", "properties": { "backupInterval": { @@ -2990,6 +3019,29 @@ "$ref": "BackupRetentionSettings", "description": "Backup retention settings." }, + "backupTier": { + "description": "Output only. Backup tier that manages the backups for the instance.", + "enum": [ + "BACKUP_TIER_UNSPECIFIED", + "STANDARD", + "ADVANCED", + "ENHANCED" + ], + "enumDeprecated": [ + false, + false, + true, + false + ], + "enumDescriptions": [ + "Unspecified.", + "Instance is managed by Cloud SQL.", + "Deprecated: ADVANCED is deprecated. Please use ENHANCED instead.", + "Instance is managed by Google Cloud Backup and DR Service." + ], + "readOnly": true, + "type": "string" + }, "binaryLogEnabled": { "description": "(MySQL only) Whether binary log is enabled. If backup configuration is disabled, binarylog must be disabled as well.", "type": "boolean" @@ -5522,6 +5574,10 @@ "description": "The name of the backup that's used to restore a Cloud SQL instance: Format: projects/{project-id}/backups/{backup-uid}. Only one of restore_backup_context, backup, backupdr_backup can be passed to the input.", "type": "string" }, + "backupdrBackup": { + "description": "The name of the backup that's used to restore a Cloud SQL instance: Format: \"projects/{project-id}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource}/backups/{backup-uid}\". Only one of restore_backup_context, backup, backupdr_backup can be passed to the input.", + "type": "string" + }, "restoreBackupContext": { "$ref": "RestoreBackupContext", "description": "Parameters required to perform the restore backup operation." @@ -6354,6 +6410,42 @@ }, "type": "object" }, + "PointInTimeRestoreContext": { + "description": "Context to perform a point-in-time restore of an instance managed by Google Cloud Backup and Disaster Recovery.", + "id": "PointInTimeRestoreContext", + "properties": { + "allocatedIpRange": { + "description": "Optional. The name of the allocated IP range for the internal IP Cloud SQL instance. For example: \"google-managed-services-default\". If you set this, then Cloud SQL creates the IP address for the cloned instance in the allocated range. This range must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035) standards. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?. Reserved for future use. http://go/speckle-subnet-picker-clone", + "type": "string" + }, + "datasource": { + "description": "The Google Cloud Backup and Disaster Recovery Datasource URI. Format: projects/{project}/locations/{region}/backupVaults/{backupvault}/dataSources/{datasource}.", + "type": "string" + }, + "pointInTime": { + "description": "Required. The date and time to which you want to restore the instance.", + "format": "google-datetime", + "type": "string" + }, + "preferredSecondaryZone": { + "description": "Optional. Point-in-time recovery of a regional instance in the specified zones. If not specified, clone to the same secondary zone as the source instance. This value cannot be the same as the preferred_zone field.", + "type": "string" + }, + "preferredZone": { + "description": "Optional. Point-in-time recovery of an instance to the specified zone. If no zone is specified, then clone to the same primary zone as the source instance.", + "type": "string" + }, + "privateNetwork": { + "description": "Optional. The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, `/projects/myProject/global/networks/default`.", + "type": "string" + }, + "targetInstance": { + "description": "Target instance name.", + "type": "string" + } + }, + "type": "object" + }, "PoolNodeConfig": { "description": "Details of a single read pool node of a read pool.", "id": "PoolNodeConfig", @@ -7634,20 +7726,6 @@ "description": "Optional. The host from which the user can connect. For `insert` operations, host defaults to an empty string. For `update` operations, host is specified as part of the request URL. The host name cannot be updated after insertion. For a MySQL instance, it's required; for a PostgreSQL or SQL Server instance, it's optional.", "type": "string" }, - "iamStatus": { - "description": "Indicates if user is active for IAM Authentication.", - "enum": [ - "IAM_STATUS_UNSPECIFIED", - "INACTIVE", - "ACTIVE" - ], - "enumDescriptions": [ - "The default value for users that are not of type CLOUD_IAM_GROUP. Only CLOUD_IAM_GROUP users will be inactive/active. Will not display any value in UI.", - "User is not available for IAM Authentication.", - "User is available for IAM Authentication." - ], - "type": "string" - }, "instance": { "description": "The name of the Cloud SQL instance. This does not include the project ID. Can be omitted for *update* because it is already specified on the URL.", "type": "string" diff --git a/src/apis/androidmanagement/v1.ts b/src/apis/androidmanagement/v1.ts index 6e55fd181a9..510273a740a 100644 --- a/src/apis/androidmanagement/v1.ts +++ b/src/apis/androidmanagement/v1.ts @@ -692,13 +692,21 @@ export namespace androidmanagement_v1 { */ duration?: string | null; /** - * If the command failed, an error code explaining the failure. This is not set when the command is cancelled by the caller. + * If the command failed, an error code explaining the failure. This is not set when the command is cancelled by the caller. For reasoning about command errors, prefer fields in the following order (most preferred first): 1. Command-specific fields like clearAppsDataStatus, startLostModeStatus, or similar, if they exist. 2. This field, if set. 3. The generic error field in the Operation that wraps the command. */ errorCode?: string | null; /** * For commands of type RESET_PASSWORD, optionally specifies the new password. Note: The new password must be at least 6 characters long if it is numeric in case of Android 14 devices. Else the command will fail with INVALID_VALUE. */ newPassword?: string | null; + /** + * Optional. Parameters for the REQUEST_DEVICE_INFO command to get device related information. If this is set, then it is suggested that type should not be set. In this case, the server automatically sets it to REQUEST_DEVICE_INFO . It is also acceptable to explicitly set type to REQUEST_DEVICE_INFO. + */ + requestDeviceInfoParams?: Schema$RequestDeviceInfoParams; + /** + * Output only. Status of the REQUEST_DEVICE_INFO command. + */ + requestDeviceInfoStatus?: Schema$RequestDeviceInfoStatus; /** * For commands of type RESET_PASSWORD, optionally specifies flags. */ @@ -1200,6 +1208,24 @@ export namespace androidmanagement_v1 { */ previousDpc?: string | null; } + /** + * EID information for each eUICC chip. + */ + export interface Schema$Eid { + /** + * Output only. The EID + */ + eid?: string | null; + } + /** + * Information related to the EIDs of the device. + */ + export interface Schema$EidInfo { + /** + * Output only. EID information for each eUICC chip. + */ + eids?: Schema$Eid[]; + } /** * 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); \} */ @@ -1327,6 +1353,15 @@ export namespace androidmanagement_v1 { */ upgradeState?: string | null; } + /** + * Information related to the eUICC chip. + */ + export interface Schema$EuiccChipInfo { + /** + * Output only. The Embedded Identity Document (EID) that identifies the eUICC chip for each eUICC chip on the device. This is available on company owned devices running Android 13 and above. + */ + eid?: string | null; + } /** * 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. */ @@ -1447,6 +1482,10 @@ export namespace androidmanagement_v1 { * Output only. ID that uniquely identifies a personally-owned device in a particular organization. On the same physical device when enrolled with the same organization, this ID persists across setups and even factory resets. This ID is available on personally-owned devices with a work profile on devices running Android 12 and above. */ enterpriseSpecificId?: string | null; + /** + * Output only. Information related to the eUICC chip. + */ + euiccChipInfo?: Schema$EuiccChipInfo[]; /** * GPU shutdown temperature thresholds in Celsius for each GPU on the device. */ @@ -2805,6 +2844,28 @@ export namespace androidmanagement_v1 { */ targetUserId?: number | null; } + /** + * Parameters associated with the REQUEST_DEVICE_INFO command to get device related information. + */ + export interface Schema$RequestDeviceInfoParams { + /** + * Required. Type of device information to be requested. + */ + deviceInfo?: string | null; + } + /** + * Status of the REQUEST_DEVICE_INFO command. + */ + export interface Schema$RequestDeviceInfoStatus { + /** + * Information related to the EIDs of the device. + */ + eidInfo?: Schema$EidInfo; + /** + * Output only. Status of a REQUEST_DEVICE_INFO command. + */ + status?: string | null; + } /** * Controls for the screen brightness settings. */ diff --git a/src/apis/certificatemanager/v1.ts b/src/apis/certificatemanager/v1.ts index b894310f43f..0720b949d3b 100644 --- a/src/apis/certificatemanager/v1.ts +++ b/src/apis/certificatemanager/v1.ts @@ -1018,6 +1018,10 @@ export namespace certificatemanager_v1 { } export interface Params$Resource$Projects$Locations$List extends StandardParameters { + /** + * Optional. A list of extra location types that should be used as conditions for controlling the visibility of the locations. + */ + extraLocationTypes?: string[]; /** * 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). */ diff --git a/src/apis/civicinfo/v2.ts b/src/apis/civicinfo/v2.ts index 7b404c958cd..55caca0b358 100644 --- a/src/apis/civicinfo/v2.ts +++ b/src/apis/civicinfo/v2.ts @@ -114,7 +114,6 @@ export namespace civicinfo_v2 { context: APIRequestContext; divisions: Resource$Divisions; elections: Resource$Elections; - representatives: Resource$Representatives; constructor(options: GlobalOptions, google?: GoogleConfigurable) { this.context = { @@ -124,7 +123,6 @@ export namespace civicinfo_v2 { this.divisions = new Resource$Divisions(this.context); this.elections = new Resource$Elections(this.context); - this.representatives = new Resource$Representatives(this.context); } } @@ -177,49 +175,6 @@ export namespace civicinfo_v2 { */ kind?: string | null; } - export interface Schema$CivicinfoApiprotosV2RepresentativeInfoData { - /** - * A map of political geographic divisions that contain the requested address, keyed by the unique Open Civic Data identifier for this division. - */ - divisions?: { - [key: string]: Schema$CivicinfoSchemaV2GeographicDivision; - } | null; - /** - * Elected offices referenced by the divisions listed above. Will only be present if includeOffices was true in the request. - */ - offices?: Schema$CivicinfoSchemaV2Office[]; - /** - * Officials holding the offices listed above. Will only be present if includeOffices was true in the request. - */ - officials?: Schema$CivicinfoSchemaV2Official[]; - } - /** - * The result of a representative info lookup query. - */ - export interface Schema$CivicinfoApiprotosV2RepresentativeInfoResponse { - /** - * A map of political geographic divisions that contain the requested address, keyed by the unique Open Civic Data identifier for this division. - */ - divisions?: { - [key: string]: Schema$CivicinfoSchemaV2GeographicDivision; - } | null; - /** - * Identifies what kind of resource this is. Value: the fixed string "civicinfo#representativeInfoResponse". - */ - kind?: string | null; - /** - * The normalized version of the requested address - */ - normalizedInput?: Schema$CivicinfoSchemaV2SimpleAddressType; - /** - * Elected offices referenced by the divisions listed above. Will only be present if includeOffices was true in the request. - */ - offices?: Schema$CivicinfoSchemaV2Office[]; - /** - * Officials holding the offices listed above. Will only be present if includeOffices was true in the request. - */ - officials?: Schema$CivicinfoSchemaV2Official[]; - } /** * The result of a voter info lookup query. */ @@ -588,72 +543,6 @@ export namespace civicinfo_v2 { */ officeIndices?: number[] | null; } - /** - * Information about an Office held by one or more Officials. - */ - export interface Schema$CivicinfoSchemaV2Office { - /** - * The OCD ID of the division with which this office is associated. - */ - divisionId?: string | null; - /** - * The levels of government of which this office is part. There may be more than one in cases where a jurisdiction effectively acts at two different levels of government; for example, the mayor of the District of Columbia acts at "locality" level, but also effectively at both "administrative-area-2" and "administrative-area-1". - */ - levels?: string[] | null; - /** - * The human-readable name of the office. - */ - name?: string | null; - /** - * List of indices in the officials array of people who presently hold this office. - */ - officialIndices?: number[] | null; - /** - * The roles which this office fulfills. Roles are not meant to be exhaustive, or to exactly specify the entire set of responsibilities of a given office, but are meant to be rough categories that are useful for general selection from or sorting of a list of offices. - */ - roles?: string[] | null; - /** - * A list of sources for this office. If multiple sources are listed, the data has been aggregated from those sources. - */ - sources?: Schema$CivicinfoSchemaV2Source[]; - } - /** - * Information about a person holding an elected office. - */ - export interface Schema$CivicinfoSchemaV2Official { - /** - * Addresses at which to contact the official. - */ - address?: Schema$CivicinfoSchemaV2SimpleAddressType[]; - /** - * A list of known (social) media channels for this official. - */ - channels?: Schema$CivicinfoSchemaV2Channel[]; - /** - * The direct email addresses for the official. - */ - emails?: string[] | null; - /** - * The official's name. - */ - name?: string | null; - /** - * The full name of the party the official belongs to. - */ - party?: string | null; - /** - * The official's public contact phone numbers. - */ - phones?: string[] | null; - /** - * A URL for a photo of the official. - */ - photoUrl?: string | null; - /** - * The official's public website URLs. - */ - urls?: string[] | null; - } /** * A location where a voter can vote. This may be an early vote site, an election day voting location, or a drop off location for a completed ballot. */ @@ -1249,246 +1138,4 @@ export namespace civicinfo_v2 { */ returnAllAvailableData?: boolean; } - - export class Resource$Representatives { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Looks up political geography and representative information for a single 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. - */ - representativeInfoByAddress( - params: Params$Resource$Representatives$Representativeinfobyaddress, - options: StreamMethodOptions - ): GaxiosPromise; - representativeInfoByAddress( - params?: Params$Resource$Representatives$Representativeinfobyaddress, - options?: MethodOptions - ): GaxiosPromise; - representativeInfoByAddress( - params: Params$Resource$Representatives$Representativeinfobyaddress, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - representativeInfoByAddress( - params: Params$Resource$Representatives$Representativeinfobyaddress, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - representativeInfoByAddress( - params: Params$Resource$Representatives$Representativeinfobyaddress, - callback: BodyResponseCallback - ): void; - representativeInfoByAddress( - callback: BodyResponseCallback - ): void; - representativeInfoByAddress( - paramsOrCallback?: - | Params$Resource$Representatives$Representativeinfobyaddress - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Representatives$Representativeinfobyaddress; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Representatives$Representativeinfobyaddress; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://civicinfo.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/civicinfo/v2/representatives').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Looks up representative information for a single geographic division. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - representativeInfoByDivision( - params: Params$Resource$Representatives$Representativeinfobydivision, - options: StreamMethodOptions - ): GaxiosPromise; - representativeInfoByDivision( - params?: Params$Resource$Representatives$Representativeinfobydivision, - options?: MethodOptions - ): GaxiosPromise; - representativeInfoByDivision( - params: Params$Resource$Representatives$Representativeinfobydivision, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - representativeInfoByDivision( - params: Params$Resource$Representatives$Representativeinfobydivision, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - representativeInfoByDivision( - params: Params$Resource$Representatives$Representativeinfobydivision, - callback: BodyResponseCallback - ): void; - representativeInfoByDivision( - callback: BodyResponseCallback - ): void; - representativeInfoByDivision( - paramsOrCallback?: - | Params$Resource$Representatives$Representativeinfobydivision - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Representatives$Representativeinfobydivision; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Representatives$Representativeinfobydivision; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://civicinfo.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/civicinfo/v2/representatives/{ocdId}').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['ocdId'], - pathParams: ['ocdId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - } - - export interface Params$Resource$Representatives$Representativeinfobyaddress - extends StandardParameters { - /** - * The address to look up. May only be specified if the field ocdId is not given in the URL - */ - address?: string; - /** - * Whether to return information about offices and officials. If false, only the top-level district information will be returned. - */ - includeOffices?: boolean; - /** - * A list of office levels to filter by. Only offices that serve at least one of these levels will be returned. Divisions that don't contain a matching office will not be returned. - */ - levels?: string[]; - /** - * A list of office roles to filter by. Only offices fulfilling one of these roles will be returned. Divisions that don't contain a matching office will not be returned. - */ - roles?: string[]; - } - export interface Params$Resource$Representatives$Representativeinfobydivision - extends StandardParameters { - /** - * A list of office levels to filter by. Only offices that serve at least one of these levels will be returned. Divisions that don't contain a matching office will not be returned. - */ - levels?: string[]; - /** - * The Open Civic Data division identifier of the division to look up. - */ - ocdId?: string; - /** - * If true, information about all divisions contained in the division requested will be included as well. For example, if querying ocd-division/country:us/district:dc, this would also return all DC's wards and ANCs. - */ - recursive?: boolean; - /** - * A list of office roles to filter by. Only offices fulfilling one of these roles will be returned. Divisions that don't contain a matching office will not be returned. - */ - roles?: string[]; - } } diff --git a/src/apis/compute/beta.ts b/src/apis/compute/beta.ts index 2740e45b6dc..8741a2ef128 100644 --- a/src/apis/compute/beta.ts +++ b/src/apis/compute/beta.ts @@ -149,7 +149,9 @@ export namespace compute_beta { instanceSettings: Resource$Instancesettings; instanceTemplates: Resource$Instancetemplates; instantSnapshots: Resource$Instantsnapshots; + interconnectAttachmentGroups: Resource$Interconnectattachmentgroups; interconnectAttachments: Resource$Interconnectattachments; + interconnectGroups: Resource$Interconnectgroups; interconnectLocations: Resource$Interconnectlocations; interconnectRemoteLocations: Resource$Interconnectremotelocations; interconnects: Resource$Interconnects; @@ -277,9 +279,12 @@ export namespace compute_beta { this.instanceSettings = new Resource$Instancesettings(this.context); this.instanceTemplates = new Resource$Instancetemplates(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 ); @@ -1779,7 +1784,7 @@ export namespace compute_beta { */ connectionTrackingPolicy?: Schema$BackendServiceConnectionTrackingPolicy; /** - * 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. + * 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, HTTP2 or H2C, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. */ consistentHash?: Schema$ConsistentHashLoadBalancerSettings; /** @@ -1863,7 +1868,7 @@ export namespace compute_beta { */ localityLbPolicies?: Schema$BackendServiceLocalityLoadBalancingPolicyConfig[]; /** - * 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. localityLbPolicy cannot be specified with haPolicy. + * 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, HTTP2 or H2C, 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. localityLbPolicy cannot be specified with haPolicy. */ localityLbPolicy?: string | null; /** @@ -1891,7 +1896,7 @@ export namespace compute_beta { */ networkPassThroughLbTrafficPolicy?: Schema$BackendServiceNetworkPassThroughLbTrafficPolicy; /** - * 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. + * 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, HTTP2 or H2C, 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. */ outlierDetection?: Schema$OutlierDetection; /** @@ -1903,7 +1908,7 @@ export namespace compute_beta { */ portName?: string | null; /** - * 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. + * The protocol this BackendService uses to communicate with backends. Possible values are HTTP, HTTPS, HTTP2, H2C, 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. */ protocol?: string | null; /** @@ -2155,6 +2160,26 @@ export namespace compute_beta { * Specifies whether fast IP move is enabled, and if so, the mechanism to achieve it. Supported values are: - DISABLED: Fast IP Move is disabled. You can only use the haPolicy.leader API to update the leader. - \>GARP_RA: Provides a method to very quickly define a new network endpoint as the leader. This method is faster than updating the leader using the haPolicy.leader API. Fast IP move works as follows: The VM hosting the network endpoint that should become the new leader sends either a Gratuitous ARP (GARP) packet (IPv4) or an ICMPv6 Router Advertisement(RA) packet (IPv6). Google Cloud immediately but temporarily associates the forwarding rule IP address with that VM, and both new and in-flight packets are quickly delivered to that VM. Note the important properties of the Fast IP Move functionality: - The GARP/RA-initiated re-routing stays active for approximately 20 minutes. After triggering fast failover, you must also appropriately set the haPolicy.leader. - The new leader instance should continue to send GARP/RA packets periodically every 10 seconds until at least 10 minutes after updating the haPolicy.leader (but stop immediately if it is no longer the leader). - After triggering a fast failover, we recommend that you wait at least 3 seconds before sending another GARP/RA packet from a different VM instance to avoid race conditions. - Don't send GARP/RA packets from different VM instances at the same time. If multiple instances continue to send GARP/RA packets, traffic might be routed to different destinations in an alternating order. This condition ceases when a single instance issues a GARP/RA packet. - The GARP/RA request always takes priority over the leader API. Using the haPolicy.leader API to change the leader to a different instance will have no effect until the GARP/RA request becomes inactive. - The GARP/RA packets should follow the GARP/RA Packet Specifications.. - When multiple forwarding rules refer to a regional backend service, you need only send a GARP or RA packet for a single forwarding rule virtual IP. The virtual IPs for all forwarding rules targeting the same backend service will also be moved to the sender of the GARP or RA packet. The following are the Fast IP Move limitations (that is, when fastIPMove is not DISABLED): - Multiple forwarding rules cannot use the same IP address if one of them refers to a regional backend service with fastIPMove. - The regional backend service must set the network field, and all NEGs must belong to that network. However, individual NEGs can belong to different subnetworks of that network. - The maximum number of network endpoints across all backends of a backend service with fastIPMove is 64. - The maximum number of backend services with fastIPMove that can have the same network endpoint attached to one of its backends is 64. - The maximum number of backend services with fastIPMove in a VPC in a region is 64. - The network endpoints that are attached to a backend of a backend service with fastIPMove cannot resolve to Gen3+ machines for IPv6. - Traffic directed to the leader by a static route next hop will not be redirected to a new leader by fast failover. Such traffic will only be redirected once an haPolicy.leader update has taken effect. Only traffic to the forwarding rule's virtual IP will be redirected to a new leader by fast failover. haPolicy.fastIPMove can be set only at backend service creation time. Once set, it cannot be updated. By default, fastIpMove is set to DISABLED. */ fastIPMove?: string | null; + /** + * Selects one of the network endpoints attached to the backend NEGs of this service as the active endpoint (the leader) that receives all traffic. When the leader changes, there is no connection draining to persist existing connections on the old leader. You are responsible for selecting a suitable endpoint as the leader. For example, preferring a healthy endpoint over unhealthy ones. Note that this service does not track backend endpoint health, and selects the configured leader unconditionally. + */ + leader?: Schema$BackendServiceHAPolicyLeader; + } + export interface Schema$BackendServiceHAPolicyLeader { + /** + * A fully-qualified URL (starting with https://www.googleapis.com/) of the zonal Network Endpoint Group (NEG) with `GCE_VM_IP` endpoints that the leader is attached to. The leader's backendGroup must already be specified as a backend of this backend service. Removing a backend that is designated as the leader's backendGroup is not permitted. + */ + backendGroup?: string | null; + /** + * The network endpoint within the leader.backendGroup that is designated as the leader. This network endpoint cannot be detached from the NEG specified in the haPolicy.leader.backendGroup until the leader is updated with another network endpoint, or the leader is removed from the haPolicy. + */ + networkEndpoint?: Schema$BackendServiceHAPolicyLeaderNetworkEndpoint; + } + export interface Schema$BackendServiceHAPolicyLeaderNetworkEndpoint { + /** + * The name of the VM instance of the leader network endpoint. The instance must already be attached to the NEG specified in the haPolicy.leader.backendGroup. The name must be 1-63 characters long, and comply with RFC1035. Authorization requires the following IAM permission on the specified resource instance: compute.instances.use + */ + instance?: string | null; } /** * The HTTP cookie used for stateful session affinity. @@ -4751,6 +4776,10 @@ export namespace compute_beta { * 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 emergent maintenance enabled. + */ + enableEmergentMaintenance?: boolean | null; /** * [Output Only] A unique identifier for this future reservation. The server defines this identifier. */ @@ -8570,6 +8599,10 @@ export namespace compute_beta { * [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. */ @@ -8697,6 +8730,10 @@ export namespace compute_beta { * Determines whether this Attachment will carry packets. Not present for PARTNER_PROVIDER. */ adminEnabled?: boolean | null; + /** + * [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 */ @@ -8902,6 +8939,229 @@ export namespace compute_beta { 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 { + attachmentStatuses?: Schema$InterconnectAttachmentGroupsOperationalStatusAttachmentStatus[]; + configured?: Schema$InterconnectAttachmentGroupConfigured; + /** + * Summarizes the status of the group. + */ + groupStatus?: string | null; + intent?: Schema$InterconnectAttachmentGroupIntent; + /** + * The operational state of the group, including only active Attachments. + */ + operational?: Schema$InterconnectAttachmentGroupConfigured; + } + /** + * The status of one Attachment in the group. List order is arbitrary. + */ + export interface Schema$InterconnectAttachmentGroupsOperationalStatusAttachmentStatus { + /** + * Whether this Attachment is enabled. This becomes false when the customer drains their Attachment. + */ + adminEnabled?: boolean | null; + /** + * The URL of the Attachment being described. + */ + attachment?: string | null; + /** + * Whether this Attachment is participating in the redundant configuration. This will be ACTIVE if and only if the status below is CONNECTION_UP. Any INACTIVE Attachments are excluded from the analysis that generates operational.availabilitySLA. + */ + isActive?: string | null; + /** + * Whether this Attachment is active, and if so, whether BGP is up. This is based on the statuses available in the Pantheon UI here: http://google3/java/com/google/cloud/boq/clientapi/gce/hybrid/api/interconnect_models.proto + */ + status?: string | null; + } /** * Response to the list request, and contains a list of interconnect attachments. */ @@ -9098,6 +9358,290 @@ export namespace compute_beta { */ 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; + } + export interface Schema$InterconnectGroupsCreateMembers { + /** + * How to behave when configured.topologyCapability.supportedSLA would not equal intent.topologyCapability after this call. + */ + intentMismatchBehavior?: string | null; + interconnects?: Schema$InterconnectGroupsCreateMembersInterconnectInput[]; + /** + * Parameters for the Interconnects to create. + */ + templateInterconnect?: Schema$InterconnectGroupsCreateMembersInterconnectInput; + } + /** + * LINT.IfChange + */ + export interface Schema$InterconnectGroupsCreateMembersInterconnectInput { + /** + * 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; + /** + * Customer name, to put in the Letter of Authorization as the party authorized to request a crossconnect. + */ + customerName?: string | null; + /** + * An optional description of this resource. Provide this property when you create the resource. + */ + description?: string | null; + /** + * A zone-free location to use for all Interconnects created in this call, like "iad-1234". + */ + facility?: 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. + */ + interconnectType?: string | null; + /** + * 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. - LINK_TYPE_ETHERNET_400G_LR4: A 400G Ethernet with LR4 optics. Note that this field indicates the speed of each of the links in the bundle, not the speed of the entire bundle. + */ + linkType?: string | null; + /** + * Name of the Interconnects to be created. This must be specified on the template and/or on each individual interconnect. The name, if not empty, must be 1-63 characters long, and comply with RFC1035. Specifically, any nonempty 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; + /** + * 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. + */ + nocContactEmail?: string | null; + /** + * Indicates that this is a Cross-Cloud Interconnect. This field specifies the location outside of Google's network that the interconnect is connected to. + */ + remoteLocation?: string | null; + /** + * 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. + */ + requestedFeatures?: string[] | null; + /** + * Target number of physical links in the link bundle, as requested by the customer. + */ + requestedLinkCount?: number | null; + } + export interface Schema$InterconnectGroupsCreateMembersRequest { + request?: Schema$InterconnectGroupsCreateMembers; + } + /** + * 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. */ @@ -9526,6 +10070,14 @@ export namespace compute_beta { * Represents a License resource. A License represents billing and aggregate usage data for public and marketplace images. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. */ export interface Schema$License { + /** + * Specifies licenseCodes of licenses that can replace this license. Note: such replacements are allowed even if removable_from_disk is false. + */ + allowedReplacementLicenses?: string[] | null; + /** + * If true, this license can be appended to an existing disk's set of licenses. + */ + appendableToDisk?: boolean | null; /** * [Output Only] Deprecated. This field no longer reflects whether a license charges a usage fee. */ @@ -9542,6 +10094,10 @@ export namespace compute_beta { * [Output Only] The unique identifier for the resource. This identifier is defined by the server. */ id?: string | null; + /** + * Specifies licenseCodes of licenses that are incompatible with this license. If a license is incompatible with this license, it cannot be attached to the same disk or image. + */ + incompatibleLicenses?: string[] | null; /** * [Output Only] Type of resource. Always compute#license for licenses. */ @@ -9550,10 +10106,30 @@ export namespace compute_beta { * [Output Only] The unique code used to attach this license to images, snapshots, and disks. */ licenseCode?: string | null; + /** + * If set, this license will be unable to be removed or replaced once attached to a disk until the minimum_retention period has passed. + */ + minimumRetention?: Schema$Duration; + /** + * If true, this license can only be used on VMs on multi tenant nodes. + */ + multiTenantOnly?: boolean | null; /** * Name of the resource. The name must be 1-63 characters long and comply with RFC1035. */ name?: string | null; + /** + * If true, indicates this is an OS license. Only one OS license can be attached to a disk or image at a time. + */ + osLicense?: boolean | null; + /** + * If true, this license can be removed from a disk's set of licenses, with no replacement license needed. + */ + removableFromDisk?: boolean | null; + /** + * 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. */ @@ -9562,10 +10138,22 @@ export namespace compute_beta { * [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; + /** + * If true, this license can only be used on VMs on sole tenant nodes. + */ + soleTenantOnly?: boolean | null; /** * If false, licenses will not be copied from the source resource when creating an image from a disk, disk from snapshot, or snapshot from disk. */ transferable?: boolean | null; + /** + * [Output Only] Last update timestamp in RFC3339 text format. + */ + updateTimestamp?: string | null; } /** * Represents a License Code resource. A License Code is a unique identifier used to represent a license resource. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. @@ -11164,6 +11752,10 @@ export namespace compute_beta { * This field will be deprecated soon. Use the exchange_subnet_routes field instead. Indicates whether full mesh connectivity is created and managed automatically between peered networks. Currently this field should always be true since Google Compute Engine will automatically create and manage subnetwork routes between two networks when peering state is ACTIVE. */ autoCreateRoutes?: boolean | null; + /** + * [Output Only] The effective state of the peering connection as a whole. + */ + connectionStatus?: Schema$NetworkPeeringConnectionStatus; /** * Indicates whether full mesh connectivity is created and managed automatically between peered networks. Currently this field should always be true since Google Compute Engine will automatically create and manage subnetwork routes between two networks when peering state is ACTIVE. */ @@ -11208,6 +11800,62 @@ export namespace compute_beta { * [Output Only] Details about the current state of the peering. */ stateDetails?: string | null; + /** + * The update strategy determines the semantics for updates and deletes to the peering connection configuration. + */ + updateStrategy?: string | null; + } + /** + * [Output Only] Describes the state of a peering connection, not just the local peering. This field provides information about the effective settings for the connection as a whole, including pending delete/update requests for CONSENSUS peerings. + */ + export interface Schema$NetworkPeeringConnectionStatus { + /** + * The consensus state contains information about the status of update and delete for a consensus peering connection. + */ + consensusState?: Schema$NetworkPeeringConnectionStatusConsensusState; + /** + * The active connectivity settings for the peering connection based on the settings of the network peerings. + */ + trafficConfiguration?: Schema$NetworkPeeringConnectionStatusTrafficConfiguration; + /** + * The update strategy determines the update/delete semantics for this peering connection. + */ + updateStrategy?: string | null; + } + /** + * The status of update/delete for a consensus peering connection. Only set when connection_status.update_strategy is CONSENSUS or a network peering is proposing to update the strategy to CONSENSUS. + */ + export interface Schema$NetworkPeeringConnectionStatusConsensusState { + /** + * The status of the delete request. + */ + deleteStatus?: string | null; + /** + * The status of the update request. + */ + updateStatus?: string | null; + } + export interface Schema$NetworkPeeringConnectionStatusTrafficConfiguration { + /** + * Whether custom routes are being exported to the peer network. + */ + exportCustomRoutesToPeer?: boolean | null; + /** + * Whether subnet routes with public IP ranges are being exported to the peer network. + */ + exportSubnetRoutesWithPublicIpToPeer?: boolean | null; + /** + * Whether custom routes are being imported from the peer network. + */ + importCustomRoutesFromPeer?: boolean | null; + /** + * Whether subnet routes with public IP ranges are being imported from the peer network. + */ + importSubnetRoutesWithPublicIpFromPeer?: boolean | null; + /** + * Which IP version(s) of traffic and routes are being imported or exported between peer networks. + */ + stackType?: string | null; } export interface Schema$NetworkPerformanceConfig { totalEgressBandwidthTier?: string | null; @@ -11519,6 +12167,12 @@ export namespace compute_beta { */ name?: string | null; } + export interface Schema$NetworksRequestRemovePeeringRequest { + /** + * Name of the peering, which should conform to RFC1035. + */ + name?: string | null; + } export interface Schema$NetworksUpdatePeeringRequest { networkPeering?: Schema$NetworkPeering; } @@ -13175,7 +13829,7 @@ export namespace compute_beta { */ selfLink?: string | null; /** - * [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. + * [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 announced and ready to use. - `DELETING` The public delegated prefix is being deprovsioned. */ status?: string | null; } @@ -14020,6 +14674,10 @@ export namespace compute_beta { * An optional description of this resource. Provide this property when you create the resource. */ description?: string | null; + /** + * Indicates if this group of VMs have emergent maintenance enabled. + */ + enableEmergentMaintenance?: boolean | null; /** * [Output Only] The unique identifier for the resource. This identifier is defined by the server. */ @@ -14991,6 +15649,10 @@ export namespace compute_beta { * 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. */ @@ -15552,6 +16214,10 @@ export namespace compute_beta { bestRoutesForRouter?: Schema$Route[]; bgpPeerStatus?: Schema$RouterStatusBgpPeerStatus[]; natStatus?: Schema$RouterStatusNatStatus[]; + /** + * URI of the ncc_gateway to which this router associated. + */ + nccGateway?: string | null; /** * URI of the network to which this router belongs. */ @@ -16154,7 +16820,7 @@ export namespace compute_beta { 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. + * The maximum request size chosen by the customer with Waf enabled. Values supported are "8KB", "16KB, "32KB", "48KB" and "64KB". Values are case insensitive. */ requestBodyInspectionSize?: string | null; /** @@ -18373,6 +19039,14 @@ export namespace compute_beta { * [Output Only] The state of the subnetwork, which can be one of the following values: READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained. A subnetwork that is draining cannot be used or modified until it reaches a status of READY */ state?: string | null; + /** + * Output only. [Output Only] The array of external IPv6 network ranges reserved from the subnetwork's external IPv6 range for system use. + */ + systemReservedExternalIpv6Ranges?: string[] | null; + /** + * Output only. [Output Only] The array of internal IPv6 network ranges reserved from the subnetwork's internal IPv6 range for system use. + */ + systemReservedInternalIpv6Ranges?: string[] | null; } export interface Schema$SubnetworkAggregatedList { /** @@ -18516,6 +19190,20 @@ export namespace compute_beta { message?: string; } | null; } + export interface Schema$SubnetworksScopedWarning { + /** + * Name of the scope containing this set of Subnetworks. + */ + scopeName?: string | null; + /** + * An informational warning about unreachable scope + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } export interface Schema$SubnetworksSetPrivateIpGoogleAccessRequest { privateIpGoogleAccess?: boolean | null; } @@ -20036,10 +20724,18 @@ export namespace compute_beta { * [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. */ nextPageToken?: string | null; + /** + * [Output Only] Informational warning messages for failures encountered from scopes. + */ + scopedWarnings?: Schema$SubnetworksScopedWarning[]; /** * [Output Only] Server-defined URL for this resource. */ selfLink?: string | null; + /** + * [Output Only] Unreachable resources. + */ + unreachables?: string[] | null; /** * [Output Only] Informational warning message. */ @@ -56175,71 +56871,159 @@ export namespace compute_beta { requestBody?: Schema$TestPermissionsRequest; } - export class Resource$Interconnectattachments { + export class Resource$Interconnectattachmentgroups { 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 InterconnectAttachmentGroup 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$Interconnectattachmentgroups$Delete, options: StreamMethodOptions ): GaxiosPromise; - aggregatedList( - params?: Params$Resource$Interconnectattachments$Aggregatedlist, + delete( + params?: Params$Resource$Interconnectattachmentgroups$Delete, options?: MethodOptions - ): GaxiosPromise; - aggregatedList( - params: Params$Resource$Interconnectattachments$Aggregatedlist, + ): GaxiosPromise; + delete( + params: Params$Resource$Interconnectattachmentgroups$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Interconnectattachments$Aggregatedlist, + delete( + params: Params$Resource$Interconnectattachmentgroups$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Interconnectattachmentgroups$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Interconnectattachmentgroups$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectattachmentgroups$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectattachmentgroups$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}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'interconnectAttachmentGroup'], + pathParams: ['interconnectAttachmentGroup', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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`. + * @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$Interconnectattachmentgroups$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Interconnectattachmentgroups$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Interconnectattachmentgroups$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Interconnectattachmentgroups$Get, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Interconnectattachments$Aggregatedlist, - callback: BodyResponseCallback + get( + params: Params$Resource$Interconnectattachmentgroups$Get, + callback: BodyResponseCallback ): void; - aggregatedList( - callback: BodyResponseCallback + get( + callback: BodyResponseCallback ): void; - aggregatedList( + get( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Aggregatedlist - | 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$Interconnectattachments$Aggregatedlist; + {}) as Params$Resource$Interconnectattachmentgroups$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Aggregatedlist; + params = {} as Params$Resource$Interconnectattachmentgroups$Get; options = {}; } @@ -56254,7 +57038,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/aggregated/interconnectAttachments' + '/compute/beta/projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -56262,74 +57046,73 @@ export namespace compute_beta { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'interconnectAttachmentGroup'], + pathParams: ['interconnectAttachmentGroup', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Deletes 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. */ - delete( - params: Params$Resource$Interconnectattachments$Delete, + getIamPolicy( + params: Params$Resource$Interconnectattachmentgroups$Getiampolicy, options: StreamMethodOptions ): GaxiosPromise; - delete( - params?: Params$Resource$Interconnectattachments$Delete, + getIamPolicy( + params?: Params$Resource$Interconnectattachmentgroups$Getiampolicy, options?: MethodOptions - ): GaxiosPromise; - delete( - params: Params$Resource$Interconnectattachments$Delete, + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Interconnectattachmentgroups$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Interconnectattachments$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Interconnectattachmentgroups$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Interconnectattachments$Delete, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Interconnectattachmentgroups$Getiampolicy, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Delete - | BodyResponseCallback + | Params$Resource$Interconnectattachmentgroups$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$Delete; + {}) as Params$Resource$Interconnectattachmentgroups$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Delete; + params = + {} as Params$Resource$Interconnectattachmentgroups$Getiampolicy; options = {}; } @@ -56344,85 +57127,88 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}' + '/compute/beta/projects/{project}/global/interconnectAttachmentGroups/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'GET', apiVersion: '', }, 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); } } /** - * Returns the specified interconnect attachment. + * 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. */ - get( - params: Params$Resource$Interconnectattachments$Get, + getOperationalStatus( + params: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, options: StreamMethodOptions ): GaxiosPromise; - get( - params?: Params$Resource$Interconnectattachments$Get, + getOperationalStatus( + params?: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, options?: MethodOptions - ): GaxiosPromise; - get( - params: Params$Resource$Interconnectattachments$Get, + ): GaxiosPromise; + getOperationalStatus( + params: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Interconnectattachments$Get, + getOperationalStatus( + params: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Interconnectattachments$Get, - callback: BodyResponseCallback + getOperationalStatus( + params: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + getOperationalStatus( + callback: BodyResponseCallback + ): void; + getOperationalStatus( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Get - | BodyResponseCallback + | Params$Resource$Interconnectattachmentgroups$Getoperationalstatus + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Get; + {}) as Params$Resource$Interconnectattachmentgroups$Getoperationalstatus; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Get; + params = + {} as Params$Resource$Interconnectattachmentgroups$Getoperationalstatus; options = {}; } @@ -56437,7 +57223,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}' + '/compute/beta/projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}/getOperationalStatus' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -56445,22 +57231,24 @@ export namespace compute_beta { options ), params, - requiredParams: ['project', 'region', 'interconnectAttachment'], - pathParams: ['interconnectAttachment', 'project', 'region'], + requiredParams: ['project', 'interconnectAttachmentGroup'], + pathParams: ['interconnectAttachmentGroup', '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 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`. @@ -56468,31 +57256,31 @@ export namespace compute_beta { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Interconnectattachments$Insert, + params: Params$Resource$Interconnectattachmentgroups$Insert, options: StreamMethodOptions ): GaxiosPromise; insert( - params?: Params$Resource$Interconnectattachments$Insert, + params?: Params$Resource$Interconnectattachmentgroups$Insert, options?: MethodOptions ): GaxiosPromise; insert( - params: Params$Resource$Interconnectattachments$Insert, + params: Params$Resource$Interconnectattachmentgroups$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Interconnectattachments$Insert, + params: Params$Resource$Interconnectattachmentgroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Interconnectattachments$Insert, + params: Params$Resource$Interconnectattachmentgroups$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Insert + | Params$Resource$Interconnectattachmentgroups$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -56505,12 +57293,12 @@ export namespace compute_beta { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Insert; + {}) as Params$Resource$Interconnectattachmentgroups$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Insert; + params = {} as Params$Resource$Interconnectattachmentgroups$Insert; options = {}; } @@ -56525,7 +57313,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/regions/{region}/interconnectAttachments' + '/compute/beta/projects/{project}/global/interconnectAttachmentGroups' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -56533,8 +57321,8 @@ export namespace compute_beta { options ), params, - requiredParams: ['project', 'region'], - pathParams: ['project', 'region'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { @@ -56548,7 +57336,7 @@ export namespace compute_beta { } /** - * Retrieves the list of interconnect attachments contained within the specified region. + * 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`. @@ -56556,56 +57344,56 @@ export namespace compute_beta { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Interconnectattachments$List, + params: Params$Resource$Interconnectattachmentgroups$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Interconnectattachments$List, + params?: Params$Resource$Interconnectattachmentgroups$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Interconnectattachments$List, + params: Params$Resource$Interconnectattachmentgroups$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Interconnectattachments$List, + params: Params$Resource$Interconnectattachmentgroups$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Interconnectattachments$List, - callback: BodyResponseCallback + params: Params$Resource$Interconnectattachmentgroups$List, + callback: BodyResponseCallback ): void; list( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; list( paramsOrCallback?: - | Params$Resource$Interconnectattachments$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$Interconnectattachments$List; + {}) as Params$Resource$Interconnectattachmentgroups$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$List; + params = {} as Params$Resource$Interconnectattachmentgroups$List; options = {}; } @@ -56620,7 +57408,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/regions/{region}/interconnectAttachments' + '/compute/beta/projects/{project}/global/interconnectAttachmentGroups' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -56628,22 +57416,24 @@ export namespace compute_beta { 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 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`. @@ -56651,31 +57441,31 @@ export namespace compute_beta { * @returns A promise if used with async/await, or void if used with a callback. */ patch( - params: Params$Resource$Interconnectattachments$Patch, + params: Params$Resource$Interconnectattachmentgroups$Patch, options: StreamMethodOptions ): GaxiosPromise; patch( - params?: Params$Resource$Interconnectattachments$Patch, + params?: Params$Resource$Interconnectattachmentgroups$Patch, options?: MethodOptions ): GaxiosPromise; patch( - params: Params$Resource$Interconnectattachments$Patch, + params: Params$Resource$Interconnectattachmentgroups$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Interconnectattachments$Patch, + params: Params$Resource$Interconnectattachmentgroups$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Interconnectattachments$Patch, + params: Params$Resource$Interconnectattachmentgroups$Patch, callback: BodyResponseCallback ): void; patch(callback: BodyResponseCallback): void; patch( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Patch + | Params$Resource$Interconnectattachmentgroups$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -56688,12 +57478,12 @@ export namespace compute_beta { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Patch; + {}) as Params$Resource$Interconnectattachmentgroups$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Patch; + params = {} as Params$Resource$Interconnectattachmentgroups$Patch; options = {}; } @@ -56708,7 +57498,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}' + '/compute/beta/projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'PATCH', apiVersion: '', @@ -56716,8 +57506,8 @@ export namespace compute_beta { options ), params, - requiredParams: ['project', 'region', 'interconnectAttachment'], - pathParams: ['interconnectAttachment', 'project', 'region'], + requiredParams: ['project', 'interconnectAttachmentGroup'], + pathParams: ['interconnectAttachmentGroup', 'project'], context: this.context, }; if (callback) { @@ -56731,57 +57521,58 @@ export namespace compute_beta { } /** - * Sets the labels on an InterconnectAttachment. To learn more about labels, read the Labeling Resources documentation. + * 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. */ - setLabels( - params: Params$Resource$Interconnectattachments$Setlabels, + setIamPolicy( + params: Params$Resource$Interconnectattachmentgroups$Setiampolicy, options: StreamMethodOptions ): GaxiosPromise; - setLabels( - params?: Params$Resource$Interconnectattachments$Setlabels, + setIamPolicy( + params?: Params$Resource$Interconnectattachmentgroups$Setiampolicy, options?: MethodOptions - ): GaxiosPromise; - setLabels( - params: Params$Resource$Interconnectattachments$Setlabels, + ): GaxiosPromise; + setIamPolicy( + params: Params$Resource$Interconnectattachmentgroups$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setLabels( - params: Params$Resource$Interconnectattachments$Setlabels, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Interconnectattachmentgroups$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setLabels( - params: Params$Resource$Interconnectattachments$Setlabels, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Interconnectattachmentgroups$Setiampolicy, + callback: BodyResponseCallback ): void; - setLabels(callback: BodyResponseCallback): void; - setLabels( + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Setlabels - | BodyResponseCallback + | Params$Resource$Interconnectattachmentgroups$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$Interconnectattachments$Setlabels; + {}) as Params$Resource$Interconnectattachmentgroups$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Setlabels; + params = + {} as Params$Resource$Interconnectattachmentgroups$Setiampolicy; options = {}; } @@ -56796,7 +57587,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels' + '/compute/beta/projects/{project}/global/interconnectAttachmentGroups/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -56804,17 +57595,17 @@ export namespace compute_beta { options ), params, - requiredParams: ['project', 'region', 'resource'], - pathParams: ['project', 'region', 'resource'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } @@ -56827,27 +57618,27 @@ export namespace compute_beta { * @returns A promise if used with async/await, or void if used with a callback. */ testIamPermissions( - params: Params$Resource$Interconnectattachments$Testiampermissions, + params: Params$Resource$Interconnectattachmentgroups$Testiampermissions, options: StreamMethodOptions ): GaxiosPromise; testIamPermissions( - params?: Params$Resource$Interconnectattachments$Testiampermissions, + params?: Params$Resource$Interconnectattachmentgroups$Testiampermissions, options?: MethodOptions ): GaxiosPromise; testIamPermissions( - params: Params$Resource$Interconnectattachments$Testiampermissions, + params: Params$Resource$Interconnectattachmentgroups$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Interconnectattachments$Testiampermissions, + params: Params$Resource$Interconnectattachmentgroups$Testiampermissions, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Interconnectattachments$Testiampermissions, + params: Params$Resource$Interconnectattachmentgroups$Testiampermissions, callback: BodyResponseCallback ): void; testIamPermissions( @@ -56855,7 +57646,7 @@ export namespace compute_beta { ): void; testIamPermissions( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Testiampermissions + | Params$Resource$Interconnectattachmentgroups$Testiampermissions | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -56871,13 +57662,13 @@ export namespace compute_beta { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Testiampermissions; + {}) as Params$Resource$Interconnectattachmentgroups$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Interconnectattachments$Testiampermissions; + {} as Params$Resource$Interconnectattachmentgroups$Testiampermissions; options = {}; } @@ -56892,7 +57683,7 @@ export namespace compute_beta { { url: ( rootUrl + - '/compute/beta/projects/{project}/regions/{region}/interconnectAttachments/{resource}/testIamPermissions' + '/compute/beta/projects/{project}/global/interconnectAttachmentGroups/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -56900,8 +57691,8 @@ export namespace compute_beta { options ), params, - requiredParams: ['project', 'region', 'resource'], - pathParams: ['project', 'region', 'resource'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { @@ -56915,100 +57706,75 @@ export namespace compute_beta { } } - export interface Params$Resource$Interconnectattachments$Aggregatedlist + export interface Params$Resource$Interconnectattachmentgroups$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. + * Name of the InterconnectAttachmentGroup resource to delete. */ - includeAllScopes?: boolean; + interconnectAttachmentGroup?: 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`) + * Project ID for this request. */ - maxResults?: number; + project?: string; /** - * 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. + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating 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 */ - orderBy?: string; + requestId?: string; + } + export interface Params$Resource$Interconnectattachmentgroups$Get + extends StandardParameters { /** - * 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 InterconnectAttachmentGroup resource to return. */ - pageToken?: string; + interconnectAttachmentGroup?: 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$Interconnectattachments$Delete + export interface Params$Resource$Interconnectattachmentgroups$Getiampolicy extends StandardParameters { /** - * Name of the interconnect attachment to delete. + * Requested IAM Policy version. */ - interconnectAttachment?: string; + optionsRequestedPolicyVersion?: number; /** * 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). + * Name or id of the resource for this request. */ - requestId?: string; + resource?: string; } - export interface Params$Resource$Interconnectattachments$Get + export interface Params$Resource$Interconnectattachmentgroups$Getoperationalstatus extends StandardParameters { /** - * Name of the interconnect attachment to return. + * Name of the interconnectAttachmentGroup resource to query. */ - interconnectAttachment?: string; + interconnectAttachmentGroup?: string; /** * Project ID for this request. */ project?: string; - /** - * Name of the region for this request. - */ - region?: string; } - export interface Params$Resource$Interconnectattachments$Insert + export interface Params$Resource$Interconnectattachmentgroups$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$InterconnectAttachmentGroup; } - export interface Params$Resource$Interconnectattachments$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. @@ -57030,73 +57796,2073 @@ export namespace compute_beta { * 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$Interconnectattachmentgroups$Patch + extends StandardParameters { + /** + * Name of the InterconnectAttachmentGroup resource to patch. + */ + 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). end_interface: MixerMutationRequestBuilder + */ + requestId?: string; + /** + * The list of fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InterconnectAttachmentGroup; + } + export interface Params$Resource$Interconnectattachmentgroups$Setiampolicy + 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$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 + */ + requestBody?: Schema$TestPermissionsRequest; + } + + export class Resource$Interconnectattachments { + 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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, + options: StreamMethodOptions + ): GaxiosPromise; + aggregatedList( + params?: Params$Resource$Interconnectattachments$Aggregatedlist, + options?: MethodOptions + ): GaxiosPromise; + aggregatedList( + params: Params$Resource$Interconnectattachments$Aggregatedlist, + 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 + ): void; + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( + paramsOrCallback?: + | Params$Resource$Interconnectattachments$Aggregatedlist + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectattachments$Aggregatedlist; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectattachments$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/interconnectAttachments' + ).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 interconnect attachment. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Interconnectattachments$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Interconnectattachments$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Interconnectattachments$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Interconnectattachments$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Interconnectattachments$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectattachments$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectattachments$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}/interconnectAttachments/{interconnectAttachment}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + 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); + } + } + + /** + * Returns the specified interconnect attachment. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Interconnectattachments$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Interconnectattachments$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Interconnectattachments$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Interconnectattachments$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Interconnectattachments$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectattachments$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectattachments$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}/interconnectAttachments/{interconnectAttachment}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + 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); + } + } + + /** + * 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`. + * @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$Interconnectattachments$Insert, + options: StreamMethodOptions + ): GaxiosPromise; + insert( + params?: Params$Resource$Interconnectattachments$Insert, + options?: MethodOptions + ): GaxiosPromise; + insert( + params: Params$Resource$Interconnectattachments$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Interconnectattachments$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Interconnectattachments$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Interconnectattachments$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectattachments$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectattachments$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}/interconnectAttachments' + ).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 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`. + * @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$Interconnectattachments$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Interconnectattachments$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Interconnectattachments$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Interconnectattachments$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Interconnectattachments$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Interconnectattachments$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectattachments$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectattachments$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}/interconnectAttachments' + ).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); + } + } + + /** + * 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/beta/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); + } + } + + /** + * 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/beta/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. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Interconnectattachments$Testiampermissions, + options: StreamMethodOptions + ): GaxiosPromise; + testIamPermissions( + params?: Params$Resource$Interconnectattachments$Testiampermissions, + options?: MethodOptions + ): GaxiosPromise; + testIamPermissions( + params: Params$Resource$Interconnectattachments$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Interconnectattachments$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Interconnectattachments$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Interconnectattachments$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectattachments$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Interconnectattachments$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/beta/projects/{project}/regions/{region}/interconnectAttachments/{resource}/testIamPermissions' + ).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$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. + */ + 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$Interconnectattachments$Delete + extends StandardParameters { + /** + * Name of the interconnect attachment to delete. + */ + interconnectAttachment?: 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 + extends StandardParameters { + /** + * Name of the interconnect attachment to return. + */ + interconnectAttachment?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + export interface Params$Resource$Interconnectattachments$Insert + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; /** * Name of the region for this request. */ - region?: string; + 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; + /** + * If true, the request will not be committed. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$InterconnectAttachment; + } + 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. + */ + 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 interface Params$Resource$Interconnectattachments$Patch + extends StandardParameters { + /** + * Name of the interconnect attachment to patch. + */ + 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$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). + */ + requestId?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetLabelsRequest; + } + export interface Params$Resource$Interconnectattachments$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. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + + export class Resource$Interconnectgroups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Create Interconnects with redundancy by creating them in a specified interconnect 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. + */ + createMembers( + params: Params$Resource$Interconnectgroups$Createmembers, + options: StreamMethodOptions + ): GaxiosPromise; + createMembers( + params?: Params$Resource$Interconnectgroups$Createmembers, + options?: MethodOptions + ): GaxiosPromise; + createMembers( + params: Params$Resource$Interconnectgroups$Createmembers, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + createMembers( + params: Params$Resource$Interconnectgroups$Createmembers, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + createMembers( + params: Params$Resource$Interconnectgroups$Createmembers, + callback: BodyResponseCallback + ): void; + createMembers(callback: BodyResponseCallback): void; + createMembers( + paramsOrCallback?: + | Params$Resource$Interconnectgroups$Createmembers + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectgroups$Createmembers; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectgroups$Createmembers; + 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/interconnectGroups/{interconnectGroup}/createMembers' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'interconnectGroup'], + pathParams: ['interconnectGroup', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + */ + delete( + params: Params$Resource$Interconnectgroups$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Interconnectgroups$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Interconnectgroups$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Interconnectgroups$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Interconnectgroups$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Interconnectgroups$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectgroups$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectgroups$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}/global/interconnectGroups/{interconnectGroup}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'interconnectGroup'], + pathParams: ['interconnectGroup', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + */ + get( + params: Params$Resource$Interconnectgroups$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Interconnectgroups$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Interconnectgroups$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Interconnectgroups$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Interconnectgroups$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Interconnectgroups$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectgroups$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectgroups$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/interconnectGroups/{interconnectGroup}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'interconnectGroup'], + pathParams: ['interconnectGroup', '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$Interconnectgroups$Getiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + getIamPolicy( + params?: Params$Resource$Interconnectgroups$Getiampolicy, + options?: MethodOptions + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Interconnectgroups$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Interconnectgroups$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Interconnectgroups$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Interconnectgroups$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectgroups$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectgroups$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/beta/projects/{project}/global/interconnectGroups/{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); + } + } + + /** + * 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. + */ + getOperationalStatus( + params: Params$Resource$Interconnectgroups$Getoperationalstatus, + options: StreamMethodOptions + ): GaxiosPromise; + getOperationalStatus( + params?: Params$Resource$Interconnectgroups$Getoperationalstatus, + options?: MethodOptions + ): GaxiosPromise; + getOperationalStatus( + params: Params$Resource$Interconnectgroups$Getoperationalstatus, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getOperationalStatus( + params: Params$Resource$Interconnectgroups$Getoperationalstatus, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getOperationalStatus( + params: Params$Resource$Interconnectgroups$Getoperationalstatus, + callback: BodyResponseCallback + ): void; + getOperationalStatus( + callback: BodyResponseCallback + ): void; + getOperationalStatus( + paramsOrCallback?: + | Params$Resource$Interconnectgroups$Getoperationalstatus + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectgroups$Getoperationalstatus; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectgroups$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/beta/projects/{project}/global/interconnectGroups/{interconnectGroup}/getOperationalStatus' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'interconnectGroup'], + pathParams: ['interconnectGroup', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * 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`. + * @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$Interconnectgroups$Insert, + options: StreamMethodOptions + ): GaxiosPromise; + insert( + params?: Params$Resource$Interconnectgroups$Insert, + options?: MethodOptions + ): GaxiosPromise; + insert( + params: Params$Resource$Interconnectgroups$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Interconnectgroups$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Interconnectgroups$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Interconnectgroups$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectgroups$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectgroups$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}/global/interconnectGroups' + ).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); + } + } + + /** + * 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`. + * @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$Interconnectgroups$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Interconnectgroups$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Interconnectgroups$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Interconnectgroups$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Interconnectgroups$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Interconnectgroups$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectgroups$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectgroups$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/interconnectGroups' + ).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 + ); + } + } + + /** + * 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`. + * @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$Interconnectgroups$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Interconnectgroups$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Interconnectgroups$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Interconnectgroups$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Interconnectgroups$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Interconnectgroups$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectgroups$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectgroups$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/beta/projects/{project}/global/interconnectGroups/{interconnectGroup}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'interconnectGroup'], + pathParams: ['interconnectGroup', '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$Interconnectgroups$Setiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + setIamPolicy( + params?: Params$Resource$Interconnectgroups$Setiampolicy, + options?: MethodOptions + ): GaxiosPromise; + setIamPolicy( + params: Params$Resource$Interconnectgroups$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Interconnectgroups$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Interconnectgroups$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Interconnectgroups$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectgroups$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectgroups$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/beta/projects/{project}/global/interconnectGroups/{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); + } + } + /** - * 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. + * 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. */ - returnPartialSuccess?: boolean; + testIamPermissions( + params: Params$Resource$Interconnectgroups$Testiampermissions, + options: StreamMethodOptions + ): GaxiosPromise; + testIamPermissions( + params?: Params$Resource$Interconnectgroups$Testiampermissions, + options?: MethodOptions + ): GaxiosPromise; + testIamPermissions( + params: Params$Resource$Interconnectgroups$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Interconnectgroups$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Interconnectgroups$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Interconnectgroups$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectgroups$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectgroups$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/beta/projects/{project}/global/interconnectGroups/{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$Interconnectattachments$Patch + + export interface Params$Resource$Interconnectgroups$Createmembers extends StandardParameters { /** - * Name of the interconnect attachment to patch. + * Name of the group resource to create members for. */ - interconnectAttachment?: string; + interconnectGroup?: string; /** * Project ID for this request. */ project?: string; + /** - * Name of the region scoping this request. + * Request body metadata */ - region?: string; + requestBody?: Schema$InterconnectGroupsCreateMembersRequest; + } + export interface Params$Resource$Interconnectgroups$Delete + extends StandardParameters { /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating 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 InterconnectGroup resource to delete. + */ + interconnectGroup?: 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$Interconnectgroups$Get + extends StandardParameters { + /** + * Name of the InterconnectGroup resource to return. + */ + interconnectGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + } + export interface Params$Resource$Interconnectgroups$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; + } + export interface Params$Resource$Interconnectgroups$Getoperationalstatus + extends StandardParameters { + /** + * Name of the interconnectGroup resource to query. + */ + interconnectGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + } + export interface Params$Resource$Interconnectgroups$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; /** * Request body metadata */ - requestBody?: Schema$InterconnectAttachment; + requestBody?: Schema$InterconnectGroup; } - export interface Params$Resource$Interconnectattachments$Setlabels + 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. + */ + 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 region 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. */ - region?: string; + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Interconnectgroups$Patch + extends StandardParameters { /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating 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 InterconnectGroup resource to patch. + */ + interconnectGroup?: 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 or id of the resource for this request. + * The list of fields to update. */ - resource?: string; + updateMask?: string; /** * Request body metadata */ - requestBody?: Schema$RegionSetLabelsRequest; + requestBody?: Schema$InterconnectGroup; } - export interface Params$Resource$Interconnectattachments$Testiampermissions + export interface Params$Resource$Interconnectgroups$Setiampolicy extends StandardParameters { /** * Project ID for this request. */ project?: string; /** - * The name of the region for this request. + * Name or id of the resource for this request. */ - region?: string; + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetPolicyRequest; + } + export interface Params$Resource$Interconnectgroups$Testiampermissions + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; /** * Name or id of the resource for this request. */ @@ -59387,6 +62153,93 @@ export namespace compute_beta { 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/beta/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 { @@ -59501,6 +62354,29 @@ export namespace compute_beta { */ 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; @@ -66758,6 +69634,96 @@ export namespace compute_beta { } } + /** + * Requests to remove a peering from the specified network. Applicable only for PeeringConnection with update_strategy=CONSENSUS. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + requestRemovePeering( + params: Params$Resource$Networks$Requestremovepeering, + options: StreamMethodOptions + ): GaxiosPromise; + requestRemovePeering( + params?: Params$Resource$Networks$Requestremovepeering, + options?: MethodOptions + ): GaxiosPromise; + requestRemovePeering( + params: Params$Resource$Networks$Requestremovepeering, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + requestRemovePeering( + params: Params$Resource$Networks$Requestremovepeering, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + requestRemovePeering( + params: Params$Resource$Networks$Requestremovepeering, + callback: BodyResponseCallback + ): void; + requestRemovePeering( + callback: BodyResponseCallback + ): void; + requestRemovePeering( + paramsOrCallback?: + | Params$Resource$Networks$Requestremovepeering + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Networks$Requestremovepeering; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Networks$Requestremovepeering; + 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/networks/{network}/requestRemovePeering' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Switches the network mode from auto subnet mode to custom subnet mode. * @@ -67208,6 +70174,26 @@ export namespace compute_beta { */ requestBody?: Schema$NetworksRemovePeeringRequest; } + export interface Params$Resource$Networks$Requestremovepeering + extends StandardParameters { + /** + * Name of the network resource to remove peering from. + */ + network?: 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; + + /** + * Request body metadata + */ + requestBody?: Schema$NetworksRequestRemovePeeringRequest; + } export interface Params$Resource$Networks$Switchtocustommode extends StandardParameters { /** diff --git a/src/apis/compute/v1.ts b/src/apis/compute/v1.ts index 737b4f2f7f0..8a9c9fd029b 100644 --- a/src/apis/compute/v1.ts +++ b/src/apis/compute/v1.ts @@ -145,7 +145,9 @@ export namespace compute_v1 { instanceSettings: Resource$Instancesettings; instanceTemplates: Resource$Instancetemplates; instantSnapshots: Resource$Instantsnapshots; + interconnectAttachmentGroups: Resource$Interconnectattachmentgroups; interconnectAttachments: Resource$Interconnectattachments; + interconnectGroups: Resource$Interconnectgroups; interconnectLocations: Resource$Interconnectlocations; interconnectRemoteLocations: Resource$Interconnectremotelocations; interconnects: Resource$Interconnects; @@ -262,9 +264,12 @@ export namespace compute_v1 { this.instanceSettings = new Resource$Instancesettings(this.context); this.instanceTemplates = new Resource$Instancetemplates(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 ); @@ -1490,6 +1495,10 @@ export namespace compute_v1 { * 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. */ @@ -1677,7 +1686,7 @@ export namespace compute_v1 { */ connectionTrackingPolicy?: Schema$BackendServiceConnectionTrackingPolicy; /** - * 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. + * 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, HTTP2 or H2C, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. */ consistentHash?: Schema$ConsistentHashLoadBalancerSettings; /** @@ -1757,7 +1766,7 @@ export namespace compute_v1 { */ localityLbPolicies?: Schema$BackendServiceLocalityLoadBalancingPolicyConfig[]; /** - * 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. localityLbPolicy cannot be specified with haPolicy. + * 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, HTTP2 or H2C, 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. localityLbPolicy cannot be specified with haPolicy. */ localityLbPolicy?: string | null; /** @@ -1781,7 +1790,7 @@ export namespace compute_v1 { */ network?: string | null; /** - * 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. + * 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, HTTP2 or H2C, 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. */ outlierDetection?: Schema$OutlierDetection; /** @@ -1793,7 +1802,7 @@ export namespace compute_v1 { */ portName?: string | null; /** - * 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. + * The protocol this BackendService uses to communicate with backends. Possible values are HTTP, HTTPS, HTTP2, H2C, 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. */ protocol?: string | null; /** @@ -2023,6 +2032,26 @@ export namespace compute_v1 { * Specifies whether fast IP move is enabled, and if so, the mechanism to achieve it. Supported values are: - DISABLED: Fast IP Move is disabled. You can only use the haPolicy.leader API to update the leader. - \>GARP_RA: Provides a method to very quickly define a new network endpoint as the leader. This method is faster than updating the leader using the haPolicy.leader API. Fast IP move works as follows: The VM hosting the network endpoint that should become the new leader sends either a Gratuitous ARP (GARP) packet (IPv4) or an ICMPv6 Router Advertisement(RA) packet (IPv6). Google Cloud immediately but temporarily associates the forwarding rule IP address with that VM, and both new and in-flight packets are quickly delivered to that VM. Note the important properties of the Fast IP Move functionality: - The GARP/RA-initiated re-routing stays active for approximately 20 minutes. After triggering fast failover, you must also appropriately set the haPolicy.leader. - The new leader instance should continue to send GARP/RA packets periodically every 10 seconds until at least 10 minutes after updating the haPolicy.leader (but stop immediately if it is no longer the leader). - After triggering a fast failover, we recommend that you wait at least 3 seconds before sending another GARP/RA packet from a different VM instance to avoid race conditions. - Don't send GARP/RA packets from different VM instances at the same time. If multiple instances continue to send GARP/RA packets, traffic might be routed to different destinations in an alternating order. This condition ceases when a single instance issues a GARP/RA packet. - The GARP/RA request always takes priority over the leader API. Using the haPolicy.leader API to change the leader to a different instance will have no effect until the GARP/RA request becomes inactive. - The GARP/RA packets should follow the GARP/RA Packet Specifications.. - When multiple forwarding rules refer to a regional backend service, you need only send a GARP or RA packet for a single forwarding rule virtual IP. The virtual IPs for all forwarding rules targeting the same backend service will also be moved to the sender of the GARP or RA packet. The following are the Fast IP Move limitations (that is, when fastIPMove is not DISABLED): - Multiple forwarding rules cannot use the same IP address if one of them refers to a regional backend service with fastIPMove. - The regional backend service must set the network field, and all NEGs must belong to that network. However, individual NEGs can belong to different subnetworks of that network. - The maximum number of network endpoints across all backends of a backend service with fastIPMove is 64. - The maximum number of backend services with fastIPMove that can have the same network endpoint attached to one of its backends is 64. - The maximum number of backend services with fastIPMove in a VPC in a region is 64. - The network endpoints that are attached to a backend of a backend service with fastIPMove cannot resolve to Gen3+ machines for IPv6. - Traffic directed to the leader by a static route next hop will not be redirected to a new leader by fast failover. Such traffic will only be redirected once an haPolicy.leader update has taken effect. Only traffic to the forwarding rule's virtual IP will be redirected to a new leader by fast failover. haPolicy.fastIPMove can be set only at backend service creation time. Once set, it cannot be updated. By default, fastIpMove is set to DISABLED. */ fastIPMove?: string | null; + /** + * Selects one of the network endpoints attached to the backend NEGs of this service as the active endpoint (the leader) that receives all traffic. When the leader changes, there is no connection draining to persist existing connections on the old leader. You are responsible for selecting a suitable endpoint as the leader. For example, preferring a healthy endpoint over unhealthy ones. Note that this service does not track backend endpoint health, and selects the configured leader unconditionally. + */ + leader?: Schema$BackendServiceHAPolicyLeader; + } + export interface Schema$BackendServiceHAPolicyLeader { + /** + * A fully-qualified URL (starting with https://www.googleapis.com/) of the zonal Network Endpoint Group (NEG) with `GCE_VM_IP` endpoints that the leader is attached to. The leader's backendGroup must already be specified as a backend of this backend service. Removing a backend that is designated as the leader's backendGroup is not permitted. + */ + backendGroup?: string | null; + /** + * The network endpoint within the leader.backendGroup that is designated as the leader. This network endpoint cannot be detached from the NEG specified in the haPolicy.leader.backendGroup until the leader is updated with another network endpoint, or the leader is removed from the haPolicy. + */ + networkEndpoint?: Schema$BackendServiceHAPolicyLeaderNetworkEndpoint; + } + export interface Schema$BackendServiceHAPolicyLeaderNetworkEndpoint { + /** + * The name of the VM instance of the leader network endpoint. The instance must already be attached to the NEG specified in the haPolicy.leader.backendGroup. The name must be 1-63 characters long, and comply with RFC1035. Authorization requires the following IAM permission on the specified resource instance: compute.instances.use + */ + instance?: string | null; } /** * The HTTP cookie used for stateful session affinity. @@ -4117,6 +4146,14 @@ export namespace compute_v1 { * An optional description of this resource. Provide this property when you create the resource. */ description?: string | null; + /** + * 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. + */ + externalManagedBackendBucketMigrationState?: string | null; + /** + * 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. + */ + externalManagedBackendBucketMigrationTestingPercentage?: number | null; /** * 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. */ @@ -7533,6 +7570,10 @@ export namespace compute_v1 { * [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. */ @@ -7618,6 +7659,10 @@ export namespace compute_v1 { * Determines whether this Attachment will carry packets. Not present for PARTNER_PROVIDER. */ adminEnabled?: boolean | null; + /** + * [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 */ @@ -7823,6 +7868,229 @@ export namespace compute_v1 { 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 { + attachmentStatuses?: Schema$InterconnectAttachmentGroupsOperationalStatusAttachmentStatus[]; + configured?: Schema$InterconnectAttachmentGroupConfigured; + /** + * Summarizes the status of the group. + */ + groupStatus?: string | null; + intent?: Schema$InterconnectAttachmentGroupIntent; + /** + * The operational state of the group, including only active Attachments. + */ + operational?: Schema$InterconnectAttachmentGroupConfigured; + } + /** + * The status of one Attachment in the group. List order is arbitrary. + */ + export interface Schema$InterconnectAttachmentGroupsOperationalStatusAttachmentStatus { + /** + * Whether this Attachment is enabled. This becomes false when the customer drains their Attachment. + */ + adminEnabled?: boolean | null; + /** + * The URL of the Attachment being described. + */ + attachment?: string | null; + /** + * Whether this Attachment is participating in the redundant configuration. This will be ACTIVE if and only if the status below is CONNECTION_UP. Any INACTIVE Attachments are excluded from the analysis that generates operational.availabilitySLA. + */ + isActive?: string | null; + /** + * Whether this Attachment is active, and if so, whether BGP is up. This is based on the statuses available in the Pantheon UI here: http://google3/java/com/google/cloud/boq/clientapi/gce/hybrid/api/interconnect_models.proto + */ + status?: string | null; + } /** * Response to the list request, and contains a list of interconnect attachments. */ @@ -8019,6 +8287,290 @@ export namespace compute_v1 { */ 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; + } + export interface Schema$InterconnectGroupsCreateMembers { + /** + * How to behave when configured.topologyCapability.supportedSLA would not equal intent.topologyCapability after this call. + */ + intentMismatchBehavior?: string | null; + interconnects?: Schema$InterconnectGroupsCreateMembersInterconnectInput[]; + /** + * Parameters for the Interconnects to create. + */ + templateInterconnect?: Schema$InterconnectGroupsCreateMembersInterconnectInput; + } + /** + * LINT.IfChange + */ + export interface Schema$InterconnectGroupsCreateMembersInterconnectInput { + /** + * 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; + /** + * Customer name, to put in the Letter of Authorization as the party authorized to request a crossconnect. + */ + customerName?: string | null; + /** + * An optional description of this resource. Provide this property when you create the resource. + */ + description?: string | null; + /** + * A zone-free location to use for all Interconnects created in this call, like "iad-1234". + */ + facility?: 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. + */ + interconnectType?: string | null; + /** + * 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. - LINK_TYPE_ETHERNET_400G_LR4: A 400G Ethernet with LR4 optics. Note that this field indicates the speed of each of the links in the bundle, not the speed of the entire bundle. + */ + linkType?: string | null; + /** + * Name of the Interconnects to be created. This must be specified on the template and/or on each individual interconnect. The name, if not empty, must be 1-63 characters long, and comply with RFC1035. Specifically, any nonempty 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; + /** + * 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. + */ + nocContactEmail?: string | null; + /** + * Indicates that this is a Cross-Cloud Interconnect. This field specifies the location outside of Google's network that the interconnect is connected to. + */ + remoteLocation?: string | null; + /** + * 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. + */ + requestedFeatures?: string[] | null; + /** + * Target number of physical links in the link bundle, as requested by the customer. + */ + requestedLinkCount?: number | null; + } + export interface Schema$InterconnectGroupsCreateMembersRequest { + request?: Schema$InterconnectGroupsCreateMembers; + } + /** + * 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. */ @@ -8434,6 +8986,14 @@ export namespace compute_v1 { * Represents a License resource. A License represents billing and aggregate usage data for public and marketplace images. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. */ export interface Schema$License { + /** + * Specifies licenseCodes of licenses that can replace this license. Note: such replacements are allowed even if removable_from_disk is false. + */ + allowedReplacementLicenses?: string[] | null; + /** + * If true, this license can be appended to an existing disk's set of licenses. + */ + appendableToDisk?: boolean | null; /** * [Output Only] Deprecated. This field no longer reflects whether a license charges a usage fee. */ @@ -8450,6 +9010,10 @@ export namespace compute_v1 { * [Output Only] The unique identifier for the resource. This identifier is defined by the server. */ id?: string | null; + /** + * Specifies licenseCodes of licenses that are incompatible with this license. If a license is incompatible with this license, it cannot be attached to the same disk or image. + */ + incompatibleLicenses?: string[] | null; /** * [Output Only] Type of resource. Always compute#license for licenses. */ @@ -8458,10 +9022,30 @@ export namespace compute_v1 { * [Output Only] The unique code used to attach this license to images, snapshots, and disks. */ licenseCode?: string | null; + /** + * If set, this license will be unable to be removed or replaced once attached to a disk until the minimum_retention period has passed. + */ + minimumRetention?: Schema$Duration; + /** + * If true, this license can only be used on VMs on multi tenant nodes. + */ + multiTenantOnly?: boolean | null; /** * Name of the resource. The name must be 1-63 characters long and comply with RFC1035. */ name?: string | null; + /** + * If true, indicates this is an OS license. Only one OS license can be attached to a disk or image at a time. + */ + osLicense?: boolean | null; + /** + * If true, this license can be removed from a disk's set of licenses, with no replacement license needed. + */ + removableFromDisk?: boolean | null; + /** + * 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. */ @@ -8470,10 +9054,22 @@ export namespace compute_v1 { * [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; + /** + * If true, this license can only be used on VMs on sole tenant nodes. + */ + soleTenantOnly?: boolean | null; /** * If false, licenses will not be copied from the source resource when creating an image from a disk, disk from snapshot, or snapshot from disk. */ transferable?: boolean | null; + /** + * [Output Only] Last update timestamp in RFC3339 text format. + */ + updateTimestamp?: string | null; } /** * Represents a License Code resource. A License Code is a unique identifier used to represent a license resource. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. @@ -8819,10 +9415,6 @@ export namespace compute_v1 { * [Output Only] Name of the resource. */ name?: string | null; - /** - * [Output Only] A list of extended scratch disks assigned to the instance. - */ - scratchDisks?: Array<{diskGb?: number}> | null; /** * [Output Only] Server-defined URL for the resource. */ @@ -11860,7 +12452,7 @@ export namespace compute_v1 { */ selfLink?: string | null; /** - * [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. + * [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 announced and ready to use. - `DELETING` The public delegated prefix is being deprovsioned. */ status?: string | null; } @@ -12631,6 +13223,14 @@ export namespace compute_v1 { * [Output Only] Creation timestamp in RFC3339 text format. */ creationTimestamp?: string | null; + /** + * Duration time relative to reservation creation when Compute Engine will automatically delete this resource. + */ + deleteAfterDuration?: Schema$Duration; + /** + * 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. */ @@ -16600,6 +17200,14 @@ export namespace compute_v1 { * [Output Only] The state of the subnetwork, which can be one of the following values: READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained. A subnetwork that is draining cannot be used or modified until it reaches a status of READY */ state?: string | null; + /** + * Output only. [Output Only] The array of external IPv6 network ranges reserved from the subnetwork's external IPv6 range for system use. + */ + systemReservedExternalIpv6Ranges?: string[] | null; + /** + * Output only. [Output Only] The array of internal IPv6 network ranges reserved from the subnetwork's internal IPv6 range for system use. + */ + systemReservedInternalIpv6Ranges?: string[] | null; } export interface Schema$SubnetworkAggregatedList { /** @@ -16734,6 +17342,20 @@ export namespace compute_v1 { message?: string; } | null; } + export interface Schema$SubnetworksScopedWarning { + /** + * Name of the scope containing this set of Subnetworks. + */ + scopeName?: string | null; + /** + * An informational warning about unreachable scope + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } export interface Schema$SubnetworksSetPrivateIpGoogleAccessRequest { privateIpGoogleAccess?: boolean | null; } @@ -18222,10 +18844,18 @@ export namespace compute_v1 { * [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. */ nextPageToken?: string | null; + /** + * [Output Only] Informational warning messages for failures encountered from scopes. + */ + scopedWarnings?: Schema$SubnetworksScopedWarning[]; /** * [Output Only] Server-defined URL for this resource. */ selfLink?: string | null; + /** + * [Output Only] Unreachable resources. + */ + unreachables?: string[] | null; /** * [Output Only] Informational warning message. */ @@ -49407,71 +50037,159 @@ export namespace compute_v1 { requestBody?: Schema$TestPermissionsRequest; } - export class Resource$Interconnectattachments { + export class Resource$Interconnectattachmentgroups { 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 InterconnectAttachmentGroup 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$Interconnectattachmentgroups$Delete, options: StreamMethodOptions ): GaxiosPromise; - aggregatedList( - params?: Params$Resource$Interconnectattachments$Aggregatedlist, + delete( + params?: Params$Resource$Interconnectattachmentgroups$Delete, options?: MethodOptions - ): GaxiosPromise; - aggregatedList( - params: Params$Resource$Interconnectattachments$Aggregatedlist, + ): GaxiosPromise; + delete( + params: Params$Resource$Interconnectattachmentgroups$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Interconnectattachments$Aggregatedlist, + delete( + params: Params$Resource$Interconnectattachmentgroups$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Interconnectattachmentgroups$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Interconnectattachmentgroups$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectattachmentgroups$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectattachmentgroups$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}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'interconnectAttachmentGroup'], + pathParams: ['interconnectAttachmentGroup', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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`. + * @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$Interconnectattachmentgroups$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Interconnectattachmentgroups$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Interconnectattachmentgroups$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Interconnectattachmentgroups$Get, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Interconnectattachments$Aggregatedlist, - callback: BodyResponseCallback + get( + params: Params$Resource$Interconnectattachmentgroups$Get, + callback: BodyResponseCallback ): void; - aggregatedList( - callback: BodyResponseCallback + get( + callback: BodyResponseCallback ): void; - aggregatedList( + get( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Aggregatedlist - | 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$Interconnectattachments$Aggregatedlist; + {}) as Params$Resource$Interconnectattachmentgroups$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Aggregatedlist; + params = {} as Params$Resource$Interconnectattachmentgroups$Get; options = {}; } @@ -49486,7 +50204,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/aggregated/interconnectAttachments' + '/compute/v1/projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -49494,74 +50212,73 @@ export namespace compute_v1 { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'interconnectAttachmentGroup'], + pathParams: ['interconnectAttachmentGroup', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Deletes 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. */ - delete( - params: Params$Resource$Interconnectattachments$Delete, + getIamPolicy( + params: Params$Resource$Interconnectattachmentgroups$Getiampolicy, options: StreamMethodOptions ): GaxiosPromise; - delete( - params?: Params$Resource$Interconnectattachments$Delete, + getIamPolicy( + params?: Params$Resource$Interconnectattachmentgroups$Getiampolicy, options?: MethodOptions - ): GaxiosPromise; - delete( - params: Params$Resource$Interconnectattachments$Delete, + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Interconnectattachmentgroups$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Interconnectattachments$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Interconnectattachmentgroups$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Interconnectattachments$Delete, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Interconnectattachmentgroups$Getiampolicy, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Delete - | BodyResponseCallback + | Params$Resource$Interconnectattachmentgroups$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$Delete; + {}) as Params$Resource$Interconnectattachmentgroups$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Delete; + params = + {} as Params$Resource$Interconnectattachmentgroups$Getiampolicy; options = {}; } @@ -49576,85 +50293,88 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}' + '/compute/v1/projects/{project}/global/interconnectAttachmentGroups/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'GET', apiVersion: '', }, 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); } } /** - * Returns the specified interconnect attachment. + * 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. */ - get( - params: Params$Resource$Interconnectattachments$Get, + getOperationalStatus( + params: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, options: StreamMethodOptions ): GaxiosPromise; - get( - params?: Params$Resource$Interconnectattachments$Get, + getOperationalStatus( + params?: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, options?: MethodOptions - ): GaxiosPromise; - get( - params: Params$Resource$Interconnectattachments$Get, + ): GaxiosPromise; + getOperationalStatus( + params: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Interconnectattachments$Get, + getOperationalStatus( + params: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Interconnectattachments$Get, - callback: BodyResponseCallback + getOperationalStatus( + params: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + getOperationalStatus( + callback: BodyResponseCallback + ): void; + getOperationalStatus( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Get - | BodyResponseCallback + | Params$Resource$Interconnectattachmentgroups$Getoperationalstatus + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Get; + {}) as Params$Resource$Interconnectattachmentgroups$Getoperationalstatus; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Get; + params = + {} as Params$Resource$Interconnectattachmentgroups$Getoperationalstatus; options = {}; } @@ -49669,7 +50389,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}' + '/compute/v1/projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}/getOperationalStatus' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -49677,22 +50397,24 @@ export namespace compute_v1 { options ), params, - requiredParams: ['project', 'region', 'interconnectAttachment'], - pathParams: ['interconnectAttachment', 'project', 'region'], + requiredParams: ['project', 'interconnectAttachmentGroup'], + pathParams: ['interconnectAttachmentGroup', '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 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`. @@ -49700,31 +50422,31 @@ export namespace compute_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Interconnectattachments$Insert, + params: Params$Resource$Interconnectattachmentgroups$Insert, options: StreamMethodOptions ): GaxiosPromise; insert( - params?: Params$Resource$Interconnectattachments$Insert, + params?: Params$Resource$Interconnectattachmentgroups$Insert, options?: MethodOptions ): GaxiosPromise; insert( - params: Params$Resource$Interconnectattachments$Insert, + params: Params$Resource$Interconnectattachmentgroups$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Interconnectattachments$Insert, + params: Params$Resource$Interconnectattachmentgroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Interconnectattachments$Insert, + params: Params$Resource$Interconnectattachmentgroups$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Insert + | Params$Resource$Interconnectattachmentgroups$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -49737,12 +50459,12 @@ export namespace compute_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Insert; + {}) as Params$Resource$Interconnectattachmentgroups$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Insert; + params = {} as Params$Resource$Interconnectattachmentgroups$Insert; options = {}; } @@ -49757,7 +50479,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/interconnectAttachments' + '/compute/v1/projects/{project}/global/interconnectAttachmentGroups' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -49765,8 +50487,8 @@ export namespace compute_v1 { options ), params, - requiredParams: ['project', 'region'], - pathParams: ['project', 'region'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { @@ -49780,7 +50502,7 @@ export namespace compute_v1 { } /** - * Retrieves the list of interconnect attachments contained within the specified region. + * 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`. @@ -49788,56 +50510,56 @@ export namespace compute_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Interconnectattachments$List, + params: Params$Resource$Interconnectattachmentgroups$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Interconnectattachments$List, + params?: Params$Resource$Interconnectattachmentgroups$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Interconnectattachments$List, + params: Params$Resource$Interconnectattachmentgroups$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Interconnectattachments$List, + params: Params$Resource$Interconnectattachmentgroups$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Interconnectattachments$List, - callback: BodyResponseCallback + params: Params$Resource$Interconnectattachmentgroups$List, + callback: BodyResponseCallback ): void; list( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; list( paramsOrCallback?: - | Params$Resource$Interconnectattachments$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$Interconnectattachments$List; + {}) as Params$Resource$Interconnectattachmentgroups$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$List; + params = {} as Params$Resource$Interconnectattachmentgroups$List; options = {}; } @@ -49852,7 +50574,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/interconnectAttachments' + '/compute/v1/projects/{project}/global/interconnectAttachmentGroups' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -49860,22 +50582,24 @@ export namespace compute_v1 { 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 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`. @@ -49883,31 +50607,31 @@ export namespace compute_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ patch( - params: Params$Resource$Interconnectattachments$Patch, + params: Params$Resource$Interconnectattachmentgroups$Patch, options: StreamMethodOptions ): GaxiosPromise; patch( - params?: Params$Resource$Interconnectattachments$Patch, + params?: Params$Resource$Interconnectattachmentgroups$Patch, options?: MethodOptions ): GaxiosPromise; patch( - params: Params$Resource$Interconnectattachments$Patch, + params: Params$Resource$Interconnectattachmentgroups$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Interconnectattachments$Patch, + params: Params$Resource$Interconnectattachmentgroups$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Interconnectattachments$Patch, + params: Params$Resource$Interconnectattachmentgroups$Patch, callback: BodyResponseCallback ): void; patch(callback: BodyResponseCallback): void; patch( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Patch + | Params$Resource$Interconnectattachmentgroups$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -49920,12 +50644,12 @@ export namespace compute_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Patch; + {}) as Params$Resource$Interconnectattachmentgroups$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Patch; + params = {} as Params$Resource$Interconnectattachmentgroups$Patch; options = {}; } @@ -49940,7 +50664,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}' + '/compute/v1/projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'PATCH', apiVersion: '', @@ -49948,8 +50672,8 @@ export namespace compute_v1 { options ), params, - requiredParams: ['project', 'region', 'interconnectAttachment'], - pathParams: ['interconnectAttachment', 'project', 'region'], + requiredParams: ['project', 'interconnectAttachmentGroup'], + pathParams: ['interconnectAttachmentGroup', 'project'], context: this.context, }; if (callback) { @@ -49963,57 +50687,58 @@ export namespace compute_v1 { } /** - * Sets the labels on an InterconnectAttachment. To learn more about labels, read the Labeling Resources documentation. + * 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. */ - setLabels( - params: Params$Resource$Interconnectattachments$Setlabels, + setIamPolicy( + params: Params$Resource$Interconnectattachmentgroups$Setiampolicy, options: StreamMethodOptions ): GaxiosPromise; - setLabels( - params?: Params$Resource$Interconnectattachments$Setlabels, + setIamPolicy( + params?: Params$Resource$Interconnectattachmentgroups$Setiampolicy, options?: MethodOptions - ): GaxiosPromise; - setLabels( - params: Params$Resource$Interconnectattachments$Setlabels, + ): GaxiosPromise; + setIamPolicy( + params: Params$Resource$Interconnectattachmentgroups$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setLabels( - params: Params$Resource$Interconnectattachments$Setlabels, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Interconnectattachmentgroups$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setLabels( - params: Params$Resource$Interconnectattachments$Setlabels, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Interconnectattachmentgroups$Setiampolicy, + callback: BodyResponseCallback ): void; - setLabels(callback: BodyResponseCallback): void; - setLabels( + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Setlabels - | BodyResponseCallback + | Params$Resource$Interconnectattachmentgroups$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$Interconnectattachments$Setlabels; + {}) as Params$Resource$Interconnectattachmentgroups$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Setlabels; + params = + {} as Params$Resource$Interconnectattachmentgroups$Setiampolicy; options = {}; } @@ -50028,7 +50753,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels' + '/compute/v1/projects/{project}/global/interconnectAttachmentGroups/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -50036,115 +50761,186 @@ export namespace compute_v1 { options ), params, - requiredParams: ['project', 'region', 'resource'], - pathParams: ['project', 'region', 'resource'], + 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$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. + * 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. */ - filter?: string; + testIamPermissions( + params: Params$Resource$Interconnectattachmentgroups$Testiampermissions, + options: StreamMethodOptions + ): GaxiosPromise; + testIamPermissions( + params?: Params$Resource$Interconnectattachmentgroups$Testiampermissions, + options?: MethodOptions + ): GaxiosPromise; + testIamPermissions( + params: Params$Resource$Interconnectattachmentgroups$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Interconnectattachmentgroups$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Interconnectattachmentgroups$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Interconnectattachmentgroups$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectattachmentgroups$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Interconnectattachmentgroups$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/v1/projects/{project}/global/interconnectAttachmentGroups/{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$Interconnectattachmentgroups$Delete + extends StandardParameters { /** - * 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. + * Name of the InterconnectAttachmentGroup resource to delete. */ - includeAllScopes?: boolean; + interconnectAttachmentGroup?: 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`) + * Project ID for this request. */ - maxResults?: number; + project?: string; /** - * 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. + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating 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 */ - orderBy?: string; + requestId?: string; + } + export interface Params$Resource$Interconnectattachmentgroups$Get + extends StandardParameters { /** - * 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 InterconnectAttachmentGroup resource to return. */ - pageToken?: string; + interconnectAttachmentGroup?: 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$Interconnectattachments$Delete + export interface Params$Resource$Interconnectattachmentgroups$Getiampolicy extends StandardParameters { /** - * Name of the interconnect attachment to delete. + * Requested IAM Policy version. */ - interconnectAttachment?: string; + optionsRequestedPolicyVersion?: number; /** * 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). + * Name or id of the resource for this request. */ - requestId?: string; + resource?: string; } - export interface Params$Resource$Interconnectattachments$Get + export interface Params$Resource$Interconnectattachmentgroups$Getoperationalstatus extends StandardParameters { /** - * Name of the interconnect attachment to return. + * Name of the interconnectAttachmentGroup resource to query. */ - interconnectAttachment?: string; + interconnectAttachmentGroup?: string; /** * Project ID for this request. */ project?: string; - /** - * Name of the region for this request. - */ - region?: string; } - export interface Params$Resource$Interconnectattachments$Insert + export interface Params$Resource$Interconnectattachmentgroups$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$InterconnectAttachmentGroup; } - export interface Params$Resource$Interconnectattachments$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. @@ -50166,53 +50962,1941 @@ export namespace compute_v1 { * 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$Interconnectattachmentgroups$Patch + extends StandardParameters { + /** + * Name of the InterconnectAttachmentGroup resource to patch. + */ + 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). end_interface: MixerMutationRequestBuilder + */ + requestId?: string; + /** + * The list of fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InterconnectAttachmentGroup; + } + export interface Params$Resource$Interconnectattachmentgroups$Setiampolicy + 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$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 + */ + requestBody?: Schema$TestPermissionsRequest; + } + + export class Resource$Interconnectattachments { + 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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, + options: StreamMethodOptions + ): GaxiosPromise; + aggregatedList( + params?: Params$Resource$Interconnectattachments$Aggregatedlist, + options?: MethodOptions + ): GaxiosPromise; + aggregatedList( + params: Params$Resource$Interconnectattachments$Aggregatedlist, + 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 + ): void; + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( + paramsOrCallback?: + | Params$Resource$Interconnectattachments$Aggregatedlist + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectattachments$Aggregatedlist; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectattachments$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/interconnectAttachments' + ).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 interconnect attachment. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Interconnectattachments$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Interconnectattachments$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Interconnectattachments$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Interconnectattachments$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Interconnectattachments$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectattachments$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectattachments$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}/regions/{region}/interconnectAttachments/{interconnectAttachment}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + 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); + } + } + + /** + * Returns the specified interconnect attachment. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Interconnectattachments$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Interconnectattachments$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Interconnectattachments$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Interconnectattachments$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Interconnectattachments$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectattachments$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectattachments$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}/regions/{region}/interconnectAttachments/{interconnectAttachment}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + 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); + } + } + + /** + * 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`. + * @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$Interconnectattachments$Insert, + options: StreamMethodOptions + ): GaxiosPromise; + insert( + params?: Params$Resource$Interconnectattachments$Insert, + options?: MethodOptions + ): GaxiosPromise; + insert( + params: Params$Resource$Interconnectattachments$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Interconnectattachments$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Interconnectattachments$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Interconnectattachments$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectattachments$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectattachments$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}/regions/{region}/interconnectAttachments' + ).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 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`. + * @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$Interconnectattachments$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Interconnectattachments$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Interconnectattachments$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Interconnectattachments$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Interconnectattachments$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Interconnectattachments$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectattachments$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectattachments$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}/regions/{region}/interconnectAttachments' + ).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); + } + } + + /** + * 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/v1/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); + } + } + + /** + * 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/v1/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); + } + } + } + + 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. + */ + 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$Interconnectattachments$Delete + extends StandardParameters { + /** + * Name of the interconnect attachment to delete. + */ + interconnectAttachment?: 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 + extends StandardParameters { + /** + * Name of the interconnect attachment to return. + */ + interconnectAttachment?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + export interface Params$Resource$Interconnectattachments$Insert + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; /** * Name of the region for this request. */ - region?: string; + 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; + /** + * If true, the request will not be committed. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$InterconnectAttachment; + } + 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. + */ + 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 interface Params$Resource$Interconnectattachments$Patch + extends StandardParameters { + /** + * Name of the interconnect attachment to patch. + */ + 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$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). + */ + requestId?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetLabelsRequest; + } + + export class Resource$Interconnectgroups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Create Interconnects with redundancy by creating them in a specified interconnect 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. + */ + createMembers( + params: Params$Resource$Interconnectgroups$Createmembers, + options: StreamMethodOptions + ): GaxiosPromise; + createMembers( + params?: Params$Resource$Interconnectgroups$Createmembers, + options?: MethodOptions + ): GaxiosPromise; + createMembers( + params: Params$Resource$Interconnectgroups$Createmembers, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + createMembers( + params: Params$Resource$Interconnectgroups$Createmembers, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + createMembers( + params: Params$Resource$Interconnectgroups$Createmembers, + callback: BodyResponseCallback + ): void; + createMembers(callback: BodyResponseCallback): void; + createMembers( + paramsOrCallback?: + | Params$Resource$Interconnectgroups$Createmembers + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectgroups$Createmembers; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectgroups$Createmembers; + 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/interconnectGroups/{interconnectGroup}/createMembers' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'interconnectGroup'], + pathParams: ['interconnectGroup', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + */ + delete( + params: Params$Resource$Interconnectgroups$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Interconnectgroups$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Interconnectgroups$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Interconnectgroups$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Interconnectgroups$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Interconnectgroups$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectgroups$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectgroups$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}/global/interconnectGroups/{interconnectGroup}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'interconnectGroup'], + pathParams: ['interconnectGroup', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + */ + get( + params: Params$Resource$Interconnectgroups$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Interconnectgroups$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Interconnectgroups$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Interconnectgroups$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Interconnectgroups$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Interconnectgroups$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectgroups$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectgroups$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/interconnectGroups/{interconnectGroup}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'interconnectGroup'], + pathParams: ['interconnectGroup', '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$Interconnectgroups$Getiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + getIamPolicy( + params?: Params$Resource$Interconnectgroups$Getiampolicy, + options?: MethodOptions + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Interconnectgroups$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Interconnectgroups$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Interconnectgroups$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Interconnectgroups$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectgroups$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectgroups$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/v1/projects/{project}/global/interconnectGroups/{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); + } + } + + /** + * 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. + */ + getOperationalStatus( + params: Params$Resource$Interconnectgroups$Getoperationalstatus, + options: StreamMethodOptions + ): GaxiosPromise; + getOperationalStatus( + params?: Params$Resource$Interconnectgroups$Getoperationalstatus, + options?: MethodOptions + ): GaxiosPromise; + getOperationalStatus( + params: Params$Resource$Interconnectgroups$Getoperationalstatus, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getOperationalStatus( + params: Params$Resource$Interconnectgroups$Getoperationalstatus, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getOperationalStatus( + params: Params$Resource$Interconnectgroups$Getoperationalstatus, + callback: BodyResponseCallback + ): void; + getOperationalStatus( + callback: BodyResponseCallback + ): void; + getOperationalStatus( + paramsOrCallback?: + | Params$Resource$Interconnectgroups$Getoperationalstatus + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectgroups$Getoperationalstatus; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectgroups$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/v1/projects/{project}/global/interconnectGroups/{interconnectGroup}/getOperationalStatus' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'interconnectGroup'], + pathParams: ['interconnectGroup', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * 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`. + * @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$Interconnectgroups$Insert, + options: StreamMethodOptions + ): GaxiosPromise; + insert( + params?: Params$Resource$Interconnectgroups$Insert, + options?: MethodOptions + ): GaxiosPromise; + insert( + params: Params$Resource$Interconnectgroups$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Interconnectgroups$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Interconnectgroups$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Interconnectgroups$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectgroups$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectgroups$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}/global/interconnectGroups' + ).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); + } + } + + /** + * 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`. + * @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$Interconnectgroups$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Interconnectgroups$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Interconnectgroups$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Interconnectgroups$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Interconnectgroups$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Interconnectgroups$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectgroups$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectgroups$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/interconnectGroups' + ).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 + ); + } + } + + /** + * 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`. + * @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$Interconnectgroups$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Interconnectgroups$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Interconnectgroups$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Interconnectgroups$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Interconnectgroups$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Interconnectgroups$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectgroups$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectgroups$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/v1/projects/{project}/global/interconnectGroups/{interconnectGroup}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'interconnectGroup'], + pathParams: ['interconnectGroup', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** - * 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. + * 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. */ - returnPartialSuccess?: boolean; + setIamPolicy( + params: Params$Resource$Interconnectgroups$Setiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + setIamPolicy( + params?: Params$Resource$Interconnectgroups$Setiampolicy, + options?: MethodOptions + ): GaxiosPromise; + setIamPolicy( + params: Params$Resource$Interconnectgroups$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Interconnectgroups$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Interconnectgroups$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Interconnectgroups$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectgroups$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectgroups$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/v1/projects/{project}/global/interconnectGroups/{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); + } + } + + /** + * 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$Interconnectgroups$Testiampermissions, + options: StreamMethodOptions + ): GaxiosPromise; + testIamPermissions( + params?: Params$Resource$Interconnectgroups$Testiampermissions, + options?: MethodOptions + ): GaxiosPromise; + testIamPermissions( + params: Params$Resource$Interconnectgroups$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Interconnectgroups$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Interconnectgroups$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Interconnectgroups$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectgroups$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectgroups$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/v1/projects/{project}/global/interconnectGroups/{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$Interconnectattachments$Patch + + export interface Params$Resource$Interconnectgroups$Createmembers extends StandardParameters { /** - * Name of the interconnect attachment to patch. + * Name of the group resource to create members for. */ - interconnectAttachment?: string; + interconnectGroup?: string; /** * Project ID for this request. */ project?: string; + /** - * Name of the region scoping this request. + * Request body metadata */ - region?: string; + requestBody?: Schema$InterconnectGroupsCreateMembersRequest; + } + export interface Params$Resource$Interconnectgroups$Delete + extends StandardParameters { /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating 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 InterconnectGroup resource to delete. + */ + interconnectGroup?: 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$Interconnectgroups$Get + extends StandardParameters { + /** + * Name of the InterconnectGroup resource to return. + */ + interconnectGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + } + export interface Params$Resource$Interconnectgroups$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; + } + export interface Params$Resource$Interconnectgroups$Getoperationalstatus + extends StandardParameters { + /** + * Name of the interconnectGroup resource to query. + */ + interconnectGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + } + export interface Params$Resource$Interconnectgroups$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; /** * Request body metadata */ - requestBody?: Schema$InterconnectAttachment; + requestBody?: Schema$InterconnectGroup; } - export interface Params$Resource$Interconnectattachments$Setlabels + 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. + */ + 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 region 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. */ - region?: string; + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Interconnectgroups$Patch + extends StandardParameters { /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating 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 InterconnectGroup resource to patch. + */ + interconnectGroup?: 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; + /** + * The list of fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InterconnectGroup; + } + export interface Params$Resource$Interconnectgroups$Setiampolicy + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; /** * Name or id of the resource for this request. */ @@ -50221,7 +52905,23 @@ export namespace compute_v1 { /** * Request body metadata */ - requestBody?: Schema$RegionSetLabelsRequest; + requestBody?: Schema$GlobalSetPolicyRequest; + } + export interface Params$Resource$Interconnectgroups$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$Interconnectlocations { @@ -52392,6 +55092,93 @@ export namespace compute_v1 { 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/v1/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 { @@ -52506,6 +55293,29 @@ export namespace compute_v1 { */ 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; diff --git a/src/apis/dataflow/v1b3.ts b/src/apis/dataflow/v1b3.ts index 4f37590599c..f6c3a2aee34 100644 --- a/src/apis/dataflow/v1b3.ts +++ b/src/apis/dataflow/v1b3.ts @@ -4606,7 +4606,7 @@ export namespace dataflow_v1b3 { } /** - * Creates a Cloud Dataflow job. To create a job, we recommend using `projects.locations.jobs.create` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.create` is not recommended, as your job will always start in `us-central1`. Do not enter confidential information when you supply string values using the API. + * A Job is a multi-stage computation graph run by the Cloud Dataflow service. Creates a Cloud Dataflow job. To create a job, we recommend using `projects.locations.jobs.create` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.create` is not recommended, as your job will always start in `us-central1`. Do not enter confidential information when you supply string values using the API. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -6163,7 +6163,7 @@ export namespace dataflow_v1b3 { } /** - * Creates a Cloud Dataflow job. To create a job, we recommend using `projects.locations.jobs.create` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.create` is not recommended, as your job will always start in `us-central1`. Do not enter confidential information when you supply string values using the API. + * A Job is a multi-stage computation graph run by the Cloud Dataflow service. Creates a Cloud Dataflow job. To create a job, we recommend using `projects.locations.jobs.create` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.create` is not recommended, as your job will always start in `us-central1`. Do not enter confidential information when you supply string values using the API. * * @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 b6162037d1d..b3131eb8feb 100644 --- a/src/apis/dataplex/v1.ts +++ b/src/apis/dataplex/v1.ts @@ -371,7 +371,7 @@ export namespace dataplex_v1 { updateTime?: string | null; } /** - * Autorization for an AspectType. + * Authorization for an AspectType. */ export interface Schema$GoogleCloudDataplexV1AspectTypeAuthorization { /** @@ -2515,6 +2515,48 @@ export namespace dataplex_v1 { */ updateTime?: string | null; } + /** + * EntryLink represents a link between two entries. + */ + export interface Schema$GoogleCloudDataplexV1EntryLink { + /** + * Output only. The time when the Entry Link was created. + */ + createTime?: string | null; + /** + * Required. Immutable. Relative resource name of the Entry Link Type used to create this Entry Link, of the form: projects/{project\}/locations/{location\}/entryLinkTypes/{entry_link_type\}. + */ + entryLinkType?: string | null; + /** + * Required. Specifies the entries referenced in the entry link. There should be exactly two entry references. + */ + entryReferences?: Schema$GoogleCloudDataplexV1EntryLinkEntryReference[]; + /** + * Output only. Immutable. Identifier. The relative resource name of the Entry Link, of the form: projects/{project\}/locations/{location\}/entryGroups/{entry_group\}/entryLinks/{entry_link\}. + */ + name?: string | null; + /** + * Output only. The time when the Entry Link was last updated. + */ + updateTime?: string | null; + } + /** + * Reference to the Entry that is linked through the entry link. + */ + export interface Schema$GoogleCloudDataplexV1EntryLinkEntryReference { + /** + * Required. Immutable. The relative resource name of the referenced entry, of the form: projects/{project\}/locations/{location\}/entryGroups/{entryGroup\}/entries/{entry\}. + */ + name?: string | null; + /** + * Immutable. The path in the entry that is referenced in the entry link. Empty path denotes that the entry itself is referenced in the entry link. + */ + path?: string | null; + /** + * Required. Immutable. The reference type of the entry. + */ + type?: string | null; + } /** * Payload associated with Entry related log events. */ @@ -2814,6 +2856,125 @@ export namespace dataplex_v1 { */ rule?: Schema$GoogleCloudDataplexV1DataQualityRule[]; } + /** + * A Glossary represents a collection of categories and terms defined by the user. Glossary is a top level resource and is the GCP parent resource of all the categories and terms within it. + */ + export interface Schema$GoogleCloudDataplexV1Glossary { + /** + * Output only. The number of categories in the glossary. + */ + categoryCount?: number | null; + /** + * Output only. The time at which the glossary was created. + */ + createTime?: string | null; + /** + * Optional. The user-mutable description of the glossary. + */ + description?: string | null; + /** + * Optional. User friendly display name of the glossary. This is user-mutable. This will be same as the glossaryId, if not specified. + */ + displayName?: string | null; + /** + * Optional. Needed for resource freshness validation. 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. User-defined labels for the Glossary. + */ + labels?: {[key: string]: string} | null; + /** + * Output only. Identifier. The resource name of the Glossary. Format: projects/{projectId\}/locations/{locationId\}/glossaries/{glossaryId\} + */ + name?: string | null; + /** + * Output only. The number of terms in the glossary. + */ + termCount?: number | null; + /** + * Output only. System generated unique id for the Glossary. This ID will be different if the Glossary is deleted and re-created with the same name. + */ + uid?: string | null; + /** + * Output only. The time at which the glossary was last updated. + */ + updateTime?: string | null; + } + /** + * A GlossaryCategory represents a collection of categories and terms within a Glossary that are related to each other. + */ + export interface Schema$GoogleCloudDataplexV1GlossaryCategory { + /** + * Output only. The time at which the GlossaryCategory was created. + */ + createTime?: string | null; + /** + * Optional. The user-mutable description of the GlossaryCategory. + */ + description?: string | null; + /** + * Optional. User friendly display name of the GlossaryCategory. This is user-mutable. This will be same as the categoryId, if not specified. + */ + displayName?: string | null; + /** + * Optional. User-defined labels for the GlossaryCategory. + */ + labels?: {[key: string]: string} | null; + /** + * Output only. Identifier. The resource name of the GlossaryCategory. Format: projects/{projectId\}/locations/{locationId\}/glossaries/{glossaryId\}/categories/{categoryId\} + */ + name?: string | null; + /** + * Required. The immediate parent of the GlossaryCategory in the resource-hierarchy. It can either be a Glossary or a Category. Format: projects/{projectId\}/locations/{locationId\}/glossaries/{glossaryId\} OR projects/{projectId\}/locations/{locationId\}/glossaries/{glossaryId\}/categories/{categoryId\} + */ + parent?: string | null; + /** + * Output only. System generated unique id for the GlossaryCategory. This ID will be different if the GlossaryCategory is deleted and re-created with the same name. + */ + uid?: string | null; + /** + * Output only. The time at which the GlossaryCategory was last updated. + */ + updateTime?: string | null; + } + /** + * GlossaryTerms are the core of glossary. A GlossaryTerm holds a rich text description that can be attached to entries or specific columns to enrich them. + */ + export interface Schema$GoogleCloudDataplexV1GlossaryTerm { + /** + * Output only. The time at which the GlossaryTerm was created. + */ + createTime?: string | null; + /** + * Optional. The user-mutable description of the GlossaryTerm. + */ + description?: string | null; + /** + * Optional. User friendly display name of the GlossaryTerm. This is user-mutable. This will be same as the termId, if not specified. + */ + displayName?: string | null; + /** + * Optional. User-defined labels for the GlossaryTerm. + */ + labels?: {[key: string]: string} | null; + /** + * Output only. Identifier. The resource name of the GlossaryTerm. Format: projects/{projectId\}/locations/{locationId\}/glossaries/{glossaryId\}/terms/{termId\} + */ + name?: string | null; + /** + * Required. The immediate parent of the GlossaryTerm in the resource-hierarchy. It can either be a Glossary or a Category. Format: projects/{projectId\}/locations/{locationId\}/glossaries/{glossaryId\} OR projects/{projectId\}/locations/{locationId\}/glossaries/{glossaryId\}/categories/{categoryId\} + */ + parent?: string | null; + /** + * Output only. System generated unique id for the GlossaryTerm. This ID will be different if the GlossaryTerm is deleted and re-created with the same name. + */ + uid?: string | null; + /** + * Output only. The time at which the GlossaryTerm was last updated. + */ + updateTime?: string | null; + } /** * Payload associated with Governance related log events. */ @@ -3269,6 +3430,57 @@ export namespace dataplex_v1 { */ nextPageToken?: string | null; } + /** + * List Glossaries Response + */ + export interface Schema$GoogleCloudDataplexV1ListGlossariesResponse { + /** + * Lists the glossaries in the specified parent. + */ + glossaries?: Schema$GoogleCloudDataplexV1Glossary[]; + /** + * 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; + /** + * Locations that the service couldn't reach. + */ + unreachableLocations?: string[] | null; + } + /** + * List GlossaryCategories Response + */ + export interface Schema$GoogleCloudDataplexV1ListGlossaryCategoriesResponse { + /** + * Lists the glossaryCategories in the specified parent. + */ + categories?: Schema$GoogleCloudDataplexV1GlossaryCategory[]; + /** + * 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; + /** + * Locations that the service couldn't reach. + */ + unreachableLocations?: string[] | null; + } + /** + * List GlossaryTerms Response + */ + export interface Schema$GoogleCloudDataplexV1ListGlossaryTermsResponse { + /** + * 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; + /** + * Lists the terms in the specified parent. + */ + terms?: Schema$GoogleCloudDataplexV1GlossaryTerm[]; + /** + * Locations that the service couldn't reach. + */ + unreachableLocations?: string[] | null; + } /** * List jobs response. */ @@ -6400,6 +6612,10 @@ export namespace dataplex_v1 { * Optional. The scope under which the search should be operating. It must either be organizations/ or projects/. If it is unspecified, it defaults to the organization where the project provided in name is located. */ scope?: string; + /** + * Optional. Internal only. + */ + semanticSearch?: boolean; } export class Resource$Projects$Locations$Aspecttypes { @@ -11376,11 +11592,15 @@ export namespace dataplex_v1 { export class Resource$Projects$Locations$Entrygroups { context: APIRequestContext; entries: Resource$Projects$Locations$Entrygroups$Entries; + entryLinks: Resource$Projects$Locations$Entrygroups$Entrylinks; constructor(context: APIRequestContext) { this.context = context; this.entries = new Resource$Projects$Locations$Entrygroups$Entries( this.context ); + this.entryLinks = new Resource$Projects$Locations$Entrygroups$Entrylinks( + this.context + ); } /** @@ -12827,70 +13047,72 @@ export namespace dataplex_v1 { requestBody?: Schema$GoogleCloudDataplexV1Entry; } - export class Resource$Projects$Locations$Entrylinktypes { + export class Resource$Projects$Locations$Entrygroups$Entrylinks { 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 an Entry Link. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `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$Entrylinktypes$Getiampolicy, + create( + params: Params$Resource$Projects$Locations$Entrygroups$Entrylinks$Create, options: StreamMethodOptions ): GaxiosPromise; - getIamPolicy( - params?: Params$Resource$Projects$Locations$Entrylinktypes$Getiampolicy, + create( + params?: Params$Resource$Projects$Locations$Entrygroups$Entrylinks$Create, options?: MethodOptions - ): GaxiosPromise; - getIamPolicy( - params: Params$Resource$Projects$Locations$Entrylinktypes$Getiampolicy, + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Entrygroups$Entrylinks$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Entrylinktypes$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Entrygroups$Entrylinks$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Entrylinktypes$Getiampolicy, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Entrygroups$Entrylinks$Create, + callback: BodyResponseCallback ): void; - getIamPolicy( - callback: BodyResponseCallback + create( + callback: BodyResponseCallback ): void; - getIamPolicy( + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Entrylinktypes$Getiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Entrygroups$Entrylinks$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$Entrylinktypes$Getiampolicy; + {}) as Params$Resource$Projects$Locations$Entrygroups$Entrylinks$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Entrylinktypes$Getiampolicy; + {} as Params$Resource$Projects$Locations$Entrygroups$Entrylinks$Create; options = {}; } @@ -12903,88 +13125,92 @@ export namespace dataplex_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( + url: (rootUrl + '/v1/{+parent}/entryLinks').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 an Entry Link. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `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$Entrylinktypes$Setiampolicy, + delete( + params: Params$Resource$Projects$Locations$Entrygroups$Entrylinks$Delete, options: StreamMethodOptions ): GaxiosPromise; - setIamPolicy( - params?: Params$Resource$Projects$Locations$Entrylinktypes$Setiampolicy, + delete( + params?: Params$Resource$Projects$Locations$Entrygroups$Entrylinks$Delete, options?: MethodOptions - ): GaxiosPromise; - setIamPolicy( - params: Params$Resource$Projects$Locations$Entrylinktypes$Setiampolicy, + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Entrygroups$Entrylinks$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Entrylinktypes$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Entrygroups$Entrylinks$Delete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Entrylinktypes$Setiampolicy, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Entrygroups$Entrylinks$Delete, + callback: BodyResponseCallback ): void; - setIamPolicy( - callback: BodyResponseCallback + delete( + callback: BodyResponseCallback ): void; - setIamPolicy( + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Entrylinktypes$Setiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Entrygroups$Entrylinks$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$Entrylinktypes$Setiampolicy; + {}) as Params$Resource$Projects$Locations$Entrygroups$Entrylinks$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Entrylinktypes$Setiampolicy; + {} as Params$Resource$Projects$Locations$Entrygroups$Entrylinks$Delete; options = {}; } @@ -12997,90 +13223,89 @@ export namespace dataplex_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 an entry link. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `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$Entrylinktypes$Testiampermissions, + get( + params: Params$Resource$Projects$Locations$Entrygroups$Entrylinks$Get, options: StreamMethodOptions ): GaxiosPromise; - testIamPermissions( - params?: Params$Resource$Projects$Locations$Entrylinktypes$Testiampermissions, + get( + params?: Params$Resource$Projects$Locations$Entrygroups$Entrylinks$Get, options?: MethodOptions - ): GaxiosPromise; - testIamPermissions( - params: Params$Resource$Projects$Locations$Entrylinktypes$Testiampermissions, + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Entrygroups$Entrylinks$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Entrylinktypes$Testiampermissions, + get( + params: Params$Resource$Projects$Locations$Entrygroups$Entrylinks$Get, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Entrylinktypes$Testiampermissions, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Entrygroups$Entrylinks$Get, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + get( + callback: BodyResponseCallback ): void; - testIamPermissions( + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Entrylinktypes$Testiampermissions - | BodyResponseCallback + | Params$Resource$Projects$Locations$Entrygroups$Entrylinks$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$Entrylinktypes$Testiampermissions; + {}) as Params$Resource$Projects$Locations$Entrygroups$Entrylinks$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Entrylinktypes$Testiampermissions; + {} as Params$Resource$Projects$Locations$Entrygroups$Entrylinks$Get; options = {}; } @@ -13093,134 +13318,125 @@ export namespace dataplex_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( + return createAPIRequest( parameters ); } } } - export interface Params$Resource$Projects$Locations$Entrylinktypes$Getiampolicy + export interface Params$Resource$Projects$Locations$Entrygroups$Entrylinks$Create 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. + * Required. Entry Link identifier * 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 EntryGroup. */ - resource?: string; - } - export interface Params$Resource$Projects$Locations$Entrylinktypes$Setiampolicy - extends StandardParameters { + entryLinkId?: string; /** - * 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. The resource name of the parent Entry Group: projects/{project\}/locations/{location\}/entryGroups/{entry_group\}. */ - resource?: string; + parent?: string; /** * Request body metadata */ - requestBody?: Schema$GoogleIamV1SetIamPolicyRequest; + requestBody?: Schema$GoogleCloudDataplexV1EntryLink; } - export interface Params$Resource$Projects$Locations$Entrylinktypes$Testiampermissions + export interface Params$Resource$Projects$Locations$Entrygroups$Entrylinks$Delete 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. The resource name of the Entry Link: projects/{project\}/locations/{location\}/entryGroups/{entry_group\}/entryLinks/{entry_link\}. */ - resource?: string; - + name?: string; + } + export interface Params$Resource$Projects$Locations$Entrygroups$Entrylinks$Get + extends StandardParameters { /** - * Request body metadata + * Required. The resource name of the Entry Link: projects/{project\}/locations/{location\}/entryGroups/{entry_group\}/entryLinks/{entry_link\}. */ - requestBody?: Schema$GoogleIamV1TestIamPermissionsRequest; + name?: string; } - export class Resource$Projects$Locations$Entrytypes { + export class Resource$Projects$Locations$Entrylinktypes { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Creates an EntryType. + * 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$Entrytypes$Create, + getIamPolicy( + params: Params$Resource$Projects$Locations$Entrylinktypes$Getiampolicy, options: StreamMethodOptions ): GaxiosPromise; - create( - params?: Params$Resource$Projects$Locations$Entrytypes$Create, + getIamPolicy( + params?: Params$Resource$Projects$Locations$Entrylinktypes$Getiampolicy, options?: MethodOptions - ): GaxiosPromise; - create( - params: Params$Resource$Projects$Locations$Entrytypes$Create, + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Projects$Locations$Entrylinktypes$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Entrytypes$Create, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Projects$Locations$Entrylinktypes$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Entrytypes$Create, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Projects$Locations$Entrylinktypes$Getiampolicy, + callback: BodyResponseCallback ): void; - create( - callback: BodyResponseCallback + getIamPolicy( + callback: BodyResponseCallback ): void; - create( + getIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Entrytypes$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Entrylinktypes$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Entrytypes$Create; + {}) as Params$Resource$Projects$Locations$Entrylinktypes$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Entrytypes$Create; + params = + {} as Params$Resource$Projects$Locations$Entrylinktypes$Getiampolicy; options = {}; } @@ -13233,89 +13449,88 @@ export namespace dataplex_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/entryTypes').replace( + url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( /([^:]\/)\/+/g, '$1' ), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['resource'], + pathParams: ['resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes an EntryType. + * 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. */ - delete( - params: Params$Resource$Projects$Locations$Entrytypes$Delete, + setIamPolicy( + params: Params$Resource$Projects$Locations$Entrylinktypes$Setiampolicy, options: StreamMethodOptions ): GaxiosPromise; - delete( - params?: Params$Resource$Projects$Locations$Entrytypes$Delete, + setIamPolicy( + params?: Params$Resource$Projects$Locations$Entrylinktypes$Setiampolicy, options?: MethodOptions - ): GaxiosPromise; - delete( - params: Params$Resource$Projects$Locations$Entrytypes$Delete, + ): GaxiosPromise; + setIamPolicy( + params: Params$Resource$Projects$Locations$Entrylinktypes$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Entrytypes$Delete, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Projects$Locations$Entrylinktypes$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Entrytypes$Delete, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Projects$Locations$Entrylinktypes$Setiampolicy, + callback: BodyResponseCallback ): void; - delete( - callback: BodyResponseCallback + setIamPolicy( + callback: BodyResponseCallback ): void; - delete( + setIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Entrytypes$Delete - | BodyResponseCallback + | Params$Resource$Projects$Locations$Entrylinktypes$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$Entrytypes$Delete; + {}) as Params$Resource$Projects$Locations$Entrylinktypes$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Entrytypes$Delete; + params = + {} as Params$Resource$Projects$Locations$Entrylinktypes$Setiampolicy; options = {}; } @@ -13328,86 +13543,90 @@ export namespace dataplex_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + url: (rootUrl + '/v1/{+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); } } /** - * Gets an EntryType. + * 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. */ - get( - params: Params$Resource$Projects$Locations$Entrytypes$Get, + testIamPermissions( + params: Params$Resource$Projects$Locations$Entrylinktypes$Testiampermissions, options: StreamMethodOptions ): GaxiosPromise; - get( - params?: Params$Resource$Projects$Locations$Entrytypes$Get, + testIamPermissions( + params?: Params$Resource$Projects$Locations$Entrylinktypes$Testiampermissions, options?: MethodOptions - ): GaxiosPromise; - get( - params: Params$Resource$Projects$Locations$Entrytypes$Get, + ): GaxiosPromise; + testIamPermissions( + params: Params$Resource$Projects$Locations$Entrylinktypes$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Entrytypes$Get, + testIamPermissions( + params: Params$Resource$Projects$Locations$Entrylinktypes$Testiampermissions, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Entrytypes$Get, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Projects$Locations$Entrylinktypes$Testiampermissions, + callback: BodyResponseCallback ): void; - get( - callback: BodyResponseCallback + testIamPermissions( + callback: BodyResponseCallback ): void; - get( + testIamPermissions( paramsOrCallback?: - | Params$Resource$Projects$Locations$Entrytypes$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Entrylinktypes$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$Entrytypes$Get; + {}) as Params$Resource$Projects$Locations$Entrylinktypes$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Entrytypes$Get; + params = + {} as Params$Resource$Projects$Locations$Entrylinktypes$Testiampermissions; options = {}; } @@ -13420,87 +13639,134 @@ export namespace dataplex_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + url: (rootUrl + '/v1/{+resource}:testIamPermissions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], - context: this.context, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } + } + export interface Params$Resource$Projects$Locations$Entrylinktypes$Getiampolicy + extends StandardParameters { /** - * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + * 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$Entrylinktypes$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; + } + export interface Params$Resource$Projects$Locations$Entrylinktypes$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$Entrytypes { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates an EntryType. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `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$Entrytypes$Getiampolicy, + create( + params: Params$Resource$Projects$Locations$Entrytypes$Create, options: StreamMethodOptions ): GaxiosPromise; - getIamPolicy( - params?: Params$Resource$Projects$Locations$Entrytypes$Getiampolicy, + create( + params?: Params$Resource$Projects$Locations$Entrytypes$Create, options?: MethodOptions - ): GaxiosPromise; - getIamPolicy( - params: Params$Resource$Projects$Locations$Entrytypes$Getiampolicy, + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Entrytypes$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Entrytypes$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Entrytypes$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Entrytypes$Getiampolicy, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Entrytypes$Create, + callback: BodyResponseCallback ): void; - getIamPolicy( - callback: BodyResponseCallback + create( + callback: BodyResponseCallback ): void; - getIamPolicy( + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Entrytypes$Getiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Entrytypes$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$Entrytypes$Getiampolicy; + {}) as Params$Resource$Projects$Locations$Entrytypes$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Entrytypes$Getiampolicy; + params = {} as Params$Resource$Projects$Locations$Entrytypes$Create; options = {}; } @@ -13513,89 +13779,89 @@ export namespace dataplex_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( + url: (rootUrl + '/v1/{+parent}/entryTypes').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); } } /** - * Lists EntryType resources in a project and location. + * Deletes an EntryType. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `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$Entrytypes$List, + delete( + params: Params$Resource$Projects$Locations$Entrytypes$Delete, options: StreamMethodOptions ): GaxiosPromise; - list( - params?: Params$Resource$Projects$Locations$Entrytypes$List, + delete( + params?: Params$Resource$Projects$Locations$Entrytypes$Delete, options?: MethodOptions - ): GaxiosPromise; - list( - params: Params$Resource$Projects$Locations$Entrytypes$List, + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Entrytypes$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Entrytypes$List, + delete( + params: Params$Resource$Projects$Locations$Entrytypes$Delete, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Entrytypes$List, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Entrytypes$Delete, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + delete( + callback: BodyResponseCallback ): void; - list( + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Entrytypes$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Entrytypes$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$Entrytypes$List; + {}) as Params$Resource$Projects$Locations$Entrytypes$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Entrytypes$List; + params = {} as Params$Resource$Projects$Locations$Entrytypes$Delete; options = {}; } @@ -13608,91 +13874,86 @@ export namespace dataplex_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/entryTypes').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 an EntryType. + * Gets an EntryType. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `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$Entrytypes$Patch, + get( + params: Params$Resource$Projects$Locations$Entrytypes$Get, options: StreamMethodOptions ): GaxiosPromise; - patch( - params?: Params$Resource$Projects$Locations$Entrytypes$Patch, + get( + params?: Params$Resource$Projects$Locations$Entrytypes$Get, options?: MethodOptions - ): GaxiosPromise; - patch( - params: Params$Resource$Projects$Locations$Entrytypes$Patch, + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Entrytypes$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Entrytypes$Patch, + get( + params: Params$Resource$Projects$Locations$Entrytypes$Get, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Entrytypes$Patch, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Entrytypes$Get, + callback: BodyResponseCallback ): void; - patch( - callback: BodyResponseCallback + get( + callback: BodyResponseCallback ): void; - patch( + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Entrytypes$Patch - | BodyResponseCallback + | Params$Resource$Projects$Locations$Entrytypes$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$Entrytypes$Patch; + {}) as Params$Resource$Projects$Locations$Entrytypes$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Entrytypes$Patch; + params = {} as Params$Resource$Projects$Locations$Entrytypes$Get; options = {}; } @@ -13706,7 +13967,7 @@ export namespace dataplex_v1 { options: Object.assign( { url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'GET', apiVersion: '', }, options @@ -13717,51 +13978,1819 @@ export namespace dataplex_v1 { 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. + * 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. */ - setIamPolicy( - params: Params$Resource$Projects$Locations$Entrytypes$Setiampolicy, + getIamPolicy( + params: Params$Resource$Projects$Locations$Entrytypes$Getiampolicy, options: StreamMethodOptions ): GaxiosPromise; - setIamPolicy( - params?: Params$Resource$Projects$Locations$Entrytypes$Setiampolicy, + getIamPolicy( + params?: Params$Resource$Projects$Locations$Entrytypes$Getiampolicy, options?: MethodOptions ): GaxiosPromise; - setIamPolicy( - params: Params$Resource$Projects$Locations$Entrytypes$Setiampolicy, + getIamPolicy( + params: Params$Resource$Projects$Locations$Entrytypes$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Entrytypes$Setiampolicy, + getIamPolicy( + params: Params$Resource$Projects$Locations$Entrytypes$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Entrytypes$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy( + callback: BodyResponseCallback + ): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Entrytypes$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Entrytypes$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Entrytypes$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.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 EntryType resources 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$Entrytypes$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Entrytypes$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Entrytypes$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Entrytypes$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Entrytypes$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Entrytypes$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Entrytypes$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Entrytypes$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/entryTypes').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 EntryType. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Entrytypes$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Entrytypes$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Entrytypes$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Entrytypes$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Entrytypes$Patch, + callback: BodyResponseCallback + ): void; + patch( + callback: BodyResponseCallback + ): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Entrytypes$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Entrytypes$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Entrytypes$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.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$Entrytypes$Setiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Entrytypes$Setiampolicy, + options?: MethodOptions + ): GaxiosPromise; + setIamPolicy( + params: Params$Resource$Projects$Locations$Entrytypes$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Entrytypes$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Entrytypes$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy( + callback: BodyResponseCallback + ): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Entrytypes$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Entrytypes$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Entrytypes$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.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$Entrytypes$Testiampermissions, + options: StreamMethodOptions + ): GaxiosPromise; + testIamPermissions( + params?: Params$Resource$Projects$Locations$Entrytypes$Testiampermissions, + options?: MethodOptions + ): GaxiosPromise; + testIamPermissions( + params: Params$Resource$Projects$Locations$Entrytypes$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Entrytypes$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Entrytypes$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Entrytypes$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Entrytypes$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Entrytypes$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.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$Entrytypes$Create + extends StandardParameters { + /** + * Required. EntryType identifier. + */ + entryTypeId?: string; + /** + * Required. The resource name of the EntryType, of the form: projects/{project_number\}/locations/{location_id\} where location_id refers to a Google Cloud region. + */ + parent?: string; + /** + * Optional. The service validates the request without performing any mutations. The default is false. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDataplexV1EntryType; + } + export interface Params$Resource$Projects$Locations$Entrytypes$Delete + extends StandardParameters { + /** + * Optional. If the client provided etag value does not match the current etag value, the DeleteEntryTypeRequest method returns an ABORTED error response. + */ + etag?: string; + /** + * Required. The resource name of the EntryType: projects/{project_number\}/locations/{location_id\}/entryTypes/{entry_type_id\}. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Entrytypes$Get + extends StandardParameters { + /** + * Required. The resource name of the EntryType: projects/{project_number\}/locations/{location_id\}/entryTypes/{entry_type_id\}. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Entrytypes$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$Entrytypes$List + extends StandardParameters { + /** + * Optional. Filter request. Filters are case-sensitive. The service supports the following formats: labels.key1 = "value1" labels:key1 name = "value"These restrictions can be conjoined with AND, OR, and NOT conjunctions. + */ + filter?: string; + /** + * Optional. Orders the result by name or create_time fields. If not specified, the ordering is undefined. + */ + orderBy?: string; + /** + * Optional. Maximum number of EntryTypes to return. The service may return fewer than this value. If unspecified, the service returns at most 10 EntryTypes. The maximum value is 1000; values above 1000 will be coerced to 1000. + */ + pageSize?: number; + /** + * Optional. Page token received from a previous ListEntryTypes call. Provide this to retrieve the subsequent page. When paginating, all other parameters you provided to ListEntryTypes must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The resource name of the EntryType location, of the form: projects/{project_number\}/locations/{location_id\} where location_id refers to a Google Cloud region. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Entrytypes$Patch + extends StandardParameters { + /** + * Output only. The relative resource name of the EntryType, of the form: projects/{project_number\}/locations/{location_id\}/entryTypes/{entry_type_id\}. + */ + name?: string; + /** + * Required. Mask of fields to update. + */ + updateMask?: string; + /** + * Optional. The service validates the request without performing any mutations. The default is false. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDataplexV1EntryType; + } + export interface Params$Resource$Projects$Locations$Entrytypes$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; + } + export interface Params$Resource$Projects$Locations$Entrytypes$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$Glossaries { + context: APIRequestContext; + categories: Resource$Projects$Locations$Glossaries$Categories; + terms: Resource$Projects$Locations$Glossaries$Terms; + constructor(context: APIRequestContext) { + this.context = context; + this.categories = new Resource$Projects$Locations$Glossaries$Categories( + this.context + ); + this.terms = new Resource$Projects$Locations$Glossaries$Terms( + this.context + ); + } + + /** + * Creates a new Glossary 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. + */ + create( + params: Params$Resource$Projects$Locations$Glossaries$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Glossaries$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Glossaries$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Glossaries$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Glossaries$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Glossaries$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Glossaries$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Glossaries$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/glossaries').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 Glossary resource. All the categories and terms within the glossary must be deleted before a glossary can be 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. + */ + delete( + params: Params$Resource$Projects$Locations$Glossaries$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Glossaries$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Glossaries$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Glossaries$Delete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Glossaries$Delete, + callback: BodyResponseCallback + ): void; + delete( + callback: BodyResponseCallback + ): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Glossaries$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Glossaries$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Glossaries$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.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); + } + } + + /** + * Retrieves a specified Glossary 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$Glossaries$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Glossaries$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Glossaries$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Glossaries$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Glossaries$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Glossaries$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Glossaries$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Glossaries$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.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$Glossaries$Getiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Glossaries$Getiampolicy, + options?: MethodOptions + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Projects$Locations$Glossaries$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Glossaries$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Glossaries$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy( + callback: BodyResponseCallback + ): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Glossaries$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Glossaries$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Glossaries$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.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 Glossary resources 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$Glossaries$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Glossaries$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Glossaries$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Glossaries$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Glossaries$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Glossaries$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Glossaries$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Glossaries$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/glossaries').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 Glossary 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$Glossaries$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Glossaries$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Glossaries$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Glossaries$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Glossaries$Patch, + callback: BodyResponseCallback + ): void; + patch( + callback: BodyResponseCallback + ): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Glossaries$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Glossaries$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Glossaries$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.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$Glossaries$Setiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Glossaries$Setiampolicy, + options?: MethodOptions + ): GaxiosPromise; + setIamPolicy( + params: Params$Resource$Projects$Locations$Glossaries$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Glossaries$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Glossaries$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy( + callback: BodyResponseCallback + ): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Glossaries$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Glossaries$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Glossaries$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.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$Glossaries$Testiampermissions, + options: StreamMethodOptions + ): GaxiosPromise; + testIamPermissions( + params?: Params$Resource$Projects$Locations$Glossaries$Testiampermissions, + options?: MethodOptions + ): GaxiosPromise; + testIamPermissions( + params: Params$Resource$Projects$Locations$Glossaries$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Glossaries$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Glossaries$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Glossaries$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Glossaries$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Glossaries$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.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$Glossaries$Create + extends StandardParameters { + /** + * Required. Glossary ID: Glossary identifier. + */ + glossaryId?: string; + /** + * Required. The parent resource where this Glossary will be created. Format: projects/{projectId\}/locations/{locationId\} where locationId refers to a GCP region. + */ + parent?: string; + /** + * Optional. Validates the request without actually creating the glossary. Default: false. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDataplexV1Glossary; + } + export interface Params$Resource$Projects$Locations$Glossaries$Delete + extends StandardParameters { + /** + * Optional. The etag of the Glossary. If this is provided, it must match the server's etag. If the etag is provided and does not match the server-computed etag, the request must fail with a ABORTED error code. + */ + etag?: string; + /** + * Required. The name of the Glossary to delete. Format: projects/{project\}/locations/{location\}/glossary/{glossary\} + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Glossaries$Get + extends StandardParameters { + /** + * Required. The name of the Glossary to retrieve. Format: projects/{project\}/locations/{location\}/glossaries/{glossary\} + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Glossaries$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$Glossaries$List + extends StandardParameters { + /** + * Optional. Filter expression that filters glossaries listed in the response. Initially, no filter is supported. + */ + filter?: string; + /** + * Optional. Order by expression that orders glossaries listed in the response. Order by fields are: name or create_time for the result. If not specified, the ordering is undefined. + */ + orderBy?: string; + /** + * Optional. The maximum number of glossaries to return. The service may return fewer than this value. If unspecified, at most 50 glossaries 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 ListGlossaries call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListGlossaries must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent, which has this collection of glossaries. Format: projects/{project\}/locations/{location\} Location is the GCP region. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Glossaries$Patch + extends StandardParameters { + /** + * Output only. Identifier. The resource name of the Glossary. Format: projects/{projectId\}/locations/{locationId\}/glossaries/{glossaryId\} + */ + name?: string; + /** + * Required. The list of fields to update. + */ + updateMask?: string; + /** + * Optional. Validates the request without actually updating the glossary. Default: false. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDataplexV1Glossary; + } + export interface Params$Resource$Projects$Locations$Glossaries$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; + } + export interface Params$Resource$Projects$Locations$Glossaries$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$Glossaries$Categories { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * GlossaryCategory APIs are CCFE passthrough APIs. Creates a new GlossaryCategory 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. + */ + create( + params: Params$Resource$Projects$Locations$Glossaries$Categories$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Glossaries$Categories$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Glossaries$Categories$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Glossaries$Categories$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Glossaries$Categories$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Glossaries$Categories$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Glossaries$Categories$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Glossaries$Categories$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/categories').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 GlossaryCategory resource. All the categories and terms nested directly under the category will be moved one level up to the parent in the hierarchy. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `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$Glossaries$Categories$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Glossaries$Categories$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Glossaries$Categories$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Glossaries$Categories$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Glossaries$Categories$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Glossaries$Categories$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Glossaries$Categories$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Glossaries$Categories$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.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); + } + } + + /** + * Retrieves a specified GlossaryCategory 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$Glossaries$Categories$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Glossaries$Categories$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Glossaries$Categories$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Glossaries$Categories$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Glossaries$Categories$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Glossaries$Categories$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Glossaries$Categories$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Glossaries$Categories$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.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$Glossaries$Categories$Getiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Glossaries$Categories$Getiampolicy, + options?: MethodOptions + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Projects$Locations$Glossaries$Categories$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Glossaries$Categories$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Entrytypes$Setiampolicy, + getIamPolicy( + params: Params$Resource$Projects$Locations$Glossaries$Categories$Getiampolicy, callback: BodyResponseCallback ): void; - setIamPolicy( + getIamPolicy( callback: BodyResponseCallback ): void; - setIamPolicy( + getIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Entrytypes$Setiampolicy + | Params$Resource$Projects$Locations$Glossaries$Categories$Getiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -13777,13 +15806,13 @@ export namespace dataplex_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Entrytypes$Setiampolicy; + {}) as Params$Resource$Projects$Locations$Glossaries$Categories$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Entrytypes$Setiampolicy; + {} as Params$Resource$Projects$Locations$Glossaries$Categories$Getiampolicy; options = {}; } @@ -13796,11 +15825,11 @@ export namespace dataplex_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+resource}:setIamPolicy').replace( + url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( /([^:]\/)\/+/g, '$1' ), - method: 'POST', + method: 'GET', apiVersion: '', }, options @@ -13821,65 +15850,65 @@ export namespace dataplex_v1 { } /** - * 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. + * Lists GlossaryCategory resources in a glossary. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `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$Entrytypes$Testiampermissions, + list( + params: Params$Resource$Projects$Locations$Glossaries$Categories$List, options: StreamMethodOptions ): GaxiosPromise; - testIamPermissions( - params?: Params$Resource$Projects$Locations$Entrytypes$Testiampermissions, + list( + params?: Params$Resource$Projects$Locations$Glossaries$Categories$List, options?: MethodOptions - ): GaxiosPromise; - testIamPermissions( - params: Params$Resource$Projects$Locations$Entrytypes$Testiampermissions, + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Glossaries$Categories$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Entrytypes$Testiampermissions, + list( + params: Params$Resource$Projects$Locations$Glossaries$Categories$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Entrytypes$Testiampermissions, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Glossaries$Categories$List, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + list( + callback: BodyResponseCallback ): void; - testIamPermissions( + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Entrytypes$Testiampermissions - | BodyResponseCallback + | Params$Resource$Projects$Locations$Glossaries$Categories$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$Entrytypes$Testiampermissions; + {}) as Params$Resource$Projects$Locations$Glossaries$Categories$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Entrytypes$Testiampermissions; + {} as Params$Resource$Projects$Locations$Glossaries$Categories$List; options = {}; } @@ -13892,222 +15921,92 @@ export namespace dataplex_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+resource}:testIamPermissions').replace( + url: (rootUrl + '/v1/{+parent}/categories').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( + return createAPIRequest( parameters ); } } - } - - export interface Params$Resource$Projects$Locations$Entrytypes$Create - extends StandardParameters { - /** - * Required. EntryType identifier. - */ - entryTypeId?: string; - /** - * Required. The resource name of the EntryType, of the form: projects/{project_number\}/locations/{location_id\} where location_id refers to a Google Cloud region. - */ - parent?: string; - /** - * Optional. The service validates the request without performing any mutations. The default is false. - */ - validateOnly?: boolean; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleCloudDataplexV1EntryType; - } - export interface Params$Resource$Projects$Locations$Entrytypes$Delete - extends StandardParameters { - /** - * Optional. If the client provided etag value does not match the current etag value, the DeleteEntryTypeRequest method returns an ABORTED error response. - */ - etag?: string; - /** - * Required. The resource name of the EntryType: projects/{project_number\}/locations/{location_id\}/entryTypes/{entry_type_id\}. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Entrytypes$Get - extends StandardParameters { - /** - * Required. The resource name of the EntryType: projects/{project_number\}/locations/{location_id\}/entryTypes/{entry_type_id\}. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Entrytypes$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$Entrytypes$List - extends StandardParameters { - /** - * Optional. Filter request. Filters are case-sensitive. The service supports the following formats: labels.key1 = "value1" labels:key1 name = "value"These restrictions can be conjoined with AND, OR, and NOT conjunctions. - */ - filter?: string; - /** - * Optional. Orders the result by name or create_time fields. If not specified, the ordering is undefined. - */ - orderBy?: string; - /** - * Optional. Maximum number of EntryTypes to return. The service may return fewer than this value. If unspecified, the service returns at most 10 EntryTypes. The maximum value is 1000; values above 1000 will be coerced to 1000. - */ - pageSize?: number; - /** - * Optional. Page token received from a previous ListEntryTypes call. Provide this to retrieve the subsequent page. When paginating, all other parameters you provided to ListEntryTypes must match the call that provided the page token. - */ - pageToken?: string; - /** - * Required. The resource name of the EntryType location, of the form: projects/{project_number\}/locations/{location_id\} where location_id refers to a Google Cloud region. - */ - parent?: string; - } - export interface Params$Resource$Projects$Locations$Entrytypes$Patch - extends StandardParameters { - /** - * Output only. The relative resource name of the EntryType, of the form: projects/{project_number\}/locations/{location_id\}/entryTypes/{entry_type_id\}. - */ - name?: string; - /** - * Required. Mask of fields to update. - */ - updateMask?: string; - /** - * Optional. The service validates the request without performing any mutations. The default is false. - */ - validateOnly?: boolean; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleCloudDataplexV1EntryType; - } - export interface Params$Resource$Projects$Locations$Entrytypes$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; - } - export interface Params$Resource$Projects$Locations$Entrytypes$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$Glossaries { - context: APIRequestContext; - categories: Resource$Projects$Locations$Glossaries$Categories; - terms: Resource$Projects$Locations$Glossaries$Terms; - constructor(context: APIRequestContext) { - this.context = context; - this.categories = new Resource$Projects$Locations$Glossaries$Categories( - this.context - ); - this.terms = new Resource$Projects$Locations$Glossaries$Terms( - 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. + * Updates a GlossaryCategory 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. */ - getIamPolicy( - params: Params$Resource$Projects$Locations$Glossaries$Getiampolicy, + patch( + params: Params$Resource$Projects$Locations$Glossaries$Categories$Patch, options: StreamMethodOptions ): GaxiosPromise; - getIamPolicy( - params?: Params$Resource$Projects$Locations$Glossaries$Getiampolicy, + patch( + params?: Params$Resource$Projects$Locations$Glossaries$Categories$Patch, options?: MethodOptions - ): GaxiosPromise; - getIamPolicy( - params: Params$Resource$Projects$Locations$Glossaries$Getiampolicy, + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Glossaries$Categories$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Glossaries$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Glossaries$Categories$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Glossaries$Getiampolicy, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Glossaries$Categories$Patch, + callback: BodyResponseCallback ): void; - getIamPolicy( - callback: BodyResponseCallback + patch( + callback: BodyResponseCallback ): void; - getIamPolicy( + patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Glossaries$Getiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Glossaries$Categories$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$Glossaries$Getiampolicy; + {}) as Params$Resource$Projects$Locations$Glossaries$Categories$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Glossaries$Getiampolicy; + {} as Params$Resource$Projects$Locations$Glossaries$Categories$Patch; options = {}; } @@ -14120,27 +16019,26 @@ export namespace dataplex_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 + ); } } @@ -14153,25 +16051,25 @@ export namespace dataplex_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ setIamPolicy( - params: Params$Resource$Projects$Locations$Glossaries$Setiampolicy, + params: Params$Resource$Projects$Locations$Glossaries$Categories$Setiampolicy, options: StreamMethodOptions ): GaxiosPromise; setIamPolicy( - params?: Params$Resource$Projects$Locations$Glossaries$Setiampolicy, + params?: Params$Resource$Projects$Locations$Glossaries$Categories$Setiampolicy, options?: MethodOptions ): GaxiosPromise; setIamPolicy( - params: Params$Resource$Projects$Locations$Glossaries$Setiampolicy, + params: Params$Resource$Projects$Locations$Glossaries$Categories$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setIamPolicy( - params: Params$Resource$Projects$Locations$Glossaries$Setiampolicy, + params: Params$Resource$Projects$Locations$Glossaries$Categories$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setIamPolicy( - params: Params$Resource$Projects$Locations$Glossaries$Setiampolicy, + params: Params$Resource$Projects$Locations$Glossaries$Categories$Setiampolicy, callback: BodyResponseCallback ): void; setIamPolicy( @@ -14179,7 +16077,7 @@ export namespace dataplex_v1 { ): void; setIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Glossaries$Setiampolicy + | Params$Resource$Projects$Locations$Glossaries$Categories$Setiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -14195,13 +16093,13 @@ export namespace dataplex_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Glossaries$Setiampolicy; + {}) as Params$Resource$Projects$Locations$Glossaries$Categories$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Glossaries$Setiampolicy; + {} as Params$Resource$Projects$Locations$Glossaries$Categories$Setiampolicy; options = {}; } @@ -14247,27 +16145,27 @@ export namespace dataplex_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ testIamPermissions( - params: Params$Resource$Projects$Locations$Glossaries$Testiampermissions, + params: Params$Resource$Projects$Locations$Glossaries$Categories$Testiampermissions, options: StreamMethodOptions ): GaxiosPromise; testIamPermissions( - params?: Params$Resource$Projects$Locations$Glossaries$Testiampermissions, + params?: Params$Resource$Projects$Locations$Glossaries$Categories$Testiampermissions, options?: MethodOptions ): GaxiosPromise; testIamPermissions( - params: Params$Resource$Projects$Locations$Glossaries$Testiampermissions, + params: Params$Resource$Projects$Locations$Glossaries$Categories$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Projects$Locations$Glossaries$Testiampermissions, + params: Params$Resource$Projects$Locations$Glossaries$Categories$Testiampermissions, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Projects$Locations$Glossaries$Testiampermissions, + params: Params$Resource$Projects$Locations$Glossaries$Categories$Testiampermissions, callback: BodyResponseCallback ): void; testIamPermissions( @@ -14275,7 +16173,7 @@ export namespace dataplex_v1 { ): void; testIamPermissions( paramsOrCallback?: - | Params$Resource$Projects$Locations$Glossaries$Testiampermissions + | Params$Resource$Projects$Locations$Glossaries$Categories$Testiampermissions | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -14291,13 +16189,13 @@ export namespace dataplex_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Glossaries$Testiampermissions; + {}) as Params$Resource$Projects$Locations$Glossaries$Categories$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Glossaries$Testiampermissions; + {} as Params$Resource$Projects$Locations$Glossaries$Categories$Testiampermissions; options = {}; } @@ -14337,7 +16235,37 @@ export namespace dataplex_v1 { } } - export interface Params$Resource$Projects$Locations$Glossaries$Getiampolicy + export interface Params$Resource$Projects$Locations$Glossaries$Categories$Create + extends StandardParameters { + /** + * Required. Category ID: GlossaryCategory identifier. + */ + categoryId?: string; + /** + * Required. The parent resource where this GlossaryCategory will be created. Format: projects/{projectId\}/locations/{locationId\}/glossaries/{glossaryId\} where locationId refers to a GCP region. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDataplexV1GlossaryCategory; + } + export interface Params$Resource$Projects$Locations$Glossaries$Categories$Delete + extends StandardParameters { + /** + * Required. The name of the GlossaryCategory to delete. Format: projects/{project\}/locations/{location\}/glossary/{glossary\}/categories/{glossary_category\} + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Glossaries$Categories$Get + extends StandardParameters { + /** + * Required. The name of the GlossaryCategory to retrieve. Format: projects/{project\}/locations/{location\}/glossaries/{glossary\}/categories/{glossary_category\} + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Glossaries$Categories$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). @@ -14348,7 +16276,46 @@ export namespace dataplex_v1 { */ resource?: string; } - export interface Params$Resource$Projects$Locations$Glossaries$Setiampolicy + export interface Params$Resource$Projects$Locations$Glossaries$Categories$List + extends StandardParameters { + /** + * Optional. Filter expression that filters categories listed in the response. Filters supported: List GlossaryCategories based on immediate parent in the resource hierarchy. This will only return the GlossaryCategories nested directly under the parent and no other subsequent nested categories will be returned. + */ + filter?: string; + /** + * Optional. Order by expression that orders categories listed in the response. Order by fields are: name or create_time for the result. If not specified, the ordering is undefined. + */ + orderBy?: string; + /** + * Optional. The maximum number of categories to return. The service may return fewer than this value. If unspecified, at most 50 categories 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 ListGlossaryCategories call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListGlossaryCategories must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent, which has this collection of categories. Format: projects/{project\}/locations/{location\}/glossaries/{glossary\} Location is the GCP region. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Glossaries$Categories$Patch + extends StandardParameters { + /** + * Output only. Identifier. The resource name of the GlossaryCategory. Format: projects/{projectId\}/locations/{locationId\}/glossaries/{glossaryId\}/categories/{categoryId\} + */ + name?: string; + /** + * Required. The list of fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDataplexV1GlossaryCategory; + } + export interface Params$Resource$Projects$Locations$Glossaries$Categories$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. @@ -14360,7 +16327,7 @@ export namespace dataplex_v1 { */ requestBody?: Schema$GoogleIamV1SetIamPolicyRequest; } - export interface Params$Resource$Projects$Locations$Glossaries$Testiampermissions + export interface Params$Resource$Projects$Locations$Glossaries$Categories$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. @@ -14373,70 +16340,255 @@ export namespace dataplex_v1 { requestBody?: Schema$GoogleIamV1TestIamPermissionsRequest; } - export class Resource$Projects$Locations$Glossaries$Categories { + export class Resource$Projects$Locations$Glossaries$Terms { 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. + * GlossaryTerm APIs are CCFE passthrough APIs. Creates a new GlossaryTerm 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. */ - getIamPolicy( - params: Params$Resource$Projects$Locations$Glossaries$Categories$Getiampolicy, + create( + params: Params$Resource$Projects$Locations$Glossaries$Terms$Create, options: StreamMethodOptions ): GaxiosPromise; - getIamPolicy( - params?: Params$Resource$Projects$Locations$Glossaries$Categories$Getiampolicy, + create( + params?: Params$Resource$Projects$Locations$Glossaries$Terms$Create, options?: MethodOptions - ): GaxiosPromise; - getIamPolicy( - params: Params$Resource$Projects$Locations$Glossaries$Categories$Getiampolicy, + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Glossaries$Terms$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Glossaries$Categories$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Glossaries$Terms$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Glossaries$Terms$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Glossaries$Terms$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Glossaries$Terms$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Glossaries$Terms$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/terms').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 GlossaryTerm 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$Glossaries$Terms$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Glossaries$Terms$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Glossaries$Terms$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Glossaries$Terms$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Glossaries$Terms$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Glossaries$Terms$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Glossaries$Terms$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Glossaries$Terms$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dataplex.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); + } + } + + /** + * Retrieves a specified GlossaryTerm 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$Glossaries$Terms$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Glossaries$Terms$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Glossaries$Terms$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Glossaries$Categories$Getiampolicy, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Glossaries$Terms$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy( - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Glossaries$Terms$Get, + callback: BodyResponseCallback ): void; - getIamPolicy( + get( + callback: BodyResponseCallback + ): void; + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Glossaries$Categories$Getiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Glossaries$Terms$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$Glossaries$Categories$Getiampolicy; + {}) as Params$Resource$Projects$Locations$Glossaries$Terms$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Glossaries$Categories$Getiampolicy; + params = {} as Params$Resource$Projects$Locations$Glossaries$Terms$Get; options = {}; } @@ -14449,66 +16601,65 @@ export namespace dataplex_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( - /([^:]\/)\/+/g, - '$1' - ), + 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 + ); } } /** - * Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. + * 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. */ - setIamPolicy( - params: Params$Resource$Projects$Locations$Glossaries$Categories$Setiampolicy, + getIamPolicy( + params: Params$Resource$Projects$Locations$Glossaries$Terms$Getiampolicy, options: StreamMethodOptions ): GaxiosPromise; - setIamPolicy( - params?: Params$Resource$Projects$Locations$Glossaries$Categories$Setiampolicy, + getIamPolicy( + params?: Params$Resource$Projects$Locations$Glossaries$Terms$Getiampolicy, options?: MethodOptions ): GaxiosPromise; - setIamPolicy( - params: Params$Resource$Projects$Locations$Glossaries$Categories$Setiampolicy, + getIamPolicy( + params: Params$Resource$Projects$Locations$Glossaries$Terms$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Glossaries$Categories$Setiampolicy, + getIamPolicy( + params: Params$Resource$Projects$Locations$Glossaries$Terms$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Glossaries$Categories$Setiampolicy, + getIamPolicy( + params: Params$Resource$Projects$Locations$Glossaries$Terms$Getiampolicy, callback: BodyResponseCallback ): void; - setIamPolicy( + getIamPolicy( callback: BodyResponseCallback ): void; - setIamPolicy( + getIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Glossaries$Categories$Setiampolicy + | Params$Resource$Projects$Locations$Glossaries$Terms$Getiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -14524,13 +16675,13 @@ export namespace dataplex_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Glossaries$Categories$Setiampolicy; + {}) as Params$Resource$Projects$Locations$Glossaries$Terms$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Glossaries$Categories$Setiampolicy; + {} as Params$Resource$Projects$Locations$Glossaries$Terms$Getiampolicy; options = {}; } @@ -14543,11 +16694,11 @@ export namespace dataplex_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+resource}:setIamPolicy').replace( + url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( /([^:]\/)\/+/g, '$1' ), - method: 'POST', + method: 'GET', apiVersion: '', }, options @@ -14568,65 +16719,64 @@ export namespace dataplex_v1 { } /** - * 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. + * Lists GlossaryTerm resources in a glossary. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `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$Glossaries$Categories$Testiampermissions, + list( + params: Params$Resource$Projects$Locations$Glossaries$Terms$List, options: StreamMethodOptions ): GaxiosPromise; - testIamPermissions( - params?: Params$Resource$Projects$Locations$Glossaries$Categories$Testiampermissions, + list( + params?: Params$Resource$Projects$Locations$Glossaries$Terms$List, options?: MethodOptions - ): GaxiosPromise; - testIamPermissions( - params: Params$Resource$Projects$Locations$Glossaries$Categories$Testiampermissions, + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Glossaries$Terms$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Glossaries$Categories$Testiampermissions, + list( + params: Params$Resource$Projects$Locations$Glossaries$Terms$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Glossaries$Categories$Testiampermissions, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Glossaries$Terms$List, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + list( + callback: BodyResponseCallback ): void; - testIamPermissions( + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Glossaries$Categories$Testiampermissions - | BodyResponseCallback + | Params$Resource$Projects$Locations$Glossaries$Terms$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$Glossaries$Categories$Testiampermissions; + {}) as Params$Resource$Projects$Locations$Glossaries$Terms$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Glossaries$Categories$Testiampermissions; + params = {} as Params$Resource$Projects$Locations$Glossaries$Terms$List; options = {}; } @@ -14639,133 +16789,92 @@ export namespace dataplex_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+resource}:testIamPermissions').replace( + url: (rootUrl + '/v1/{+parent}/terms').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( + return createAPIRequest( parameters ); } } - } - - export interface Params$Resource$Projects$Locations$Glossaries$Categories$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$Glossaries$Categories$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; - } - export interface Params$Resource$Projects$Locations$Glossaries$Categories$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$Glossaries$Terms { - 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. + * Updates a GlossaryTerm 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. */ - getIamPolicy( - params: Params$Resource$Projects$Locations$Glossaries$Terms$Getiampolicy, + patch( + params: Params$Resource$Projects$Locations$Glossaries$Terms$Patch, options: StreamMethodOptions ): GaxiosPromise; - getIamPolicy( - params?: Params$Resource$Projects$Locations$Glossaries$Terms$Getiampolicy, + patch( + params?: Params$Resource$Projects$Locations$Glossaries$Terms$Patch, options?: MethodOptions - ): GaxiosPromise; - getIamPolicy( - params: Params$Resource$Projects$Locations$Glossaries$Terms$Getiampolicy, + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Glossaries$Terms$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Glossaries$Terms$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Glossaries$Terms$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Glossaries$Terms$Getiampolicy, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Glossaries$Terms$Patch, + callback: BodyResponseCallback ): void; - getIamPolicy( - callback: BodyResponseCallback + patch( + callback: BodyResponseCallback ): void; - getIamPolicy( + patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Glossaries$Terms$Getiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Glossaries$Terms$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$Glossaries$Terms$Getiampolicy; + {}) as Params$Resource$Projects$Locations$Glossaries$Terms$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Glossaries$Terms$Getiampolicy; + {} as Params$Resource$Projects$Locations$Glossaries$Terms$Patch; options = {}; } @@ -14778,27 +16887,26 @@ export namespace dataplex_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 + ); } } @@ -14995,6 +17103,36 @@ export namespace dataplex_v1 { } } + export interface Params$Resource$Projects$Locations$Glossaries$Terms$Create + extends StandardParameters { + /** + * Required. The parent resource where this GlossaryTerm will be created. Format: projects/{projectId\}/locations/{locationId\}/glossaries/{glossaryId\} where locationId refers to a GCP region. + */ + parent?: string; + /** + * Required. Term ID: GlossaryTerm identifier. + */ + termId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDataplexV1GlossaryTerm; + } + export interface Params$Resource$Projects$Locations$Glossaries$Terms$Delete + extends StandardParameters { + /** + * Required. The name of the GlossaryTerm to delete. Format: projects/{project\}/locations/{location\}/glossary/{glossary\}/terms/{glossary_term\} + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Glossaries$Terms$Get + extends StandardParameters { + /** + * Required. The name of the GlossaryTerm to retrieve. Format: projects/{project\}/locations/{location\}/glossaries/{glossary\}/terms/{glossary_term\} + */ + name?: string; + } export interface Params$Resource$Projects$Locations$Glossaries$Terms$Getiampolicy extends StandardParameters { /** @@ -15006,6 +17144,45 @@ export namespace dataplex_v1 { */ resource?: string; } + export interface Params$Resource$Projects$Locations$Glossaries$Terms$List + extends StandardParameters { + /** + * Optional. Filter expression that filters terms listed in the response. Filters supported: List GlossaryTerms based on immediate parent in the resource hierarchy. This will only return the terms nested directly under the parent and no other subsequent nested terms will be returned. + */ + filter?: string; + /** + * Optional. Order by expression that orders terms listed in the response. Order by fields are: name or create_time for the result. If not specified, the ordering is undefined. + */ + orderBy?: string; + /** + * Optional. The maximum number of terms to return. The service may return fewer than this value. If unspecified, at most 50 terms 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 ListGlossaryTerms call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListGlossaryTerms must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent, which has this collection of terms. Format: projects/{project\}/locations/{location\}/glossaries/{glossary\} Location is the GCP region. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Glossaries$Terms$Patch + extends StandardParameters { + /** + * Output only. Identifier. The resource name of the GlossaryTerm. Format: projects/{projectId\}/locations/{locationId\}/glossaries/{glossaryId\}/terms/{termId\} + */ + name?: string; + /** + * Required. The list of fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDataplexV1GlossaryTerm; + } export interface Params$Resource$Projects$Locations$Glossaries$Terms$Setiampolicy extends StandardParameters { /** diff --git a/src/apis/displayvideo/v2.ts b/src/apis/displayvideo/v2.ts index 3aa7f7f0264..eec49ae6212 100644 --- a/src/apis/displayvideo/v2.ts +++ b/src/apis/displayvideo/v2.ts @@ -6650,7 +6650,7 @@ export namespace displayvideo_v2 { */ filter?: string; /** - * Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` * `updateTime` The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. For example, `displayName desc`. + * Field by which to sort the list. Acceptable values are: * `advertiserId` (default) * `displayName` * `entityStatus` * `updateTime` The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. For example, `displayName desc`. */ orderBy?: string; /** @@ -14355,7 +14355,7 @@ export namespace displayvideo_v2 { */ assignedTargetingOptionId?: string; /** - * Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD` + * Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_CONTENT_THEME_EXCLUSION` */ targetingType?: string; } @@ -14382,7 +14382,7 @@ export namespace displayvideo_v2 { */ pageToken?: string; /** - * Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD` + * Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_CONTENT_THEME_EXCLUSION` */ targetingType?: string; } diff --git a/src/apis/displayvideo/v3.ts b/src/apis/displayvideo/v3.ts index 8e9b1d97f4d..bd146a15dd7 100644 --- a/src/apis/displayvideo/v3.ts +++ b/src/apis/displayvideo/v3.ts @@ -564,7 +564,7 @@ export namespace displayvideo_v3 { */ export interface Schema$AlgorithmRules { /** - * Attribution model for the algorithm. + * Attribution model for the algorithm. This field is only supported for allowlisted partners. */ attributionModelId?: string | null; /** @@ -572,7 +572,7 @@ export namespace displayvideo_v3 { */ impressionSignalRuleset?: Schema$AlgorithmRulesRuleset; /** - * Rules for the post-impression signals. + * Rules for the post-impression signals. This field is only supported for allowlisted partners. */ postImpressionSignalRuleset?: Schema$AlgorithmRulesRuleset; } @@ -621,7 +621,7 @@ export namespace displayvideo_v3 { */ stringValue?: string | null; /** - * Video player size value. + * Video player size value. This field is only supported for allowlisted partners. */ videoPlayerSizeValue?: string | null; } @@ -690,11 +690,11 @@ export namespace displayvideo_v3 { */ export interface Schema$AlgorithmRulesSignal { /** - * Signal based on active views. + * Signal based on active views. This field is only supported for allowlisted partners. */ activeViewSignal?: string | null; /** - * Signal based on clicks. + * Signal based on clicks. This field is only supported for allowlisted partners. */ clickSignal?: string | null; /** @@ -724,11 +724,11 @@ export namespace displayvideo_v3 { */ export interface Schema$AlgorithmRulesSignalValue { /** - * Signal based on active views. Only `TIME_ON_SCREEN` is supported. + * Signal based on active views. Only `TIME_ON_SCREEN` is supported. This field is only supported for allowlisted partners. */ activeViewSignal?: string | null; /** - * Signal based on floodlight conversion events. + * Signal based on floodlight conversion events. This field is only supported for allowlisted partners. */ floodlightActivityConversionSignal?: Schema$AlgorithmRulesFloodlightActivityConversionSignal; /** @@ -7270,7 +7270,7 @@ export namespace displayvideo_v3 { */ filter?: string; /** - * Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` * `updateTime` The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. For example, `displayName desc`. + * Field by which to sort the list. Acceptable values are: * `advertiserId` (default) * `displayName` * `entityStatus` * `updateTime` The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. For example, `displayName desc`. */ orderBy?: string; /** @@ -16216,7 +16216,7 @@ export namespace displayvideo_v3 { */ assignedTargetingOptionId?: string; /** - * Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD` + * Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_CONTENT_THEME_EXCLUSION` */ targetingType?: string; } @@ -16243,7 +16243,7 @@ export namespace displayvideo_v3 { */ pageToken?: string; /** - * Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD` + * Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_CONTENT_THEME_EXCLUSION` */ targetingType?: string; } diff --git a/src/apis/displayvideo/v4.ts b/src/apis/displayvideo/v4.ts index 1ea24be706f..c83d24e5a4c 100644 --- a/src/apis/displayvideo/v4.ts +++ b/src/apis/displayvideo/v4.ts @@ -566,7 +566,7 @@ export namespace displayvideo_v4 { */ export interface Schema$AlgorithmRules { /** - * Attribution model for the algorithm. + * Attribution model for the algorithm. This field is only supported for allowlisted partners. */ attributionModelId?: string | null; /** @@ -574,7 +574,7 @@ export namespace displayvideo_v4 { */ impressionSignalRuleset?: Schema$AlgorithmRulesRuleset; /** - * Rules for the post-impression signals. + * Rules for the post-impression signals. This field is only supported for allowlisted partners. */ postImpressionSignalRuleset?: Schema$AlgorithmRulesRuleset; } @@ -623,7 +623,7 @@ export namespace displayvideo_v4 { */ stringValue?: string | null; /** - * Video player size value. + * Video player size value. This field is only supported for allowlisted partners. */ videoPlayerSizeValue?: string | null; } @@ -692,11 +692,11 @@ export namespace displayvideo_v4 { */ export interface Schema$AlgorithmRulesSignal { /** - * Signal based on active views. + * Signal based on active views. This field is only supported for allowlisted partners. */ activeViewSignal?: string | null; /** - * Signal based on clicks. + * Signal based on clicks. This field is only supported for allowlisted partners. */ clickSignal?: string | null; /** @@ -726,11 +726,11 @@ export namespace displayvideo_v4 { */ export interface Schema$AlgorithmRulesSignalValue { /** - * Signal based on active views. Only `TIME_ON_SCREEN` is supported. + * Signal based on active views. Only `TIME_ON_SCREEN` is supported. This field is only supported for allowlisted partners. */ activeViewSignal?: string | null; /** - * Signal based on floodlight conversion events. + * Signal based on floodlight conversion events. This field is only supported for allowlisted partners. */ floodlightActivityConversionSignal?: Schema$AlgorithmRulesFloodlightActivityConversionSignal; /** @@ -7212,7 +7212,7 @@ export namespace displayvideo_v4 { */ filter?: string; /** - * Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` * `updateTime` The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. For example, `displayName desc`. + * Field by which to sort the list. Acceptable values are: * `advertiserId` (default) * `displayName` * `entityStatus` * `updateTime` The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. For example, `displayName desc`. */ orderBy?: string; /** @@ -15123,7 +15123,7 @@ export namespace displayvideo_v4 { */ assignedTargetingOptionId?: string; /** - * Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD` + * Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_CONTENT_THEME_EXCLUSION` */ targetingType?: string; } @@ -15150,7 +15150,7 @@ export namespace displayvideo_v4 { */ pageToken?: string; /** - * Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD` + * Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_CONTENT_THEME_EXCLUSION` */ targetingType?: string; } diff --git a/src/apis/doubleclicksearch/v2.ts b/src/apis/doubleclicksearch/v2.ts index 9d433dda057..3e89def284c 100644 --- a/src/apis/doubleclicksearch/v2.ts +++ b/src/apis/doubleclicksearch/v2.ts @@ -162,7 +162,7 @@ export namespace doubleclicksearch_v2 { segmentationType?: string | null; } /** - * A conversion containing data relevant to DoubleClick Search. + * A conversion containing data relevant to DoubleClick Search. Common DS3 API conversion fields: Id Range [1 - 2800]. Next Id to use: 33 */ export interface Schema$Conversion { /** diff --git a/src/apis/fcm/README.md b/src/apis/fcm/README.md index 8ad05f81b5e..e5c2cb735a6 100644 --- a/src/apis/fcm/README.md +++ b/src/apis/fcm/README.md @@ -2,7 +2,7 @@ # fcm -> FCM send API that provides a cross-platform messaging solution to reliably deliver messages at no cost. +> FCM send API that provides a cross-platform messaging solution to reliably deliver messages. ## Installation diff --git a/src/apis/merchantapi/accounts_v1beta.ts b/src/apis/merchantapi/accounts_v1beta.ts index bb8a180989b..82605555502 100644 --- a/src/apis/merchantapi/accounts_v1beta.ts +++ b/src/apis/merchantapi/accounts_v1beta.ts @@ -1030,11 +1030,11 @@ export namespace merchantapi_accounts_v1beta { */ export interface Schema$OnlineReturnPolicy { /** - * This field specifies if merchant only accepts defective products for returns, and this field is required. + * Optional. This field specifies if merchant only accepts defective products for returns. */ acceptDefectiveOnly?: boolean | null; /** - * This field specifies if merchant allows customers to exchange products, this field is required. + * Optional. This field specifies if merchant allows customers to exchange products. */ acceptExchange?: boolean | null; /** @@ -1058,7 +1058,7 @@ export namespace merchantapi_accounts_v1beta { */ policy?: Schema$Policy; /** - * The field specifies the number of days it takes for merchants to process refunds, field is optional. + * Optional. The field specifies the number of days it takes for merchants to process refunds. */ processRefundDays?: number | null; /** @@ -1066,7 +1066,7 @@ export namespace merchantapi_accounts_v1beta { */ restockingFee?: Schema$RestockingFee; /** - * The field specifies the return label source. This field is required when return method is BY_MAIL. + * Optional. The field specifies the return label source. */ returnLabelSource?: string | null; /** @@ -2448,7 +2448,7 @@ export namespace merchantapi_accounts_v1beta { */ pageToken?: string; /** - * Required. The aggregation service provider. Format: `accounts/{providerId\}` + * Required. The aggregation service provider. Format: `accounts/{accountId\}` */ provider?: string; } diff --git a/src/apis/merchantapi/datasources_v1beta.ts b/src/apis/merchantapi/datasources_v1beta.ts index b012d6ccc83..fc45974f1d4 100644 --- a/src/apis/merchantapi/datasources_v1beta.ts +++ b/src/apis/merchantapi/datasources_v1beta.ts @@ -153,7 +153,7 @@ export namespace merchantapi_datasources_v1beta { */ merchantReviewDataSource?: Schema$MerchantReviewDataSource; /** - * Identifier. The name of the data source. Format: `accounts/{account\}/dataSources/{datasource\}` + * Required. Identifier. The name of the data source. Format: `accounts/{account\}/dataSources/{datasource\}` */ name?: string | null; /** @@ -1145,7 +1145,7 @@ export namespace merchantapi_datasources_v1beta { export interface Params$Resource$Accounts$Datasources$Patch extends StandardParameters { /** - * Identifier. The name of the data source. Format: `accounts/{account\}/dataSources/{datasource\}` + * Required. Identifier. The name of the data source. Format: `accounts/{account\}/dataSources/{datasource\}` */ name?: string; /** diff --git a/src/apis/merchantapi/lfp_v1beta.ts b/src/apis/merchantapi/lfp_v1beta.ts index ad24cad94a5..15a9914e1a2 100644 --- a/src/apis/merchantapi/lfp_v1beta.ts +++ b/src/apis/merchantapi/lfp_v1beta.ts @@ -252,7 +252,7 @@ export namespace merchantapi_lfp_v1beta { */ countrySettings?: Schema$CountrySettings[]; /** - * The inventory statistics for the merchant. + * The inventory statistics for the merchant. The field will be absent if the merchant has no inventory submitted through LFP. */ inventoryStats?: Schema$InventoryStats; /** @@ -264,7 +264,7 @@ export namespace merchantapi_lfp_v1beta { */ name?: string | null; /** - * Output only. The state per store from the specified merchant. + * Output only. The state per store from the specified merchant. The field will be absent if the merchant has no stores submitted through LFP. */ storeStates?: Schema$LfpStoreState[]; } diff --git a/src/apis/merchantapi/reports_v1beta.ts b/src/apis/merchantapi/reports_v1beta.ts index 5a2e9277aa3..fdb0f14e103 100644 --- a/src/apis/merchantapi/reports_v1beta.ts +++ b/src/apis/merchantapi/reports_v1beta.ts @@ -1008,7 +1008,7 @@ export namespace merchantapi_reports_v1beta { */ pageToken?: string | null; /** - * Required. Query that defines a report to be retrieved. For details on how to construct your query, see the Query Language guide. For the full list of available tables and fields, see the Available fields. + * Required. Query that defines a report to be retrieved. For details on how to construct your query, see the [Query Language guide](/merchant/api/guides/reports/query-language). For the full list of available tables and fields, see the [Available fields](/merchant/api/reference/rest/reports_v1beta/accounts.reports). */ query?: string | null; } diff --git a/src/apis/networkservices/v1beta1.ts b/src/apis/networkservices/v1beta1.ts index 35140516d83..71ddb4d2c72 100644 --- a/src/apis/networkservices/v1beta1.ts +++ b/src/apis/networkservices/v1beta1.ts @@ -309,7 +309,7 @@ export namespace networkservices_v1beta1 { */ 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. This field is not supported for plugin extensions. Setting it results in a validation error. + * Optional. Specifies the timeout for each individual message on the stream. The timeout must be between `10`-`10000` milliseconds. Required for callout extensions. This field is not supported for plugin extensions. Setting it results in a validation error. */ timeout?: string | null; } @@ -1740,6 +1740,10 @@ export namespace networkservices_v1beta1 { * Optional. Configuration related to health based failover. */ failoverConfig?: Schema$ServiceLbPolicyFailoverConfig; + /** + * Optional. Configuration to provide isolation support for the associated Backend Service. + */ + isolationConfig?: Schema$ServiceLbPolicyIsolationConfig; /** * Optional. Set of label tags associated with the ServiceLbPolicy resource. */ @@ -1775,6 +1779,19 @@ export namespace networkservices_v1beta1 { */ failoverHealthThreshold?: number | null; } + /** + * Configuration to provide isolation support for the associated Backend Service. + */ + export interface Schema$ServiceLbPolicyIsolationConfig { + /** + * Optional. The isolation granularity of the load balancer. + */ + isolationGranularity?: string | null; + /** + * Optional. The isolation mode of the load balancer. + */ + isolationMode?: 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). */ diff --git a/src/apis/oracledatabase/v1.ts b/src/apis/oracledatabase/v1.ts index d89726df689..3395adb0b52 100644 --- a/src/apis/oracledatabase/v1.ts +++ b/src/apis/oracledatabase/v1.ts @@ -1731,7 +1731,7 @@ export namespace oracledatabase_v1 { */ export interface Schema$StopAutonomousDatabaseRequest {} /** - * The request for `AutonomousDatabase.Switchover`. + * The request for `OracleDatabase.SwitchoverAutonomousDatabase`. */ export interface Schema$SwitchoverAutonomousDatabaseRequest { /** @@ -3117,7 +3117,7 @@ export namespace oracledatabase_v1 { } /** - * Initiates a switchover of specified autonomous deatabase to the associated peer database. + * Initiates a switchover of specified autonomous database to the associated peer database. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/recaptchaenterprise/v1.ts b/src/apis/recaptchaenterprise/v1.ts index b4e1605528d..a394a8c234f 100644 --- a/src/apis/recaptchaenterprise/v1.ts +++ b/src/apis/recaptchaenterprise/v1.ts @@ -296,6 +296,19 @@ export namespace recaptchaenterprise_v1 { */ version?: string | null; } + /** + * Bot information and metadata. + */ + export interface Schema$GoogleCloudRecaptchaenterpriseV1Bot { + /** + * Optional. Enumerated field representing the type of bot. + */ + botType?: string | null; + /** + * Optional. Enumerated string value that indicates the identity of the bot, formatted in kebab-case. + */ + name?: string | null; + } /** * Metrics related to challenges. */ @@ -880,6 +893,10 @@ export namespace recaptchaenterprise_v1 { * Output only. Legitimate event score from 0.0 to 1.0. (1.0 means very likely legitimate traffic while 0.0 means very likely non-legitimate traffic). */ score?: number | null; + /** + * Output only. Bots with identities that have been verified by reCAPTCHA and detected in the event. + */ + verifiedBots?: Schema$GoogleCloudRecaptchaenterpriseV1Bot[]; } /** * Score distribution. diff --git a/src/apis/sqladmin/v1.ts b/src/apis/sqladmin/v1.ts index 245c677041c..08088591467 100644 --- a/src/apis/sqladmin/v1.ts +++ b/src/apis/sqladmin/v1.ts @@ -230,7 +230,7 @@ export namespace sqladmin_v1 { name?: string | null; } /** - * A backup resource. + * A backup resource. Next ID: 30 */ export interface Schema$Backup { /** @@ -334,6 +334,10 @@ export namespace sqladmin_v1 { * Backup retention settings. */ backupRetentionSettings?: Schema$BackupRetentionSettings; + /** + * Output only. Backup tier that manages the backups for the instance. + */ + backupTier?: string | null; /** * (MySQL only) Whether binary log is enabled. If backup configuration is disabled, binarylog must be disabled as well. */ @@ -1563,6 +1567,10 @@ export namespace sqladmin_v1 { * The name of the backup that's used to restore a Cloud SQL instance: Format: projects/{project-id\}/backups/{backup-uid\}. Only one of restore_backup_context, backup, backupdr_backup can be passed to the input. */ backup?: string | null; + /** + * The name of the backup that's used to restore a Cloud SQL instance: Format: "projects/{project-id\}/locations/{location\}/backupVaults/{backupvault\}/dataSources/{datasource\}/backups/{backup-uid\}". Only one of restore_backup_context, backup, backupdr_backup can be passed to the input. + */ + backupdrBackup?: string | null; /** * Parameters required to perform the restore backup operation. */ @@ -2057,6 +2065,39 @@ export namespace sqladmin_v1 { */ targetSizeGb?: string | null; } + /** + * The context to perform a point-in-time recovery of an instance managed by Google Cloud Backup and Disaster Recovery. + */ + export interface Schema$PointInTimeRestoreContext { + /** + * Optional. The name of the allocated IP range for the internal IP Cloud SQL instance. For example: "google-managed-services-default". If you set this, then Cloud SQL creates the IP address for the cloned instance in the allocated range. This range must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035) standards. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?. Reserved for future use. http://go/speckle-subnet-picker-clone + */ + allocatedIpRange?: string | null; + /** + * The Google Cloud Backup and Disaster Recovery Datasource URI. Format: projects/{project\}/locations/{region\}/backupVaults/{backupvault\}/dataSources/{datasource\}. + */ + datasource?: string | null; + /** + * Required. The date and time to which you want to restore the instance. + */ + pointInTime?: string | null; + /** + * Optional. Point-in-time recovery of a regional instance in the specified zones. If not specified, clone to the same secondary zone as the source instance. This value cannot be the same as the preferred_zone field. + */ + preferredSecondaryZone?: string | null; + /** + * Optional. Point-in-time recovery of an instance to the specified zone. If no zone is specified, then clone to the same primary zone as the source instance. + */ + preferredZone?: string | null; + /** + * Optional. The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, `/projects/myProject/global/networks/default`. + */ + privateNetwork?: string | null; + /** + * Target instance name. + */ + targetInstance?: string | null; + } /** * Details of a single read pool node of a read pool. */ @@ -2836,10 +2877,6 @@ export namespace sqladmin_v1 { * Optional. The host from which the user can connect. For `insert` operations, host defaults to an empty string. For `update` operations, host is specified as part of the request URL. The host name cannot be updated after insertion. For a MySQL instance, it's required; for a PostgreSQL or SQL Server instance, it's optional. */ host?: string | null; - /** - * Indicates if user is active for IAM Authentication. - */ - iamStatus?: string | null; /** * The name of the Cloud SQL instance. This does not include the project ID. Can be omitted for `update` because it is already specified on the URL. */ @@ -3695,7 +3732,7 @@ export namespace sqladmin_v1 { } /** - * Updates the retention period and description of the backup. You can use this API to update final backups only. + * This API updates the following: 1- retention period and description of backup in case of final backups only. 2- gcbdr_soft_delete_status of backup in case of GCBDR managed backups only. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3832,7 +3869,7 @@ export namespace sqladmin_v1 { */ name?: string; /** - * The list of fields that you can update. You can update only the description and retention period of the final backup. + * The list of fields that you can update. 1- You can update only the description and retention period for a final backup. 2- You can update only the gcbdr_soft_delete_status for GCBDR managed backup. */ updateMask?: string; @@ -6224,6 +6261,94 @@ export namespace sqladmin_v1 { } } + /** + * Point in time restore for an instance managed by Google Cloud Backup and Disaster Recovery. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + pointInTimeRestore( + params: Params$Resource$Instances$Pointintimerestore, + options: StreamMethodOptions + ): GaxiosPromise; + pointInTimeRestore( + params?: Params$Resource$Instances$Pointintimerestore, + options?: MethodOptions + ): GaxiosPromise; + pointInTimeRestore( + params: Params$Resource$Instances$Pointintimerestore, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + pointInTimeRestore( + params: Params$Resource$Instances$Pointintimerestore, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + pointInTimeRestore( + params: Params$Resource$Instances$Pointintimerestore, + callback: BodyResponseCallback + ): void; + pointInTimeRestore(callback: BodyResponseCallback): void; + pointInTimeRestore( + paramsOrCallback?: + | Params$Resource$Instances$Pointintimerestore + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Instances$Pointintimerestore; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instances$Pointintimerestore; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://sqladmin.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}:pointInTimeRestore').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); + } + } + /** * Promotes the read replica instance to be an independent Cloud SQL primary instance. Using this operation might cause your instance to restart. * @@ -7607,6 +7732,18 @@ export namespace sqladmin_v1 { */ requestBody?: Schema$DatabaseInstance; } + export interface Params$Resource$Instances$Pointintimerestore + extends StandardParameters { + /** + * Required. The parent resource where you created this instance. Format: projects/{project\} + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$PointInTimeRestoreContext; + } export interface Params$Resource$Instances$Promotereplica extends StandardParameters { /** diff --git a/src/apis/sqladmin/v1beta4.ts b/src/apis/sqladmin/v1beta4.ts index af91f1cdd8c..59e8aa14af8 100644 --- a/src/apis/sqladmin/v1beta4.ts +++ b/src/apis/sqladmin/v1beta4.ts @@ -230,7 +230,7 @@ export namespace sqladmin_v1beta4 { name?: string | null; } /** - * A backup resource. + * A backup resource. Next ID: 30 */ export interface Schema$Backup { /** @@ -334,6 +334,10 @@ export namespace sqladmin_v1beta4 { * Backup retention settings. */ backupRetentionSettings?: Schema$BackupRetentionSettings; + /** + * Output only. Backup tier that manages the backups for the instance. + */ + backupTier?: string | null; /** * (MySQL only) Whether binary log is enabled. If backup configuration is disabled, binarylog must be disabled as well. */ @@ -1566,6 +1570,10 @@ export namespace sqladmin_v1beta4 { * The name of the backup that's used to restore a Cloud SQL instance: Format: projects/{project-id\}/backups/{backup-uid\}. Only one of restore_backup_context, backup, backupdr_backup can be passed to the input. */ backup?: string | null; + /** + * The name of the backup that's used to restore a Cloud SQL instance: Format: "projects/{project-id\}/locations/{location\}/backupVaults/{backupvault\}/dataSources/{datasource\}/backups/{backup-uid\}". Only one of restore_backup_context, backup, backupdr_backup can be passed to the input. + */ + backupdrBackup?: string | null; /** * Parameters required to perform the restore backup operation. */ @@ -2060,6 +2068,39 @@ export namespace sqladmin_v1beta4 { */ targetSizeGb?: string | null; } + /** + * Context to perform a point-in-time restore of an instance managed by Google Cloud Backup and Disaster Recovery. + */ + export interface Schema$PointInTimeRestoreContext { + /** + * Optional. The name of the allocated IP range for the internal IP Cloud SQL instance. For example: "google-managed-services-default". If you set this, then Cloud SQL creates the IP address for the cloned instance in the allocated range. This range must comply with [RFC 1035](https://tools.ietf.org/html/rfc1035) standards. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?. Reserved for future use. http://go/speckle-subnet-picker-clone + */ + allocatedIpRange?: string | null; + /** + * The Google Cloud Backup and Disaster Recovery Datasource URI. Format: projects/{project\}/locations/{region\}/backupVaults/{backupvault\}/dataSources/{datasource\}. + */ + datasource?: string | null; + /** + * Required. The date and time to which you want to restore the instance. + */ + pointInTime?: string | null; + /** + * Optional. Point-in-time recovery of a regional instance in the specified zones. If not specified, clone to the same secondary zone as the source instance. This value cannot be the same as the preferred_zone field. + */ + preferredSecondaryZone?: string | null; + /** + * Optional. Point-in-time recovery of an instance to the specified zone. If no zone is specified, then clone to the same primary zone as the source instance. + */ + preferredZone?: string | null; + /** + * Optional. The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, `/projects/myProject/global/networks/default`. + */ + privateNetwork?: string | null; + /** + * Target instance name. + */ + targetInstance?: string | null; + } /** * Details of a single read pool node of a read pool. */ @@ -2833,10 +2874,6 @@ export namespace sqladmin_v1beta4 { * Optional. The host from which the user can connect. For `insert` operations, host defaults to an empty string. For `update` operations, host is specified as part of the request URL. The host name cannot be updated after insertion. For a MySQL instance, it's required; for a PostgreSQL or SQL Server instance, it's optional. */ host?: string | null; - /** - * Indicates if user is active for IAM Authentication. - */ - iamStatus?: string | null; /** * The name of the Cloud SQL instance. This does not include the project ID. Can be omitted for *update* because it is already specified on the URL. */ @@ -3700,7 +3737,7 @@ export namespace sqladmin_v1beta4 { } /** - * Updates the retention period and the description of the backup. You can use this API to update final backups only. + * This API updates the following: 1- retention period and description of backup in case of final backups only. 2- gcbdr_soft_delete_status of backup in case of GCBDR managed backups only. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3840,7 +3877,7 @@ export namespace sqladmin_v1beta4 { */ name?: string; /** - * The list of fields that you can update. You can update only the description and retention period of the final backup. + * The list of fields that you can update. 1- You can update only the description and retention period for a final backup. 2- You can update only the gcbdr_soft_delete_status for GCBDR managed backup. */ updateMask?: string; @@ -6237,6 +6274,93 @@ export namespace sqladmin_v1beta4 { } } + /** + * Point in time restore for an instance managed by Google Cloud Backup and Disaster Recovery. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + pointInTimeRestore( + params: Params$Resource$Instances$Pointintimerestore, + options: StreamMethodOptions + ): GaxiosPromise; + pointInTimeRestore( + params?: Params$Resource$Instances$Pointintimerestore, + options?: MethodOptions + ): GaxiosPromise; + pointInTimeRestore( + params: Params$Resource$Instances$Pointintimerestore, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + pointInTimeRestore( + params: Params$Resource$Instances$Pointintimerestore, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + pointInTimeRestore( + params: Params$Resource$Instances$Pointintimerestore, + callback: BodyResponseCallback + ): void; + pointInTimeRestore(callback: BodyResponseCallback): void; + pointInTimeRestore( + paramsOrCallback?: + | Params$Resource$Instances$Pointintimerestore + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Instances$Pointintimerestore; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instances$Pointintimerestore; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://sqladmin.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/sql/v1beta4/{+parent}:pointInTimeRestore' + ).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); + } + } + /** * Promotes the read replica instance to be an independent Cloud SQL primary instance. Using this operation might cause your instance to restart. * @@ -7623,6 +7747,18 @@ export namespace sqladmin_v1beta4 { */ requestBody?: Schema$DatabaseInstance; } + export interface Params$Resource$Instances$Pointintimerestore + extends StandardParameters { + /** + * Required. The parent resource where you created this instance. Format: projects/{project\} + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$PointInTimeRestoreContext; + } export interface Params$Resource$Instances$Promotereplica extends StandardParameters { /**