diff --git a/admin/reports/v1/admin-api.json b/admin/reports/v1/admin-api.json index b27ae1d045..dfc63a4458 100644 --- a/admin/reports/v1/admin-api.json +++ b/admin/reports/v1/admin-api.json @@ -126,6 +126,11 @@ "location": "query", "type": "string" }, + "applicationInfoFilter": { + "description": "Optional. Used to filter on the `oAuthClientId` field present in [`ApplicationInfo`](#applicationinfo) message. **Usage** ``` GET...\u0026applicationInfoFilter=oAuthClientId=\"clientId\" GET...\u0026applicationInfoFilter=oAuthClientId=%22clientId%22 ```", + "location": "query", + "type": "string" + }, "applicationName": { "description": "Application name for which the events are to be retrieved.", "enum": [ @@ -251,6 +256,11 @@ "minimum": "1", "type": "integer" }, + "networkInfoFilter": { + "description": "Optional. Used to filter on the `regionCode` field present in [`NetworkInfo`](#networkinfo) message. **Usage** ``` GET...\u0026networkInfoFilter=regionCode=\"IN\" GET...\u0026networkInfoFilter=regionCode=%22IN%22 ```", + "location": "query", + "type": "string" + }, "orgUnitID": { "default": "", "description": "ID of the organizational unit to report on. Activity records will be shown only for users who belong to the specified organizational unit. Data before Dec 17, 2018 doesn't appear in the filtered results.", @@ -274,6 +284,11 @@ "pattern": "(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)T(\\d\\d):(\\d\\d):(\\d\\d)(?:\\.(\\d+))?(?:(Z)|([-+])(\\d\\d):(\\d\\d))", "type": "string" }, + "statusFilter": { + "description": "Optional. Used to filter on the `statusCode` field present in [`Status`](#status) message. **Usage** ``` GET...\u0026statusFilter=statusCode=\"200\" GET...\u0026statusFilter=statusCode=%22200%22 ```", + "location": "query", + "type": "string" + }, "userKey": { "description": "Represents the profile ID or the user email for which the data should be filtered. Can be `all` for all information, or `userKey` for a user's unique Google Workspace profile ID or their primary email address. Must not be a deleted user. For a deleted user, call `users.list` in Directory API with `showDeleted=true`, then use the returned `ID` as the `userKey`.", "location": "path", @@ -666,7 +681,7 @@ } } }, - "revision": "20251202", + "revision": "20260210", "rootUrl": "https://admin.googleapis.com/", "schemas": { "Activities": { @@ -829,6 +844,10 @@ }, "type": "array" }, + "status": { + "$ref": "ActivityEventsStatus", + "description": "Status of the event. Note: Not all events have status." + }, "type": { "description": "Type of event. The Google Workspace service or feature that an administrator changes is identified in the `type` property which identifies an event using the `eventName` property. For a full list of the API's `type` categories, see the list of event names for various applications above in `applicationName`.", "type": "string" @@ -889,6 +908,30 @@ }, "type": "object" }, + "ActivityEventsStatus": { + "description": "Status of the event. Note: Not all events have status.", + "id": "ActivityEventsStatus", + "properties": { + "errorCode": { + "description": "Error code of the event. Note: Field can be empty.", + "type": "string" + }, + "errorMessage": { + "description": "Error message of the event. Note: Field can be empty.", + "type": "string" + }, + "eventStatus": { + "description": "* Status of the event. Possible values if not empty: - UNKNOWN_EVENT_STATUS - SUCCEEDED - SUCCEEDED_WITH_WARNINGS - FAILED - SKIPPED", + "type": "string" + }, + "httpStatusCode": { + "description": "Status code of the event. Note: Field can be empty.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "ActivityNetworkInfo": { "description": "Network information of the user doing the action.", "id": "ActivityNetworkInfo", diff --git a/admin/reports/v1/admin-gen.go b/admin/reports/v1/admin-gen.go index 40fb02d221..e19d223a8d 100644 --- a/admin/reports/v1/admin-gen.go +++ b/admin/reports/v1/admin-gen.go @@ -376,6 +376,8 @@ type ActivityEvents struct { Parameters []*ActivityEventsParameters `json:"parameters,omitempty"` // ResourceIds: Resource ids associated with the event. ResourceIds []string `json:"resourceIds,omitempty"` + // Status: Status of the event. Note: Not all events have status. + Status *ActivityEventsStatus `json:"status,omitempty"` // Type: Type of event. The Google Workspace service or feature that an // administrator changes is identified in the `type` property which identifies // an event using the `eventName` property. For a full list of the API's `type` @@ -514,6 +516,36 @@ func (s ActivityId) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// ActivityEventsStatus: Status of the event. Note: Not all events have status. +type ActivityEventsStatus struct { + // ErrorCode: Error code of the event. Note: Field can be empty. + ErrorCode string `json:"errorCode,omitempty"` + // ErrorMessage: Error message of the event. Note: Field can be empty. + ErrorMessage string `json:"errorMessage,omitempty"` + // EventStatus: * Status of the event. Possible values if not empty: - + // UNKNOWN_EVENT_STATUS - SUCCEEDED - SUCCEEDED_WITH_WARNINGS - FAILED - + // SKIPPED + EventStatus string `json:"eventStatus,omitempty"` + // HttpStatusCode: Status code of the event. Note: Field can be empty. + HttpStatusCode int64 `json:"httpStatusCode,omitempty"` + // ForceSendFields is a list of field names (e.g. "ErrorCode") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ErrorCode") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ActivityEventsStatus) MarshalJSON() ([]byte, error) { + type NoMethod ActivityEventsStatus + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // ActivityNetworkInfo: Network information of the user doing the action. type ActivityNetworkInfo struct { // IpAsn: IP Address of the user doing the action. @@ -1151,6 +1183,16 @@ func (c *ActivitiesListCall) ActorIpAddress(actorIpAddress string) *ActivitiesLi return c } +// ApplicationInfoFilter sets the optional parameter "applicationInfoFilter": +// Used to filter on the `oAuthClientId` field present in `ApplicationInfo` +// (#applicationinfo) message. **Usage** ``` +// GET...&applicationInfoFilter=oAuthClientId="clientId" +// GET...&applicationInfoFilter=oAuthClientId=%22clientId%22 ``` +func (c *ActivitiesListCall) ApplicationInfoFilter(applicationInfoFilter string) *ActivitiesListCall { + c.urlParams_.Set("applicationInfoFilter", applicationInfoFilter) + return c +} + // CustomerId sets the optional parameter "customerId": The unique ID of the // customer to retrieve data for. func (c *ActivitiesListCall) CustomerId(customerId string) *ActivitiesListCall { @@ -1252,6 +1294,15 @@ func (c *ActivitiesListCall) MaxResults(maxResults int64) *ActivitiesListCall { return c } +// NetworkInfoFilter sets the optional parameter "networkInfoFilter": Used to +// filter on the `regionCode` field present in `NetworkInfo` (#networkinfo) +// message. **Usage** ``` GET...&networkInfoFilter=regionCode="IN" +// GET...&networkInfoFilter=regionCode=%22IN%22 ``` +func (c *ActivitiesListCall) NetworkInfoFilter(networkInfoFilter string) *ActivitiesListCall { + c.urlParams_.Set("networkInfoFilter", networkInfoFilter) + return c +} + // OrgUnitID sets the optional parameter "orgUnitID": ID of the organizational // unit to report on. Activity records will be shown only for users who belong // to the specified organizational unit. Data before Dec 17, 2018 doesn't @@ -1329,6 +1380,15 @@ func (c *ActivitiesListCall) StartTime(startTime string) *ActivitiesListCall { return c } +// StatusFilter sets the optional parameter "statusFilter": Used to filter on +// the `statusCode` field present in `Status` (#status) message. **Usage** ``` +// GET...&statusFilter=statusCode="200" +// GET...&statusFilter=statusCode=%22200%22 ``` +func (c *ActivitiesListCall) StatusFilter(statusFilter string) *ActivitiesListCall { + c.urlParams_.Set("statusFilter", statusFilter) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. diff --git a/appsmarket/v2/appsmarket-api.json b/appsmarket/v2/appsmarket-api.json index a1ce94a8b3..6bfa012157 100644 --- a/appsmarket/v2/appsmarket-api.json +++ b/appsmarket/v2/appsmarket-api.json @@ -108,7 +108,7 @@ "customerLicense": { "methods": { "get": { - "description": "Gets the status of a license for a customer to determine if they have access for a given app.", + "description": "Gets the customer's licensing status to determine if they have access to a given app. For more information, see [Getting app installation and licensing details](https://developers.google.com/workspace/marketplace/example-calls-marketplace-api).", "flatPath": "appsmarket/v2/customerLicense/{applicationId}/{customerId}", "httpMethod": "GET", "id": "appsmarket.customerLicense.get", @@ -118,13 +118,13 @@ ], "parameters": { "applicationId": { - "description": "Application Id", + "description": "The ID of the application.", "location": "path", "required": true, "type": "string" }, "customerId": { - "description": "Customer Id", + "description": "The ID of the customer.", "location": "path", "required": true, "type": "string" @@ -143,7 +143,7 @@ "userLicense": { "methods": { "get": { - "description": "Gets the user's licensing status for their permission to use a given app.", + "description": "Gets the user's licensing status to determine if they have permission to use a given app. For more information, see [Getting app installation and licensing details](https://developers.google.com/workspace/marketplace/example-calls-marketplace-api).", "flatPath": "appsmarket/v2/userLicense/{applicationId}/{userId}", "httpMethod": "GET", "id": "appsmarket.userLicense.get", @@ -153,13 +153,13 @@ ], "parameters": { "applicationId": { - "description": "Application Id", + "description": "The ID of the application.", "location": "path", "required": true, "type": "string" }, "userId": { - "description": "User Id", + "description": "The ID of the user.", "location": "path", "required": true, "type": "string" @@ -176,7 +176,7 @@ } } }, - "revision": "20251217", + "revision": "20260209", "rootUrl": "https://appsmarket.googleapis.com/", "schemas": { "CustomerLicense": { @@ -203,11 +203,11 @@ "type": "string" }, "kind": { - "description": "The type of API resource. This is always appsmarket#customerLicense.", + "description": "The type of API resource. This is always `appsmarket#customerLicense`.", "type": "string" }, "state": { - "description": "The customer's license status. One of: - `ACTIVE`: The customer has a valid license. - `UNLICENSED`: There is no license: either this customer has never installed your application, or else has deleted it.", + "description": "The customer's license status. One of: - `ACTIVE`: The customer has a valid license. - `UNLICENSED`: There is no license. Either this customer has never installed your application or has deleted it.", "type": "string" } }, @@ -257,11 +257,11 @@ "type": "boolean" }, "id": { - "description": "The ID of user license.", + "description": "The ID of the user license.", "type": "string" }, "kind": { - "description": "The type of API resource. This is always appsmarket#userLicense.", + "description": "The type of API resource. This is always `appsmarket#userLicense`.", "type": "string" }, "state": { diff --git a/appsmarket/v2/appsmarket-gen.go b/appsmarket/v2/appsmarket-gen.go index 6c447d969b..0066fb0569 100644 --- a/appsmarket/v2/appsmarket-gen.go +++ b/appsmarket/v2/appsmarket-gen.go @@ -184,11 +184,11 @@ type CustomerLicense struct { Editions []*Editions `json:"editions,omitempty"` // Id: The ID of the customer license. Id string `json:"id,omitempty"` - // Kind: The type of API resource. This is always appsmarket#customerLicense. + // Kind: The type of API resource. This is always `appsmarket#customerLicense`. Kind string `json:"kind,omitempty"` // State: The customer's license status. One of: - `ACTIVE`: The customer has a - // valid license. - `UNLICENSED`: There is no license: either this customer has - // never installed your application, or else has deleted it. + // valid license. - `UNLICENSED`: There is no license. Either this customer has + // never installed your application or has deleted it. State string `json:"state,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. @@ -246,9 +246,9 @@ type UserLicense struct { // Enabled: The domain administrator has activated the application for this // domain. Enabled bool `json:"enabled,omitempty"` - // Id: The ID of user license. + // Id: The ID of the user license. Id string `json:"id,omitempty"` - // Kind: The type of API resource. This is always appsmarket#userLicense. + // Kind: The type of API resource. This is always `appsmarket#userLicense`. Kind string `json:"kind,omitempty"` // State: The user's licensing status. One of: - `ACTIVE`: The user has a valid // license and should be permitted to use the application. - `UNLICENSED`: The @@ -289,11 +289,13 @@ type CustomerLicenseGetCall struct { header_ http.Header } -// Get: Gets the status of a license for a customer to determine if they have -// access for a given app. +// Get: Gets the customer's licensing status to determine if they have access +// to a given app. For more information, see Getting app installation and +// licensing details +// (https://developers.google.com/workspace/marketplace/example-calls-marketplace-api). // -// - applicationId: Application Id. -// - customerId: Customer Id. +// - applicationId: The ID of the application. +// - customerId: The ID of the customer. func (r *CustomerLicenseService) Get(applicationId string, customerId string) *CustomerLicenseGetCall { c := &CustomerLicenseGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.applicationId = applicationId @@ -404,11 +406,13 @@ type UserLicenseGetCall struct { header_ http.Header } -// Get: Gets the user's licensing status for their permission to use a given -// app. +// Get: Gets the user's licensing status to determine if they have permission +// to use a given app. For more information, see Getting app installation and +// licensing details +// (https://developers.google.com/workspace/marketplace/example-calls-marketplace-api). // -// - applicationId: Application Id. -// - userId: User Id. +// - applicationId: The ID of the application. +// - userId: The ID of the user. func (r *UserLicenseService) Get(applicationId string, userId string) *UserLicenseGetCall { c := &UserLicenseGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.applicationId = applicationId diff --git a/clouderrorreporting/v1beta1/clouderrorreporting-api.json b/clouderrorreporting/v1beta1/clouderrorreporting-api.json index 5ff6bf038a..caab572097 100644 --- a/clouderrorreporting/v1beta1/clouderrorreporting-api.json +++ b/clouderrorreporting/v1beta1/clouderrorreporting-api.json @@ -15,6 +15,13 @@ "description": "Groups and counts similar errors from cloud services and applications, reports new errors, and provides access to error groups and their associated errors. ", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/error-reporting/", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://clouderrorreporting.us.rep.googleapis.com/", + "location": "us" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -728,7 +735,7 @@ } } }, - "revision": "20240705", + "revision": "20260206", "rootUrl": "https://clouderrorreporting.googleapis.com/", "schemas": { "DeleteEventsResponse": { diff --git a/compute/v0.alpha/compute-api.json b/compute/v0.alpha/compute-api.json index ab04aa6b49..e9e026fefe 100644 --- a/compute/v0.alpha/compute-api.json +++ b/compute/v0.alpha/compute-api.json @@ -3234,6 +3234,55 @@ "https://www.googleapis.com/auth/compute" ] }, + "convert": { + "description": "Converts a persistent disk to support Gen4+ VMs.", + "flatPath": "projects/{project}/zones/{zone}/disks/{disk}/convert", + "httpMethod": "POST", + "id": "compute.disks.convert", + "parameterOrder": [ + "project", + "zone", + "disk" + ], + "parameters": { + "disk": { + "description": "Name of the Disk resource, should conform to RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "zone": { + "description": "The name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/disks/{disk}/convert", + "request": { + "$ref": "DisksConvertRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "createSnapshot": { "description": "Creates a snapshot of a specified persistent disk. For regular snapshot\ncreation, consider using snapshots.insert\ninstead, as that method supports more features, such as creating snapshots\nin a project different from the source disk project.", "flatPath": "projects/{project}/zones/{zone}/disks/{disk}/createSnapshot", @@ -7181,7 +7230,7 @@ ] }, "insert": { - "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.", + "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API", "flatPath": "projects/{project}/global/networkEndpointGroups", "httpMethod": "POST", "id": "compute.globalNetworkEndpointGroups.insert", @@ -10478,6 +10527,54 @@ "https://www.googleapis.com/auth/compute" ] }, + "configureAcceleratorTopologies": { + "description": "Updates the accelerator topologies configuration.", + "flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/configureAcceleratorTopologies", + "httpMethod": "POST", + "id": "compute.instanceGroupManagers.configureAcceleratorTopologies", + "parameterOrder": [ + "project", + "zone", + "instanceGroupManager" + ], + "parameters": { + "instanceGroupManager": { + "description": "The name of the managed instance group.\nIt should conform to RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "zone": { + "description": "The name of thezone\nwhere the managed instance group is located.\nIt should conform to RFC1035.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/configureAcceleratorTopologies", + "request": { + "$ref": "InstanceGroupManagersConfigureAcceleratorTopologiesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "createInstances": { "description": "Creates instances with per-instance configurations in this managed instance\ngroup. Instances are created using the current instance template. Thecreate instances operation is marked DONE if thecreateInstances request is successful. The underlying actions\ntake additional time. You must separately verify the status of thecreating or actions with the listmanagedinstances\nmethod.", "flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/createInstances", @@ -20530,7 +20627,7 @@ ] }, "insert": { - "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.", + "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API", "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups", "httpMethod": "POST", "id": "compute.networkEndpointGroups.insert", @@ -28805,7 +28902,7 @@ }, "path": "projects/{project}/regions/{region}/compositeHealthChecks/{compositeHealthCheck}/getHealth", "response": { - "$ref": "CompositeHealthChecksGetHealthResponse" + "$ref": "CompositeHealthCheckHealth" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -31411,6 +31508,49 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "getHealth": { + "description": "Gets the most recent health check results for this\nregional HealthSource.", + "flatPath": "projects/{project}/regions/{region}/healthSources/{healthSource}/getHealth", + "httpMethod": "GET", + "id": "compute.regionHealthSources.getHealth", + "parameterOrder": [ + "project", + "region", + "healthSource" + ], + "parameters": { + "healthSource": { + "description": "Name of the HealthSource resource to get health for.", + "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": "Name of the project scoping this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/healthSources/{healthSource}/getHealth", + "response": { + "$ref": "HealthSourceHealth" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "insert": { "description": "Create a HealthSource in the specified project in the given region\nusing the parameters that are included in the request.", "flatPath": "projects/{project}/regions/{region}/healthSources", @@ -35077,7 +35217,7 @@ ] }, "insert": { - "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.", + "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API", "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups", "httpMethod": "POST", "id": "compute.regionNetworkEndpointGroups.insert", @@ -41204,6 +41344,61 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "getVersion": { + "description": "Allows customers to get SBOM versions of a reservation slot.", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlocksId}/reservationSlots/{reservationSlot}/getVersion", + "httpMethod": "POST", + "id": "compute.reservationSlots.getVersion", + "parameterOrder": [ + "project", + "zone", + "parentName", + "reservationSlot" + ], + "parameters": { + "parentName": { + "description": "The name of the parent reservation and parent block. In the format of\nreservations/{reservation_name}/reservationBlocks/{reservation_block_name}/reservationSubBlocks/{reservation_sub_block_name}", + "location": "path", + "pattern": "reservations/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})/reservationBlocks/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})/reservationSubBlocks/([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", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "reservationSlot": { + "description": "The name of the reservation slot.\nName should conform to RFC1035 or be a resource ID.", + "location": "path", + "required": true, + "type": "string" + }, + "zone": { + "description": "Name of the zone for this request. Zone name should conform to RFC1035.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/{+parentName}/reservationSlots/{reservationSlot}/getVersion", + "request": { + "$ref": "ReservationSlotsGetVersionRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "list": { "description": "Retrieves a list of reservation slots under a single reservation.", "flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlocksId}/reservationSlots", @@ -41272,6 +41467,62 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] + }, + "update": { + "description": "Update a reservation slot in the specified sub-block.", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservationsId}/reservationBlocks/{reservationBlocksId}/reservationSubBlocks/{reservationSubBlocksId}/reservationSlots/{reservationSlot}", + "httpMethod": "POST", + "id": "compute.reservationSlots.update", + "parameterOrder": [ + "project", + "zone", + "parentName", + "reservationSlot" + ], + "parameters": { + "parentName": { + "description": "The name of the sub-block resource.", + "location": "path", + "pattern": "reservations/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})/reservationBlocks/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})/reservationSubBlocks/([a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19})", + "required": true, + "type": "string" + }, + "project": { + "description": "The project ID for this request.", + "location": "path", + "required": true, + "type": "string" + }, + "reservationSlot": { + "description": "The name of the slot resource.", + "location": "path", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The fields to be updated as part of this request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "zone": { + "description": "The name of the zone for this request, formatted as RFC1035.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/{+parentName}/reservationSlots/{reservationSlot}", + "request": { + "$ref": "ReservationSlot" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] } } }, @@ -41339,6 +41590,60 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "getVersion": { + "description": "Allows customers to get SBOM versions of a reservation subBlock.", + "flatPath": "projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}/getVersion", + "httpMethod": "POST", + "id": "compute.reservationSubBlocks.getVersion", + "parameterOrder": [ + "project", + "zone", + "parentName", + "reservationSubBlock" + ], + "parameters": { + "parentName": { + "description": "The name of the parent reservation and parent block. In the format of\nreservations/{reservation_name}/reservationBlocks/{reservation_block_name}", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "reservationSubBlock": { + "description": "The name of the reservation subBlock.\nName should conform to RFC1035 or be a resource ID.", + "location": "path", + "required": true, + "type": "string" + }, + "zone": { + "description": "Name of the zone for this request. Zone name should conform to RFC1035.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}/getVersion", + "request": { + "$ref": "ReservationSubBlocksGetVersionRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "list": { "description": "Retrieves a list of reservation subBlocks under a single reservation.", "flatPath": "projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks", @@ -42885,6 +43190,94 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] + }, + "pause": { + "description": "Pauses a Rollout.", + "flatPath": "projects/{project}/global/rollouts/{rollout}/pause", + "httpMethod": "POST", + "id": "compute.rollouts.pause", + "parameterOrder": [ + "project", + "rollout" + ], + "parameters": { + "etag": { + "description": "The etag of the Rollout.\nIf this is provided, the request will only succeed if the etag matches\nthe current etag of the Rollout.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Required. Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{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\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "rollout": { + "description": "Required. Name of the Rollout resource to pause.", + "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/rollouts/{rollout}/pause", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "resume": { + "description": "Resumes a Rollout.", + "flatPath": "projects/{project}/global/rollouts/{rollout}/resume", + "httpMethod": "POST", + "id": "compute.rollouts.resume", + "parameterOrder": [ + "project", + "rollout" + ], + "parameters": { + "etag": { + "description": "The etag of the Rollout.\nIf this is provided, the request will only succeed if the etag matches\nthe current etag of the Rollout.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Required. Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{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\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "rollout": { + "description": "Required. Name of the Rollout resource to resume.", + "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/rollouts/{rollout}/resume", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] } } }, @@ -54266,7 +54659,7 @@ } } }, - "revision": "20260122", + "revision": "20260206", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -55744,6 +56137,7 @@ "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT3P", "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P", "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT5P", + "VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU7", "VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU7X" ], "enumDescriptions": [ @@ -55754,6 +56148,7 @@ "", "", "", + "", "" ], "type": "string" @@ -55939,7 +56334,7 @@ "type": "object" }, "AllocationSpecificSKUAllocationReservedInstanceProperties": { - "description": "Properties of the SKU instances being reserved.\nNext ID: 9", + "description": "Properties of the SKU instances being reserved.\nNext ID: 10", "id": "AllocationSpecificSKUAllocationReservedInstanceProperties", "properties": { "guestAccelerators": { @@ -57372,6 +57767,10 @@ "format": "float", "type": "number" }, + "orchestrationInfo": { + "$ref": "BackendBackendOrchestrationInfo", + "description": "Information about the resource or system that manages the backend." + }, "preference": { "description": "This field indicates whether this backend should be fully utilized before\nsending traffic to backends with default preference. The possible values\nare:\n \n - PREFERRED: Backends with this preference level will be\n filled up to their capacity limits first, based on RTT.\n - DEFAULT: If preferred backends don't have enough\n capacity, backends in this layer would be used and traffic would be\n assigned based on the load balancing algorithm you use. This is the\n default", "enum": [ @@ -57406,6 +57805,17 @@ }, "type": "object" }, + "BackendBackendOrchestrationInfo": { + "description": "A message containing information about the resource or system that manages\nthe backend.", + "id": "BackendBackendOrchestrationInfo", + "properties": { + "resourceUri": { + "description": "The URI of the resource or system that manages the backend.", + "type": "string" + } + }, + "type": "object" + }, "BackendBucket": { "description": "Represents a Cloud Storage Bucket resource.\n\nThis Cloud Storage bucket resource is referenced by a URL map of a load\nbalancer. For more information, readBackend Buckets.", "id": "BackendBucket", @@ -58540,6 +58950,10 @@ "$ref": "BackendServiceNetworkPassThroughLbTrafficPolicy", "description": "Configures traffic steering properties of internal passthrough Network\nLoad Balancers.\n\nnetworkPassThroughLbTrafficPolicy cannot be specified with haPolicy." }, + "orchestrationInfo": { + "$ref": "BackendServiceOrchestrationInfo", + "description": "Information about the resource or system that manages the backend service." + }, "outlierDetection": { "$ref": "OutlierDetection", "description": "Settings controlling the ejection of unhealthy backend endpoints from the\nload balancing pool of each individual proxy instance that processes the\ntraffic for the given backend service. If not set, this feature is\nconsidered disabled.\n\nResults of the outlier detection algorithm (ejection of endpoints from the\nload balancing pool and returning them back to the pool) are executed\nindependently by each proxy instance of the load balancer. In most cases,\nmore than one proxy instance handles the traffic received by a backend\nservice. Thus, it is possible that an unhealthy endpoint is detected and\nejected by only some of the proxies, and while this happens, other proxies\nmay continue to send requests to the same unhealthy endpoint until they\ndetect and eject the unhealthy endpoint.\n\nApplicable backend endpoints can be:\n \n - VM instances in an Instance Group\n - Endpoints in a Zonal NEG (GCE_VM_IP, GCE_VM_IP_PORT)\n - Endpoints in a Hybrid Connectivity NEG (NON_GCP_PRIVATE_IP_PORT)\n - Serverless NEGs, that resolve to Cloud Run, App Engine, or Cloud\n Functions Services \n - Private Service Connect NEGs, that resolve to\n Google-managed regional API endpoints or managed services published using\n Private Service Connect\n\n\n\nApplicable backend service types can be:\n \n - A global backend service with the loadBalancingScheme set to\n INTERNAL_SELF_MANAGED or EXTERNAL_MANAGED. \n - A regional backend\n service with the serviceProtocol set to HTTP, HTTPS, HTTP2 or H2C, and\n loadBalancingScheme set to INTERNAL_MANAGED or EXTERNAL_MANAGED. Not\n supported for Serverless NEGs.\n\n\n\nNot supported when the backend service is referenced by a URL map that is\nbound to target gRPC proxy that has validateForProxyless field set to true." @@ -59693,6 +60107,17 @@ }, "type": "object" }, + "BackendServiceOrchestrationInfo": { + "description": "A message containing information about the resource or system that manages\nthe backend service.", + "id": "BackendServiceOrchestrationInfo", + "properties": { + "resourceUri": { + "description": "The resource URI of the resource or system that manages the backend\nservice.", + "type": "string" + } + }, + "type": "object" + }, "BackendServiceParams": { "description": "Additional Backend Service parameters.", "id": "BackendServiceParams", @@ -60848,6 +61273,11 @@ "description": "Defines the instance scheduling options.", "id": "CapacityAdviceRequestInstancePropertiesScheduling", "properties": { + "maxRunDuration": { + "description": "The maximum time that instances can run before Compute Engine\nterminates them.", + "format": "google-duration", + "type": "string" + }, "provisioningModel": { "description": "Specifies the provisioning model of the instance.", "enum": [ @@ -60905,6 +61335,12 @@ "format": "google-duration", "type": "string" }, + "estimatedWaitDuration": { + "description": "Output only. The likely maximum time that you will have to wait until\nCompute Engine provisions your instances.", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, "obtainability": { "description": "The obtainability score indicates the likelihood of successfully\nobtaining (provisioning) the requested number of VMs.\nThe score range is 0.0 through 1.0. Higher is better.", "format": "double", @@ -62048,6 +62484,40 @@ }, "type": "object" }, + "CompositeHealthCheckHealth": { + "description": "Response message for RegionCompositeHealthChecks.GetHealth", + "id": "CompositeHealthCheckHealth", + "properties": { + "healthSources": { + "description": "Health sources and their corresponding health states.", + "items": { + "$ref": "CompositeHealthChecksGetHealthResponseHealthSourceHealth" + }, + "type": "array" + }, + "healthState": { + "description": "Health state of the CompositeHealthCheck.", + "enum": [ + "HEALTHY", + "UNHEALTHY", + "UNKNOWN" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "kind": { + "default": "compute#compositeHealthCheckHealth", + "description": "Output only. [Output Only] Type of resource. Alwayscompute#compositeHealthCheckHealth for the health of\ncomposite health checks.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "CompositeHealthCheckList": { "id": "CompositeHealthCheckList", "properties": { @@ -62203,34 +62673,6 @@ }, "type": "object" }, - "CompositeHealthChecksGetHealthResponse": { - "description": "Response message for RegionCompositeHealthChecks.GetHealth", - "id": "CompositeHealthChecksGetHealthResponse", - "properties": { - "healthSources": { - "description": "Health sources and their corresponding health states.", - "items": { - "$ref": "CompositeHealthChecksGetHealthResponseHealthSourceHealth" - }, - "type": "array" - }, - "healthState": { - "description": "Health state of the CompositeHealthCheck.", - "enum": [ - "HEALTHY", - "UNHEALTHY", - "UNKNOWN" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, "CompositeHealthChecksGetHealthResponseHealthSourceHealth": { "id": "CompositeHealthChecksGetHealthResponseHealthSourceHealth", "properties": { @@ -62249,7 +62691,7 @@ "type": "string" }, "source": { - "description": "URL of the associated HealthSource resource.", + "description": "Fully qualified URL of the associated HealthSource resource.", "type": "string" } }, @@ -62875,6 +63317,57 @@ }, "type": "object" }, + "DateTime": { + "description": "Represents civil time (or occasionally physical time).\n\nThis type can represent a civil time in one of a few possible ways:\n\n * When utc_offset is set and time_zone is unset: a civil time on a calendar\n day with a particular offset from UTC.\n * When time_zone is set and utc_offset is unset: a civil time on a calendar\n day in a particular time zone.\n * When neither time_zone nor utc_offset is set: a civil time on a calendar\n day in local time.\n\nThe date is relative to the Proleptic Gregorian Calendar.\n\nIf year, month, or day are 0, the DateTime is considered not to have a\nspecific year, month, or day respectively.\n\nThis type may also be used to represent a physical time if all the date and\ntime fields are set and either case of the `time_offset` oneof is set.\nConsider using `Timestamp` message for physical time instead. If your use\ncase also would like to store the user's timezone, that can be done in\nanother field.\n\nThis type is more flexible than some applications may want. Make sure to\ndocument and validate your application's limitations.", + "id": "DateTime", + "properties": { + "day": { + "description": "Optional. Day of month. Must be from 1 to 31 and valid for the year and\nmonth, or 0 if specifying a datetime without a day.", + "format": "int32", + "type": "integer" + }, + "hours": { + "description": "Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults\nto 0 (midnight). An API may choose to allow the value \"24:00:00\" for\nscenarios like business closing time.", + "format": "int32", + "type": "integer" + }, + "minutes": { + "description": "Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Optional. Month of year. Must be from 1 to 12, or 0 if specifying a\ndatetime without a month.", + "format": "int32", + "type": "integer" + }, + "nanos": { + "description": "Optional. Fractions of seconds in nanoseconds. Must be from 0 to\n999,999,999, defaults to 0.", + "format": "int32", + "type": "integer" + }, + "seconds": { + "description": "Optional. Seconds of minutes of the time. Must normally be from 0 to 59,\ndefaults to 0. An API may allow the value 60 if it allows leap-seconds.", + "format": "int32", + "type": "integer" + }, + "timeZone": { + "$ref": "TimeZone", + "description": "Time zone." + }, + "utcOffset": { + "description": "UTC offset. Must be whole seconds, between -18 hours and +18 hours.\nFor example, a UTC offset of -4:00 would be represented as\n{ seconds: -14400 }.", + "format": "google-duration", + "type": "string" + }, + "year": { + "description": "Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a\ndatetime without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "DeprecationStatus": { "description": "Deprecation status for a public resource.", "id": "DeprecationStatus", @@ -63487,6 +63980,32 @@ }, "type": "object" }, + "DiskConvertParams": { + "id": "DiskConvertParams", + "properties": { + "forceStopInProgressSnapshot": { + "type": "boolean" + }, + "provisionedIops": { + "format": "int64", + "type": "string" + }, + "provisionedThroughput": { + "format": "int64", + "type": "string" + }, + "quickConversionOnly": { + "type": "boolean" + }, + "resetSupportedVmFamilies": { + "type": "boolean" + }, + "targetDiskType": { + "type": "string" + } + }, + "type": "object" + }, "DiskInstantiationConfig": { "description": "A specification of the desired way to instantiate a disk in the instance\ntemplate when its created from a source instance.", "id": "DiskInstantiationConfig", @@ -64404,6 +64923,15 @@ }, "type": "object" }, + "DisksConvertRequest": { + "id": "DisksConvertRequest", + "properties": { + "params": { + "$ref": "DiskConvertParams" + } + }, + "type": "object" + }, "DisksRemoveResourcePoliciesRequest": { "id": "DisksRemoveResourcePoliciesRequest", "properties": { @@ -67377,6 +67905,10 @@ "FutureReservation": { "id": "FutureReservation", "properties": { + "advancedDeploymentControl": { + "$ref": "ReservationAdvancedDeploymentControl", + "description": "Advanced control for cluster management, applicable only to DENSE\ndeployment type future reservations." + }, "aggregateReservation": { "$ref": "AllocationAggregateReservation", "description": "Aggregate reservation details for the future reservation." @@ -67397,6 +67929,17 @@ "$ref": "FutureReservationCommitmentInfo", "description": "If not present, then FR will not deliver a new commitment or update an\nexisting commitment." }, + "confidentialComputeType": { + "enum": [ + "CONFIDENTIAL_COMPUTE_TYPE_TDX", + "CONFIDENTIAL_COMPUTE_TYPE_UNSPECIFIED" + ], + "enumDescriptions": [ + "Intel Trust Domain Extensions.", + "" + ], + "type": "string" + }, "creationTimestamp": { "description": "Output only. [Output Only] The creation timestamp for this future reservation inRFC3339\ntext format.", "readOnly": true, @@ -68427,6 +68970,7 @@ "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT3P", "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P", "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT5P", + "VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU7", "VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU7X" ], "enumDescriptions": [ @@ -68437,6 +68981,7 @@ "", "", "", + "", "" ], "type": "string" @@ -68638,6 +69183,35 @@ }, "type": "object" }, + "GetVersionOperationMetadata": { + "id": "GetVersionOperationMetadata", + "properties": { + "inlineSbomInfo": { + "$ref": "GetVersionOperationMetadataSbomInfo" + } + }, + "type": "object" + }, + "GetVersionOperationMetadataSbomInfo": { + "id": "GetVersionOperationMetadataSbomInfo", + "properties": { + "currentComponentVersions": { + "additionalProperties": { + "type": "string" + }, + "description": "SBOM versions currently applied to the resource. The key is the component\nname and the value is the version.", + "type": "object" + }, + "targetComponentVersions": { + "additionalProperties": { + "type": "string" + }, + "description": "SBOM versions scheduled for the next maintenance. The key is the\ncomponent name and the value is the version.", + "type": "object" + } + }, + "type": "object" + }, "GlobalAddressesMoveRequest": { "id": "GlobalAddressesMoveRequest", "properties": { @@ -69719,7 +70293,7 @@ "id": "HaController", "properties": { "backendServices": { - "description": "Advanced configuration option. If specified, these Backend Services need to\nbe pre-created and configured as managed.", + "description": "Advanced configuration option. If specified, these Backend Services need to\nbe pre-created.\n\nCurrently, only one backend service can be specified, and it must be L4\nInternal Load Balancer (ILB).", "items": { "type": "string" }, @@ -72617,6 +73191,40 @@ }, "type": "object" }, + "HealthSourceHealth": { + "description": "Response message for RegionHealthSources.GetHealth", + "id": "HealthSourceHealth", + "properties": { + "healthState": { + "description": "Health state of the HealthSource.", + "enum": [ + "HEALTHY", + "UNHEALTHY", + "UNKNOWN" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "kind": { + "default": "compute#healthSourceHealth", + "description": "Output only. [Output Only] Type of resource. Alwayscompute#healthSourceHealth for the health of health sources.", + "readOnly": true, + "type": "string" + }, + "sources": { + "description": "Health state details of the sources.", + "items": { + "$ref": "HealthSourcesGetHealthResponseSourceInfo" + }, + "type": "array" + } + }, + "type": "object" + }, "HealthSourceList": { "id": "HealthSourceList", "properties": { @@ -72772,6 +73380,47 @@ }, "type": "object" }, + "HealthSourcesGetHealthResponseSourceInfo": { + "id": "HealthSourcesGetHealthResponseSourceInfo", + "properties": { + "backends": { + "description": "Represents an instance group or network endpoint group behind the source\nbackend service. Only used if the sourceType of the regionHealthSource\nis BACKEND_SERVICE.", + "items": { + "$ref": "HealthSourcesGetHealthResponseSourceInfoBackendInfo" + }, + "type": "array" + }, + "forwardingRule": { + "description": "Fully qualified URL of the forwarding rule associated with the source\nresource if it is a L4ILB backend service.", + "type": "string" + }, + "source": { + "description": "Fully qualified URL of the associated source resource. This is always a\nbackend service URL.", + "type": "string" + } + }, + "type": "object" + }, + "HealthSourcesGetHealthResponseSourceInfoBackendInfo": { + "id": "HealthSourcesGetHealthResponseSourceInfoBackendInfo", + "properties": { + "endpointCount": { + "description": "Total number of endpoints when determining the health of the\nregionHealthSource.", + "format": "int32", + "type": "integer" + }, + "group": { + "description": "Fully qualified URL of an instance group or network endpoint group\nbehind the source backend service.", + "type": "string" + }, + "healthyEndpointCount": { + "description": "Number of endpoints considered healthy when determining health of the\nregionHealthSource.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "HealthSourcesScopedList": { "id": "HealthSourcesScopedList", "properties": { @@ -75741,6 +76390,12 @@ "readOnly": true, "type": "integer" }, + "restartingInPlace": { + "description": "Output only. [Output Only] The number of instances in the managed instance group that\nare scheduled to be restarted or are currently being restarted.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, "resuming": { "description": "Output only. [Output Only] The number of instances in the managed instance group that\nare scheduled to be resumed or are currently being resumed.", "format": "int32", @@ -77156,6 +77811,18 @@ "InstanceGroupManagerUpdatePolicy": { "id": "InstanceGroupManagerUpdatePolicy", "properties": { + "disruptionMode": { + "description": "Whether the boot disk is allowed to be updated with restart.", + "enum": [ + "LEGACY", + "OPTIMIZED" + ], + "enumDescriptions": [ + "Default option: boot disk will not be updated with restart.", + "Boot disk will be updated with restart." + ], + "type": "string" + }, "instanceRedistributionType": { "description": "The \ninstance redistribution policy for regional managed instance groups.\nValid values are: \n \n - PROACTIVE (default): The group attempts to maintain an\n even distribution of VM instances across zones in the region.\n - NONE: For non-autoscaled groups, proactive\n redistribution is disabled.", "enum": [ @@ -77187,13 +77854,15 @@ "NONE", "REFRESH", "REPLACE", - "RESTART" + "RESTART", + "RESTART_IN_PLACE" ], "enumDescriptions": [ "Do not perform any action.", "Do not stop the instance.", "(Default.) Replace the instance according to the replacement method\noption.", - "Stop the instance and start it again." + "Stop the instance and start it again.", + "Restart the instance using the same capacity and preserving local SSDs." ], "type": "string" }, @@ -77203,13 +77872,15 @@ "NONE", "REFRESH", "REPLACE", - "RESTART" + "RESTART", + "RESTART_IN_PLACE" ], "enumDescriptions": [ "Do not perform any action.", "Do not stop the instance.", "(Default.) Replace the instance according to the replacement method\noption.", - "Stop the instance and start it again." + "Stop the instance and start it again.", + "Restart the instance using the same capacity and preserving local SSDs." ], "type": "string" }, @@ -77283,6 +77954,18 @@ "description": "Flag to update all instances instead of specified list of “instances”.\nIf the flag is set to true then the instances may not be specified\nin the request.", "type": "boolean" }, + "disruptionMode": { + "description": "Whether the boot disk is allowed to be updated with restart.", + "enum": [ + "LEGACY", + "OPTIMIZED" + ], + "enumDescriptions": [ + "Default option: boot disk will not be updated with restart.", + "Boot disk will be updated with restart." + ], + "type": "string" + }, "instances": { "description": "The list of URLs of one or more instances for which you want to apply\nupdates. Each URL can be a full URL or a partial URL, such aszones/[ZONE]/instances/[INSTANCE_NAME].", "items": { @@ -77296,13 +77979,15 @@ "NONE", "REFRESH", "REPLACE", - "RESTART" + "RESTART", + "RESTART_IN_PLACE" ], "enumDescriptions": [ "Do not perform any action.", "Do not stop the instance.", "(Default.) Replace the instance according to the replacement method\noption.", - "Stop the instance and start it again." + "Stop the instance and start it again.", + "Restart the instance using the same capacity and preserving local SSDs." ], "type": "string" }, @@ -77312,13 +77997,15 @@ "NONE", "REFRESH", "REPLACE", - "RESTART" + "RESTART", + "RESTART_IN_PLACE" ], "enumDescriptions": [ "Do not perform any action.", "Do not stop the instance.", "(Default.) Replace the instance according to the replacement method\noption.", - "Stop the instance and start it again." + "Stop the instance and start it again.", + "Restart the instance using the same capacity and preserving local SSDs." ], "type": "string" }, @@ -77328,19 +78015,45 @@ "NONE", "REFRESH", "REPLACE", - "RESTART" + "RESTART", + "RESTART_IN_PLACE" ], "enumDescriptions": [ "Do not perform any action.", "Do not stop the instance.", "(Default.) Replace the instance according to the replacement method\noption.", - "Stop the instance and start it again." + "Stop the instance and start it again.", + "Restart the instance using the same capacity and preserving local SSDs." ], "type": "string" } }, "type": "object" }, + "InstanceGroupManagersConfigureAcceleratorTopologiesRequest": { + "description": "InstanceGroupManagers.ConfigureAcceleratorTopologies", + "id": "InstanceGroupManagersConfigureAcceleratorTopologiesRequest", + "properties": { + "acceleratorTopologyActions": { + "additionalProperties": { + "enum": [ + "ACCELERATOR_TOPOLOGY_ACTION_UNSPECIFIED", + "ACTIVATE", + "DEACTIVATE" + ], + "enumDescriptions": [ + "Default value. Should not be used.", + "The accelerator topology is to be activated.", + "The accelerator topology is to be deactivated." + ], + "type": "string" + }, + "description": "Map of accelerator topologies that should have their state changed to\nthe specified value. The key is the hashed topology locus id. It can be\nobtained from the GetAvailableAcceleratorTopologies rpc.", + "type": "object" + } + }, + "type": "object" + }, "InstanceGroupManagersCreateInstancesRequest": { "description": "InstanceGroupManagers.createInstances", "id": "InstanceGroupManagersCreateInstancesRequest", @@ -77402,6 +78115,10 @@ }, "description": "The accelerator topology information returned per id of the topology\nlocation.", "type": "object" + }, + "multiMig": { + "description": "URL to MMIG this MIG belongs to.", + "type": "string" } }, "type": "object" @@ -77417,14 +78134,115 @@ "enum": [ "DEGRADED", "HEALTHY", - "UNHEALTHY" + "UNHEALTHY", + "UNKNOWN" ], "enumDescriptions": [ "All VM are in RUNNING state, but there is an issue with\nthe inter-chip connectivity that makes this part\nof the infrastructure ready to use as a working\ninter-chip connected group only in a degraded mode.\nThis is allowed only for Instances configured with ICI\nresiliency", "All VM are in RUNNING state, there are no issues with the\ninter-chip connectivity.", - "Some VMs may not be in RUNNING state, or there is an\nissue with the inter-chip connectivity that makes this\npart of the infrastructure unsuitable for forming a\nworking inter-chip connected group." + "Some VMs may not be in RUNNING state, or there is an\nissue with the inter-chip connectivity that makes this\npart of the infrastructure unsuitable for forming a\nworking inter-chip connected group.", + "No signal available" + ], + "type": "string" + }, + "acceleratorTopologyState": { + "$ref": "InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyState" + }, + "instancesHealth": { + "enum": [ + "ALL_HEALTHY", + "UNHEALTHY_OR_MISSING" + ], + "enumDescriptions": [ + "Infrastructure is healthy", + "Some VMs are in another state than RUNNING or they are missing." + ], + "type": "string" + }, + "parent": { + "description": "Identified by the topology Id in the accelerator_topology_info map. Empty\nfor the top-level topology", + "type": "string" + } + }, + "type": "object" + }, + "InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyState": { + "description": "Specifies the topology state", + "id": "InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyState", + "properties": { + "currentState": { + "enum": [ + "ACTIVATING", + "ACTIVE", + "ACTIVE_DEGRADED", + "DEACTIVATING", + "FAILED", + "INACTIVE", + "INCOMPLETE" + ], + "enumDescriptions": [ + "", + "", + "The topology is active but with potential performance degradation.", + "", + "Critical non-retriable error that the user has to act manually", + "", + "Not all VMs have been provisioned" ], "type": "string" + }, + "error": { + "description": "Reason why the topology state change failed", + "properties": { + "errors": { + "description": "[Output Only] The array of errors encountered while processing this\noperation.", + "items": { + "properties": { + "code": { + "description": "[Output Only] The error type identifier for this error.", + "type": "string" + }, + "errorDetails": { + "description": "[Output Only] An optional list of messages that contain the error\ndetails. There is a set of defined message types to use for providing\ndetails.The syntax depends on the error code. For example,\nQuotaExceededInfo will have details when the error code is\nQUOTA_EXCEEDED.", + "items": { + "properties": { + "errorInfo": { + "$ref": "ErrorInfo" + }, + "help": { + "$ref": "Help" + }, + "localizedMessage": { + "$ref": "LocalizedMessage" + }, + "quotaInfo": { + "$ref": "QuotaExceededInfo" + } + }, + "type": "object" + }, + "type": "array" + }, + "location": { + "description": "[Output Only] Indicates the field in the request that caused the error.\nThis property is optional.", + "type": "string" + }, + "message": { + "description": "[Output Only] An optional, human-readable error message.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "errorTimestamp": { + "description": "Timestamp when the last error happened", + "format": "google-datetime", + "type": "string" } }, "type": "object" @@ -81055,7 +81873,7 @@ "type": "string" }, "subzone": { - "description": "Specific subzone in the InterconnectLocation that represents where\nthis connection is to be provisioned.", + "description": "To be deprecated.", "enum": [ "SUBZONE_A", "SUBZONE_B" @@ -89928,7 +90746,7 @@ "type": "object" }, "NetworkEndpointGroup": { - "description": "Represents a collection of network endpoints.\n\nA network endpoint group (NEG) defines how a set of endpoints should be\nreached, whether they are reachable, and where they are located.\nFor more information about using NEGs for different use cases, seeNetwork endpoint groups overview.", + "description": "Represents a collection of network endpoints.\n\nA network endpoint group (NEG) defines how a set of endpoints should be\nreached, whether they are reachable, and where they are located.\nFor more information about using NEGs for different use cases, seeNetwork endpoint groups overview.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API", "id": "NetworkEndpointGroup", "properties": { "annotations": { @@ -96147,6 +96965,9 @@ }, "type": "object" }, + "getVersionOperationMetadata": { + "$ref": "GetVersionOperationMetadata" + }, "httpErrorMessage": { "description": "[Output Only] If the operation fails, this field contains the HTTP error\nmessage that was returned, such as `NOT FOUND`.", "type": "string" @@ -97803,6 +98624,54 @@ }, "type": "object" }, + "PeriodicPartialMaintenanceSchedule": { + "description": "The periodic partial maintenance schedule includes 52 weeks worth of\nmaintenance windows.\nLINT.IfChange(PeriodicPartialMaintenanceSchedule)", + "id": "PeriodicPartialMaintenanceSchedule", + "properties": { + "subType": { + "description": "The maintenance type in which the zone is during the given window.", + "enum": [ + "MAINTENANCE_SUBTYPE_UNSPECIFIED", + "MAINTENANCE_TYPE_CUSTOMER_MAINTENANCE", + "MAINTENANCE_TYPE_DISRUPTIVE_UPGRADE", + "MAINTENANCE_TYPE_STABLE", + "MAINTENANCE_TYPE_TRANSITION" + ], + "enumDescriptions": [ + "Default value.", + "A dedicated window for customers to perform their own maintenance. This\noften runs concurrently with a DISRUPTIVE_UPGRADE. This corresponds to\nthe Customer Maintenance Window for CME.", + "For disruptive updates, including host machine kernel or firmware\nupgrades. This corresponds to the Critical Services Maintenance Window\nfor CME.", + "A post-maintenance window for customers to conduct final testing and\nperformance validation before resuming full business operations. This\ncorresponds to Performance Stress Testing for CME.", + "For preliminary, non-disruptive tasks such as key rotations. This\ncorresponds to the Zone Swap Window for CME." + ], + "type": "string" + }, + "targetResource": { + "description": "The target resource that the maintenance window is for.\nFor example, \"projects/my-project/zones/us-central1-a\".", + "type": "string" + }, + "type": { + "enum": [ + "MAINTENANCE_TYPE_UNSPECIFIED", + "PRIVATE_ZONE_MAINTENANCE" + ], + "enumDescriptions": [ + "Default value.", + "The zone is in a private maintenance window." + ], + "type": "string" + }, + "windowEndTime": { + "$ref": "DateTime", + "description": "The end civil timestamp of the window (not inclusive).\nThis contains a time zone." + }, + "windowStartTime": { + "$ref": "DateTime", + "description": "The start civil timestamp of the window.\nThis contains a time zone." + } + }, + "type": "object" + }, "Permission": { "description": "[Deprecated] All fields defined in a permission are ANDed.", "id": "Permission", @@ -102804,6 +103673,18 @@ "description": "Flag to update all instances instead of specified list of “instances”.\nIf the flag is set to true then the instances may not be specified\nin the request.", "type": "boolean" }, + "disruptionMode": { + "description": "Whether the boot disk is allowed to be updated with restart.", + "enum": [ + "LEGACY", + "OPTIMIZED" + ], + "enumDescriptions": [ + "Default option: boot disk will not be updated with restart.", + "Boot disk will be updated with restart." + ], + "type": "string" + }, "instances": { "description": "The list of URLs of one or more instances for which you want to apply\nupdates. Each URL can be a full URL or a partial URL, such aszones/[ZONE]/instances/[INSTANCE_NAME].", "items": { @@ -102817,13 +103698,15 @@ "NONE", "REFRESH", "REPLACE", - "RESTART" + "RESTART", + "RESTART_IN_PLACE" ], "enumDescriptions": [ "Do not perform any action.", "Do not stop the instance.", "(Default.) Replace the instance according to the replacement method\noption.", - "Stop the instance and start it again." + "Stop the instance and start it again.", + "Restart the instance using the same capacity and preserving local SSDs." ], "type": "string" }, @@ -102833,13 +103716,15 @@ "NONE", "REFRESH", "REPLACE", - "RESTART" + "RESTART", + "RESTART_IN_PLACE" ], "enumDescriptions": [ "Do not perform any action.", "Do not stop the instance.", "(Default.) Replace the instance according to the replacement method\noption.", - "Stop the instance and start it again." + "Stop the instance and start it again.", + "Restart the instance using the same capacity and preserving local SSDs." ], "type": "string" }, @@ -102849,13 +103734,15 @@ "NONE", "REFRESH", "REPLACE", - "RESTART" + "RESTART", + "RESTART_IN_PLACE" ], "enumDescriptions": [ "Do not perform any action.", "Do not stop the instance.", "(Default.) Replace the instance according to the replacement method\noption.", - "Stop the instance and start it again." + "Stop the instance and start it again.", + "Restart the instance using the same capacity and preserving local SSDs." ], "type": "string" } @@ -104015,6 +104902,17 @@ "readOnly": true, "type": "string" }, + "confidentialComputeType": { + "enum": [ + "CONFIDENTIAL_COMPUTE_TYPE_TDX", + "CONFIDENTIAL_COMPUTE_TYPE_UNSPECIFIED" + ], + "enumDescriptions": [ + "Intel Trust Domain Extensions.", + "" + ], + "type": "string" + }, "creationTimestamp": { "description": "Output only. [Output Only] Creation timestamp inRFC3339\ntext format.", "readOnly": true, @@ -104046,6 +104944,20 @@ "description": "An optional description of this resource. Provide this property when you\ncreate the resource.", "type": "string" }, + "earlyAccessMaintenance": { + "description": "Indicates the early access maintenance for the reservation.\nIf this field is absent or set to NO_EARLY_ACCESS, the reservation is not\nenrolled in early access maintenance and the standard notice applies.", + "enum": [ + "NO_EARLY_ACCESS", + "WAVE1", + "WAVE2" + ], + "enumDescriptions": [ + "No early access.", + "Wave 1: Fastest notification period", + "Wave 2: Medium notification period" + ], + "type": "string" + }, "enableEmergentMaintenance": { "description": "Indicates whether Compute Engine allows unplanned maintenance for your VMs;\nfor example, to fix hardware errors.", "type": "boolean" @@ -105093,6 +106005,29 @@ }, "type": "object" }, + "ReservationSlotsGetVersionRequest": { + "id": "ReservationSlotsGetVersionRequest", + "properties": { + "sbomSelections": { + "description": "The SBOM selection to return. Duplicate values in the list will be ignored.", + "items": { + "enum": [ + "SBOM_SELECTION_CURRENT", + "SBOM_SELECTION_TARGET", + "SBOM_SELECTION_UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ReservationSlotsListResponse": { "description": "A list of reservation slots within a single reservation.", "id": "ReservationSlotsListResponse", @@ -105415,6 +106350,29 @@ }, "type": "object" }, + "ReservationSubBlocksGetVersionRequest": { + "id": "ReservationSubBlocksGetVersionRequest", + "properties": { + "sbomSelections": { + "description": "The SBOM selection to return.", + "items": { + "enum": [ + "SBOM_SELECTION_CURRENT", + "SBOM_SELECTION_TARGET", + "SBOM_SELECTION_UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ReservationSubBlocksListResponse": { "description": "A list of reservation subBlocks under a single reservation.", "id": "ReservationSubBlocksListResponse", @@ -107030,6 +107988,10 @@ "description": "Effective enable-oslogin value at Instance level.", "type": "boolean" }, + "gceContainerDeclarationMetadataValue": { + "description": "Effective gce-container-declaration value at Instance level.", + "type": "boolean" + }, "serialPortEnableMetadataValue": { "description": "Effective serial-port-enable value at Instance level.", "type": "boolean" @@ -108281,12 +109243,16 @@ "ACTIVE", "DROPPED", "INACTIVE", + "OVERRIDDEN_BY_HUB", + "OVERRIDDEN_BY_PEERING", "PENDING" ], "enumDescriptions": [ "This route is processed and active.", "The route is dropped due to the VPC exceeding the dynamic route limit.\n For dynamic route limit, please refer to the\nLearned route example", "This route is processed but inactive due to failure from the backend. The\nbackend may have rejected the route", + "For an Arcus VPC Peering route, this state indicates that the route is\ninactive because a corresponding Network Connectivity Center (NCC) route\nhas taken precedence.", + "For a Network Connectivity Center (NCC) route, this state indicates that\nthe route is inactive because a corresponding Arcus VPC Peering route\nhas taken precedence.", "This route is being processed internally. The status will change once\nprocessed." ], "type": "string" @@ -116472,6 +117438,20 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "postQuantumKeyExchange": { + "description": "One of DEFAULT, ENABLED, orDEFERRED. Controls whether the load balancer allows\nnegotiating X25519MLKEM768 key exchange when clients advertise support for\nit. When set to DEFAULT, or if no SSL Policy is\nattached to the target proxy, the load balancer disallows X25519MLKEM768\nkey exchange until it is enabled by default on LBs. When set toENABLED, the load balancer will negotiate X25519MLKEM768 key\nexchange. Customers can set this to DEFERRED to temporarily\nopt-out the LB from negotiating post-quantum key exchange by default.", + "enum": [ + "DEFAULT", + "DEFERRED", + "ENABLED" + ], + "enumDescriptions": [ + "Post-quantum key exchange is disabled until it becomes enabled by\ndefault on LBs.", + "Post-quantum key exchange with clients is temporarily disabled.", + "Post-quantum key exchange is enabled." + ], + "type": "string" + }, "profile": { "description": "Profile specifies the set of SSL features that can be used by the load\nbalancer when negotiating SSL with clients. This can be one ofCOMPATIBLE, MODERN, RESTRICTED, orCUSTOM. If using CUSTOM, the set of SSL features\nto enable must be specified in the customFeatures field.", "enum": [ @@ -123545,6 +124525,21 @@ }, "type": "object" }, + "TimeZone": { + "description": "Represents a time zone from the\n[IANA Time Zone Database](https://www.iana.org/time-zones).", + "id": "TimeZone", + "properties": { + "id": { + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", + "type": "string" + }, + "version": { + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", + "type": "string" + } + }, + "type": "object" + }, "TlsCertificateContext": { "description": "[Deprecated] Defines the mechanism to obtain the client or server\ncertificate.\nDefines the mechanism to obtain the client or server certificate.", "id": "TlsCertificateContext", @@ -127989,6 +128984,10 @@ "description": "[Output Only] Full URL reference to the region which hosts the zone.", "type": "string" }, + "resourceStatus": { + "$ref": "ZoneResourceStatus", + "readOnly": true + }, "selfLink": { "description": "[Output Only] Server-defined URL for the resource.", "type": "string" @@ -128170,6 +129169,20 @@ }, "type": "object" }, + "ZoneResourceStatus": { + "id": "ZoneResourceStatus", + "properties": { + "upcomingMaintenances": { + "description": "Output only. [Output Only] The upcoming maintenance schedule.", + "items": { + "$ref": "PeriodicPartialMaintenanceSchedule" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, "ZoneSetLabelsRequest": { "id": "ZoneSetLabelsRequest", "properties": { diff --git a/compute/v0.alpha/compute-gen.go b/compute/v0.alpha/compute-gen.go index b6f9a7d6d3..a43ed1affc 100644 --- a/compute/v0.alpha/compute-gen.go +++ b/compute/v0.alpha/compute-gen.go @@ -3671,6 +3671,7 @@ type AllocationAggregateReservation struct { // "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT3P" // "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P" // "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT5P" + // "VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU7" // "VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU7X" VmFamily string `json:"vmFamily,omitempty"` // WorkloadType: The workload type of the instances that will target this @@ -3926,7 +3927,7 @@ func (s AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk) // AllocationSpecificSKUAllocationReservedInstanceProperties: Properties of the // SKU instances being reserved. -// Next ID: 9 +// Next ID: 10 type AllocationSpecificSKUAllocationReservedInstanceProperties struct { // GuestAccelerators: Specifies accelerator type and count. GuestAccelerators []*AcceleratorConfig `json:"guestAccelerators,omitempty"` @@ -6179,6 +6180,9 @@ type Backend struct { // For usage guidelines, seeUtilization // balancing mode. MaxUtilization float64 `json:"maxUtilization,omitempty"` + // OrchestrationInfo: Information about the resource or system that manages the + // backend. + OrchestrationInfo *BackendBackendOrchestrationInfo `json:"orchestrationInfo,omitempty"` // Preference: This field indicates whether this backend should be fully // utilized before // sending traffic to backends with default preference. The possible @@ -6256,6 +6260,30 @@ func (s *Backend) UnmarshalJSON(data []byte) error { return nil } +// BackendBackendOrchestrationInfo: A message containing information about the +// resource or system that manages +// the backend. +type BackendBackendOrchestrationInfo struct { + // ResourceUri: The URI of the resource or system that manages the backend. + ResourceUri string `json:"resourceUri,omitempty"` + // ForceSendFields is a list of field names (e.g. "ResourceUri") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ResourceUri") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s BackendBackendOrchestrationInfo) MarshalJSON() ([]byte, error) { + type NoMethod BackendBackendOrchestrationInfo + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // BackendBucket: Represents a Cloud Storage Bucket resource. // // This Cloud Storage bucket resource is referenced by a URL map of a @@ -7989,6 +8017,9 @@ type BackendService struct { // // networkPassThroughLbTrafficPolicy cannot be specified with haPolicy. NetworkPassThroughLbTrafficPolicy *BackendServiceNetworkPassThroughLbTrafficPolicy `json:"networkPassThroughLbTrafficPolicy,omitempty"` + // OrchestrationInfo: Information about the resource or system that manages the + // backend service. + OrchestrationInfo *BackendServiceOrchestrationInfo `json:"orchestrationInfo,omitempty"` // OutlierDetection: Settings controlling the ejection of unhealthy backend // endpoints from the // load balancing pool of each individual proxy instance that processes @@ -10006,6 +10037,32 @@ func (s *BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity) Unmarshal return nil } +// BackendServiceOrchestrationInfo: A message containing information about the +// resource or system that manages +// the backend service. +type BackendServiceOrchestrationInfo struct { + // ResourceUri: The resource URI of the resource or system that manages the + // backend + // service. + ResourceUri string `json:"resourceUri,omitempty"` + // ForceSendFields is a list of field names (e.g. "ResourceUri") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ResourceUri") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s BackendServiceOrchestrationInfo) MarshalJSON() ([]byte, error) { + type NoMethod BackendServiceOrchestrationInfo + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // BackendServiceParams: Additional Backend Service parameters. type BackendServiceParams struct { // ResourceManagerTags: Tag keys/values directly bound to this resource. @@ -11837,6 +11894,10 @@ func (s CapacityAdviceRequestInstanceProperties) MarshalJSON() ([]byte, error) { // CapacityAdviceRequestInstancePropertiesScheduling: Defines the instance // scheduling options. type CapacityAdviceRequestInstancePropertiesScheduling struct { + // MaxRunDuration: The maximum time that instances can run before Compute + // Engine + // terminates them. + MaxRunDuration string `json:"maxRunDuration,omitempty"` // ProvisioningModel: Specifies the provisioning model of the instance. // // Possible values: @@ -11849,13 +11910,13 @@ type CapacityAdviceRequestInstancePropertiesScheduling struct { // "STANDARD" - Standard provisioning with user controlled runtime, no // discounts. ProvisioningModel string `json:"provisioningModel,omitempty"` - // ForceSendFields is a list of field names (e.g. "ProvisioningModel") to + // ForceSendFields is a list of field names (e.g. "MaxRunDuration") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ProvisioningModel") to include in + // NullFields is a list of field names (e.g. "MaxRunDuration") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. @@ -11924,6 +11985,10 @@ type CapacityAdviceResponseRecommendationScores struct { // before preemption. The estimate is best-effort only. It is based on // history data and current conditions. EstimatedUptime string `json:"estimatedUptime,omitempty"` + // EstimatedWaitDuration: Output only. The likely maximum time that you will + // have to wait until + // Compute Engine provisions your instances. + EstimatedWaitDuration string `json:"estimatedWaitDuration,omitempty"` // Obtainability: The obtainability score indicates the likelihood of // successfully // obtaining (provisioning) the requested number of VMs. @@ -13301,6 +13366,43 @@ func (s CompositeHealthCheckAggregatedListWarningData) MarshalJSON() ([]byte, er return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// CompositeHealthCheckHealth: Response message for +// RegionCompositeHealthChecks.GetHealth +type CompositeHealthCheckHealth struct { + // HealthSources: Health sources and their corresponding health states. + HealthSources []*CompositeHealthChecksGetHealthResponseHealthSourceHealth `json:"healthSources,omitempty"` + // HealthState: Health state of the CompositeHealthCheck. + // + // Possible values: + // "HEALTHY" + // "UNHEALTHY" + // "UNKNOWN" + HealthState string `json:"healthState,omitempty"` + // Kind: Output only. [Output Only] Type of resource. + // Alwayscompute#compositeHealthCheckHealth for the health of + // composite health checks. + Kind string `json:"kind,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "HealthSources") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "HealthSources") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s CompositeHealthCheckHealth) MarshalJSON() ([]byte, error) { + type NoMethod CompositeHealthCheckHealth + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + type CompositeHealthCheckList struct { // Id: [Output Only] Unique identifier for the resource; defined by the server. Id string `json:"id,omitempty"` @@ -13482,39 +13584,6 @@ func (s CompositeHealthCheckListWarningData) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// CompositeHealthChecksGetHealthResponse: Response message for -// RegionCompositeHealthChecks.GetHealth -type CompositeHealthChecksGetHealthResponse struct { - // HealthSources: Health sources and their corresponding health states. - HealthSources []*CompositeHealthChecksGetHealthResponseHealthSourceHealth `json:"healthSources,omitempty"` - // HealthState: Health state of the CompositeHealthCheck. - // - // Possible values: - // "HEALTHY" - // "UNHEALTHY" - // "UNKNOWN" - HealthState string `json:"healthState,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the server. - googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "HealthSources") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "HealthSources") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s CompositeHealthChecksGetHealthResponse) MarshalJSON() ([]byte, error) { - type NoMethod CompositeHealthChecksGetHealthResponse - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - type CompositeHealthChecksGetHealthResponseHealthSourceHealth struct { // HealthState: Health state of the associated HealthSource resource. // @@ -13523,7 +13592,7 @@ type CompositeHealthChecksGetHealthResponseHealthSourceHealth struct { // "UNHEALTHY" // "UNKNOWN" HealthState string `json:"healthState,omitempty"` - // Source: URL of the associated HealthSource resource. + // Source: Fully qualified URL of the associated HealthSource resource. Source string `json:"source,omitempty"` // ForceSendFields is a list of field names (e.g. "HealthState") to // unconditionally include in API requests. By default, fields with empty or @@ -14472,6 +14541,97 @@ func (s Date) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// DateTime: Represents civil time (or occasionally physical time). +// +// This type can represent a civil time in one of a few possible ways: +// +// - When utc_offset is set and time_zone is unset: a civil time on a +// +// calendar +// +// day with a particular offset from UTC. +// * When time_zone is set and utc_offset is unset: a civil time on a +// +// calendar +// +// day in a particular time zone. +// * When neither time_zone nor utc_offset is set: a civil time on a calendar +// day in local time. +// +// The date is relative to the Proleptic Gregorian Calendar. +// +// If year, month, or day are 0, the DateTime is considered not to have +// a +// specific year, month, or day respectively. +// +// This type may also be used to represent a physical time if all the date +// and +// time fields are set and either case of the `time_offset` oneof is +// set. +// Consider using `Timestamp` message for physical time instead. If your +// use +// case also would like to store the user's timezone, that can be done +// in +// another field. +// +// This type is more flexible than some applications may want. Make sure +// to +// document and validate your application's limitations. +type DateTime struct { + // Day: Optional. Day of month. Must be from 1 to 31 and valid for the year + // and + // month, or 0 if specifying a datetime without a day. + Day int64 `json:"day,omitempty"` + // Hours: Optional. Hours of day in 24 hour format. Should be from 0 to 23, + // defaults + // to 0 (midnight). An API may choose to allow the value "24:00:00" + // for + // scenarios like business closing time. + Hours int64 `json:"hours,omitempty"` + // Minutes: Optional. Minutes of hour of day. Must be from 0 to 59, defaults to + // 0. + Minutes int64 `json:"minutes,omitempty"` + // Month: Optional. Month of year. Must be from 1 to 12, or 0 if specifying + // a + // datetime without a month. + Month int64 `json:"month,omitempty"` + // Nanos: Optional. Fractions of seconds in nanoseconds. Must be from 0 + // to + // 999,999,999, defaults to 0. + Nanos int64 `json:"nanos,omitempty"` + // Seconds: Optional. Seconds of minutes of the time. Must normally be from 0 + // to 59, + // defaults to 0. An API may allow the value 60 if it allows leap-seconds. + Seconds int64 `json:"seconds,omitempty"` + // TimeZone: Time zone. + TimeZone *TimeZone `json:"timeZone,omitempty"` + // UtcOffset: UTC offset. Must be whole seconds, between -18 hours and +18 + // hours. + // For example, a UTC offset of -4:00 would be represented as + // { seconds: -14400 }. + UtcOffset string `json:"utcOffset,omitempty"` + // Year: Optional. Year of date. Must be from 1 to 9999, or 0 if specifying + // a + // datetime without a year. + Year int64 `json:"year,omitempty"` + // ForceSendFields is a list of field names (e.g. "Day") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Day") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s DateTime) MarshalJSON() ([]byte, error) { + type NoMethod DateTime + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // DeprecationStatus: Deprecation status for a public resource. type DeprecationStatus struct { // Deleted: An optional RFC3339 timestamp on or after which the state of @@ -15333,6 +15493,31 @@ func (s DiskAsyncReplicationList) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +type DiskConvertParams struct { + ForceStopInProgressSnapshot bool `json:"forceStopInProgressSnapshot,omitempty"` + ProvisionedIops int64 `json:"provisionedIops,omitempty,string"` + ProvisionedThroughput int64 `json:"provisionedThroughput,omitempty,string"` + QuickConversionOnly bool `json:"quickConversionOnly,omitempty"` + ResetSupportedVmFamilies bool `json:"resetSupportedVmFamilies,omitempty"` + TargetDiskType string `json:"targetDiskType,omitempty"` + // ForceSendFields is a list of field names (e.g. + // "ForceStopInProgressSnapshot") to unconditionally include in API requests. + // By default, fields with empty or default values are omitted from API + // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields + // for more details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ForceStopInProgressSnapshot") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s DiskConvertParams) MarshalJSON() ([]byte, error) { + type NoMethod DiskConvertParams + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // DiskInstantiationConfig: A specification of the desired way to instantiate a // disk in the instance // template when its created from a source instance. @@ -16587,6 +16772,26 @@ func (s DisksAddResourcePoliciesRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +type DisksConvertRequest struct { + Params *DiskConvertParams `json:"params,omitempty"` + // ForceSendFields is a list of field names (e.g. "Params") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Params") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s DisksConvertRequest) MarshalJSON() ([]byte, error) { + type NoMethod DisksConvertRequest + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + type DisksRemoveResourcePoliciesRequest struct { // ResourcePolicies: Resource policies to be removed from this disk. ResourcePolicies []string `json:"resourcePolicies,omitempty"` @@ -20736,6 +20941,10 @@ func (s ForwardingRulesScopedListWarningData) MarshalJSON() ([]byte, error) { } type FutureReservation struct { + // AdvancedDeploymentControl: Advanced control for cluster management, + // applicable only to DENSE + // deployment type future reservations. + AdvancedDeploymentControl *ReservationAdvancedDeploymentControl `json:"advancedDeploymentControl,omitempty"` // AggregateReservation: Aggregate reservation details for the future // reservation. AggregateReservation *AllocationAggregateReservation `json:"aggregateReservation,omitempty"` @@ -20770,6 +20979,10 @@ type FutureReservation struct { // update an // existing commitment. CommitmentInfo *FutureReservationCommitmentInfo `json:"commitmentInfo,omitempty"` + // Possible values: + // "CONFIDENTIAL_COMPUTE_TYPE_TDX" - Intel Trust Domain Extensions. + // "CONFIDENTIAL_COMPUTE_TYPE_UNSPECIFIED" + ConfidentialComputeType string `json:"confidentialComputeType,omitempty"` // CreationTimestamp: Output only. [Output Only] The creation timestamp for // this future reservation inRFC3339 // text format. @@ -20908,15 +21121,15 @@ type FutureReservation struct { // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "AggregateReservation") to - // unconditionally include in API requests. By default, fields with empty or + // ForceSendFields is a list of field names (e.g. "AdvancedDeploymentControl") + // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AggregateReservation") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See + // NullFields is a list of field names (e.g. "AdvancedDeploymentControl") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } @@ -21971,6 +22184,7 @@ type FutureResourcesSpecAggregateResources struct { // "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT3P" // "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P" // "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT5P" + // "VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU7" // "VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU7X" VmFamily string `json:"vmFamily,omitempty"` // WorkloadType: Workload type. Use for TPU reservations. @@ -22348,6 +22562,53 @@ func (s GetOwnerInstanceResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +type GetVersionOperationMetadata struct { + InlineSbomInfo *GetVersionOperationMetadataSbomInfo `json:"inlineSbomInfo,omitempty"` + // ForceSendFields is a list of field names (e.g. "InlineSbomInfo") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "InlineSbomInfo") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GetVersionOperationMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GetVersionOperationMetadata + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +type GetVersionOperationMetadataSbomInfo struct { + // CurrentComponentVersions: SBOM versions currently applied to the resource. + // The key is the component + // name and the value is the version. + CurrentComponentVersions map[string]string `json:"currentComponentVersions,omitempty"` + // TargetComponentVersions: SBOM versions scheduled for the next maintenance. + // The key is the + // component name and the value is the version. + TargetComponentVersions map[string]string `json:"targetComponentVersions,omitempty"` + // ForceSendFields is a list of field names (e.g. "CurrentComponentVersions") + // to unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "CurrentComponentVersions") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GetVersionOperationMetadataSbomInfo) MarshalJSON() ([]byte, error) { + type NoMethod GetVersionOperationMetadataSbomInfo + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + type GlobalAddressesMoveRequest struct { // Description: An optional destination address description if intended to be // different @@ -23833,7 +24094,11 @@ func (s HTTPSHealthCheck) MarshalJSON() ([]byte, error) { type HaController struct { // BackendServices: Advanced configuration option. If specified, these Backend // Services need to - // be pre-created and configured as managed. + // be pre-created. + // + // Currently, only one backend service can be specified, and it must be + // L4 + // Internal Load Balancer (ILB). BackendServices []string `json:"backendServices,omitempty"` // CreationTimestamp: Output only. [Output Only] Creation timestamp in // RFC3339 @@ -27421,6 +27686,41 @@ func (s HealthSourceAggregatedListWarningData) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// HealthSourceHealth: Response message for RegionHealthSources.GetHealth +type HealthSourceHealth struct { + // HealthState: Health state of the HealthSource. + // + // Possible values: + // "HEALTHY" + // "UNHEALTHY" + // "UNKNOWN" + HealthState string `json:"healthState,omitempty"` + // Kind: Output only. [Output Only] Type of resource. + // Alwayscompute#healthSourceHealth for the health of health sources. + Kind string `json:"kind,omitempty"` + // Sources: Health state details of the sources. + Sources []*HealthSourcesGetHealthResponseSourceInfo `json:"sources,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "HealthState") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "HealthState") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s HealthSourceHealth) MarshalJSON() ([]byte, error) { + type NoMethod HealthSourceHealth + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + type HealthSourceList struct { // Id: [Output Only] Unique identifier for the resource; defined by the server. Id string `json:"id,omitempty"` @@ -27601,6 +27901,69 @@ func (s HealthSourceListWarningData) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +type HealthSourcesGetHealthResponseSourceInfo struct { + // Backends: Represents an instance group or network endpoint group behind the + // source + // backend service. Only used if the sourceType of the regionHealthSource + // is BACKEND_SERVICE. + Backends []*HealthSourcesGetHealthResponseSourceInfoBackendInfo `json:"backends,omitempty"` + // ForwardingRule: Fully qualified URL of the forwarding rule associated with + // the source + // resource if it is a L4ILB backend service. + ForwardingRule string `json:"forwardingRule,omitempty"` + // Source: Fully qualified URL of the associated source resource. This is + // always a + // backend service URL. + Source string `json:"source,omitempty"` + // ForceSendFields is a list of field names (e.g. "Backends") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Backends") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s HealthSourcesGetHealthResponseSourceInfo) MarshalJSON() ([]byte, error) { + type NoMethod HealthSourcesGetHealthResponseSourceInfo + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +type HealthSourcesGetHealthResponseSourceInfoBackendInfo struct { + // EndpointCount: Total number of endpoints when determining the health of + // the + // regionHealthSource. + EndpointCount int64 `json:"endpointCount,omitempty"` + // Group: Fully qualified URL of an instance group or network endpoint + // group + // behind the source backend service. + Group string `json:"group,omitempty"` + // HealthyEndpointCount: Number of endpoints considered healthy when + // determining health of the + // regionHealthSource. + HealthyEndpointCount int64 `json:"healthyEndpointCount,omitempty"` + // ForceSendFields is a list of field names (e.g. "EndpointCount") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "EndpointCount") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s HealthSourcesGetHealthResponseSourceInfoBackendInfo) MarshalJSON() ([]byte, error) { + type NoMethod HealthSourcesGetHealthResponseSourceInfoBackendInfo + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + type HealthSourcesScopedList struct { // HealthSources: A list of HealthSources contained in this scope. HealthSources []*HealthSource `json:"healthSources,omitempty"` @@ -31609,6 +31972,10 @@ type InstanceGroupManagerActionsSummary struct { // managed instance group that // are scheduled to be restarted or are currently being restarted. Restarting int64 `json:"restarting,omitempty"` + // RestartingInPlace: Output only. [Output Only] The number of instances in the + // managed instance group that + // are scheduled to be restarted or are currently being restarted. + RestartingInPlace int64 `json:"restartingInPlace,omitempty"` // Resuming: Output only. [Output Only] The number of instances in the managed // instance group that // are scheduled to be resumed or are currently being resumed. @@ -33624,6 +33991,12 @@ func (s InstanceGroupManagerTargetSizePolicy) MarshalJSON() ([]byte, error) { } type InstanceGroupManagerUpdatePolicy struct { + // DisruptionMode: Whether the boot disk is allowed to be updated with restart. + // + // Possible values: + // "LEGACY" - Default option: boot disk will not be updated with restart. + // "OPTIMIZED" - Boot disk will be updated with restart. + DisruptionMode string `json:"disruptionMode,omitempty"` // InstanceRedistributionType: The // instance redistribution policy for regional managed instance groups. // Valid values are: @@ -33706,6 +34079,8 @@ type InstanceGroupManagerUpdatePolicy struct { // method // option. // "RESTART" - Stop the instance and start it again. + // "RESTART_IN_PLACE" - Restart the instance using the same capacity and + // preserving local SSDs. MinimalAction string `json:"minimalAction,omitempty"` // MostDisruptiveAllowedAction: Most disruptive action that is allowed to be // taken on an instance. @@ -33725,6 +34100,8 @@ type InstanceGroupManagerUpdatePolicy struct { // method // option. // "RESTART" - Stop the instance and start it again. + // "RESTART_IN_PLACE" - Restart the instance using the same capacity and + // preserving local SSDs. MostDisruptiveAllowedAction string `json:"mostDisruptiveAllowedAction,omitempty"` // ReplacementMethod: What action should be used to replace instances. // See minimal_action.REPLACE @@ -33748,15 +34125,15 @@ type InstanceGroupManagerUpdatePolicy struct { // to all or a subset of existing VMs and also to new VMs that are added // to the group. Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "InstanceRedistributionType") - // to unconditionally include in API requests. By default, fields with empty or + // ForceSendFields is a list of field names (e.g. "DisruptionMode") to + // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "InstanceRedistributionType") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See + // NullFields is a list of field names (e.g. "DisruptionMode") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } @@ -33855,6 +34232,12 @@ type InstanceGroupManagersApplyUpdatesRequest struct { // If the flag is set to true then the instances may not be specified // in the request. AllInstances bool `json:"allInstances,omitempty"` + // DisruptionMode: Whether the boot disk is allowed to be updated with restart. + // + // Possible values: + // "LEGACY" - Default option: boot disk will not be updated with restart. + // "OPTIMIZED" - Boot disk will be updated with restart. + DisruptionMode string `json:"disruptionMode,omitempty"` // Instances: The list of URLs of one or more instances for which you want to // apply // updates. Each URL can be a full URL or a partial URL, such @@ -33872,6 +34255,8 @@ type InstanceGroupManagersApplyUpdatesRequest struct { // method // option. // "RESTART" - Stop the instance and start it again. + // "RESTART_IN_PLACE" - Restart the instance using the same capacity and + // preserving local SSDs. MaximalAction string `json:"maximalAction,omitempty"` // MinimalAction: The minimal action that you want to perform on each instance // during the @@ -33899,6 +34284,8 @@ type InstanceGroupManagersApplyUpdatesRequest struct { // method // option. // "RESTART" - Stop the instance and start it again. + // "RESTART_IN_PLACE" - Restart the instance using the same capacity and + // preserving local SSDs. MinimalAction string `json:"minimalAction,omitempty"` // MostDisruptiveAllowedAction: The most disruptive action that you want to // perform on each instance during @@ -33925,6 +34312,8 @@ type InstanceGroupManagersApplyUpdatesRequest struct { // method // option. // "RESTART" - Stop the instance and start it again. + // "RESTART_IN_PLACE" - Restart the instance using the same capacity and + // preserving local SSDs. MostDisruptiveAllowedAction string `json:"mostDisruptiveAllowedAction,omitempty"` // ForceSendFields is a list of field names (e.g. "AllInstances") to // unconditionally include in API requests. By default, fields with empty or @@ -33944,6 +34333,33 @@ func (s InstanceGroupManagersApplyUpdatesRequest) MarshalJSON() ([]byte, error) return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// InstanceGroupManagersConfigureAcceleratorTopologiesRequest: +// InstanceGroupManagers.ConfigureAcceleratorTopologies +type InstanceGroupManagersConfigureAcceleratorTopologiesRequest struct { + // AcceleratorTopologyActions: Map of accelerator topologies that should have + // their state changed to + // the specified value. The key is the hashed topology locus id. It can + // be + // obtained from the GetAvailableAcceleratorTopologies rpc. + AcceleratorTopologyActions map[string]string `json:"acceleratorTopologyActions,omitempty"` + // ForceSendFields is a list of field names (e.g. "AcceleratorTopologyActions") + // to unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "AcceleratorTopologyActions") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s InstanceGroupManagersConfigureAcceleratorTopologiesRequest) MarshalJSON() ([]byte, error) { + type NoMethod InstanceGroupManagersConfigureAcceleratorTopologiesRequest + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // InstanceGroupManagersCreateInstancesRequest: // InstanceGroupManagers.createInstances type InstanceGroupManagersCreateInstancesRequest struct { @@ -34041,6 +34457,8 @@ type InstanceGroupManagersGetAvailableAcceleratorTopologiesResponse struct { // id of the topology // location. AcceleratorTopologiesInfo map[string]InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyInfo `json:"acceleratorTopologiesInfo,omitempty"` + // MultiMig: URL to MMIG this MIG belongs to. + MultiMig string `json:"multiMig,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` @@ -34079,7 +34497,18 @@ type InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTo // issue with the inter-chip connectivity that makes this // part of the infrastructure unsuitable for forming a // working inter-chip connected group. - AcceleratorTopologyHealth string `json:"acceleratorTopologyHealth,omitempty"` + // "UNKNOWN" - No signal available + AcceleratorTopologyHealth string `json:"acceleratorTopologyHealth,omitempty"` + AcceleratorTopologyState *InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyState `json:"acceleratorTopologyState,omitempty"` + // Possible values: + // "ALL_HEALTHY" - Infrastructure is healthy + // "UNHEALTHY_OR_MISSING" - Some VMs are in another state than RUNNING or + // they are missing. + InstancesHealth string `json:"instancesHealth,omitempty"` + // Parent: Identified by the topology Id in the accelerator_topology_info map. + // Empty + // for the top-level topology + Parent string `json:"parent,omitempty"` // ForceSendFields is a list of field names (e.g. "AcceleratorTopology") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -34098,6 +34527,124 @@ func (s InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAccelerato return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopo +// logyState: Specifies the topology state +type InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyState struct { + // Possible values: + // "ACTIVATING" + // "ACTIVE" + // "ACTIVE_DEGRADED" - The topology is active but with potential performance + // degradation. + // "DEACTIVATING" + // "FAILED" - Critical non-retriable error that the user has to act manually + // "INACTIVE" + // "INCOMPLETE" - Not all VMs have been provisioned + CurrentState string `json:"currentState,omitempty"` + // Error: Reason why the topology state change failed + Error *InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyStateError `json:"error,omitempty"` + // ErrorTimestamp: Timestamp when the last error happened + ErrorTimestamp string `json:"errorTimestamp,omitempty"` + // ForceSendFields is a list of field names (e.g. "CurrentState") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "CurrentState") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyState) MarshalJSON() ([]byte, error) { + type NoMethod InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyState + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopo +// logyStateError: Reason why the topology state change failed +type InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyStateError struct { + // Errors: [Output Only] The array of errors encountered while processing + // this + // operation. + Errors []*InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyStateErrorErrors `json:"errors,omitempty"` + // ForceSendFields is a list of field names (e.g. "Errors") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Errors") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyStateError) MarshalJSON() ([]byte, error) { + type NoMethod InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyStateError + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +type InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyStateErrorErrors struct { + // Code: [Output Only] The error type identifier for this error. + Code string `json:"code,omitempty"` + // ErrorDetails: [Output Only] An optional list of messages that contain the + // error + // details. There is a set of defined message types to use for + // providing + // details.The syntax depends on the error code. For example, + // QuotaExceededInfo will have details when the error code is + // QUOTA_EXCEEDED. + ErrorDetails []*InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyStateErrorErrorsErrorDetails `json:"errorDetails,omitempty"` + // Location: [Output Only] Indicates the field in the request that caused the + // error. + // This property is optional. + Location string `json:"location,omitempty"` + // Message: [Output Only] An optional, human-readable error message. + Message string `json:"message,omitempty"` + // ForceSendFields is a list of field names (e.g. "Code") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Code") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyStateErrorErrors) MarshalJSON() ([]byte, error) { + type NoMethod InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyStateErrorErrors + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +type InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyStateErrorErrorsErrorDetails struct { + ErrorInfo *ErrorInfo `json:"errorInfo,omitempty"` + Help *Help `json:"help,omitempty"` + LocalizedMessage *LocalizedMessage `json:"localizedMessage,omitempty"` + QuotaInfo *QuotaExceededInfo `json:"quotaInfo,omitempty"` + // ForceSendFields is a list of field names (e.g. "ErrorInfo") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ErrorInfo") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyStateErrorErrorsErrorDetails) MarshalJSON() ([]byte, error) { + type NoMethod InstanceGroupManagersGetAvailableAcceleratorTopologiesResponseAcceleratorTopologyStateErrorErrorsErrorDetails + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + type InstanceGroupManagersListErrorsResponse struct { // Items: Output only. [Output Only] The list of errors of the managed instance // group. @@ -38693,9 +39240,7 @@ type Interconnect struct { // attachments may be // provisioned on this interconnect. State string `json:"state,omitempty"` - // Subzone: Specific subzone in the InterconnectLocation that represents - // where - // this connection is to be provisioned. + // Subzone: To be deprecated. // // Possible values: // "SUBZONE_A" - Subzone A. @@ -49804,6 +50349,20 @@ func (s NetworkEndpoint) MarshalJSON() ([]byte, error) { // reached, whether they are reachable, and where they are located. // For more information about using NEGs for different use cases, seeNetwork // endpoint groups overview. +// +// Note: Use the following APIs to manage network endpoint groups: +// +// - +// To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity +// NEGs): zonal +// API +// - +// To manage NEGs with regional scope (such as regional internet NEGs, +// serverless NEGs, Private Service Connect NEGs): regional +// API +// - +// To manage NEGs with global scope (such as global internet NEGs):global +// API type NetworkEndpointGroup struct { // Annotations: Optional. Metadata defined as annotations on the network // endpoint group. @@ -56939,7 +57498,8 @@ type Operation struct { // Error: [Output Only] If errors are generated during processing of the // operation, // this field will be populated. - Error *OperationError `json:"error,omitempty"` + Error *OperationError `json:"error,omitempty"` + GetVersionOperationMetadata *GetVersionOperationMetadata `json:"getVersionOperationMetadata,omitempty"` // HttpErrorMessage: [Output Only] If the operation fails, this field contains // the HTTP error // message that was returned, such as `NOT FOUND`. @@ -59258,6 +59818,63 @@ func (s PerInstanceConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// PeriodicPartialMaintenanceSchedule: The periodic partial maintenance +// schedule includes 52 weeks worth of +// maintenance windows. +// LINT.IfChange(PeriodicPartialMaintenanceSchedule) +type PeriodicPartialMaintenanceSchedule struct { + // SubType: The maintenance type in which the zone is during the given window. + // + // Possible values: + // "MAINTENANCE_SUBTYPE_UNSPECIFIED" - Default value. + // "MAINTENANCE_TYPE_CUSTOMER_MAINTENANCE" - A dedicated window for customers + // to perform their own maintenance. This + // often runs concurrently with a DISRUPTIVE_UPGRADE. This corresponds to + // the Customer Maintenance Window for CME. + // "MAINTENANCE_TYPE_DISRUPTIVE_UPGRADE" - For disruptive updates, including + // host machine kernel or firmware + // upgrades. This corresponds to the Critical Services Maintenance Window + // for CME. + // "MAINTENANCE_TYPE_STABLE" - A post-maintenance window for customers to + // conduct final testing and + // performance validation before resuming full business operations. + // This + // corresponds to Performance Stress Testing for CME. + // "MAINTENANCE_TYPE_TRANSITION" - For preliminary, non-disruptive tasks such + // as key rotations. This + // corresponds to the Zone Swap Window for CME. + SubType string `json:"subType,omitempty"` + // TargetResource: The target resource that the maintenance window is for. + // For example, "projects/my-project/zones/us-central1-a". + TargetResource string `json:"targetResource,omitempty"` + // Possible values: + // "MAINTENANCE_TYPE_UNSPECIFIED" - Default value. + // "PRIVATE_ZONE_MAINTENANCE" - The zone is in a private maintenance window. + Type string `json:"type,omitempty"` + // WindowEndTime: The end civil timestamp of the window (not inclusive). + // This contains a time zone. + WindowEndTime *DateTime `json:"windowEndTime,omitempty"` + // WindowStartTime: The start civil timestamp of the window. + // This contains a time zone. + WindowStartTime *DateTime `json:"windowStartTime,omitempty"` + // ForceSendFields is a list of field names (e.g. "SubType") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "SubType") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s PeriodicPartialMaintenanceSchedule) MarshalJSON() ([]byte, error) { + type NoMethod PeriodicPartialMaintenanceSchedule + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // Permission: [Deprecated] All fields defined in a permission are ANDed. type Permission struct { // Constraints: Extra custom constraints. The constraints are ANDed together. @@ -65040,6 +65657,12 @@ type RegionInstanceGroupManagersApplyUpdatesRequest struct { // If the flag is set to true then the instances may not be specified // in the request. AllInstances bool `json:"allInstances,omitempty"` + // DisruptionMode: Whether the boot disk is allowed to be updated with restart. + // + // Possible values: + // "LEGACY" - Default option: boot disk will not be updated with restart. + // "OPTIMIZED" - Boot disk will be updated with restart. + DisruptionMode string `json:"disruptionMode,omitempty"` // Instances: The list of URLs of one or more instances for which you want to // apply // updates. Each URL can be a full URL or a partial URL, such @@ -65057,6 +65680,8 @@ type RegionInstanceGroupManagersApplyUpdatesRequest struct { // method // option. // "RESTART" - Stop the instance and start it again. + // "RESTART_IN_PLACE" - Restart the instance using the same capacity and + // preserving local SSDs. MaximalAction string `json:"maximalAction,omitempty"` // MinimalAction: The minimal action that you want to perform on each instance // during the @@ -65084,6 +65709,8 @@ type RegionInstanceGroupManagersApplyUpdatesRequest struct { // method // option. // "RESTART" - Stop the instance and start it again. + // "RESTART_IN_PLACE" - Restart the instance using the same capacity and + // preserving local SSDs. MinimalAction string `json:"minimalAction,omitempty"` // MostDisruptiveAllowedAction: The most disruptive action that you want to // perform on each instance during @@ -65110,6 +65737,8 @@ type RegionInstanceGroupManagersApplyUpdatesRequest struct { // method // option. // "RESTART" - Stop the instance and start it again. + // "RESTART_IN_PLACE" - Restart the instance using the same capacity and + // preserving local SSDs. MostDisruptiveAllowedAction string `json:"mostDisruptiveAllowedAction,omitempty"` // ForceSendFields is a list of field names (e.g. "AllInstances") to // unconditionally include in API requests. By default, fields with empty or @@ -66708,6 +67337,10 @@ type Reservation struct { // commitment. This field // displays for reservations that are tied to a commitment. Commitment string `json:"commitment,omitempty"` + // Possible values: + // "CONFIDENTIAL_COMPUTE_TYPE_TDX" - Intel Trust Domain Extensions. + // "CONFIDENTIAL_COMPUTE_TYPE_UNSPECIFIED" + ConfidentialComputeType string `json:"confidentialComputeType,omitempty"` // CreationTimestamp: Output only. [Output Only] Creation timestamp // inRFC3339 // text format. @@ -66734,6 +67367,17 @@ type Reservation struct { // when you // create the resource. Description string `json:"description,omitempty"` + // EarlyAccessMaintenance: Indicates the early access maintenance for the + // reservation. + // If this field is absent or set to NO_EARLY_ACCESS, the reservation is + // not + // enrolled in early access maintenance and the standard notice applies. + // + // Possible values: + // "NO_EARLY_ACCESS" - No early access. + // "WAVE1" - Wave 1: Fastest notification period + // "WAVE2" - Wave 2: Medium notification period + EarlyAccessMaintenance string `json:"earlyAccessMaintenance,omitempty"` // EnableEmergentMaintenance: Indicates whether Compute Engine allows unplanned // maintenance for your VMs; // for example, to fix hardware errors. @@ -67926,6 +68570,33 @@ func (s ReservationSlotsGetResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +type ReservationSlotsGetVersionRequest struct { + // SbomSelections: The SBOM selection to return. Duplicate values in the list + // will be ignored. + // + // Possible values: + // "SBOM_SELECTION_CURRENT" + // "SBOM_SELECTION_TARGET" + // "SBOM_SELECTION_UNSPECIFIED" + SbomSelections []string `json:"sbomSelections,omitempty"` + // ForceSendFields is a list of field names (e.g. "SbomSelections") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "SbomSelections") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ReservationSlotsGetVersionRequest) MarshalJSON() ([]byte, error) { + type NoMethod ReservationSlotsGetVersionRequest + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // ReservationSlotsListResponse: A list of reservation slots within a single // reservation. type ReservationSlotsListResponse struct { @@ -68275,6 +68946,32 @@ func (s ReservationSubBlocksGetResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +type ReservationSubBlocksGetVersionRequest struct { + // SbomSelections: The SBOM selection to return. + // + // Possible values: + // "SBOM_SELECTION_CURRENT" + // "SBOM_SELECTION_TARGET" + // "SBOM_SELECTION_UNSPECIFIED" + SbomSelections []string `json:"sbomSelections,omitempty"` + // ForceSendFields is a list of field names (e.g. "SbomSelections") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "SbomSelections") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ReservationSubBlocksGetVersionRequest) MarshalJSON() ([]byte, error) { + type NoMethod ReservationSubBlocksGetVersionRequest + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // ReservationSubBlocksListResponse: A list of reservation subBlocks under a // single reservation. type ReservationSubBlocksListResponse struct { @@ -70229,6 +70926,9 @@ type ResourceStatusEffectiveInstanceMetadata struct { // EnableOsloginMetadataValue: Effective enable-oslogin value at Instance // level. EnableOsloginMetadataValue bool `json:"enableOsloginMetadataValue,omitempty"` + // GceContainerDeclarationMetadataValue: Effective gce-container-declaration + // value at Instance level. + GceContainerDeclarationMetadataValue bool `json:"gceContainerDeclarationMetadataValue,omitempty"` // SerialPortEnableMetadataValue: Effective serial-port-enable value at // Instance level. SerialPortEnableMetadataValue bool `json:"serialPortEnableMetadataValue,omitempty"` @@ -71787,6 +72487,14 @@ type Route struct { // "INACTIVE" - This route is processed but inactive due to failure from the // backend. The // backend may have rejected the route + // "OVERRIDDEN_BY_HUB" - For an Arcus VPC Peering route, this state indicates + // that the route is + // inactive because a corresponding Network Connectivity Center (NCC) route + // has taken precedence. + // "OVERRIDDEN_BY_PEERING" - For a Network Connectivity Center (NCC) route, + // this state indicates that + // the route is inactive because a corresponding Arcus VPC Peering route + // has taken precedence. // "PENDING" - This route is being processed internally. The status will // change once // processed. @@ -82107,6 +82815,25 @@ type SslPolicy struct { // a // dash. Name string `json:"name,omitempty"` + // PostQuantumKeyExchange: One of DEFAULT, ENABLED, orDEFERRED. Controls + // whether the load balancer allows + // negotiating X25519MLKEM768 key exchange when clients advertise support + // for + // it. When set to DEFAULT, or if no SSL Policy is + // attached to the target proxy, the load balancer disallows X25519MLKEM768 + // key exchange until it is enabled by default on LBs. When set toENABLED, the + // load balancer will negotiate X25519MLKEM768 key + // exchange. Customers can set this to DEFERRED to temporarily + // opt-out the LB from negotiating post-quantum key exchange by default. + // + // Possible values: + // "DEFAULT" - Post-quantum key exchange is disabled until it becomes enabled + // by + // default on LBs. + // "DEFERRED" - Post-quantum key exchange with clients is temporarily + // disabled. + // "ENABLED" - Post-quantum key exchange is enabled. + PostQuantumKeyExchange string `json:"postQuantumKeyExchange,omitempty"` // Profile: Profile specifies the set of SSL features that can be used by the // load // balancer when negotiating SSL with clients. This can be one ofCOMPATIBLE, @@ -90947,6 +91674,32 @@ func (s TestPermissionsResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// TimeZone: Represents a time zone from the +// IANA Time Zone Database (https://www.iana.org/time-zones). +type TimeZone struct { + // Id: IANA Time Zone Database time zone. For example "America/New_York". + Id string `json:"id,omitempty"` + // Version: Optional. IANA Time Zone Database version number. For example + // "2019a". + Version string `json:"version,omitempty"` + // ForceSendFields is a list of field names (e.g. "Id") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Id") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s TimeZone) MarshalJSON() ([]byte, error) { + type NoMethod TimeZone + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // TlsCertificateContext: [Deprecated] Defines the mechanism to obtain the // client or server // certificate. @@ -96652,7 +97405,8 @@ type Zone struct { // Name: [Output Only] Name of the resource. Name string `json:"name,omitempty"` // Region: [Output Only] Full URL reference to the region which hosts the zone. - Region string `json:"region,omitempty"` + Region string `json:"region,omitempty"` + ResourceStatus *ZoneResourceStatus `json:"resourceStatus,omitempty"` // SelfLink: [Output Only] Server-defined URL for the resource. SelfLink string `json:"selfLink,omitempty"` // Status: [Output Only] Status of the zone, either UP orDOWN. @@ -96864,6 +97618,28 @@ func (s ZoneListWarningData) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +type ZoneResourceStatus struct { + // UpcomingMaintenances: Output only. [Output Only] The upcoming maintenance + // schedule. + UpcomingMaintenances []*PeriodicPartialMaintenanceSchedule `json:"upcomingMaintenances,omitempty"` + // ForceSendFields is a list of field names (e.g. "UpcomingMaintenances") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "UpcomingMaintenances") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ZoneResourceStatus) MarshalJSON() ([]byte, error) { + type NoMethod ZoneResourceStatus + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + type ZoneSetLabelsRequest struct { // LabelFingerprint: The fingerprint of the previous set of labels for this // resource, diff --git a/compute/v0.alpha/compute2-gen.go b/compute/v0.alpha/compute2-gen.go index 4d25fca31f..3a4c939425 100644 --- a/compute/v0.alpha/compute2-gen.go +++ b/compute/v0.alpha/compute2-gen.go @@ -10650,6 +10650,139 @@ func (c *DisksBulkSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, e return ret, nil } +type DisksConvertCall struct { + s *Service + project string + zone string + disk string + disksconvertrequest *DisksConvertRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Convert: Converts a persistent disk to support Gen4+ VMs. +// +// - disk: Name of the Disk resource, should conform to RFC1035. +// - project: Project ID for this request. +// - zone: The name of the zone for this request. +func (r *DisksService) Convert(project string, zone string, disk string, disksconvertrequest *DisksConvertRequest) *DisksConvertCall { + c := &DisksConvertCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.zone = zone + c.disk = disk + c.disksconvertrequest = disksconvertrequest + return c +} + +// RequestId sets the optional parameter "requestId": An optional request ID to +// identify requests. Specify a unique request ID so +// that if you must retry your request, the server will know to ignore +// the +// request if it has already been completed. +// +// For example, consider a situation where you make an initial request and +// the request times out. If you make the request again with the same +// request ID, the server can check if original operation with the same +// request ID was received, and if so, will ignore the second request. +// This +// prevents clients from accidentally creating duplicate commitments. +// +// The request ID must be +// a valid UUID with the exception that zero UUID is not +// supported +// (00000000-0000-0000-0000-000000000000). +func (c *DisksConvertCall) RequestId(requestId string) *DisksConvertCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *DisksConvertCall) Fields(s ...googleapi.Field) *DisksConvertCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *DisksConvertCall) Context(ctx context.Context) *DisksConvertCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *DisksConvertCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *DisksConvertCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.disksconvertrequest) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/disks/{disk}/convert") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "zone": c.zone, + "disk": c.disk, + }) + c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.disks.convert", "request", internallog.HTTPRequest(req, body.Bytes())) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.disks.convert" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *DisksConvertCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + b, err := gensupport.DecodeResponseBytes(target, res) + if err != nil { + return nil, err + } + c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.disks.convert", "response", internallog.HTTPResponse(res, b)) + return ret, nil +} + type DisksCreateSnapshotCall struct { s *Service project string @@ -23701,6 +23834,20 @@ type GlobalNetworkEndpointGroupsInsertCall struct { // the // parameters that are included in the request. // +// Note: Use the following APIs to manage network endpoint groups: +// +// - +// To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity +// NEGs): zonal +// API +// - +// To manage NEGs with regional scope (such as regional internet NEGs, +// serverless NEGs, Private Service Connect NEGs): regional +// API +// - +// To manage NEGs with global scope (such as global internet NEGs):global +// API +// // - project: Project ID for this request. func (r *GlobalNetworkEndpointGroupsService) Insert(project string, networkendpointgroup *NetworkEndpointGroup) *GlobalNetworkEndpointGroupsInsertCall { c := &GlobalNetworkEndpointGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)} @@ -35258,6 +35405,142 @@ func (c *InstanceGroupManagersApplyUpdatesToInstancesCall) Do(opts ...googleapi. return ret, nil } +type InstanceGroupManagersConfigureAcceleratorTopologiesCall struct { + s *Service + project string + zone string + instanceGroupManager string + instancegroupmanagersconfigureacceleratortopologiesrequest *InstanceGroupManagersConfigureAcceleratorTopologiesRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ConfigureAcceleratorTopologies: Updates the accelerator topologies +// configuration. +// +// - instanceGroupManager: The name of the managed instance group. +// It should conform to RFC1035. +// - project: Project ID for this request. +// - zone: The name of thezone +// where the managed instance group is located. +// +// It should conform to RFC1035. +func (r *InstanceGroupManagersService) ConfigureAcceleratorTopologies(project string, zone string, instanceGroupManager string, instancegroupmanagersconfigureacceleratortopologiesrequest *InstanceGroupManagersConfigureAcceleratorTopologiesRequest) *InstanceGroupManagersConfigureAcceleratorTopologiesCall { + c := &InstanceGroupManagersConfigureAcceleratorTopologiesCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.zone = zone + c.instanceGroupManager = instanceGroupManager + c.instancegroupmanagersconfigureacceleratortopologiesrequest = instancegroupmanagersconfigureacceleratortopologiesrequest + return c +} + +// RequestId sets the optional parameter "requestId": An optional request ID to +// identify requests. Specify a unique request ID so +// that if you must retry your request, the server will know to ignore +// the +// request if it has already been completed. +// +// For example, consider a situation where you make an initial request and +// the request times out. If you make the request again with the same +// request ID, the server can check if original operation with the same +// request ID was received, and if so, will ignore the second request. +// +// The request ID must be +// a valid UUID with the exception that zero UUID is not +// supported +// (00000000-0000-0000-0000-000000000000). +func (c *InstanceGroupManagersConfigureAcceleratorTopologiesCall) RequestId(requestId string) *InstanceGroupManagersConfigureAcceleratorTopologiesCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *InstanceGroupManagersConfigureAcceleratorTopologiesCall) Fields(s ...googleapi.Field) *InstanceGroupManagersConfigureAcceleratorTopologiesCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *InstanceGroupManagersConfigureAcceleratorTopologiesCall) Context(ctx context.Context) *InstanceGroupManagersConfigureAcceleratorTopologiesCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *InstanceGroupManagersConfigureAcceleratorTopologiesCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *InstanceGroupManagersConfigureAcceleratorTopologiesCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.instancegroupmanagersconfigureacceleratortopologiesrequest) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/configureAcceleratorTopologies") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "zone": c.zone, + "instanceGroupManager": c.instanceGroupManager, + }) + c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.configureAcceleratorTopologies", "request", internallog.HTTPRequest(req, body.Bytes())) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.instanceGroupManagers.configureAcceleratorTopologies" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *InstanceGroupManagersConfigureAcceleratorTopologiesCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + b, err := gensupport.DecodeResponseBytes(target, res) + if err != nil { + return nil, err + } + c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.instanceGroupManagers.configureAcceleratorTopologies", "response", internallog.HTTPResponse(res, b)) + return ret, nil +} + type InstanceGroupManagersCreateInstancesCall struct { s *Service project string @@ -66473,10 +66756,24 @@ type NetworkEndpointGroupsInsertCall struct { // the // parameters that are included in the request. // -// - project: Project ID for this request. -// - zone: The name of the zone where -// you want to create the network endpoint group. It should comply -// with +// Note: Use the following APIs to manage network endpoint groups: +// +// - +// To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity +// NEGs): zonal +// API +// - +// To manage NEGs with regional scope (such as regional internet NEGs, +// serverless NEGs, Private Service Connect NEGs): regional +// API +// - +// To manage NEGs with global scope (such as global internet NEGs):global +// API +// +// - project: Project ID for this request. +// - zone: The name of the zone where +// you want to create the network endpoint group. It should comply +// with // // RFC1035. func (r *NetworkEndpointGroupsService) Insert(project string, zone string, networkendpointgroup *NetworkEndpointGroup) *NetworkEndpointGroupsInsertCall { @@ -94100,11 +94397,11 @@ func (c *RegionCompositeHealthChecksGetHealthCall) doRequest(alt string) (*http. // Do executes the "compute.regionCompositeHealthChecks.getHealth" call. // Any non-2xx status code is an error. Response headers are in either -// *CompositeHealthChecksGetHealthResponse.ServerResponse.Header or (if a -// response was returned at all) in error.(*googleapi.Error).Header. Use +// *CompositeHealthCheckHealth.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. -func (c *RegionCompositeHealthChecksGetHealthCall) Do(opts ...googleapi.CallOption) (*CompositeHealthChecksGetHealthResponse, error) { +func (c *RegionCompositeHealthChecksGetHealthCall) Do(opts ...googleapi.CallOption) (*CompositeHealthCheckHealth, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -94123,7 +94420,7 @@ func (c *RegionCompositeHealthChecksGetHealthCall) Do(opts ...googleapi.CallOpti if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } - ret := &CompositeHealthChecksGetHealthResponse{ + ret := &CompositeHealthCheckHealth{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, diff --git a/compute/v0.alpha/compute3-gen.go b/compute/v0.alpha/compute3-gen.go index b79fdbe05d..d81e64fbf9 100644 --- a/compute/v0.alpha/compute3-gen.go +++ b/compute/v0.alpha/compute3-gen.go @@ -7075,6 +7075,125 @@ func (c *RegionHealthSourcesGetCall) Do(opts ...googleapi.CallOption) (*HealthSo return ret, nil } +type RegionHealthSourcesGetHealthCall struct { + s *Service + project string + region string + healthSource string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// GetHealth: Gets the most recent health check results for this +// regional HealthSource. +// +// - healthSource: Name of the HealthSource resource to get health for. +// - project: Name of the project scoping this request. +// - region: Name of the region scoping this request. +func (r *RegionHealthSourcesService) GetHealth(project string, region string, healthSource string) *RegionHealthSourcesGetHealthCall { + c := &RegionHealthSourcesGetHealthCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.region = region + c.healthSource = healthSource + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *RegionHealthSourcesGetHealthCall) Fields(s ...googleapi.Field) *RegionHealthSourcesGetHealthCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *RegionHealthSourcesGetHealthCall) IfNoneMatch(entityTag string) *RegionHealthSourcesGetHealthCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *RegionHealthSourcesGetHealthCall) Context(ctx context.Context) *RegionHealthSourcesGetHealthCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *RegionHealthSourcesGetHealthCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RegionHealthSourcesGetHealthCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/regions/{region}/healthSources/{healthSource}/getHealth") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, nil) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "region": c.region, + "healthSource": c.healthSource, + }) + c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.regionHealthSources.getHealth", "request", internallog.HTTPRequest(req, nil)) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.regionHealthSources.getHealth" call. +// Any non-2xx status code is an error. Response headers are in either +// *HealthSourceHealth.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified was +// returned. +func (c *RegionHealthSourcesGetHealthCall) Do(opts ...googleapi.CallOption) (*HealthSourceHealth, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &HealthSourceHealth{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + b, err := gensupport.DecodeResponseBytes(target, res) + if err != nil { + return nil, err + } + c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.regionHealthSources.getHealth", "response", internallog.HTTPResponse(res, b)) + return ret, nil +} + type RegionHealthSourcesInsertCall struct { s *Service project string @@ -18408,10 +18527,24 @@ type RegionNetworkEndpointGroupsInsertCall struct { // the // parameters that are included in the request. // -// - project: Project ID for this request. -// - region: The name of the region where -// you want to create the network endpoint group. It should comply -// with +// Note: Use the following APIs to manage network endpoint groups: +// +// - +// To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity +// NEGs): zonal +// API +// - +// To manage NEGs with regional scope (such as regional internet NEGs, +// serverless NEGs, Private Service Connect NEGs): regional +// API +// - +// To manage NEGs with global scope (such as global internet NEGs):global +// API +// +// - project: Project ID for this request. +// - region: The name of the region where +// you want to create the network endpoint group. It should comply +// with // // RFC1035. func (r *RegionNetworkEndpointGroupsService) Insert(project string, region string, networkendpointgroup *NetworkEndpointGroup) *RegionNetworkEndpointGroupsInsertCall { @@ -36745,6 +36878,149 @@ func (c *ReservationSlotsGetCall) Do(opts ...googleapi.CallOption) (*Reservation return ret, nil } +type ReservationSlotsGetVersionCall struct { + s *Service + project string + zone string + parentName string + reservationSlot string + reservationslotsgetversionrequest *ReservationSlotsGetVersionRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// GetVersion: Allows customers to get SBOM versions of a reservation slot. +// +// - parentName: The name of the parent reservation and parent block. In the +// format +// of +// reservations/{reservation_name}/reservationBlocks/{reservation_block_name}/ +// reservationSubBlocks/{reservation_sub_block_name}. +// - project: Project ID for this request. +// - reservationSlot: The name of the reservation slot. +// Name should conform to RFC1035 or be a resource ID. +// - zone: Name of the zone for this request. Zone name should conform to +// RFC1035. +func (r *ReservationSlotsService) GetVersion(project string, zone string, parentName string, reservationSlot string, reservationslotsgetversionrequest *ReservationSlotsGetVersionRequest) *ReservationSlotsGetVersionCall { + c := &ReservationSlotsGetVersionCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.zone = zone + c.parentName = parentName + c.reservationSlot = reservationSlot + c.reservationslotsgetversionrequest = reservationslotsgetversionrequest + return c +} + +// RequestId sets the optional parameter "requestId": An optional request ID to +// identify requests. Specify a unique request ID so +// that if you must retry your request, the server will know to ignore +// the +// request if it has already been completed. +// +// For example, consider a situation where you make an initial request and +// the request times out. If you make the request again with the same +// request ID, the server can check if original operation with the same +// request ID was received, and if so, will ignore the second request. +// This +// prevents clients from accidentally creating duplicate commitments. +// +// The request ID must be +// a valid UUID with the exception that zero UUID is not +// supported +// (00000000-0000-0000-0000-000000000000). +func (c *ReservationSlotsGetVersionCall) RequestId(requestId string) *ReservationSlotsGetVersionCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ReservationSlotsGetVersionCall) Fields(s ...googleapi.Field) *ReservationSlotsGetVersionCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ReservationSlotsGetVersionCall) Context(ctx context.Context) *ReservationSlotsGetVersionCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ReservationSlotsGetVersionCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ReservationSlotsGetVersionCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.reservationslotsgetversionrequest) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentName}/reservationSlots/{reservationSlot}/getVersion") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "zone": c.zone, + "parentName": c.parentName, + "reservationSlot": c.reservationSlot, + }) + c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSlots.getVersion", "request", internallog.HTTPRequest(req, body.Bytes())) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.reservationSlots.getVersion" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ReservationSlotsGetVersionCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + b, err := gensupport.DecodeResponseBytes(target, res) + if err != nil { + return nil, err + } + c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSlots.getVersion", "response", internallog.HTTPResponse(res, b)) + return ret, nil +} + type ReservationSlotsListCall struct { s *Service project string @@ -37015,6 +37291,128 @@ func (c *ReservationSlotsListCall) Pages(ctx context.Context, f func(*Reservatio } } +type ReservationSlotsUpdateCall struct { + s *Service + project string + zone string + parentName string + reservationSlot string + reservationslot *ReservationSlot + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Update: Update a reservation slot in the specified sub-block. +// +// - parentName: The name of the sub-block resource. +// - project: The project ID for this request. +// - reservationSlot: The name of the slot resource. +// - zone: The name of the zone for this request, formatted as RFC1035. +func (r *ReservationSlotsService) Update(project string, zone string, parentName string, reservationSlot string, reservationslot *ReservationSlot) *ReservationSlotsUpdateCall { + c := &ReservationSlotsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.zone = zone + c.parentName = parentName + c.reservationSlot = reservationSlot + c.reservationslot = reservationslot + return c +} + +// UpdateMask sets the optional parameter "updateMask": The fields to be +// updated as part of this request. +func (c *ReservationSlotsUpdateCall) UpdateMask(updateMask string) *ReservationSlotsUpdateCall { + c.urlParams_.Set("updateMask", updateMask) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ReservationSlotsUpdateCall) Fields(s ...googleapi.Field) *ReservationSlotsUpdateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ReservationSlotsUpdateCall) Context(ctx context.Context) *ReservationSlotsUpdateCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ReservationSlotsUpdateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ReservationSlotsUpdateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.reservationslot) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{+parentName}/reservationSlots/{reservationSlot}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "zone": c.zone, + "parentName": c.parentName, + "reservationSlot": c.reservationSlot, + }) + c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSlots.update", "request", internallog.HTTPRequest(req, body.Bytes())) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.reservationSlots.update" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ReservationSlotsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + b, err := gensupport.DecodeResponseBytes(target, res) + if err != nil { + return nil, err + } + c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSlots.update", "response", internallog.HTTPResponse(res, b)) + return ret, nil +} + type ReservationSubBlocksGetCall struct { s *Service project string @@ -37159,6 +37557,148 @@ func (c *ReservationSubBlocksGetCall) Do(opts ...googleapi.CallOption) (*Reserva return ret, nil } +type ReservationSubBlocksGetVersionCall struct { + s *Service + project string + zone string + parentName string + reservationSubBlock string + reservationsubblocksgetversionrequest *ReservationSubBlocksGetVersionRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// GetVersion: Allows customers to get SBOM versions of a reservation subBlock. +// +// - parentName: The name of the parent reservation and parent block. In the +// format +// of +// reservations/{reservation_name}/reservationBlocks/{reservation_block_name}. +// - project: Project ID for this request. +// - reservationSubBlock: The name of the reservation subBlock. +// Name should conform to RFC1035 or be a resource ID. +// - zone: Name of the zone for this request. Zone name should conform to +// RFC1035. +func (r *ReservationSubBlocksService) GetVersion(project string, zone string, parentName string, reservationSubBlock string, reservationsubblocksgetversionrequest *ReservationSubBlocksGetVersionRequest) *ReservationSubBlocksGetVersionCall { + c := &ReservationSubBlocksGetVersionCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.zone = zone + c.parentName = parentName + c.reservationSubBlock = reservationSubBlock + c.reservationsubblocksgetversionrequest = reservationsubblocksgetversionrequest + return c +} + +// RequestId sets the optional parameter "requestId": An optional request ID to +// identify requests. Specify a unique request ID so +// that if you must retry your request, the server will know to ignore +// the +// request if it has already been completed. +// +// For example, consider a situation where you make an initial request and +// the request times out. If you make the request again with the same +// request ID, the server can check if original operation with the same +// request ID was received, and if so, will ignore the second request. +// This +// prevents clients from accidentally creating duplicate commitments. +// +// The request ID must be +// a valid UUID with the exception that zero UUID is not +// supported +// (00000000-0000-0000-0000-000000000000). +func (c *ReservationSubBlocksGetVersionCall) RequestId(requestId string) *ReservationSubBlocksGetVersionCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ReservationSubBlocksGetVersionCall) Fields(s ...googleapi.Field) *ReservationSubBlocksGetVersionCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ReservationSubBlocksGetVersionCall) Context(ctx context.Context) *ReservationSubBlocksGetVersionCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ReservationSubBlocksGetVersionCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ReservationSubBlocksGetVersionCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.reservationsubblocksgetversionrequest) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}/getVersion") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "zone": c.zone, + "parentName": c.parentName, + "reservationSubBlock": c.reservationSubBlock, + }) + c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.getVersion", "request", internallog.HTTPRequest(req, body.Bytes())) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.reservationSubBlocks.getVersion" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ReservationSubBlocksGetVersionCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + b, err := gensupport.DecodeResponseBytes(target, res) + if err != nil { + return nil, err + } + c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.reservationSubBlocks.getVersion", "response", internallog.HTTPResponse(res, b)) + return ret, nil +} + type ReservationSubBlocksListCall struct { s *Service project string @@ -42082,6 +42622,268 @@ func (c *RolloutsListCall) Pages(ctx context.Context, f func(*RolloutsListRespon } } +type RolloutsPauseCall struct { + s *Service + project string + rollout string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Pause: Pauses a Rollout. +// +// - project: Project ID for this request. +// - rollout: Name of the Rollout resource to pause. +func (r *RolloutsService) Pause(project string, rollout string) *RolloutsPauseCall { + c := &RolloutsPauseCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.rollout = rollout + return c +} + +// Etag sets the optional parameter "etag": The etag of the Rollout. +// If this is provided, the request will only succeed if the etag matches +// the current etag of the Rollout. +func (c *RolloutsPauseCall) Etag(etag string) *RolloutsPauseCall { + c.urlParams_.Set("etag", etag) + return c +} + +// RequestId sets the optional parameter "requestId": An optional request ID to +// identify requests. Specify a unique request ID so +// that if you must retry your request, the server will know to ignore +// the +// request if it has already been completed. +// +// For example, consider a situation where you make an initial request and +// the request times out. If you make the request again with the same +// request ID, the server can check if original operation with the same +// request ID was received, and if so, will ignore the second request. +// This +// prevents clients from accidentally creating duplicate commitments. +// +// The request ID must be +// a valid UUID with the exception that zero UUID is not +// supported +// (00000000-0000-0000-0000-000000000000). +func (c *RolloutsPauseCall) RequestId(requestId string) *RolloutsPauseCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *RolloutsPauseCall) Fields(s ...googleapi.Field) *RolloutsPauseCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *RolloutsPauseCall) Context(ctx context.Context) *RolloutsPauseCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *RolloutsPauseCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RolloutsPauseCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/rollouts/{rollout}/pause") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, nil) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "rollout": c.rollout, + }) + c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.rollouts.pause", "request", internallog.HTTPRequest(req, nil)) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.rollouts.pause" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *RolloutsPauseCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + b, err := gensupport.DecodeResponseBytes(target, res) + if err != nil { + return nil, err + } + c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.rollouts.pause", "response", internallog.HTTPResponse(res, b)) + return ret, nil +} + +type RolloutsResumeCall struct { + s *Service + project string + rollout string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Resume: Resumes a Rollout. +// +// - project: Project ID for this request. +// - rollout: Name of the Rollout resource to resume. +func (r *RolloutsService) Resume(project string, rollout string) *RolloutsResumeCall { + c := &RolloutsResumeCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.rollout = rollout + return c +} + +// Etag sets the optional parameter "etag": The etag of the Rollout. +// If this is provided, the request will only succeed if the etag matches +// the current etag of the Rollout. +func (c *RolloutsResumeCall) Etag(etag string) *RolloutsResumeCall { + c.urlParams_.Set("etag", etag) + return c +} + +// RequestId sets the optional parameter "requestId": An optional request ID to +// identify requests. Specify a unique request ID so +// that if you must retry your request, the server will know to ignore +// the +// request if it has already been completed. +// +// For example, consider a situation where you make an initial request and +// the request times out. If you make the request again with the same +// request ID, the server can check if original operation with the same +// request ID was received, and if so, will ignore the second request. +// This +// prevents clients from accidentally creating duplicate commitments. +// +// The request ID must be +// a valid UUID with the exception that zero UUID is not +// supported +// (00000000-0000-0000-0000-000000000000). +func (c *RolloutsResumeCall) RequestId(requestId string) *RolloutsResumeCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *RolloutsResumeCall) Fields(s ...googleapi.Field) *RolloutsResumeCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *RolloutsResumeCall) Context(ctx context.Context) *RolloutsResumeCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *RolloutsResumeCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RolloutsResumeCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "projects/{project}/global/rollouts/{rollout}/resume") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, nil) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "rollout": c.rollout, + }) + c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "compute.rollouts.resume", "request", internallog.HTTPRequest(req, nil)) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.rollouts.resume" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *RolloutsResumeCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + b, err := gensupport.DecodeResponseBytes(target, res) + if err != nil { + return nil, err + } + c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "compute.rollouts.resume", "response", internallog.HTTPResponse(res, b)) + return ret, nil +} + type RoutersAggregatedListCall struct { s *Service project string diff --git a/compute/v0.beta/compute-api.json b/compute/v0.beta/compute-api.json index b3737b5ab8..81595c7125 100644 --- a/compute/v0.beta/compute-api.json +++ b/compute/v0.beta/compute-api.json @@ -6822,7 +6822,7 @@ ] }, "insert": { - "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.", + "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API", "flatPath": "projects/{project}/global/networkEndpointGroups", "httpMethod": "POST", "id": "compute.globalNetworkEndpointGroups.insert", @@ -19294,7 +19294,7 @@ ] }, "insert": { - "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.", + "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API", "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups", "httpMethod": "POST", "id": "compute.networkEndpointGroups.insert", @@ -32826,7 +32826,7 @@ ] }, "insert": { - "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.", + "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API", "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups", "httpMethod": "POST", "id": "compute.regionNetworkEndpointGroups.insert", @@ -50445,7 +50445,7 @@ } } }, - "revision": "20260122", + "revision": "20260206", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -52055,7 +52055,7 @@ "type": "object" }, "AllocationSpecificSKUAllocationReservedInstanceProperties": { - "description": "Properties of the SKU instances being reserved.\nNext ID: 9", + "description": "Properties of the SKU instances being reserved.\nNext ID: 10", "id": "AllocationSpecificSKUAllocationReservedInstanceProperties", "properties": { "guestAccelerators": { @@ -56427,6 +56427,132 @@ }, "type": "object" }, + "CachePolicy": { + "description": "Message containing CachePolicy configuration for URL Map's Route Action.", + "id": "CachePolicy", + "properties": { + "cacheBypassRequestHeaderNames": { + "description": "Bypass the cache when the specified request headers are matched by name,\ne.g. Pragma or Authorization headers. Values are case-insensitive. Up to 5\nheader names can be specified. The cache is bypassed for all\ncachePolicy.cacheMode settings.", + "items": { + "type": "string" + }, + "type": "array" + }, + "cacheKeyPolicy": { + "$ref": "CachePolicyCacheKeyPolicy", + "description": "The CacheKeyPolicy for this CachePolicy." + }, + "cacheMode": { + "description": "Specifies the cache setting for all responses from this route.\nIf not specified, the default value is CACHE_ALL_STATIC.", + "enum": [ + "CACHE_ALL_STATIC", + "FORCE_CACHE_ALL", + "USE_ORIGIN_HEADERS" + ], + "enumDescriptions": [ + "Automatically cache static content, including common image formats,\nmedia (video and audio), and web assets (JavaScript and CSS).\nRequests and responses that are marked as uncacheable, as well as\ndynamic content (including HTML), will not be cached.", + "Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\"\ndirectives in Cache-Control response headers.\nWarning: this may result in Cloud CDN caching private,\nper-user (user identifiable) content.", + "Requires the origin to set valid caching headers to cache content.\nResponses without these headers will not be cached at the edge, and will\nrequire a full trip to the origin on every request, potentially impacting\nperformance and increasing load on the origin server." + ], + "type": "string" + }, + "clientTtl": { + "$ref": "Duration", + "description": "Specifies a separate client (e.g. browser client) maximum TTL. This is\nused to clamp the max-age (or Expires) value sent to the client. With\nFORCE_CACHE_ALL, the lesser of client_ttl and default_ttl is used for the\nresponse max-age directive, along with a \"public\" directive. For\ncacheable content in CACHE_ALL_STATIC mode, client_ttl clamps the max-age\nfrom the origin (if specified), or else sets the response max-age\ndirective to the lesser of the client_ttl and default_ttl, and also\nensures a \"public\" cache-control directive is present.\nIf a client TTL is not specified, a default value (1 hour) will be used.\nThe maximum allowed value is 31,622,400s (1 year)." + }, + "defaultTtl": { + "$ref": "Duration", + "description": "Specifies the default TTL for cached content served by this origin for\nresponses that do not have an existing valid TTL (max-age or s-maxage).\nSetting a TTL of \"0\" means \"always revalidate\".\nThe value of defaultTTL cannot be set to a value greater than that of\nmaxTTL.\nWhen the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL\nwill overwrite the TTL set in all responses. The maximum allowed value is\n31,622,400s (1 year). Infrequently accessed objects may be evicted from\nthe cache before the defined TTL." + }, + "maxTtl": { + "$ref": "Duration", + "description": "Specifies the maximum allowed TTL for cached content served by this\norigin.\nCache directives that attempt to set a max-age or s-maxage higher than\nthis, or an Expires header more than maxTTL seconds in the future will\nbe capped at the value of maxTTL, as if it were the value of an\ns-maxage Cache-Control directive.\nHeaders sent to the client will not be modified.\nSetting a TTL of \"0\" means \"always revalidate\".\nThe maximum allowed value is 31,622,400s (1 year). Infrequently accessed\nobjects may be evicted from the cache before the defined TTL." + }, + "negativeCaching": { + "description": "Negative caching allows per-status code TTLs to be set, in order\nto apply fine-grained caching for common errors or redirects.\nThis can reduce the load on your origin and improve end-user\nexperience by reducing response latency.\nWhen the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS,\nnegative caching applies to responses with the specified response code\nthat lack any Cache-Control, Expires, or Pragma: no-cache directives.\nWhen the cache mode is set to FORCE_CACHE_ALL, negative caching applies\nto all responses with the specified response code, and override any\ncaching headers.\nBy default, Cloud CDN will apply the following default TTLs to these\nstatus codes:\nHTTP 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m\nHTTP 404 (Not Found), 410 (Gone),\n451 (Unavailable For Legal Reasons): 120s\nHTTP 405 (Method Not Found), 501 (Not Implemented): 60s.\nThese defaults can be overridden in negative_caching_policy.", + "type": "boolean" + }, + "negativeCachingPolicy": { + "description": "Sets a cache TTL for the specified HTTP status code.\nnegative_caching must be enabled to configure negative_caching_policy.\nOmitting the policy and leaving negative_caching enabled will use\nCloud CDN's default cache TTLs.\nNote that when specifying an explicit negative_caching_policy, you\nshould take care to specify a cache TTL for all response codes\nthat you wish to cache. Cloud CDN will not apply any default\nnegative caching when a policy exists.", + "items": { + "$ref": "CachePolicyNegativeCachingPolicy" + }, + "type": "array" + }, + "requestCoalescing": { + "description": "If true then Cloud CDN will combine multiple concurrent cache fill\nrequests into a small number of requests to the origin.", + "type": "boolean" + }, + "serveWhileStale": { + "$ref": "Duration", + "description": "Serve existing content from the cache (if available) when revalidating\ncontent with the origin, or when an error is encountered when refreshing\nthe cache.\nThis setting defines the default \"max-stale\" duration for any cached\nresponses that do not specify a max-stale directive. Stale responses that\nexceed the TTL configured here will not be served. The default limit\n(max-stale) is 86400s (1 day), which will allow stale content to be\nserved up to this limit beyond the max-age (or s-maxage) of a cached\nresponse.\nThe maximum allowed value is 604800 (1 week).\nSet this to zero (0) to disable serve-while-stale." + } + }, + "type": "object" + }, + "CachePolicyCacheKeyPolicy": { + "description": "Message containing what to include in the cache key for a request for Cache\nPolicy defined on Route Action.", + "id": "CachePolicyCacheKeyPolicy", + "properties": { + "excludedQueryParameters": { + "description": "Names of query string parameters to exclude in cache keys. All other\nparameters will be included. Either specify excluded_query_parameters or\nincluded_query_parameters, not both. '\u0026' and '=' will be percent encoded\nand not treated as delimiters.\n\nNote: This field applies to routes that use backend services. Attempting\nto set it on a route that points exclusively to Backend Buckets will\nresult in a configuration error. For routes that point to a Backend\nBucket, use includedQueryParameters to define which parameters should\nbe a part of the cache key.", + "items": { + "type": "string" + }, + "type": "array" + }, + "includeHost": { + "description": "If true, requests to different hosts will be cached separately.\n\nNote: This setting is only applicable to routes that use a Backend\nService. It does not affect requests served by a Backend Bucket, as the\nhost is never included in a Backend Bucket's cache key. Attempting to set\nit on a route that points exclusively to Backend Buckets will result in a\nconfiguration error.", + "type": "boolean" + }, + "includeProtocol": { + "description": "If true, http and https requests will be cached separately.\n\nNote: This setting is only applicable to routes that use a Backend\nService. It does not affect requests served by a Backend Bucket, as the\nprotocol is never included in a Backend Bucket's cache key. Attempting to\nset on a route that points exclusively to Backend Buckets will result in\na configuration error.", + "type": "boolean" + }, + "includeQueryString": { + "description": "If true, include query string parameters in the cache key according to\nincluded_query_parameters and excluded_query_parameters. If neither is\nset, the entire query string will be included. If false, the query string\nwill be excluded from the cache key entirely.\n\nNote: This field applies to routes that use backend services. Attempting\nto set it on a route that points exclusively to Backend Buckets will\nresult in a configuration error. For routes that point to a Backend\nBucket, use includedQueryParameters to define which parameters should\nbe a part of the cache key.", + "type": "boolean" + }, + "includedCookieNames": { + "description": "Allows HTTP cookies (by name) to be used in the cache key.\nThe name=value pair will be used in the cache key Cloud CDN generates.\n\nNote: This setting is only applicable to routes that use a Backend\nService. It does not affect requests served by a Backend Bucket.\nAttempting to set it on a route that points exclusively to Backend\nBuckets will result in a configuration error. Up to 5 cookie names can be\nspecified.", + "items": { + "type": "string" + }, + "type": "array" + }, + "includedHeaderNames": { + "description": "Allows HTTP request headers (by name) to be used in the cache key.", + "items": { + "type": "string" + }, + "type": "array" + }, + "includedQueryParameters": { + "description": "Names of query string parameters to include in cache keys. All other\nparameters will be excluded. Either specify included_query_parameters or\nexcluded_query_parameters, not both. '\u0026' and '=' will be percent encoded\nand not treated as delimiters.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "CachePolicyNegativeCachingPolicy": { + "description": "Specify CDN TTLs for response error codes.", + "id": "CachePolicyNegativeCachingPolicy", + "properties": { + "code": { + "description": "The HTTP status code to define a TTL against. Only HTTP status codes\n300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 can be\nspecified as values, and you cannot specify a status code more than\nonce.", + "format": "int32", + "type": "integer" + }, + "ttl": { + "$ref": "Duration", + "description": "The TTL (in seconds) for which to cache responses with the\ncorresponding status code.\nThe maximum allowed value is 1800s (30 minutes). Infrequently accessed\nobjects may be evicted from the cache before the defined TTL." + } + }, + "type": "object" + }, "CalendarModeAdviceRequest": { "description": "A request to recommend the best way to consume the specified resources in the\nfuture.", "id": "CalendarModeAdviceRequest", @@ -62390,6 +62516,10 @@ "FutureReservation": { "id": "FutureReservation", "properties": { + "advancedDeploymentControl": { + "$ref": "ReservationAdvancedDeploymentControl", + "description": "Advanced control for cluster management, applicable only to DENSE\ndeployment type future reservations." + }, "aggregateReservation": { "$ref": "AllocationAggregateReservation", "description": "Aggregate reservation details for the future reservation." @@ -67037,6 +67167,10 @@ "HttpRouteAction": { "id": "HttpRouteAction", "properties": { + "cachePolicy": { + "$ref": "CachePolicy", + "description": "Cache policy for this URL Map’s route. Available only for Global\nEXTERNAL_MANAGED load balancer schemes." + }, "corsPolicy": { "$ref": "CorsPolicy", "description": "The specification for allowing client-side cross-origin requests. For more\ninformation about the W3C recommendation for cross-origin resource sharing\n(CORS), see Fetch API Living\nStandard.\n\nNot supported when the URL map is bound to a target gRPC proxy." @@ -68175,6 +68309,9 @@ "$ref": "Tags", "description": "Tags to apply to this instance. Tags are used to identify valid\nsources or targets for network firewalls and are specified by the client\nduring instance creation. The tags can be later modified by the setTags\nmethod. Each tag within the list must comply withRFC1035.\nMultiple tags can be specified via the 'tags.items' field." }, + "workloadIdentityConfig": { + "$ref": "WorkloadIdentityConfig" + }, "zone": { "description": "Output only. [Output Only] URL of the zone where the instance resides.\nYou must specify this field as part of the HTTP request URL. It is\nnot settable as a field in the request body.", "readOnly": true, @@ -70086,6 +70223,11 @@ "description": "Output only. [Output Only] The status of bulk instance operation.", "readOnly": true }, + "currentInstanceStatuses": { + "$ref": "InstanceGroupManagerStatusInstanceStatusSummary", + "description": "Output only. [Output Only] The list of instance statuses and the number of instances\nin this managed instance group that have the status. Currently only shown\nfor TPU MIGs", + "readOnly": true + }, "isStable": { "description": "Output only. [Output Only] A bit indicating whether the managed instance group is in a\nstable state. A stable state means that: none of the instances in the\nmanaged instance group is currently undergoing any type of change (for\nexample, creation, restart, or deletion); no future changes are scheduled\nfor instances in the managed instance group; and the managed instance\ngroup itself is not being modified.", "readOnly": true, @@ -70198,6 +70340,91 @@ }, "type": "object" }, + "InstanceGroupManagerStatusInstanceStatusSummary": { + "description": "The list of instance statuses and the number of instances in this managed\ninstance group that have the status. For more information about how to\ninterpret each status check the instance lifecycle documentation.\nCurrently only shown for TPU MIGs.", + "id": "InstanceGroupManagerStatusInstanceStatusSummary", + "properties": { + "deprovisioning": { + "description": "Output only. [Output Only] The number of instances in the managed instance group\nthat have DEPROVISIONING status.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "nonExistent": { + "description": "Output only. [Output Only] The number of instances that have not been created yet or\nhave been deleted. Includes only instances that would be shown in the\nlistManagedInstances method and not all instances that have been\ndeleted in the lifetime of the MIG.\nDoes not include FlexStart instances that are waiting for the resources\navailability, they are considered as 'pending'.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "pending": { + "description": "Output only. [Output Only] The number of instances in the managed instance group\nthat have PENDING status, that is FlexStart instances that are waiting\nfor resources. Instances that do not exist because of the other reasons\nare counted as 'non_existent'.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "pendingStop": { + "description": "Output only. [Output Only] The number of instances in the managed instance group\nthat have PENDING_STOP status.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "provisioning": { + "description": "Output only. [Output Only] The number of instances in the managed instance group\nthat have PROVISIONING status.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "repairing": { + "description": "Output only. [Output Only] The number of instances in the managed instance group\nthat have REPAIRING status.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "running": { + "description": "Output only. [Output Only] The number of instances in the managed instance group\nthat have RUNNING status.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "staging": { + "description": "Output only. [Output Only] The number of instances in the managed instance group\nthat have STAGING status.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "stopped": { + "description": "Output only. [Output Only] The number of instances in the managed instance group\nthat have STOPPED status.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "stopping": { + "description": "Output only. [Output Only] The number of instances in the managed instance group\nthat have STOPPING status.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "suspended": { + "description": "Output only. [Output Only] The number of instances in the managed instance group\nthat have SUSPENDED status.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "suspending": { + "description": "Output only. [Output Only] The number of instances in the managed instance group\nthat have SUSPENDING status.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "terminated": { + "description": "Output only. [Output Only] The number of instances in the managed instance group\nthat have TERMINATED status.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, "InstanceGroupManagerStatusStateful": { "id": "InstanceGroupManagerStatusStateful", "properties": { @@ -71945,6 +72172,9 @@ "tags": { "$ref": "Tags", "description": "A list of tags to apply to the instances that are created from these\nproperties. The tags identify valid sources or targets for network\nfirewalls. The setTags method can modify this list of tags. Each tag within\nthe list must comply with RFC1035." + }, + "workloadIdentityConfig": { + "$ref": "WorkloadIdentityConfig" } }, "type": "object" @@ -73120,6 +73350,10 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "params": { + "$ref": "InstantSnapshotParams", + "description": "Input only. Additional params passed with the request, but not persisted\nas part of resource payload." + }, "region": { "description": "Output only. [Output Only] URL of the region where the instant snapshot resides.\nYou must specify this field as part of the HTTP request URL. It is\nnot settable as a field in the request body.", "readOnly": true, @@ -73640,6 +73874,20 @@ }, "type": "object" }, + "InstantSnapshotParams": { + "description": "Additional instant snapshot params.", + "id": "InstantSnapshotParams", + "properties": { + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Input only. Resource manager tags to be bound to the instant snapshot. Tag keys and\nvalues have the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or in\nnamespaced format such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT \u0026\nPATCH) when empty.", + "type": "object" + } + }, + "type": "object" + }, "InstantSnapshotResourceStatus": { "id": "InstantSnapshotResourceStatus", "properties": { @@ -74049,7 +74297,7 @@ "type": "string" }, "subzone": { - "description": "Specific subzone in the InterconnectLocation that represents where\nthis connection is to be provisioned.", + "description": "To be deprecated.", "enum": [ "SUBZONE_A", "SUBZONE_B" @@ -81372,7 +81620,7 @@ "type": "object" }, "NetworkEndpointGroup": { - "description": "Represents a collection of network endpoints.\n\nA network endpoint group (NEG) defines how a set of endpoints should be\nreached, whether they are reachable, and where they are located.\nFor more information about using NEGs for different use cases, seeNetwork endpoint groups overview.", + "description": "Represents a collection of network endpoints.\n\nA network endpoint group (NEG) defines how a set of endpoints should be\nreached, whether they are reachable, and where they are located.\nFor more information about using NEGs for different use cases, seeNetwork endpoint groups overview.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API", "id": "NetworkEndpointGroup", "properties": { "annotations": { @@ -82519,6 +82767,10 @@ }, "type": "array" }, + "enableVpcScopedDns": { + "description": "Optional. If true, DNS resolution will be enabled over this interface. Only valid\nwith network_attachment.", + "type": "boolean" + }, "fingerprint": { "description": "Fingerprint hash of contents stored in this network interface.\nThis field will be ignored when inserting an Instance or\nadding a NetworkInterface. An up-to-date\nfingerprint must be provided in order to update theNetworkInterface. The request will fail with error400 Bad Request if the fingerprint is not provided, or412 Precondition Failed if the fingerprint is out of date.", "format": "byte", @@ -93047,6 +93299,20 @@ "description": "An optional description of this resource. Provide this property when you\ncreate the resource.", "type": "string" }, + "earlyAccessMaintenance": { + "description": "Indicates the early access maintenance for the reservation.\nIf this field is absent or set to NO_EARLY_ACCESS, the reservation is not\nenrolled in early access maintenance and the standard notice applies.", + "enum": [ + "NO_EARLY_ACCESS", + "WAVE1", + "WAVE2" + ], + "enumDescriptions": [ + "No early access.", + "Wave 1: Fastest notification period", + "Wave 2: Medium notification period" + ], + "type": "string" + }, "enableEmergentMaintenance": { "description": "Indicates whether Compute Engine allows unplanned maintenance for your VMs;\nfor example, to fix hardware errors.", "type": "boolean" @@ -95831,6 +96097,10 @@ "description": "Effective enable-oslogin value at Instance level.", "type": "boolean" }, + "gceContainerDeclarationMetadataValue": { + "description": "Effective gce-container-declaration value at Instance level.", + "type": "boolean" + }, "serialPortEnableMetadataValue": { "description": "Effective serial-port-enable value at Instance level.", "type": "boolean" @@ -99548,6 +99818,10 @@ "description": "Defines whether the instance is preemptible. This can only be set during\ninstance creation or while the instance isstopped and\ntherefore, in a `TERMINATED` state. SeeInstance Life\nCycle for more information on the possible instance states.", "type": "boolean" }, + "preemptionNoticeDuration": { + "$ref": "Duration", + "description": "Specifies the Metadata Service preemption notice duration before the GCE ACPI G2 Soft\n Off signal is triggered for Spot\n VMs only. If not specified, there will be no wait before the G2 Soft\n Off signal is triggered." + }, "provisioningModel": { "description": "Specifies the provisioning model of the instance.", "enum": [ @@ -115186,6 +115460,18 @@ }, "type": "object" }, + "WorkloadIdentityConfig": { + "id": "WorkloadIdentityConfig", + "properties": { + "identity": { + "type": "string" + }, + "identityCertificateEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, "XpnHostList": { "id": "XpnHostList", "properties": { diff --git a/compute/v0.beta/compute-gen.go b/compute/v0.beta/compute-gen.go index eda9e2cabf..a93f803cc9 100644 --- a/compute/v0.beta/compute-gen.go +++ b/compute/v0.beta/compute-gen.go @@ -3727,7 +3727,7 @@ func (s AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk) // AllocationSpecificSKUAllocationReservedInstanceProperties: Properties of the // SKU instances being reserved. -// Next ID: 9 +// Next ID: 10 type AllocationSpecificSKUAllocationReservedInstanceProperties struct { // GuestAccelerators: Specifies accelerator type and count. GuestAccelerators []*AcceleratorConfig `json:"guestAccelerators,omitempty"` @@ -10764,6 +10764,277 @@ func (s CacheKeyPolicy) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// CachePolicy: Message containing CachePolicy configuration for URL Map's +// Route Action. +type CachePolicy struct { + // CacheBypassRequestHeaderNames: Bypass the cache when the specified request + // headers are matched by name, + // e.g. Pragma or Authorization headers. Values are case-insensitive. Up to + // 5 + // header names can be specified. The cache is bypassed for + // all + // cachePolicy.cacheMode settings. + CacheBypassRequestHeaderNames []string `json:"cacheBypassRequestHeaderNames,omitempty"` + // CacheKeyPolicy: The CacheKeyPolicy for this CachePolicy. + CacheKeyPolicy *CachePolicyCacheKeyPolicy `json:"cacheKeyPolicy,omitempty"` + // CacheMode: Specifies the cache setting for all responses from this route. + // If not specified, the default value is CACHE_ALL_STATIC. + // + // Possible values: + // "CACHE_ALL_STATIC" - Automatically cache static content, including common + // image formats, + // media (video and audio), and web assets (JavaScript and CSS). + // Requests and responses that are marked as uncacheable, as well as + // dynamic content (including HTML), will not be cached. + // "FORCE_CACHE_ALL" - Cache all content, ignoring any "private", "no-store" + // or "no-cache" + // directives in Cache-Control response headers. + // Warning: this may result in Cloud CDN caching private, + // per-user (user identifiable) content. + // "USE_ORIGIN_HEADERS" - Requires the origin to set valid caching headers to + // cache content. + // Responses without these headers will not be cached at the edge, and + // will + // require a full trip to the origin on every request, potentially + // impacting + // performance and increasing load on the origin server. + CacheMode string `json:"cacheMode,omitempty"` + // ClientTtl: Specifies a separate client (e.g. browser client) maximum TTL. + // This is + // used to clamp the max-age (or Expires) value sent to the client. + // With + // FORCE_CACHE_ALL, the lesser of client_ttl and default_ttl is used for + // the + // response max-age directive, along with a "public" directive. For + // cacheable content in CACHE_ALL_STATIC mode, client_ttl clamps the + // max-age + // from the origin (if specified), or else sets the response max-age + // directive to the lesser of the client_ttl and default_ttl, and also + // ensures a "public" cache-control directive is present. + // If a client TTL is not specified, a default value (1 hour) will be used. + // The maximum allowed value is 31,622,400s (1 year). + ClientTtl *Duration `json:"clientTtl,omitempty"` + // DefaultTtl: Specifies the default TTL for cached content served by this + // origin for + // responses that do not have an existing valid TTL (max-age or + // s-maxage). + // Setting a TTL of "0" means "always revalidate". + // The value of defaultTTL cannot be set to a value greater than that + // of + // maxTTL. + // When the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL + // will overwrite the TTL set in all responses. The maximum allowed value + // is + // 31,622,400s (1 year). Infrequently accessed objects may be evicted from + // the cache before the defined TTL. + DefaultTtl *Duration `json:"defaultTtl,omitempty"` + // MaxTtl: Specifies the maximum allowed TTL for cached content served by + // this + // origin. + // Cache directives that attempt to set a max-age or s-maxage higher than + // this, or an Expires header more than maxTTL seconds in the future will + // be capped at the value of maxTTL, as if it were the value of an + // s-maxage Cache-Control directive. + // Headers sent to the client will not be modified. + // Setting a TTL of "0" means "always revalidate". + // The maximum allowed value is 31,622,400s (1 year). Infrequently + // accessed + // objects may be evicted from the cache before the defined TTL. + MaxTtl *Duration `json:"maxTtl,omitempty"` + // NegativeCaching: Negative caching allows per-status code TTLs to be set, in + // order + // to apply fine-grained caching for common errors or redirects. + // This can reduce the load on your origin and improve end-user + // experience by reducing response latency. + // When the cache mode is set to CACHE_ALL_STATIC or + // USE_ORIGIN_HEADERS, + // negative caching applies to responses with the specified response code + // that lack any Cache-Control, Expires, or Pragma: no-cache directives. + // When the cache mode is set to FORCE_CACHE_ALL, negative caching applies + // to all responses with the specified response code, and override any + // caching headers. + // By default, Cloud CDN will apply the following default TTLs to these + // status codes: + // HTTP 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m + // HTTP 404 (Not Found), 410 (Gone), + // 451 (Unavailable For Legal Reasons): 120s + // HTTP 405 (Method Not Found), 501 (Not Implemented): 60s. + // These defaults can be overridden in negative_caching_policy. + NegativeCaching bool `json:"negativeCaching,omitempty"` + // NegativeCachingPolicy: Sets a cache TTL for the specified HTTP status + // code. + // negative_caching must be enabled to configure + // negative_caching_policy. + // Omitting the policy and leaving negative_caching enabled will use + // Cloud CDN's default cache TTLs. + // Note that when specifying an explicit negative_caching_policy, you + // should take care to specify a cache TTL for all response codes + // that you wish to cache. Cloud CDN will not apply any default + // negative caching when a policy exists. + NegativeCachingPolicy []*CachePolicyNegativeCachingPolicy `json:"negativeCachingPolicy,omitempty"` + // RequestCoalescing: If true then Cloud CDN will combine multiple concurrent + // cache fill + // requests into a small number of requests to the origin. + RequestCoalescing bool `json:"requestCoalescing,omitempty"` + // ServeWhileStale: Serve existing content from the cache (if available) when + // revalidating + // content with the origin, or when an error is encountered when refreshing + // the cache. + // This setting defines the default "max-stale" duration for any + // cached + // responses that do not specify a max-stale directive. Stale responses + // that + // exceed the TTL configured here will not be served. The default + // limit + // (max-stale) is 86400s (1 day), which will allow stale content to be + // served up to this limit beyond the max-age (or s-maxage) of a + // cached + // response. + // The maximum allowed value is 604800 (1 week). + // Set this to zero (0) to disable serve-while-stale. + ServeWhileStale *Duration `json:"serveWhileStale,omitempty"` + // ForceSendFields is a list of field names (e.g. + // "CacheBypassRequestHeaderNames") to unconditionally include in API requests. + // By default, fields with empty or default values are omitted from API + // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields + // for more details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "CacheBypassRequestHeaderNames") + // to include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s CachePolicy) MarshalJSON() ([]byte, error) { + type NoMethod CachePolicy + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// CachePolicyCacheKeyPolicy: Message containing what to include in the cache +// key for a request for Cache +// Policy defined on Route Action. +type CachePolicyCacheKeyPolicy struct { + // ExcludedQueryParameters: Names of query string parameters to exclude in + // cache keys. All other + // parameters will be included. Either specify excluded_query_parameters + // or + // included_query_parameters, not both. '&' and '=' will be percent encoded + // and not treated as delimiters. + // + // Note: This field applies to routes that use backend services. Attempting + // to set it on a route that points exclusively to Backend Buckets will + // result in a configuration error. For routes that point to a Backend + // Bucket, use includedQueryParameters to define which parameters should + // be a part of the cache key. + ExcludedQueryParameters []string `json:"excludedQueryParameters,omitempty"` + // IncludeHost: If true, requests to different hosts will be cached + // separately. + // + // Note: This setting is only applicable to routes that use a Backend + // Service. It does not affect requests served by a Backend Bucket, as the + // host is never included in a Backend Bucket's cache key. Attempting to set + // it on a route that points exclusively to Backend Buckets will result in + // a + // configuration error. + IncludeHost bool `json:"includeHost,omitempty"` + // IncludeProtocol: If true, http and https requests will be cached + // separately. + // + // Note: This setting is only applicable to routes that use a Backend + // Service. It does not affect requests served by a Backend Bucket, as + // the + // protocol is never included in a Backend Bucket's cache key. Attempting + // to + // set on a route that points exclusively to Backend Buckets will result in + // a configuration error. + IncludeProtocol bool `json:"includeProtocol,omitempty"` + // IncludeQueryString: If true, include query string parameters in the cache + // key according to + // included_query_parameters and excluded_query_parameters. If neither is + // set, the entire query string will be included. If false, the query + // string + // will be excluded from the cache key entirely. + // + // Note: This field applies to routes that use backend services. Attempting + // to set it on a route that points exclusively to Backend Buckets will + // result in a configuration error. For routes that point to a Backend + // Bucket, use includedQueryParameters to define which parameters should + // be a part of the cache key. + IncludeQueryString bool `json:"includeQueryString,omitempty"` + // IncludedCookieNames: Allows HTTP cookies (by name) to be used in the cache + // key. + // The name=value pair will be used in the cache key Cloud CDN + // generates. + // + // Note: This setting is only applicable to routes that use a Backend + // Service. It does not affect requests served by a Backend Bucket. + // Attempting to set it on a route that points exclusively to Backend + // Buckets will result in a configuration error. Up to 5 cookie names can + // be + // specified. + IncludedCookieNames []string `json:"includedCookieNames,omitempty"` + // IncludedHeaderNames: Allows HTTP request headers (by name) to be used in the + // cache key. + IncludedHeaderNames []string `json:"includedHeaderNames,omitempty"` + // IncludedQueryParameters: Names of query string parameters to include in + // cache keys. All other + // parameters will be excluded. Either specify included_query_parameters + // or + // excluded_query_parameters, not both. '&' and '=' will be percent encoded + // and not treated as delimiters. + IncludedQueryParameters []string `json:"includedQueryParameters,omitempty"` + // ForceSendFields is a list of field names (e.g. "ExcludedQueryParameters") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ExcludedQueryParameters") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s CachePolicyCacheKeyPolicy) MarshalJSON() ([]byte, error) { + type NoMethod CachePolicyCacheKeyPolicy + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// CachePolicyNegativeCachingPolicy: Specify CDN TTLs for response error codes. +type CachePolicyNegativeCachingPolicy struct { + // Code: The HTTP status code to define a TTL against. Only HTTP status + // codes + // 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 can be + // specified as values, and you cannot specify a status code more than + // once. + Code int64 `json:"code,omitempty"` + // Ttl: The TTL (in seconds) for which to cache responses with + // the + // corresponding status code. + // The maximum allowed value is 1800s (30 minutes). Infrequently + // accessed + // objects may be evicted from the cache before the defined TTL. + Ttl *Duration `json:"ttl,omitempty"` + // ForceSendFields is a list of field names (e.g. "Code") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Code") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s CachePolicyNegativeCachingPolicy) MarshalJSON() ([]byte, error) { + type NoMethod CachePolicyNegativeCachingPolicy + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // CalendarModeAdviceRequest: A request to recommend the best way to consume // the specified resources in the // future. @@ -18904,6 +19175,10 @@ func (s ForwardingRulesScopedListWarningData) MarshalJSON() ([]byte, error) { } type FutureReservation struct { + // AdvancedDeploymentControl: Advanced control for cluster management, + // applicable only to DENSE + // deployment type future reservations. + AdvancedDeploymentControl *ReservationAdvancedDeploymentControl `json:"advancedDeploymentControl,omitempty"` // AggregateReservation: Aggregate reservation details for the future // reservation. AggregateReservation *AllocationAggregateReservation `json:"aggregateReservation,omitempty"` @@ -19076,15 +19351,15 @@ type FutureReservation struct { // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "AggregateReservation") to - // unconditionally include in API requests. By default, fields with empty or + // ForceSendFields is a list of field names (e.g. "AdvancedDeploymentControl") + // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AggregateReservation") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See + // NullFields is a list of field names (e.g. "AdvancedDeploymentControl") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } @@ -25082,6 +25357,10 @@ func (s HttpRetryPolicy) MarshalJSON() ([]byte, error) { } type HttpRouteAction struct { + // CachePolicy: Cache policy for this URL Map’s route. Available only for + // Global + // EXTERNAL_MANAGED load balancer schemes. + CachePolicy *CachePolicy `json:"cachePolicy,omitempty"` // CorsPolicy: The specification for allowing client-side cross-origin // requests. For more // information about the W3C recommendation for cross-origin resource @@ -25180,13 +25459,13 @@ type HttpRouteAction struct { // settings // specified in this HttpRouteAction. WeightedBackendServices []*WeightedBackendService `json:"weightedBackendServices,omitempty"` - // ForceSendFields is a list of field names (e.g. "CorsPolicy") to + // ForceSendFields is a list of field names (e.g. "CachePolicy") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CorsPolicy") to include in API + // NullFields is a list of field names (e.g. "CachePolicy") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. @@ -26711,7 +26990,8 @@ type Instance struct { // setTags // method. Each tag within the list must comply withRFC1035. // Multiple tags can be specified via the 'tags.items' field. - Tags *Tags `json:"tags,omitempty"` + Tags *Tags `json:"tags,omitempty"` + WorkloadIdentityConfig *WorkloadIdentityConfig `json:"workloadIdentityConfig,omitempty"` // Zone: Output only. [Output Only] URL of the zone where the instance // resides. // You must specify this field as part of the HTTP request URL. It is @@ -29119,6 +29399,12 @@ type InstanceGroupManagerStatus struct { // BulkInstanceOperation: Output only. [Output Only] The status of bulk // instance operation. BulkInstanceOperation *InstanceGroupManagerStatusBulkInstanceOperation `json:"bulkInstanceOperation,omitempty"` + // CurrentInstanceStatuses: Output only. [Output Only] The list of instance + // statuses and the number of instances + // in this managed instance group that have the status. Currently only + // shown + // for TPU MIGs + CurrentInstanceStatuses *InstanceGroupManagerStatusInstanceStatusSummary `json:"currentInstanceStatuses,omitempty"` // IsStable: Output only. [Output Only] A bit indicating whether the managed // instance group is in a // stable state. A stable state means that: none of the instances in @@ -29322,6 +29608,91 @@ func (s InstanceGroupManagerStatusBulkInstanceOperationLastProgressCheckErrorErr return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// InstanceGroupManagerStatusInstanceStatusSummary: The list of instance +// statuses and the number of instances in this managed +// instance group that have the status. For more information about how +// to +// interpret each status check the instance lifecycle documentation. +// Currently only shown for TPU MIGs. +type InstanceGroupManagerStatusInstanceStatusSummary struct { + // Deprovisioning: Output only. [Output Only] The number of instances in the + // managed instance group + // that have DEPROVISIONING status. + Deprovisioning int64 `json:"deprovisioning,omitempty"` + // NonExistent: Output only. [Output Only] The number of instances that have + // not been created yet or + // have been deleted. Includes only instances that would be shown in + // the + // listManagedInstances method and not all instances that have been + // deleted in the lifetime of the MIG. + // Does not include FlexStart instances that are waiting for the + // resources + // availability, they are considered as 'pending'. + NonExistent int64 `json:"nonExistent,omitempty"` + // Pending: Output only. [Output Only] The number of instances in the managed + // instance group + // that have PENDING status, that is FlexStart instances that are waiting + // for resources. Instances that do not exist because of the other reasons + // are counted as 'non_existent'. + Pending int64 `json:"pending,omitempty"` + // PendingStop: Output only. [Output Only] The number of instances in the + // managed instance group + // that have PENDING_STOP status. + PendingStop int64 `json:"pendingStop,omitempty"` + // Provisioning: Output only. [Output Only] The number of instances in the + // managed instance group + // that have PROVISIONING status. + Provisioning int64 `json:"provisioning,omitempty"` + // Repairing: Output only. [Output Only] The number of instances in the managed + // instance group + // that have REPAIRING status. + Repairing int64 `json:"repairing,omitempty"` + // Running: Output only. [Output Only] The number of instances in the managed + // instance group + // that have RUNNING status. + Running int64 `json:"running,omitempty"` + // Staging: Output only. [Output Only] The number of instances in the managed + // instance group + // that have STAGING status. + Staging int64 `json:"staging,omitempty"` + // Stopped: Output only. [Output Only] The number of instances in the managed + // instance group + // that have STOPPED status. + Stopped int64 `json:"stopped,omitempty"` + // Stopping: Output only. [Output Only] The number of instances in the managed + // instance group + // that have STOPPING status. + Stopping int64 `json:"stopping,omitempty"` + // Suspended: Output only. [Output Only] The number of instances in the managed + // instance group + // that have SUSPENDED status. + Suspended int64 `json:"suspended,omitempty"` + // Suspending: Output only. [Output Only] The number of instances in the + // managed instance group + // that have SUSPENDING status. + Suspending int64 `json:"suspending,omitempty"` + // Terminated: Output only. [Output Only] The number of instances in the + // managed instance group + // that have TERMINATED status. + Terminated int64 `json:"terminated,omitempty"` + // ForceSendFields is a list of field names (e.g. "Deprovisioning") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Deprovisioning") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s InstanceGroupManagerStatusInstanceStatusSummary) MarshalJSON() ([]byte, error) { + type NoMethod InstanceGroupManagerStatusInstanceStatusSummary + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + type InstanceGroupManagerStatusStateful struct { // HasStatefulConfig: Output only. [Output Only] A bit indicating whether the // managed instance group @@ -31793,7 +32164,8 @@ type InstanceProperties struct { // firewalls. The setTags method can modify this list of tags. Each tag // within // the list must comply with RFC1035. - Tags *Tags `json:"tags,omitempty"` + Tags *Tags `json:"tags,omitempty"` + WorkloadIdentityConfig *WorkloadIdentityConfig `json:"workloadIdentityConfig,omitempty"` // ForceSendFields is a list of field names (e.g. "AdvancedMachineFeatures") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -33310,6 +33682,10 @@ type InstantSnapshot struct { // cannot // be a dash. Name string `json:"name,omitempty"` + // Params: Input only. Additional params passed with the request, but not + // persisted + // as part of resource payload. + Params *InstantSnapshotParams `json:"params,omitempty"` // Region: Output only. [Output Only] URL of the region where the instant // snapshot resides. // You must specify this field as part of the HTTP request URL. It is @@ -33935,6 +34311,37 @@ func (s InstantSnapshotListWarningData) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// InstantSnapshotParams: Additional instant snapshot params. +type InstantSnapshotParams struct { + // ResourceManagerTags: Input only. Resource manager tags to be bound to the + // instant snapshot. Tag keys and + // values have the same definition as resource + // manager tags. Keys and values can be either in numeric format, + // such as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or + // in + // namespaced format such as `{org_id|project_id}/{tag_key_short_name}` + // and + // `{tag_value_short_name}`. The field is ignored (both PUT & + // PATCH) when empty. + ResourceManagerTags map[string]string `json:"resourceManagerTags,omitempty"` + // ForceSendFields is a list of field names (e.g. "ResourceManagerTags") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ResourceManagerTags") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s InstantSnapshotParams) MarshalJSON() ([]byte, error) { + type NoMethod InstantSnapshotParams + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + type InstantSnapshotResourceStatus struct { // StorageSizeBytes: [Output Only] The storage size of this instant snapshot. StorageSizeBytes int64 `json:"storageSizeBytes,omitempty,string"` @@ -34409,9 +34816,7 @@ type Interconnect struct { // attachments may be // provisioned on this interconnect. State string `json:"state,omitempty"` - // Subzone: Specific subzone in the InterconnectLocation that represents - // where - // this connection is to be provisioned. + // Subzone: To be deprecated. // // Possible values: // "SUBZONE_A" - Subzone A. @@ -43643,6 +44048,20 @@ func (s NetworkEndpoint) MarshalJSON() ([]byte, error) { // reached, whether they are reachable, and where they are located. // For more information about using NEGs for different use cases, seeNetwork // endpoint groups overview. +// +// Note: Use the following APIs to manage network endpoint groups: +// +// - +// To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity +// NEGs): zonal +// API +// - +// To manage NEGs with regional scope (such as regional internet NEGs, +// serverless NEGs, Private Service Connect NEGs): regional +// API +// - +// To manage NEGs with global scope (such as global internet NEGs):global +// API type NetworkEndpointGroup struct { // Annotations: Optional. Metadata defined as annotations on the network // endpoint group. @@ -45141,6 +45560,10 @@ type NetworkInterface struct { // AliasIpRanges: An array of alias IP ranges for this network interface. // You can only specify this field for network interfaces in VPC networks. AliasIpRanges []*AliasIpRange `json:"aliasIpRanges,omitempty"` + // EnableVpcScopedDns: Optional. If true, DNS resolution will be enabled over + // this interface. Only valid + // with network_attachment. + EnableVpcScopedDns bool `json:"enableVpcScopedDns,omitempty"` // Fingerprint: Fingerprint hash of contents stored in this network // interface. // This field will be ignored when inserting an Instance or @@ -57853,6 +58276,17 @@ type Reservation struct { // when you // create the resource. Description string `json:"description,omitempty"` + // EarlyAccessMaintenance: Indicates the early access maintenance for the + // reservation. + // If this field is absent or set to NO_EARLY_ACCESS, the reservation is + // not + // enrolled in early access maintenance and the standard notice applies. + // + // Possible values: + // "NO_EARLY_ACCESS" - No early access. + // "WAVE1" - Wave 1: Fastest notification period + // "WAVE2" - Wave 2: Medium notification period + EarlyAccessMaintenance string `json:"earlyAccessMaintenance,omitempty"` // EnableEmergentMaintenance: Indicates whether Compute Engine allows unplanned // maintenance for your VMs; // for example, to fix hardware errors. @@ -61101,6 +61535,9 @@ type ResourceStatusEffectiveInstanceMetadata struct { // EnableOsloginMetadataValue: Effective enable-oslogin value at Instance // level. EnableOsloginMetadataValue bool `json:"enableOsloginMetadataValue,omitempty"` + // GceContainerDeclarationMetadataValue: Effective gce-container-declaration + // value at Instance level. + GceContainerDeclarationMetadataValue bool `json:"gceContainerDeclarationMetadataValue,omitempty"` // SerialPortEnableMetadataValue: Effective serial-port-enable value at // Instance level. SerialPortEnableMetadataValue bool `json:"serialPortEnableMetadataValue,omitempty"` @@ -65626,6 +66063,12 @@ type Scheduling struct { // therefore, in a `TERMINATED` state. SeeInstance Life // Cycle for more information on the possible instance states. Preemptible bool `json:"preemptible,omitempty"` + // PreemptionNoticeDuration: Specifies the Metadata Service preemption notice + // duration before the GCE ACPI G2 Soft + // Off signal is triggered for Spot + // VMs only. If not specified, there will be no wait before the G2 Soft + // Off signal is triggered. + PreemptionNoticeDuration *Duration `json:"preemptionNoticeDuration,omitempty"` // ProvisioningModel: Specifies the provisioning model of the instance. // // Possible values: @@ -85517,6 +85960,27 @@ func (s WireProperties) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +type WorkloadIdentityConfig struct { + Identity string `json:"identity,omitempty"` + IdentityCertificateEnabled bool `json:"identityCertificateEnabled,omitempty"` + // ForceSendFields is a list of field names (e.g. "Identity") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Identity") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s WorkloadIdentityConfig) MarshalJSON() ([]byte, error) { + type NoMethod WorkloadIdentityConfig + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + type XpnHostList struct { // Id: [Output Only] Unique identifier for the resource; defined by the server. Id string `json:"id,omitempty"` diff --git a/compute/v0.beta/compute2-gen.go b/compute/v0.beta/compute2-gen.go index 388e5f84cb..9919ade209 100644 --- a/compute/v0.beta/compute2-gen.go +++ b/compute/v0.beta/compute2-gen.go @@ -22570,6 +22570,20 @@ type GlobalNetworkEndpointGroupsInsertCall struct { // the // parameters that are included in the request. // +// Note: Use the following APIs to manage network endpoint groups: +// +// - +// To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity +// NEGs): zonal +// API +// - +// To manage NEGs with regional scope (such as regional internet NEGs, +// serverless NEGs, Private Service Connect NEGs): regional +// API +// - +// To manage NEGs with global scope (such as global internet NEGs):global +// API +// // - project: Project ID for this request. func (r *GlobalNetworkEndpointGroupsService) Insert(project string, networkendpointgroup *NetworkEndpointGroup) *GlobalNetworkEndpointGroupsInsertCall { c := &GlobalNetworkEndpointGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)} @@ -62582,10 +62596,24 @@ type NetworkEndpointGroupsInsertCall struct { // the // parameters that are included in the request. // -// - project: Project ID for this request. -// - zone: The name of the zone where -// you want to create the network endpoint group. It should comply -// with +// Note: Use the following APIs to manage network endpoint groups: +// +// - +// To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity +// NEGs): zonal +// API +// - +// To manage NEGs with regional scope (such as regional internet NEGs, +// serverless NEGs, Private Service Connect NEGs): regional +// API +// - +// To manage NEGs with global scope (such as global internet NEGs):global +// API +// +// - project: Project ID for this request. +// - zone: The name of the zone where +// you want to create the network endpoint group. It should comply +// with // // RFC1035. func (r *NetworkEndpointGroupsService) Insert(project string, zone string, networkendpointgroup *NetworkEndpointGroup) *NetworkEndpointGroupsInsertCall { diff --git a/compute/v0.beta/compute3-gen.go b/compute/v0.beta/compute3-gen.go index eb12739743..a479d6b2f6 100644 --- a/compute/v0.beta/compute3-gen.go +++ b/compute/v0.beta/compute3-gen.go @@ -17973,10 +17973,24 @@ type RegionNetworkEndpointGroupsInsertCall struct { // the // parameters that are included in the request. // -// - project: Project ID for this request. -// - region: The name of the region where -// you want to create the network endpoint group. It should comply -// with +// Note: Use the following APIs to manage network endpoint groups: +// +// - +// To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity +// NEGs): zonal +// API +// - +// To manage NEGs with regional scope (such as regional internet NEGs, +// serverless NEGs, Private Service Connect NEGs): regional +// API +// - +// To manage NEGs with global scope (such as global internet NEGs):global +// API +// +// - project: Project ID for this request. +// - region: The name of the region where +// you want to create the network endpoint group. It should comply +// with // // RFC1035. func (r *RegionNetworkEndpointGroupsService) Insert(project string, region string, networkendpointgroup *NetworkEndpointGroup) *RegionNetworkEndpointGroupsInsertCall { diff --git a/compute/v1/compute-api.json b/compute/v1/compute-api.json index e95e643472..7b7c9ed244 100644 --- a/compute/v1/compute-api.json +++ b/compute/v1/compute-api.json @@ -4327,6 +4327,11 @@ "httpMethod": "GET", "id": "compute.firewallPolicies.listAssociations", "parameters": { + "includeInheritedPolicies": { + "description": "If set to \"true\", the response will contain a list of all associations for\nthe containing folders and the containing organization of the target. The\nparameter has no effect if the target is an organization.", + "location": "query", + "type": "boolean" + }, "targetResource": { "description": "The target resource to list associations. It is an organization, or a\nfolder.", "location": "query", @@ -6378,7 +6383,7 @@ ] }, "insert": { - "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.", + "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API", "flatPath": "projects/{project}/global/networkEndpointGroups", "httpMethod": "POST", "id": "compute.globalNetworkEndpointGroups.insert", @@ -17594,7 +17599,7 @@ ] }, "insert": { - "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.", + "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API", "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups", "httpMethod": "POST", "id": "compute.networkEndpointGroups.insert", @@ -28072,7 +28077,7 @@ ] }, "insert": { - "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.", + "description": "Creates a network endpoint group in the specified project using the\nparameters that are included in the request.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API", "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups", "httpMethod": "POST", "id": "compute.regionNetworkEndpointGroups.insert", @@ -43137,7 +43142,7 @@ } } }, - "revision": "20260122", + "revision": "20260206", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -44730,7 +44735,7 @@ "type": "object" }, "AllocationSpecificSKUAllocationReservedInstanceProperties": { - "description": "Properties of the SKU instances being reserved.\nNext ID: 9", + "description": "Properties of the SKU instances being reserved.\nNext ID: 10", "id": "AllocationSpecificSKUAllocationReservedInstanceProperties", "properties": { "guestAccelerators": { @@ -57936,6 +57941,9 @@ "$ref": "Tags", "description": "Tags to apply to this instance. Tags are used to identify valid\nsources or targets for network firewalls and are specified by the client\nduring instance creation. The tags can be later modified by the setTags\nmethod. Each tag within the list must comply withRFC1035.\nMultiple tags can be specified via the 'tags.items' field." }, + "workloadIdentityConfig": { + "$ref": "WorkloadIdentityConfig" + }, "zone": { "description": "Output only. [Output Only] URL of the zone where the instance resides.\nYou must specify this field as part of the HTTP request URL. It is\nnot settable as a field in the request body.", "readOnly": true, @@ -59123,6 +59131,20 @@ "" ], "type": "string" + }, + "onFailedHealthCheck": { + "description": "The action that a MIG performs on an unhealthy VM. A VM is marked as\nunhealthy when the application running on that VM fails a health check.\nValid values are:\n \n - DEFAULT_ACTION (default): MIG uses the same action\n configured for instanceLifecyclePolicy.defaultActionOnFailure field.\n - REPAIR: MIG automatically repairs an unhealthy VM by\n recreating it.\n - DO_NOTHING: MIG doesn't repair an unhealthy VM.\n For more information, see \n About repairing VMs in a MIG.", + "enum": [ + "DEFAULT_ACTION", + "DO_NOTHING", + "REPAIR" + ], + "enumDescriptions": [ + "(Default) MIG uses the same action configured for\ninstanceLifecyclePolicy.defaultActionOnFailure field.", + "MIG doesn't repair an unhealthy VM.", + "MIG automatically repairs an unhealthy VM by recreating it." + ], + "type": "string" } }, "type": "object" @@ -61352,6 +61374,9 @@ "tags": { "$ref": "Tags", "description": "A list of tags to apply to the instances that are created from these\nproperties. The tags identify valid sources or targets for network\nfirewalls. The setTags method can modify this list of tags. Each tag within\nthe list must comply with RFC1035." + }, + "workloadIdentityConfig": { + "$ref": "WorkloadIdentityConfig" } }, "type": "object" @@ -62481,6 +62506,10 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "params": { + "$ref": "InstantSnapshotParams", + "description": "Input only. Additional params passed with the request, but not persisted\nas part of resource payload." + }, "region": { "description": "Output only. [Output Only] URL of the region where the instant snapshot resides.\nYou must specify this field as part of the HTTP request URL. It is\nnot settable as a field in the request body.", "readOnly": true, @@ -62869,6 +62898,20 @@ }, "type": "object" }, + "InstantSnapshotParams": { + "description": "Additional instant snapshot params.", + "id": "InstantSnapshotParams", + "properties": { + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Input only. Resource manager tags to be bound to the instant snapshot. Tag keys and\nvalues have the same definition as resource\nmanager tags. Keys and values can be either in numeric format,\nsuch as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or in\nnamespaced format such as `{org_id|project_id}/{tag_key_short_name}` and\n`{tag_value_short_name}`. The field is ignored (both PUT \u0026\nPATCH) when empty.", + "type": "object" + } + }, + "type": "object" + }, "InstantSnapshotResourceStatus": { "id": "InstantSnapshotResourceStatus", "properties": { @@ -63278,7 +63321,7 @@ "type": "string" }, "subzone": { - "description": "Specific subzone in the InterconnectLocation that represents where\nthis connection is to be provisioned.", + "description": "To be deprecated.", "enum": [ "SUBZONE_A", "SUBZONE_B" @@ -69808,7 +69851,7 @@ "type": "object" }, "NetworkEndpointGroup": { - "description": "Represents a collection of network endpoints.\n\nA network endpoint group (NEG) defines how a set of endpoints should be\nreached, whether they are reachable, and where they are located.\nFor more information about using NEGs for different use cases, seeNetwork endpoint groups overview.", + "description": "Represents a collection of network endpoints.\n\nA network endpoint group (NEG) defines how a set of endpoints should be\nreached, whether they are reachable, and where they are located.\nFor more information about using NEGs for different use cases, seeNetwork endpoint groups overview.\n\nNote: Use the following APIs to manage network endpoint groups:\n \n - \n To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity\n NEGs): zonal\n API\n - \n To manage NEGs with regional scope (such as regional internet NEGs,\n serverless NEGs, Private Service Connect NEGs): regional\n API\n - \n To manage NEGs with global scope (such as global internet NEGs):global\n API", "id": "NetworkEndpointGroup", "properties": { "annotations": { @@ -70878,6 +70921,10 @@ }, "type": "array" }, + "enableVpcScopedDns": { + "description": "Optional. If true, DNS resolution will be enabled over this interface. Only valid\nwith network_attachment.", + "type": "boolean" + }, "fingerprint": { "description": "Fingerprint hash of contents stored in this network interface.\nThis field will be ignored when inserting an Instance or\nadding a NetworkInterface. An up-to-date\nfingerprint must be provided in order to update theNetworkInterface. The request will fail with error400 Bad Request if the fingerprint is not provided, or412 Precondition Failed if the fingerprint is out of date.", "format": "byte", @@ -80362,6 +80409,20 @@ "description": "An optional description of this resource. Provide this property when you\ncreate the resource.", "type": "string" }, + "earlyAccessMaintenance": { + "description": "Indicates the early access maintenance for the reservation.\nIf this field is absent or set to NO_EARLY_ACCESS, the reservation is not\nenrolled in early access maintenance and the standard notice applies.", + "enum": [ + "NO_EARLY_ACCESS", + "WAVE1", + "WAVE2" + ], + "enumDescriptions": [ + "No early access.", + "Wave 1: Fastest notification period", + "Wave 2: Medium notification period" + ], + "type": "string" + }, "enableEmergentMaintenance": { "description": "Indicates whether Compute Engine allows unplanned maintenance for your VMs;\nfor example, to fix hardware errors.", "type": "boolean" @@ -100003,6 +100064,18 @@ }, "type": "object" }, + "WorkloadIdentityConfig": { + "id": "WorkloadIdentityConfig", + "properties": { + "identity": { + "type": "string" + }, + "identityCertificateEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, "XpnHostList": { "id": "XpnHostList", "properties": { diff --git a/compute/v1/compute-gen.go b/compute/v1/compute-gen.go index b9772c3ddb..ff703b62a3 100644 --- a/compute/v1/compute-gen.go +++ b/compute/v1/compute-gen.go @@ -3500,7 +3500,7 @@ func (s AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk) // AllocationSpecificSKUAllocationReservedInstanceProperties: Properties of the // SKU instances being reserved. -// Next ID: 9 +// Next ID: 10 type AllocationSpecificSKUAllocationReservedInstanceProperties struct { // GuestAccelerators: Specifies accelerator type and count. GuestAccelerators []*AcceleratorConfig `json:"guestAccelerators,omitempty"` @@ -22787,7 +22787,8 @@ type Instance struct { // setTags // method. Each tag within the list must comply withRFC1035. // Multiple tags can be specified via the 'tags.items' field. - Tags *Tags `json:"tags,omitempty"` + Tags *Tags `json:"tags,omitempty"` + WorkloadIdentityConfig *WorkloadIdentityConfig `json:"workloadIdentityConfig,omitempty"` // Zone: Output only. [Output Only] URL of the zone where the instance // resides. // You must specify this field as part of the HTTP request URL. It is @@ -24226,6 +24227,27 @@ type InstanceGroupManagerInstanceLifecyclePolicy struct { // "NO" // "YES" ForceUpdateOnRepair string `json:"forceUpdateOnRepair,omitempty"` + // OnFailedHealthCheck: The action that a MIG performs on an unhealthy VM. A VM + // is marked as + // unhealthy when the application running on that VM fails a health + // check. + // Valid values are: + // + // - DEFAULT_ACTION (default): MIG uses the same action + // configured for instanceLifecyclePolicy.defaultActionOnFailure field. + // - REPAIR: MIG automatically repairs an unhealthy VM by + // recreating it. + // - DO_NOTHING: MIG doesn't repair an unhealthy VM. + // For more information, see + // About repairing VMs in a MIG. + // + // Possible values: + // "DEFAULT_ACTION" - (Default) MIG uses the same action configured + // for + // instanceLifecyclePolicy.defaultActionOnFailure field. + // "DO_NOTHING" - MIG doesn't repair an unhealthy VM. + // "REPAIR" - MIG automatically repairs an unhealthy VM by recreating it. + OnFailedHealthCheck string `json:"onFailedHealthCheck,omitempty"` // ForceSendFields is a list of field names (e.g. "DefaultActionOnFailure") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -27337,7 +27359,8 @@ type InstanceProperties struct { // firewalls. The setTags method can modify this list of tags. Each tag // within // the list must comply with RFC1035. - Tags *Tags `json:"tags,omitempty"` + Tags *Tags `json:"tags,omitempty"` + WorkloadIdentityConfig *WorkloadIdentityConfig `json:"workloadIdentityConfig,omitempty"` // ForceSendFields is a list of field names (e.g. "AdvancedMachineFeatures") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -28785,6 +28808,10 @@ type InstantSnapshot struct { // cannot // be a dash. Name string `json:"name,omitempty"` + // Params: Input only. Additional params passed with the request, but not + // persisted + // as part of resource payload. + Params *InstantSnapshotParams `json:"params,omitempty"` // Region: Output only. [Output Only] URL of the region where the instant // snapshot resides. // You must specify this field as part of the HTTP request URL. It is @@ -29237,6 +29264,37 @@ func (s InstantSnapshotListWarningData) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// InstantSnapshotParams: Additional instant snapshot params. +type InstantSnapshotParams struct { + // ResourceManagerTags: Input only. Resource manager tags to be bound to the + // instant snapshot. Tag keys and + // values have the same definition as resource + // manager tags. Keys and values can be either in numeric format, + // such as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}` or + // in + // namespaced format such as `{org_id|project_id}/{tag_key_short_name}` + // and + // `{tag_value_short_name}`. The field is ignored (both PUT & + // PATCH) when empty. + ResourceManagerTags map[string]string `json:"resourceManagerTags,omitempty"` + // ForceSendFields is a list of field names (e.g. "ResourceManagerTags") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ResourceManagerTags") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s InstantSnapshotParams) MarshalJSON() ([]byte, error) { + type NoMethod InstantSnapshotParams + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + type InstantSnapshotResourceStatus struct { // StorageSizeBytes: [Output Only] The storage size of this instant snapshot. StorageSizeBytes int64 `json:"storageSizeBytes,omitempty,string"` @@ -29711,9 +29769,7 @@ type Interconnect struct { // attachments may be // provisioned on this interconnect. State string `json:"state,omitempty"` - // Subzone: Specific subzone in the InterconnectLocation that represents - // where - // this connection is to be provisioned. + // Subzone: To be deprecated. // // Possible values: // "SUBZONE_A" - Subzone A. @@ -37982,6 +38038,20 @@ func (s NetworkEndpoint) MarshalJSON() ([]byte, error) { // reached, whether they are reachable, and where they are located. // For more information about using NEGs for different use cases, seeNetwork // endpoint groups overview. +// +// Note: Use the following APIs to manage network endpoint groups: +// +// - +// To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity +// NEGs): zonal +// API +// - +// To manage NEGs with regional scope (such as regional internet NEGs, +// serverless NEGs, Private Service Connect NEGs): regional +// API +// - +// To manage NEGs with global scope (such as global internet NEGs):global +// API type NetworkEndpointGroup struct { // Annotations: Optional. Metadata defined as annotations on the network // endpoint group. @@ -39330,6 +39400,10 @@ type NetworkInterface struct { // AliasIpRanges: An array of alias IP ranges for this network interface. // You can only specify this field for network interfaces in VPC networks. AliasIpRanges []*AliasIpRange `json:"aliasIpRanges,omitempty"` + // EnableVpcScopedDns: Optional. If true, DNS resolution will be enabled over + // this interface. Only valid + // with network_attachment. + EnableVpcScopedDns bool `json:"enableVpcScopedDns,omitempty"` // Fingerprint: Fingerprint hash of contents stored in this network // interface. // This field will be ignored when inserting an Instance or @@ -50751,6 +50825,17 @@ type Reservation struct { // when you // create the resource. Description string `json:"description,omitempty"` + // EarlyAccessMaintenance: Indicates the early access maintenance for the + // reservation. + // If this field is absent or set to NO_EARLY_ACCESS, the reservation is + // not + // enrolled in early access maintenance and the standard notice applies. + // + // Possible values: + // "NO_EARLY_ACCESS" - No early access. + // "WAVE1" - Wave 1: Fastest notification period + // "WAVE2" - Wave 2: Medium notification period + EarlyAccessMaintenance string `json:"earlyAccessMaintenance,omitempty"` // EnableEmergentMaintenance: Indicates whether Compute Engine allows unplanned // maintenance for your VMs; // for example, to fix hardware errors. @@ -75324,6 +75409,27 @@ func (s WireProperties) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +type WorkloadIdentityConfig struct { + Identity string `json:"identity,omitempty"` + IdentityCertificateEnabled bool `json:"identityCertificateEnabled,omitempty"` + // ForceSendFields is a list of field names (e.g. "Identity") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Identity") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s WorkloadIdentityConfig) MarshalJSON() ([]byte, error) { + type NoMethod WorkloadIdentityConfig + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + type XpnHostList struct { // Id: [Output Only] Unique identifier for the resource; defined by the server. Id string `json:"id,omitempty"` diff --git a/compute/v1/compute2-gen.go b/compute/v1/compute2-gen.go index 86b3196e60..63fb62758e 100644 --- a/compute/v1/compute2-gen.go +++ b/compute/v1/compute2-gen.go @@ -14032,6 +14032,17 @@ func (r *FirewallPoliciesService) ListAssociations() *FirewallPoliciesListAssoci return c } +// IncludeInheritedPolicies sets the optional parameter +// "includeInheritedPolicies": If set to "true", the response will contain a +// list of all associations for +// the containing folders and the containing organization of the target. +// The +// parameter has no effect if the target is an organization. +func (c *FirewallPoliciesListAssociationsCall) IncludeInheritedPolicies(includeInheritedPolicies bool) *FirewallPoliciesListAssociationsCall { + c.urlParams_.Set("includeInheritedPolicies", fmt.Sprint(includeInheritedPolicies)) + return c +} + // TargetResource sets the optional parameter "targetResource": The target // resource to list associations. It is an organization, or a // folder. @@ -21007,6 +21018,20 @@ type GlobalNetworkEndpointGroupsInsertCall struct { // the // parameters that are included in the request. // +// Note: Use the following APIs to manage network endpoint groups: +// +// - +// To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity +// NEGs): zonal +// API +// - +// To manage NEGs with regional scope (such as regional internet NEGs, +// serverless NEGs, Private Service Connect NEGs): regional +// API +// - +// To manage NEGs with global scope (such as global internet NEGs):global +// API +// // - project: Project ID for this request. func (r *GlobalNetworkEndpointGroupsService) Insert(project string, networkendpointgroup *NetworkEndpointGroup) *GlobalNetworkEndpointGroupsInsertCall { c := &GlobalNetworkEndpointGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)} @@ -57328,10 +57353,24 @@ type NetworkEndpointGroupsInsertCall struct { // the // parameters that are included in the request. // -// - project: Project ID for this request. -// - zone: The name of the zone where -// you want to create the network endpoint group. It should comply -// with +// Note: Use the following APIs to manage network endpoint groups: +// +// - +// To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity +// NEGs): zonal +// API +// - +// To manage NEGs with regional scope (such as regional internet NEGs, +// serverless NEGs, Private Service Connect NEGs): regional +// API +// - +// To manage NEGs with global scope (such as global internet NEGs):global +// API +// +// - project: Project ID for this request. +// - zone: The name of the zone where +// you want to create the network endpoint group. It should comply +// with // // RFC1035. func (r *NetworkEndpointGroupsService) Insert(project string, zone string, networkendpointgroup *NetworkEndpointGroup) *NetworkEndpointGroupsInsertCall { diff --git a/compute/v1/compute3-gen.go b/compute/v1/compute3-gen.go index 33549f4492..ab018c0f18 100644 --- a/compute/v1/compute3-gen.go +++ b/compute/v1/compute3-gen.go @@ -16882,10 +16882,24 @@ type RegionNetworkEndpointGroupsInsertCall struct { // the // parameters that are included in the request. // -// - project: Project ID for this request. -// - region: The name of the region where -// you want to create the network endpoint group. It should comply -// with +// Note: Use the following APIs to manage network endpoint groups: +// +// - +// To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity +// NEGs): zonal +// API +// - +// To manage NEGs with regional scope (such as regional internet NEGs, +// serverless NEGs, Private Service Connect NEGs): regional +// API +// - +// To manage NEGs with global scope (such as global internet NEGs):global +// API +// +// - project: Project ID for this request. +// - region: The name of the region where +// you want to create the network endpoint group. It should comply +// with // // RFC1035. func (r *RegionNetworkEndpointGroupsService) Insert(project string, region string, networkendpointgroup *NetworkEndpointGroup) *RegionNetworkEndpointGroupsInsertCall { diff --git a/datastream/v1/datastream-api.json b/datastream/v1/datastream-api.json index a65c747bb4..68e964112d 100644 --- a/datastream/v1/datastream-api.json +++ b/datastream/v1/datastream-api.json @@ -1266,7 +1266,7 @@ } } }, - "revision": "20260128", + "revision": "20260204", "rootUrl": "https://datastream.googleapis.com/", "schemas": { "AppendOnly": { @@ -1388,6 +1388,20 @@ "properties": {}, "type": "object" }, + "BadRequest": { + "description": "Describes violations in a client request. This error type focuses on the syntactic aspects of the request.", + "id": "BadRequest", + "properties": { + "fieldViolations": { + "description": "Describes all violations in a client request.", + "items": { + "$ref": "FieldViolation" + }, + "type": "array" + } + }, + "type": "object" + }, "BasicEncryption": { "description": "Message to represent the option where Datastream will enforce encryption without authenticating server identity. Server certificates will be trusted by default.", "id": "BasicEncryption", @@ -1685,6 +1699,24 @@ }, "type": "object" }, + "DebugInfo": { + "description": "Describes additional debugging info.", + "id": "DebugInfo", + "properties": { + "detail": { + "description": "Additional debugging information provided by the server.", + "type": "string" + }, + "stackEntries": { + "description": "The stack trace entries indicating where the error occurred.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "DestinationConfig": { "description": "The configuration of the stream destination.", "id": "DestinationConfig", @@ -1855,6 +1887,28 @@ }, "type": "object" }, + "ErrorInfo": { + "description": "Describes the cause of the error with structured details. Example of an error when contacting the \"pubsub.googleapis.com\" API when it is not enabled: { \"reason\": \"API_DISABLED\" \"domain\": \"googleapis.com\" \"metadata\": { \"resource\": \"projects/123\", \"service\": \"pubsub.googleapis.com\" } } This response indicates that the pubsub.googleapis.com API is not enabled. Example of an error that is returned when attempting to create a Spanner instance in a region that is out of stock: { \"reason\": \"STOCKOUT\" \"domain\": \"spanner.googleapis.com\", \"metadata\": { \"availableRegions\": \"us-central1,us-east2\" } }", + "id": "ErrorInfo", + "properties": { + "domain": { + "description": "The logical grouping to which the \"reason\" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: \"pubsub.googleapis.com\". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is \"googleapis.com\".", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{\"instanceLimit\": \"100/request\"}`, should be returned as, `{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of instances that can be created in a single (batch) request.", + "type": "object" + }, + "reason": { + "description": "The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE.", + "type": "string" + } + }, + "type": "object" + }, "EventFilter": { "description": "Represents a filter for included data on a stream object.", "id": "EventFilter", @@ -1884,6 +1938,29 @@ }, "type": "object" }, + "FieldViolation": { + "description": "A message type used to describe a single bad request field.", + "id": "FieldViolation", + "properties": { + "description": { + "description": "A description of why the request element is bad.", + "type": "string" + }, + "field": { + "description": "A path that leads to a field in the request body. The value will be a sequence of dot-separated identifiers that identify a protocol buffer field. Consider the following: message CreateContactRequest { message EmailAddress { enum Type { TYPE_UNSPECIFIED = 0; HOME = 1; WORK = 2; } optional string email = 1; repeated EmailType type = 2; } string full_name = 1; repeated EmailAddress email_addresses = 2; } In this example, in proto `field` could take one of the following values: * `full_name` for a violation in the `full_name` value * `email_addresses[1].email` for a violation in the `email` field of the first `email_addresses` message * `email_addresses[3].type[2]` for a violation in the second `type` value in the third `email_addresses` message. In JSON, the same values are represented as: * `fullName` for a violation in the `fullName` value * `emailAddresses[1].email` for a violation in the `email` field of the first `emailAddresses` message * `emailAddresses[3].type[2]` for a violation in the second `type` value in the third `emailAddresses` message.", + "type": "string" + }, + "localizedMessage": { + "$ref": "LocalizedMessage", + "description": "Provides a localized error message for field-level errors that is safe to return to the API consumer." + }, + "reason": { + "description": "The reason of the field-level error. This is a constant value that identifies the proximate cause of the field-level error. It should uniquely identify the type of the FieldViolation within the scope of the google.rpc.ErrorInfo.domain. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE.", + "type": "string" + } + }, + "type": "object" + }, "ForwardSshTunnelConnectivity": { "description": "Forward SSH Tunnel connectivity.", "id": "ForwardSshTunnelConnectivity", @@ -1962,6 +2039,20 @@ "properties": {}, "type": "object" }, + "Help": { + "description": "Provides links to documentation or for performing an out of band action. For example, if a quota check failed with an error indicating the calling project hasn't enabled the accessed service, this can contain a URL pointing directly to the right place in the developer console to flip the bit.", + "id": "Help", + "properties": { + "links": { + "description": "URL(s) pointing to additional information on handling the current error.", + "items": { + "$ref": "Link" + }, + "type": "array" + } + }, + "type": "object" + }, "HostAddress": { "description": "A HostAddress represents a transport end point, which is the combination of an IP address or hostname and a port number.", "id": "HostAddress", @@ -2064,6 +2155,21 @@ }, "type": "object" }, + "Link": { + "description": "Describes a URL link.", + "id": "Link", + "properties": { + "description": { + "description": "Describes what the link offers.", + "type": "string" + }, + "url": { + "description": "The URL of the link.", + "type": "string" + } + }, + "type": "object" + }, "ListConnectionProfilesResponse": { "description": "Response message for listing connection profiles.", "id": "ListConnectionProfilesResponse", @@ -2225,6 +2331,21 @@ }, "type": "object" }, + "LocalizedMessage": { + "description": "Provides a localized error message that is safe to return to the user which can be attached to an RPC error.", + "id": "LocalizedMessage", + "properties": { + "locale": { + "description": "The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: \"en-US\", \"fr-CH\", \"es-MX\"", + "type": "string" + }, + "message": { + "description": "The localized error message in the above locale.", + "type": "string" + } + }, + "type": "object" + }, "Location": { "description": "A resource that represents a Google Cloud location.", "id": "Location", @@ -3338,6 +3459,39 @@ }, "type": "object" }, + "PreconditionFailure": { + "description": "Describes what preconditions have failed. For example, if an RPC failed because it required the Terms of Service to be acknowledged, it could list the terms of service violation in the PreconditionFailure message.", + "id": "PreconditionFailure", + "properties": { + "violations": { + "description": "Describes all precondition violations.", + "items": { + "$ref": "PreconditionFailureViolation" + }, + "type": "array" + } + }, + "type": "object" + }, + "PreconditionFailureViolation": { + "description": "A message type used to describe a single precondition failure.", + "id": "PreconditionFailureViolation", + "properties": { + "description": { + "description": "A description of how the precondition failed. Developers can use this description to understand how to fix the failure. For example: \"Terms of service not accepted\".", + "type": "string" + }, + "subject": { + "description": "The subject, relative to the type, that failed. For example, \"google.com/cloud\" relative to the \"TOS\" type would indicate which terms of service is being referenced.", + "type": "string" + }, + "type": { + "description": "The type of PreconditionFailure. We recommend using a service-specific enum type to define the supported precondition violation subjects. For example, \"TOS\" for \"Terms of Service violation\".", + "type": "string" + } + }, + "type": "object" + }, "PrivateConnection": { "description": "The PrivateConnection resource is used to establish private connectivity between Datastream and a customer's network.", "id": "PrivateConnection", @@ -3439,6 +3593,114 @@ }, "type": "object" }, + "QuotaFailure": { + "description": "Describes how a quota check failed. For example if a daily limit was exceeded for the calling project, a service could respond with a QuotaFailure detail containing the project id and the description of the quota limit that was exceeded. If the calling project hasn't enabled the service in the developer console, then a service could respond with the project id and set `service_disabled` to true. Also see RetryInfo and Help types for other details about handling a quota failure.", + "id": "QuotaFailure", + "properties": { + "violations": { + "description": "Describes all quota violations.", + "items": { + "$ref": "QuotaFailureViolation" + }, + "type": "array" + } + }, + "type": "object" + }, + "QuotaFailureViolation": { + "description": "A message type used to describe a single quota violation. For example, a daily quota or a custom quota that was exceeded.", + "id": "QuotaFailureViolation", + "properties": { + "apiService": { + "description": "The API Service from which the `QuotaFailure.Violation` orginates. In some cases, Quota issues originate from an API Service other than the one that was called. In other words, a dependency of the called API Service could be the cause of the `QuotaFailure`, and this field would have the dependency API service name. For example, if the called API is Kubernetes Engine API (container.googleapis.com), and a quota violation occurs in the Kubernetes Engine API itself, this field would be \"container.googleapis.com\". On the other hand, if the quota violation occurs when the Kubernetes Engine API creates VMs in the Compute Engine API (compute.googleapis.com), this field would be \"compute.googleapis.com\".", + "type": "string" + }, + "description": { + "description": "A description of how the quota check failed. Clients can use this description to find more about the quota configuration in the service's public documentation, or find the relevant quota limit to adjust through developer console. For example: \"Service disabled\" or \"Daily Limit for read operations exceeded\".", + "type": "string" + }, + "futureQuotaValue": { + "description": "The new quota value being rolled out at the time of the violation. At the completion of the rollout, this value will be enforced in place of quota_value. If no rollout is in progress at the time of the violation, this field is not set. For example, if at the time of the violation a rollout is in progress changing the number of CPUs quota from 10 to 20, 20 would be the value of this field.", + "format": "int64", + "type": "string" + }, + "quotaDimensions": { + "additionalProperties": { + "type": "string" + }, + "description": "The dimensions of the violated quota. Every non-global quota is enforced on a set of dimensions. While quota metric defines what to count, the dimensions specify for what aspects the counter should be increased. For example, the quota \"CPUs per region per VM family\" enforces a limit on the metric \"compute.googleapis.com/cpus_per_vm_family\" on dimensions \"region\" and \"vm_family\". And if the violation occurred in region \"us-central1\" and for VM family \"n1\", the quota_dimensions would be, { \"region\": \"us-central1\", \"vm_family\": \"n1\", } When a quota is enforced globally, the quota_dimensions would always be empty.", + "type": "object" + }, + "quotaId": { + "description": "The id of the violated quota. Also know as \"limit name\", this is the unique identifier of a quota in the context of an API service. For example, \"CPUS-PER-VM-FAMILY-per-project-region\".", + "type": "string" + }, + "quotaMetric": { + "description": "The metric of the violated quota. A quota metric is a named counter to measure usage, such as API requests or CPUs. When an activity occurs in a service, such as Virtual Machine allocation, one or more quota metrics may be affected. For example, \"compute.googleapis.com/cpus_per_vm_family\", \"storage.googleapis.com/internet_egress_bandwidth\".", + "type": "string" + }, + "quotaValue": { + "description": "The enforced quota value at the time of the `QuotaFailure`. For example, if the enforced quota value at the time of the `QuotaFailure` on the number of CPUs is \"10\", then the value of this field would reflect this quantity.", + "format": "int64", + "type": "string" + }, + "subject": { + "description": "The subject on which the quota check failed. For example, \"clientip:\" or \"project:\".", + "type": "string" + } + }, + "type": "object" + }, + "RequestInfo": { + "description": "Contains metadata about the request that clients can attach when filing a bug or providing other forms of feedback.", + "id": "RequestInfo", + "properties": { + "requestId": { + "description": "An opaque string that should only be interpreted by the service generating it. For example, it can be used to identify requests in the service's logs.", + "type": "string" + }, + "servingData": { + "description": "Any data that was used to serve this request. For example, an encrypted stack trace that can be sent back to the service provider for debugging.", + "type": "string" + } + }, + "type": "object" + }, + "ResourceInfo": { + "description": "Describes the resource that is being accessed.", + "id": "ResourceInfo", + "properties": { + "description": { + "description": "Describes what error is encountered when accessing this resource. For example, updating a cloud project may require the `writer` permission on the developer console project.", + "type": "string" + }, + "owner": { + "description": "The owner of the resource (optional). For example, \"user:\" or \"project:\".", + "type": "string" + }, + "resourceName": { + "description": "The name of the resource being accessed. For example, a shared calendar name: \"example.com_4fghdhgsrgh@group.calendar.google.com\", if the current error is google.rpc.Code.PERMISSION_DENIED.", + "type": "string" + }, + "resourceType": { + "description": "A name for the type of resource being accessed, e.g. \"sql table\", \"cloud storage bucket\", \"file\", \"Google calendar\"; or the type URL of the resource: e.g. \"type.googleapis.com/google.pubsub.v1.Topic\".", + "type": "string" + } + }, + "type": "object" + }, + "RetryInfo": { + "description": "Describes when the clients can retry a failed request. Clients could ignore the recommendation here or retry when this information is missing from error responses. It's always recommended that clients should use exponential backoff when retrying. Clients should wait until `retry_delay` amount of time has passed since receiving the error response before retrying. If retrying requests also fail, clients should use an exponential backoff scheme to gradually increase the delay between retries based on `retry_delay`, until either a maximum number of retries have been reached or a maximum retry delay cap has been reached.", + "id": "RetryInfo", + "properties": { + "retryDelay": { + "description": "Clients should wait at least this long between retrying the same request.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "Route": { "description": "The route resource is the child of the private connection resource, used for defining a route for a private connection.", "id": "Route", diff --git a/datastream/v1/datastream-gen.go b/datastream/v1/datastream-gen.go index a27ba88b28..d1f8cfa17b 100644 --- a/datastream/v1/datastream-gen.go +++ b/datastream/v1/datastream-gen.go @@ -348,6 +348,29 @@ func (s BackfillJob) MarshalJSON() ([]byte, error) { type BackfillNoneStrategy struct { } +// BadRequest: Describes violations in a client request. This error type +// focuses on the syntactic aspects of the request. +type BadRequest struct { + // FieldViolations: Describes all violations in a client request. + FieldViolations []*FieldViolation `json:"fieldViolations,omitempty"` + // ForceSendFields is a list of field names (e.g. "FieldViolations") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "FieldViolations") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s BadRequest) MarshalJSON() ([]byte, error) { + type NoMethod BadRequest + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // BasicEncryption: Message to represent the option where Datastream will // enforce encryption without authenticating server identity. Server // certificates will be trusted by default. @@ -667,6 +690,30 @@ func (s DatasetTemplate) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// DebugInfo: Describes additional debugging info. +type DebugInfo struct { + // Detail: Additional debugging information provided by the server. + Detail string `json:"detail,omitempty"` + // StackEntries: The stack trace entries indicating where the error occurred. + StackEntries []string `json:"stackEntries,omitempty"` + // ForceSendFields is a list of field names (e.g. "Detail") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Detail") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s DebugInfo) MarshalJSON() ([]byte, error) { + type NoMethod DebugInfo + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // DestinationConfig: The configuration of the stream destination. type DestinationConfig struct { // BigqueryDestinationConfig: BigQuery destination configuration. @@ -869,6 +916,55 @@ func (s Error) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// ErrorInfo: Describes the cause of the error with structured details. Example +// of an error when contacting the "pubsub.googleapis.com" API when it is not +// enabled: { "reason": "API_DISABLED" "domain": "googleapis.com" "metadata": { +// "resource": "projects/123", "service": "pubsub.googleapis.com" } } This +// response indicates that the pubsub.googleapis.com API is not enabled. +// Example of an error that is returned when attempting to create a Spanner +// instance in a region that is out of stock: { "reason": "STOCKOUT" "domain": +// "spanner.googleapis.com", "metadata": { "availableRegions": +// "us-central1,us-east2" } } +type ErrorInfo struct { + // Domain: The logical grouping to which the "reason" belongs. The error domain + // is typically the registered service name of the tool or product that + // generates the error. Example: "pubsub.googleapis.com". If the error is + // generated by some common infrastructure, the error domain must be a globally + // unique value that identifies the infrastructure. For Google API + // infrastructure, the error domain is "googleapis.com". + Domain string `json:"domain,omitempty"` + // Metadata: Additional structured details about this error. Keys must match a + // regular expression of `a-z+` but should ideally be lowerCamelCase. Also, + // they must be limited to 64 characters in length. When identifying the + // current value of an exceeded limit, the units should be contained in the + // key, not the value. For example, rather than `{"instanceLimit": + // "100/request"}`, should be returned as, `{"instanceLimitPerRequest": + // "100"}`, if the client exceeds the number of instances that can be created + // in a single (batch) request. + Metadata map[string]string `json:"metadata,omitempty"` + // Reason: The reason of the error. This is a constant value that identifies + // the proximate cause of the error. Error reasons are unique within a + // particular domain of errors. This should be at most 63 characters and match + // a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE. + Reason string `json:"reason,omitempty"` + // ForceSendFields is a list of field names (e.g. "Domain") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Domain") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ErrorInfo) MarshalJSON() ([]byte, error) { + type NoMethod ErrorInfo + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // EventFilter: Represents a filter for included data on a stream object. type EventFilter struct { // SqlWhereClause: An SQL-query Where clause selecting which data should be @@ -921,6 +1017,53 @@ func (s FetchStaticIpsResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// FieldViolation: A message type used to describe a single bad request field. +type FieldViolation struct { + // Description: A description of why the request element is bad. + Description string `json:"description,omitempty"` + // Field: A path that leads to a field in the request body. The value will be a + // sequence of dot-separated identifiers that identify a protocol buffer field. + // Consider the following: message CreateContactRequest { message EmailAddress + // { enum Type { TYPE_UNSPECIFIED = 0; HOME = 1; WORK = 2; } optional string + // email = 1; repeated EmailType type = 2; } string full_name = 1; repeated + // EmailAddress email_addresses = 2; } In this example, in proto `field` could + // take one of the following values: * `full_name` for a violation in the + // `full_name` value * `email_addresses[1].email` for a violation in the + // `email` field of the first `email_addresses` message * + // `email_addresses[3].type[2]` for a violation in the second `type` value in + // the third `email_addresses` message. In JSON, the same values are + // represented as: * `fullName` for a violation in the `fullName` value * + // `emailAddresses[1].email` for a violation in the `email` field of the first + // `emailAddresses` message * `emailAddresses[3].type[2]` for a violation in + // the second `type` value in the third `emailAddresses` message. + Field string `json:"field,omitempty"` + // LocalizedMessage: Provides a localized error message for field-level errors + // that is safe to return to the API consumer. + LocalizedMessage *LocalizedMessage `json:"localizedMessage,omitempty"` + // Reason: The reason of the field-level error. This is a constant value that + // identifies the proximate cause of the field-level error. It should uniquely + // identify the type of the FieldViolation within the scope of the + // google.rpc.ErrorInfo.domain. This should be at most 63 characters and match + // a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE. + Reason string `json:"reason,omitempty"` + // ForceSendFields is a list of field names (e.g. "Description") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Description") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s FieldViolation) MarshalJSON() ([]byte, error) { + type NoMethod FieldViolation + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // ForwardSshTunnelConnectivity: Forward SSH Tunnel connectivity. type ForwardSshTunnelConnectivity struct { // Hostname: Required. Hostname for the SSH tunnel. @@ -1011,6 +1154,33 @@ func (s GcsProfile) MarshalJSON() ([]byte, error) { type Gtid struct { } +// Help: Provides links to documentation or for performing an out of band +// action. For example, if a quota check failed with an error indicating the +// calling project hasn't enabled the accessed service, this can contain a URL +// pointing directly to the right place in the developer console to flip the +// bit. +type Help struct { + // Links: URL(s) pointing to additional information on handling the current + // error. + Links []*Link `json:"links,omitempty"` + // ForceSendFields is a list of field names (e.g. "Links") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Links") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s Help) MarshalJSON() ([]byte, error) { + type NoMethod Help + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // HostAddress: A HostAddress represents a transport end point, which is the // combination of an IP address or hostname and a port number. type HostAddress struct { @@ -1130,6 +1300,30 @@ func (s JsonFileFormat) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// Link: Describes a URL link. +type Link struct { + // Description: Describes what the link offers. + Description string `json:"description,omitempty"` + // Url: The URL of the link. + Url string `json:"url,omitempty"` + // ForceSendFields is a list of field names (e.g. "Description") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Description") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s Link) MarshalJSON() ([]byte, error) { + type NoMethod Link + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // ListConnectionProfilesResponse: Response message for listing connection // profiles. type ListConnectionProfilesResponse struct { @@ -1341,6 +1535,33 @@ func (s ListStreamsResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// LocalizedMessage: Provides a localized error message that is safe to return +// to the user which can be attached to an RPC error. +type LocalizedMessage struct { + // Locale: The locale used following the specification defined at + // https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", + // "fr-CH", "es-MX" + Locale string `json:"locale,omitempty"` + // Message: The localized error message in the above locale. + Message string `json:"message,omitempty"` + // ForceSendFields is a list of field names (e.g. "Locale") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Locale") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s LocalizedMessage) MarshalJSON() ([]byte, error) { + type NoMethod LocalizedMessage + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // Location: A resource that represents a Google Cloud location. type Location struct { // DisplayName: The friendly name for this location, typically a nearby city @@ -2696,6 +2917,64 @@ func (s PostgresqlTable) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// PreconditionFailure: Describes what preconditions have failed. For example, +// if an RPC failed because it required the Terms of Service to be +// acknowledged, it could list the terms of service violation in the +// PreconditionFailure message. +type PreconditionFailure struct { + // Violations: Describes all precondition violations. + Violations []*PreconditionFailureViolation `json:"violations,omitempty"` + // ForceSendFields is a list of field names (e.g. "Violations") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Violations") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s PreconditionFailure) MarshalJSON() ([]byte, error) { + type NoMethod PreconditionFailure + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// PreconditionFailureViolation: A message type used to describe a single +// precondition failure. +type PreconditionFailureViolation struct { + // Description: A description of how the precondition failed. Developers can + // use this description to understand how to fix the failure. For example: + // "Terms of service not accepted". + Description string `json:"description,omitempty"` + // Subject: The subject, relative to the type, that failed. For example, + // "google.com/cloud" relative to the "TOS" type would indicate which terms of + // service is being referenced. + Subject string `json:"subject,omitempty"` + // Type: The type of PreconditionFailure. We recommend using a service-specific + // enum type to define the supported precondition violation subjects. For + // example, "TOS" for "Terms of Service violation". + Type string `json:"type,omitempty"` + // ForceSendFields is a list of field names (e.g. "Description") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Description") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s PreconditionFailureViolation) MarshalJSON() ([]byte, error) { + type NoMethod PreconditionFailureViolation + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // PrivateConnection: The PrivateConnection resource is used to establish // private connectivity between Datastream and a customer's network. type PrivateConnection struct { @@ -2802,6 +3081,203 @@ func (s PscInterfaceConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// QuotaFailure: Describes how a quota check failed. For example if a daily +// limit was exceeded for the calling project, a service could respond with a +// QuotaFailure detail containing the project id and the description of the +// quota limit that was exceeded. If the calling project hasn't enabled the +// service in the developer console, then a service could respond with the +// project id and set `service_disabled` to true. Also see RetryInfo and Help +// types for other details about handling a quota failure. +type QuotaFailure struct { + // Violations: Describes all quota violations. + Violations []*QuotaFailureViolation `json:"violations,omitempty"` + // ForceSendFields is a list of field names (e.g. "Violations") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Violations") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s QuotaFailure) MarshalJSON() ([]byte, error) { + type NoMethod QuotaFailure + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// QuotaFailureViolation: A message type used to describe a single quota +// violation. For example, a daily quota or a custom quota that was exceeded. +type QuotaFailureViolation struct { + // ApiService: The API Service from which the `QuotaFailure.Violation` + // orginates. In some cases, Quota issues originate from an API Service other + // than the one that was called. In other words, a dependency of the called API + // Service could be the cause of the `QuotaFailure`, and this field would have + // the dependency API service name. For example, if the called API is + // Kubernetes Engine API (container.googleapis.com), and a quota violation + // occurs in the Kubernetes Engine API itself, this field would be + // "container.googleapis.com". On the other hand, if the quota violation occurs + // when the Kubernetes Engine API creates VMs in the Compute Engine API + // (compute.googleapis.com), this field would be "compute.googleapis.com". + ApiService string `json:"apiService,omitempty"` + // Description: A description of how the quota check failed. Clients can use + // this description to find more about the quota configuration in the service's + // public documentation, or find the relevant quota limit to adjust through + // developer console. For example: "Service disabled" or "Daily Limit for read + // operations exceeded". + Description string `json:"description,omitempty"` + // FutureQuotaValue: The new quota value being rolled out at the time of the + // violation. At the completion of the rollout, this value will be enforced in + // place of quota_value. If no rollout is in progress at the time of the + // violation, this field is not set. For example, if at the time of the + // violation a rollout is in progress changing the number of CPUs quota from 10 + // to 20, 20 would be the value of this field. + FutureQuotaValue int64 `json:"futureQuotaValue,omitempty,string"` + // QuotaDimensions: The dimensions of the violated quota. Every non-global + // quota is enforced on a set of dimensions. While quota metric defines what to + // count, the dimensions specify for what aspects the counter should be + // increased. For example, the quota "CPUs per region per VM family" enforces a + // limit on the metric "compute.googleapis.com/cpus_per_vm_family" on + // dimensions "region" and "vm_family". And if the violation occurred in region + // "us-central1" and for VM family "n1", the quota_dimensions would be, { + // "region": "us-central1", "vm_family": "n1", } When a quota is enforced + // globally, the quota_dimensions would always be empty. + QuotaDimensions map[string]string `json:"quotaDimensions,omitempty"` + // QuotaId: The id of the violated quota. Also know as "limit name", this is + // the unique identifier of a quota in the context of an API service. For + // example, "CPUS-PER-VM-FAMILY-per-project-region". + QuotaId string `json:"quotaId,omitempty"` + // QuotaMetric: The metric of the violated quota. A quota metric is a named + // counter to measure usage, such as API requests or CPUs. When an activity + // occurs in a service, such as Virtual Machine allocation, one or more quota + // metrics may be affected. For example, + // "compute.googleapis.com/cpus_per_vm_family", + // "storage.googleapis.com/internet_egress_bandwidth". + QuotaMetric string `json:"quotaMetric,omitempty"` + // QuotaValue: The enforced quota value at the time of the `QuotaFailure`. For + // example, if the enforced quota value at the time of the `QuotaFailure` on + // the number of CPUs is "10", then the value of this field would reflect this + // quantity. + QuotaValue int64 `json:"quotaValue,omitempty,string"` + // Subject: The subject on which the quota check failed. For example, + // "clientip:" or "project:". + Subject string `json:"subject,omitempty"` + // ForceSendFields is a list of field names (e.g. "ApiService") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ApiService") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s QuotaFailureViolation) MarshalJSON() ([]byte, error) { + type NoMethod QuotaFailureViolation + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// RequestInfo: Contains metadata about the request that clients can attach +// when filing a bug or providing other forms of feedback. +type RequestInfo struct { + // RequestId: An opaque string that should only be interpreted by the service + // generating it. For example, it can be used to identify requests in the + // service's logs. + RequestId string `json:"requestId,omitempty"` + // ServingData: Any data that was used to serve this request. For example, an + // encrypted stack trace that can be sent back to the service provider for + // debugging. + ServingData string `json:"servingData,omitempty"` + // ForceSendFields is a list of field names (e.g. "RequestId") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "RequestId") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s RequestInfo) MarshalJSON() ([]byte, error) { + type NoMethod RequestInfo + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// ResourceInfo: Describes the resource that is being accessed. +type ResourceInfo struct { + // Description: Describes what error is encountered when accessing this + // resource. For example, updating a cloud project may require the `writer` + // permission on the developer console project. + Description string `json:"description,omitempty"` + // Owner: The owner of the resource (optional). For example, "user:" or + // "project:". + Owner string `json:"owner,omitempty"` + // ResourceName: The name of the resource being accessed. For example, a shared + // calendar name: "example.com_4fghdhgsrgh@group.calendar.google.com", if the + // current error is google.rpc.Code.PERMISSION_DENIED. + ResourceName string `json:"resourceName,omitempty"` + // ResourceType: A name for the type of resource being accessed, e.g. "sql + // table", "cloud storage bucket", "file", "Google calendar"; or the type URL + // of the resource: e.g. "type.googleapis.com/google.pubsub.v1.Topic". + ResourceType string `json:"resourceType,omitempty"` + // ForceSendFields is a list of field names (e.g. "Description") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Description") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ResourceInfo) MarshalJSON() ([]byte, error) { + type NoMethod ResourceInfo + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// RetryInfo: Describes when the clients can retry a failed request. Clients +// could ignore the recommendation here or retry when this information is +// missing from error responses. It's always recommended that clients should +// use exponential backoff when retrying. Clients should wait until +// `retry_delay` amount of time has passed since receiving the error response +// before retrying. If retrying requests also fail, clients should use an +// exponential backoff scheme to gradually increase the delay between retries +// based on `retry_delay`, until either a maximum number of retries have been +// reached or a maximum retry delay cap has been reached. +type RetryInfo struct { + // RetryDelay: Clients should wait at least this long between retrying the same + // request. + RetryDelay string `json:"retryDelay,omitempty"` + // ForceSendFields is a list of field names (e.g. "RetryDelay") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "RetryDelay") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s RetryInfo) MarshalJSON() ([]byte, error) { + type NoMethod RetryInfo + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // Route: The route resource is the child of the private connection resource, // used for defining a route for a private connection. type Route struct { diff --git a/datastream/v1alpha1/datastream-api.json b/datastream/v1alpha1/datastream-api.json index 9d6993714f..a3e846c3f0 100644 --- a/datastream/v1alpha1/datastream-api.json +++ b/datastream/v1alpha1/datastream-api.json @@ -1235,7 +1235,7 @@ } } }, - "revision": "20260128", + "revision": "20260204", "rootUrl": "https://datastream.googleapis.com/", "schemas": { "AvroFileFormat": { @@ -1330,6 +1330,20 @@ "properties": {}, "type": "object" }, + "BadRequest": { + "description": "Describes violations in a client request. This error type focuses on the syntactic aspects of the request.", + "id": "BadRequest", + "properties": { + "fieldViolations": { + "description": "Describes all violations in a client request.", + "items": { + "$ref": "FieldViolation" + }, + "type": "array" + } + }, + "type": "object" + }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", @@ -1398,6 +1412,24 @@ }, "type": "object" }, + "DebugInfo": { + "description": "Describes additional debugging info.", + "id": "DebugInfo", + "properties": { + "detail": { + "description": "Additional debugging information provided by the server.", + "type": "string" + }, + "stackEntries": { + "description": "The stack trace entries indicating where the error occurred.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "DestinationConfig": { "description": "The configuration of the stream destination.", "id": "DestinationConfig", @@ -1502,6 +1534,28 @@ }, "type": "object" }, + "ErrorInfo": { + "description": "Describes the cause of the error with structured details. Example of an error when contacting the \"pubsub.googleapis.com\" API when it is not enabled: { \"reason\": \"API_DISABLED\" \"domain\": \"googleapis.com\" \"metadata\": { \"resource\": \"projects/123\", \"service\": \"pubsub.googleapis.com\" } } This response indicates that the pubsub.googleapis.com API is not enabled. Example of an error that is returned when attempting to create a Spanner instance in a region that is out of stock: { \"reason\": \"STOCKOUT\" \"domain\": \"spanner.googleapis.com\", \"metadata\": { \"availableRegions\": \"us-central1,us-east2\" } }", + "id": "ErrorInfo", + "properties": { + "domain": { + "description": "The logical grouping to which the \"reason\" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: \"pubsub.googleapis.com\". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is \"googleapis.com\".", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{\"instanceLimit\": \"100/request\"}`, should be returned as, `{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of instances that can be created in a single (batch) request.", + "type": "object" + }, + "reason": { + "description": "The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE.", + "type": "string" + } + }, + "type": "object" + }, "FetchErrorsRequest": { "description": "Request message for 'FetchErrors' request.", "id": "FetchErrorsRequest", @@ -1540,6 +1594,29 @@ }, "type": "object" }, + "FieldViolation": { + "description": "A message type used to describe a single bad request field.", + "id": "FieldViolation", + "properties": { + "description": { + "description": "A description of why the request element is bad.", + "type": "string" + }, + "field": { + "description": "A path that leads to a field in the request body. The value will be a sequence of dot-separated identifiers that identify a protocol buffer field. Consider the following: message CreateContactRequest { message EmailAddress { enum Type { TYPE_UNSPECIFIED = 0; HOME = 1; WORK = 2; } optional string email = 1; repeated EmailType type = 2; } string full_name = 1; repeated EmailAddress email_addresses = 2; } In this example, in proto `field` could take one of the following values: * `full_name` for a violation in the `full_name` value * `email_addresses[1].email` for a violation in the `email` field of the first `email_addresses` message * `email_addresses[3].type[2]` for a violation in the second `type` value in the third `email_addresses` message. In JSON, the same values are represented as: * `fullName` for a violation in the `fullName` value * `emailAddresses[1].email` for a violation in the `email` field of the first `emailAddresses` message * `emailAddresses[3].type[2]` for a violation in the second `type` value in the third `emailAddresses` message.", + "type": "string" + }, + "localizedMessage": { + "$ref": "LocalizedMessage", + "description": "Provides a localized error message for field-level errors that is safe to return to the API consumer." + }, + "reason": { + "description": "The reason of the field-level error. This is a constant value that identifies the proximate cause of the field-level error. It should uniquely identify the type of the FieldViolation within the scope of the google.rpc.ErrorInfo.domain. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE.", + "type": "string" + } + }, + "type": "object" + }, "ForwardSshTunnelConnectivity": { "description": "Forward SSH Tunnel connectivity.", "id": "ForwardSshTunnelConnectivity", @@ -1625,6 +1702,20 @@ }, "type": "object" }, + "Help": { + "description": "Provides links to documentation or for performing an out of band action. For example, if a quota check failed with an error indicating the calling project hasn't enabled the accessed service, this can contain a URL pointing directly to the right place in the developer console to flip the bit.", + "id": "Help", + "properties": { + "links": { + "description": "URL(s) pointing to additional information on handling the current error.", + "items": { + "$ref": "Link" + }, + "type": "array" + } + }, + "type": "object" + }, "JsonFileFormat": { "description": "JSON file format configuration.", "id": "JsonFileFormat", @@ -1660,6 +1751,21 @@ }, "type": "object" }, + "Link": { + "description": "Describes a URL link.", + "id": "Link", + "properties": { + "description": { + "description": "Describes what the link offers.", + "type": "string" + }, + "url": { + "description": "The URL of the link.", + "type": "string" + } + }, + "type": "object" + }, "ListConnectionProfilesResponse": { "id": "ListConnectionProfilesResponse", "properties": { @@ -1818,6 +1924,21 @@ }, "type": "object" }, + "LocalizedMessage": { + "description": "Provides a localized error message that is safe to return to the user which can be attached to an RPC error.", + "id": "LocalizedMessage", + "properties": { + "locale": { + "description": "The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: \"en-US\", \"fr-CH\", \"es-MX\"", + "type": "string" + }, + "message": { + "description": "The localized error message in the above locale.", + "type": "string" + } + }, + "type": "object" + }, "Location": { "description": "A resource that represents a Google Cloud location.", "id": "Location", @@ -2287,6 +2408,39 @@ }, "type": "object" }, + "PreconditionFailure": { + "description": "Describes what preconditions have failed. For example, if an RPC failed because it required the Terms of Service to be acknowledged, it could list the terms of service violation in the PreconditionFailure message.", + "id": "PreconditionFailure", + "properties": { + "violations": { + "description": "Describes all precondition violations.", + "items": { + "$ref": "PreconditionFailureViolation" + }, + "type": "array" + } + }, + "type": "object" + }, + "PreconditionFailureViolation": { + "description": "A message type used to describe a single precondition failure.", + "id": "PreconditionFailureViolation", + "properties": { + "description": { + "description": "A description of how the precondition failed. Developers can use this description to understand how to fix the failure. For example: \"Terms of service not accepted\".", + "type": "string" + }, + "subject": { + "description": "The subject, relative to the type, that failed. For example, \"google.com/cloud\" relative to the \"TOS\" type would indicate which terms of service is being referenced.", + "type": "string" + }, + "type": { + "description": "The type of PreconditionFailure. We recommend using a service-specific enum type to define the supported precondition violation subjects. For example, \"TOS\" for \"Terms of Service violation\".", + "type": "string" + } + }, + "type": "object" + }, "PrivateConnection": { "description": "The PrivateConnection resource is used to establish private connectivity between Datastream and a customer's network.", "id": "PrivateConnection", @@ -2362,6 +2516,114 @@ }, "type": "object" }, + "QuotaFailure": { + "description": "Describes how a quota check failed. For example if a daily limit was exceeded for the calling project, a service could respond with a QuotaFailure detail containing the project id and the description of the quota limit that was exceeded. If the calling project hasn't enabled the service in the developer console, then a service could respond with the project id and set `service_disabled` to true. Also see RetryInfo and Help types for other details about handling a quota failure.", + "id": "QuotaFailure", + "properties": { + "violations": { + "description": "Describes all quota violations.", + "items": { + "$ref": "QuotaFailureViolation" + }, + "type": "array" + } + }, + "type": "object" + }, + "QuotaFailureViolation": { + "description": "A message type used to describe a single quota violation. For example, a daily quota or a custom quota that was exceeded.", + "id": "QuotaFailureViolation", + "properties": { + "apiService": { + "description": "The API Service from which the `QuotaFailure.Violation` orginates. In some cases, Quota issues originate from an API Service other than the one that was called. In other words, a dependency of the called API Service could be the cause of the `QuotaFailure`, and this field would have the dependency API service name. For example, if the called API is Kubernetes Engine API (container.googleapis.com), and a quota violation occurs in the Kubernetes Engine API itself, this field would be \"container.googleapis.com\". On the other hand, if the quota violation occurs when the Kubernetes Engine API creates VMs in the Compute Engine API (compute.googleapis.com), this field would be \"compute.googleapis.com\".", + "type": "string" + }, + "description": { + "description": "A description of how the quota check failed. Clients can use this description to find more about the quota configuration in the service's public documentation, or find the relevant quota limit to adjust through developer console. For example: \"Service disabled\" or \"Daily Limit for read operations exceeded\".", + "type": "string" + }, + "futureQuotaValue": { + "description": "The new quota value being rolled out at the time of the violation. At the completion of the rollout, this value will be enforced in place of quota_value. If no rollout is in progress at the time of the violation, this field is not set. For example, if at the time of the violation a rollout is in progress changing the number of CPUs quota from 10 to 20, 20 would be the value of this field.", + "format": "int64", + "type": "string" + }, + "quotaDimensions": { + "additionalProperties": { + "type": "string" + }, + "description": "The dimensions of the violated quota. Every non-global quota is enforced on a set of dimensions. While quota metric defines what to count, the dimensions specify for what aspects the counter should be increased. For example, the quota \"CPUs per region per VM family\" enforces a limit on the metric \"compute.googleapis.com/cpus_per_vm_family\" on dimensions \"region\" and \"vm_family\". And if the violation occurred in region \"us-central1\" and for VM family \"n1\", the quota_dimensions would be, { \"region\": \"us-central1\", \"vm_family\": \"n1\", } When a quota is enforced globally, the quota_dimensions would always be empty.", + "type": "object" + }, + "quotaId": { + "description": "The id of the violated quota. Also know as \"limit name\", this is the unique identifier of a quota in the context of an API service. For example, \"CPUS-PER-VM-FAMILY-per-project-region\".", + "type": "string" + }, + "quotaMetric": { + "description": "The metric of the violated quota. A quota metric is a named counter to measure usage, such as API requests or CPUs. When an activity occurs in a service, such as Virtual Machine allocation, one or more quota metrics may be affected. For example, \"compute.googleapis.com/cpus_per_vm_family\", \"storage.googleapis.com/internet_egress_bandwidth\".", + "type": "string" + }, + "quotaValue": { + "description": "The enforced quota value at the time of the `QuotaFailure`. For example, if the enforced quota value at the time of the `QuotaFailure` on the number of CPUs is \"10\", then the value of this field would reflect this quantity.", + "format": "int64", + "type": "string" + }, + "subject": { + "description": "The subject on which the quota check failed. For example, \"clientip:\" or \"project:\".", + "type": "string" + } + }, + "type": "object" + }, + "RequestInfo": { + "description": "Contains metadata about the request that clients can attach when filing a bug or providing other forms of feedback.", + "id": "RequestInfo", + "properties": { + "requestId": { + "description": "An opaque string that should only be interpreted by the service generating it. For example, it can be used to identify requests in the service's logs.", + "type": "string" + }, + "servingData": { + "description": "Any data that was used to serve this request. For example, an encrypted stack trace that can be sent back to the service provider for debugging.", + "type": "string" + } + }, + "type": "object" + }, + "ResourceInfo": { + "description": "Describes the resource that is being accessed.", + "id": "ResourceInfo", + "properties": { + "description": { + "description": "Describes what error is encountered when accessing this resource. For example, updating a cloud project may require the `writer` permission on the developer console project.", + "type": "string" + }, + "owner": { + "description": "The owner of the resource (optional). For example, \"user:\" or \"project:\".", + "type": "string" + }, + "resourceName": { + "description": "The name of the resource being accessed. For example, a shared calendar name: \"example.com_4fghdhgsrgh@group.calendar.google.com\", if the current error is google.rpc.Code.PERMISSION_DENIED.", + "type": "string" + }, + "resourceType": { + "description": "A name for the type of resource being accessed, e.g. \"sql table\", \"cloud storage bucket\", \"file\", \"Google calendar\"; or the type URL of the resource: e.g. \"type.googleapis.com/google.pubsub.v1.Topic\".", + "type": "string" + } + }, + "type": "object" + }, + "RetryInfo": { + "description": "Describes when the clients can retry a failed request. Clients could ignore the recommendation here or retry when this information is missing from error responses. It's always recommended that clients should use exponential backoff when retrying. Clients should wait until `retry_delay` amount of time has passed since receiving the error response before retrying. If retrying requests also fail, clients should use an exponential backoff scheme to gradually increase the delay between retries based on `retry_delay`, until either a maximum number of retries have been reached or a maximum retry delay cap has been reached.", + "id": "RetryInfo", + "properties": { + "retryDelay": { + "description": "Clients should wait at least this long between retrying the same request.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "Route": { "description": "The Route resource is the child of the PrivateConnection resource. It used to define a route for a PrivateConnection setup.", "id": "Route", diff --git a/datastream/v1alpha1/datastream-gen.go b/datastream/v1alpha1/datastream-gen.go index 4b4b95ab7b..1173ad22ac 100644 --- a/datastream/v1alpha1/datastream-gen.go +++ b/datastream/v1alpha1/datastream-gen.go @@ -331,6 +331,29 @@ func (s BackfillJob) MarshalJSON() ([]byte, error) { type BackfillNoneStrategy struct { } +// BadRequest: Describes violations in a client request. This error type +// focuses on the syntactic aspects of the request. +type BadRequest struct { + // FieldViolations: Describes all violations in a client request. + FieldViolations []*FieldViolation `json:"fieldViolations,omitempty"` + // ForceSendFields is a list of field names (e.g. "FieldViolations") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "FieldViolations") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s BadRequest) MarshalJSON() ([]byte, error) { + type NoMethod BadRequest + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // CancelOperationRequest: The request message for Operations.CancelOperation. type CancelOperationRequest struct { } @@ -381,6 +404,30 @@ func (s ConnectionProfile) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// DebugInfo: Describes additional debugging info. +type DebugInfo struct { + // Detail: Additional debugging information provided by the server. + Detail string `json:"detail,omitempty"` + // StackEntries: The stack trace entries indicating where the error occurred. + StackEntries []string `json:"stackEntries,omitempty"` + // ForceSendFields is a list of field names (e.g. "Detail") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Detail") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s DebugInfo) MarshalJSON() ([]byte, error) { + type NoMethod DebugInfo + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // DestinationConfig: The configuration of the stream destination. type DestinationConfig struct { // DestinationConnectionProfileName: Required. Destination connection profile @@ -514,6 +561,55 @@ func (s Error) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// ErrorInfo: Describes the cause of the error with structured details. Example +// of an error when contacting the "pubsub.googleapis.com" API when it is not +// enabled: { "reason": "API_DISABLED" "domain": "googleapis.com" "metadata": { +// "resource": "projects/123", "service": "pubsub.googleapis.com" } } This +// response indicates that the pubsub.googleapis.com API is not enabled. +// Example of an error that is returned when attempting to create a Spanner +// instance in a region that is out of stock: { "reason": "STOCKOUT" "domain": +// "spanner.googleapis.com", "metadata": { "availableRegions": +// "us-central1,us-east2" } } +type ErrorInfo struct { + // Domain: The logical grouping to which the "reason" belongs. The error domain + // is typically the registered service name of the tool or product that + // generates the error. Example: "pubsub.googleapis.com". If the error is + // generated by some common infrastructure, the error domain must be a globally + // unique value that identifies the infrastructure. For Google API + // infrastructure, the error domain is "googleapis.com". + Domain string `json:"domain,omitempty"` + // Metadata: Additional structured details about this error. Keys must match a + // regular expression of `a-z+` but should ideally be lowerCamelCase. Also, + // they must be limited to 64 characters in length. When identifying the + // current value of an exceeded limit, the units should be contained in the + // key, not the value. For example, rather than `{"instanceLimit": + // "100/request"}`, should be returned as, `{"instanceLimitPerRequest": + // "100"}`, if the client exceeds the number of instances that can be created + // in a single (batch) request. + Metadata map[string]string `json:"metadata,omitempty"` + // Reason: The reason of the error. This is a constant value that identifies + // the proximate cause of the error. Error reasons are unique within a + // particular domain of errors. This should be at most 63 characters and match + // a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE. + Reason string `json:"reason,omitempty"` + // ForceSendFields is a list of field names (e.g. "Domain") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Domain") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ErrorInfo) MarshalJSON() ([]byte, error) { + type NoMethod ErrorInfo + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // FetchErrorsRequest: Request message for 'FetchErrors' request. type FetchErrorsRequest struct { } @@ -568,6 +664,53 @@ func (s FetchStaticIpsResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// FieldViolation: A message type used to describe a single bad request field. +type FieldViolation struct { + // Description: A description of why the request element is bad. + Description string `json:"description,omitempty"` + // Field: A path that leads to a field in the request body. The value will be a + // sequence of dot-separated identifiers that identify a protocol buffer field. + // Consider the following: message CreateContactRequest { message EmailAddress + // { enum Type { TYPE_UNSPECIFIED = 0; HOME = 1; WORK = 2; } optional string + // email = 1; repeated EmailType type = 2; } string full_name = 1; repeated + // EmailAddress email_addresses = 2; } In this example, in proto `field` could + // take one of the following values: * `full_name` for a violation in the + // `full_name` value * `email_addresses[1].email` for a violation in the + // `email` field of the first `email_addresses` message * + // `email_addresses[3].type[2]` for a violation in the second `type` value in + // the third `email_addresses` message. In JSON, the same values are + // represented as: * `fullName` for a violation in the `fullName` value * + // `emailAddresses[1].email` for a violation in the `email` field of the first + // `emailAddresses` message * `emailAddresses[3].type[2]` for a violation in + // the second `type` value in the third `emailAddresses` message. + Field string `json:"field,omitempty"` + // LocalizedMessage: Provides a localized error message for field-level errors + // that is safe to return to the API consumer. + LocalizedMessage *LocalizedMessage `json:"localizedMessage,omitempty"` + // Reason: The reason of the field-level error. This is a constant value that + // identifies the proximate cause of the field-level error. It should uniquely + // identify the type of the FieldViolation within the scope of the + // google.rpc.ErrorInfo.domain. This should be at most 63 characters and match + // a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE. + Reason string `json:"reason,omitempty"` + // ForceSendFields is a list of field names (e.g. "Description") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Description") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s FieldViolation) MarshalJSON() ([]byte, error) { + type NoMethod FieldViolation + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // ForwardSshTunnelConnectivity: Forward SSH Tunnel connectivity. type ForwardSshTunnelConnectivity struct { // Hostname: Required. Hostname for the SSH tunnel. @@ -661,6 +804,33 @@ func (s GcsProfile) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// Help: Provides links to documentation or for performing an out of band +// action. For example, if a quota check failed with an error indicating the +// calling project hasn't enabled the accessed service, this can contain a URL +// pointing directly to the right place in the developer console to flip the +// bit. +type Help struct { + // Links: URL(s) pointing to additional information on handling the current + // error. + Links []*Link `json:"links,omitempty"` + // ForceSendFields is a list of field names (e.g. "Links") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Links") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s Help) MarshalJSON() ([]byte, error) { + type NoMethod Help + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // JsonFileFormat: JSON file format configuration. type JsonFileFormat struct { // Compression: Compression of the loaded JSON file. @@ -695,6 +865,30 @@ func (s JsonFileFormat) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// Link: Describes a URL link. +type Link struct { + // Description: Describes what the link offers. + Description string `json:"description,omitempty"` + // Url: The URL of the link. + Url string `json:"url,omitempty"` + // ForceSendFields is a list of field names (e.g. "Description") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Description") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s Link) MarshalJSON() ([]byte, error) { + type NoMethod Link + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + type ListConnectionProfilesResponse struct { // ConnectionProfiles: List of connection profiles. ConnectionProfiles []*ConnectionProfile `json:"connectionProfiles,omitempty"` @@ -901,6 +1095,33 @@ func (s ListStreamsResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// LocalizedMessage: Provides a localized error message that is safe to return +// to the user which can be attached to an RPC error. +type LocalizedMessage struct { + // Locale: The locale used following the specification defined at + // https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", + // "fr-CH", "es-MX" + Locale string `json:"locale,omitempty"` + // Message: The localized error message in the above locale. + Message string `json:"message,omitempty"` + // ForceSendFields is a list of field names (e.g. "Locale") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Locale") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s LocalizedMessage) MarshalJSON() ([]byte, error) { + type NoMethod LocalizedMessage + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // Location: A resource that represents a Google Cloud location. type Location struct { // DisplayName: The friendly name for this location, typically a nearby city @@ -1446,6 +1667,64 @@ func (s OracleTable) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// PreconditionFailure: Describes what preconditions have failed. For example, +// if an RPC failed because it required the Terms of Service to be +// acknowledged, it could list the terms of service violation in the +// PreconditionFailure message. +type PreconditionFailure struct { + // Violations: Describes all precondition violations. + Violations []*PreconditionFailureViolation `json:"violations,omitempty"` + // ForceSendFields is a list of field names (e.g. "Violations") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Violations") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s PreconditionFailure) MarshalJSON() ([]byte, error) { + type NoMethod PreconditionFailure + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// PreconditionFailureViolation: A message type used to describe a single +// precondition failure. +type PreconditionFailureViolation struct { + // Description: A description of how the precondition failed. Developers can + // use this description to understand how to fix the failure. For example: + // "Terms of service not accepted". + Description string `json:"description,omitempty"` + // Subject: The subject, relative to the type, that failed. For example, + // "google.com/cloud" relative to the "TOS" type would indicate which terms of + // service is being referenced. + Subject string `json:"subject,omitempty"` + // Type: The type of PreconditionFailure. We recommend using a service-specific + // enum type to define the supported precondition violation subjects. For + // example, "TOS" for "Terms of Service violation". + Type string `json:"type,omitempty"` + // ForceSendFields is a list of field names (e.g. "Description") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Description") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s PreconditionFailureViolation) MarshalJSON() ([]byte, error) { + type NoMethod PreconditionFailureViolation + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // PrivateConnection: The PrivateConnection resource is used to establish // private connectivity between Datastream and a customer's network. type PrivateConnection struct { @@ -1519,6 +1798,203 @@ func (s PrivateConnectivity) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// QuotaFailure: Describes how a quota check failed. For example if a daily +// limit was exceeded for the calling project, a service could respond with a +// QuotaFailure detail containing the project id and the description of the +// quota limit that was exceeded. If the calling project hasn't enabled the +// service in the developer console, then a service could respond with the +// project id and set `service_disabled` to true. Also see RetryInfo and Help +// types for other details about handling a quota failure. +type QuotaFailure struct { + // Violations: Describes all quota violations. + Violations []*QuotaFailureViolation `json:"violations,omitempty"` + // ForceSendFields is a list of field names (e.g. "Violations") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Violations") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s QuotaFailure) MarshalJSON() ([]byte, error) { + type NoMethod QuotaFailure + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// QuotaFailureViolation: A message type used to describe a single quota +// violation. For example, a daily quota or a custom quota that was exceeded. +type QuotaFailureViolation struct { + // ApiService: The API Service from which the `QuotaFailure.Violation` + // orginates. In some cases, Quota issues originate from an API Service other + // than the one that was called. In other words, a dependency of the called API + // Service could be the cause of the `QuotaFailure`, and this field would have + // the dependency API service name. For example, if the called API is + // Kubernetes Engine API (container.googleapis.com), and a quota violation + // occurs in the Kubernetes Engine API itself, this field would be + // "container.googleapis.com". On the other hand, if the quota violation occurs + // when the Kubernetes Engine API creates VMs in the Compute Engine API + // (compute.googleapis.com), this field would be "compute.googleapis.com". + ApiService string `json:"apiService,omitempty"` + // Description: A description of how the quota check failed. Clients can use + // this description to find more about the quota configuration in the service's + // public documentation, or find the relevant quota limit to adjust through + // developer console. For example: "Service disabled" or "Daily Limit for read + // operations exceeded". + Description string `json:"description,omitempty"` + // FutureQuotaValue: The new quota value being rolled out at the time of the + // violation. At the completion of the rollout, this value will be enforced in + // place of quota_value. If no rollout is in progress at the time of the + // violation, this field is not set. For example, if at the time of the + // violation a rollout is in progress changing the number of CPUs quota from 10 + // to 20, 20 would be the value of this field. + FutureQuotaValue int64 `json:"futureQuotaValue,omitempty,string"` + // QuotaDimensions: The dimensions of the violated quota. Every non-global + // quota is enforced on a set of dimensions. While quota metric defines what to + // count, the dimensions specify for what aspects the counter should be + // increased. For example, the quota "CPUs per region per VM family" enforces a + // limit on the metric "compute.googleapis.com/cpus_per_vm_family" on + // dimensions "region" and "vm_family". And if the violation occurred in region + // "us-central1" and for VM family "n1", the quota_dimensions would be, { + // "region": "us-central1", "vm_family": "n1", } When a quota is enforced + // globally, the quota_dimensions would always be empty. + QuotaDimensions map[string]string `json:"quotaDimensions,omitempty"` + // QuotaId: The id of the violated quota. Also know as "limit name", this is + // the unique identifier of a quota in the context of an API service. For + // example, "CPUS-PER-VM-FAMILY-per-project-region". + QuotaId string `json:"quotaId,omitempty"` + // QuotaMetric: The metric of the violated quota. A quota metric is a named + // counter to measure usage, such as API requests or CPUs. When an activity + // occurs in a service, such as Virtual Machine allocation, one or more quota + // metrics may be affected. For example, + // "compute.googleapis.com/cpus_per_vm_family", + // "storage.googleapis.com/internet_egress_bandwidth". + QuotaMetric string `json:"quotaMetric,omitempty"` + // QuotaValue: The enforced quota value at the time of the `QuotaFailure`. For + // example, if the enforced quota value at the time of the `QuotaFailure` on + // the number of CPUs is "10", then the value of this field would reflect this + // quantity. + QuotaValue int64 `json:"quotaValue,omitempty,string"` + // Subject: The subject on which the quota check failed. For example, + // "clientip:" or "project:". + Subject string `json:"subject,omitempty"` + // ForceSendFields is a list of field names (e.g. "ApiService") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ApiService") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s QuotaFailureViolation) MarshalJSON() ([]byte, error) { + type NoMethod QuotaFailureViolation + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// RequestInfo: Contains metadata about the request that clients can attach +// when filing a bug or providing other forms of feedback. +type RequestInfo struct { + // RequestId: An opaque string that should only be interpreted by the service + // generating it. For example, it can be used to identify requests in the + // service's logs. + RequestId string `json:"requestId,omitempty"` + // ServingData: Any data that was used to serve this request. For example, an + // encrypted stack trace that can be sent back to the service provider for + // debugging. + ServingData string `json:"servingData,omitempty"` + // ForceSendFields is a list of field names (e.g. "RequestId") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "RequestId") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s RequestInfo) MarshalJSON() ([]byte, error) { + type NoMethod RequestInfo + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// ResourceInfo: Describes the resource that is being accessed. +type ResourceInfo struct { + // Description: Describes what error is encountered when accessing this + // resource. For example, updating a cloud project may require the `writer` + // permission on the developer console project. + Description string `json:"description,omitempty"` + // Owner: The owner of the resource (optional). For example, "user:" or + // "project:". + Owner string `json:"owner,omitempty"` + // ResourceName: The name of the resource being accessed. For example, a shared + // calendar name: "example.com_4fghdhgsrgh@group.calendar.google.com", if the + // current error is google.rpc.Code.PERMISSION_DENIED. + ResourceName string `json:"resourceName,omitempty"` + // ResourceType: A name for the type of resource being accessed, e.g. "sql + // table", "cloud storage bucket", "file", "Google calendar"; or the type URL + // of the resource: e.g. "type.googleapis.com/google.pubsub.v1.Topic". + ResourceType string `json:"resourceType,omitempty"` + // ForceSendFields is a list of field names (e.g. "Description") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Description") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ResourceInfo) MarshalJSON() ([]byte, error) { + type NoMethod ResourceInfo + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// RetryInfo: Describes when the clients can retry a failed request. Clients +// could ignore the recommendation here or retry when this information is +// missing from error responses. It's always recommended that clients should +// use exponential backoff when retrying. Clients should wait until +// `retry_delay` amount of time has passed since receiving the error response +// before retrying. If retrying requests also fail, clients should use an +// exponential backoff scheme to gradually increase the delay between retries +// based on `retry_delay`, until either a maximum number of retries have been +// reached or a maximum retry delay cap has been reached. +type RetryInfo struct { + // RetryDelay: Clients should wait at least this long between retrying the same + // request. + RetryDelay string `json:"retryDelay,omitempty"` + // ForceSendFields is a list of field names (e.g. "RetryDelay") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "RetryDelay") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s RetryInfo) MarshalJSON() ([]byte, error) { + type NoMethod RetryInfo + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // Route: The Route resource is the child of the PrivateConnection resource. It // used to define a route for a PrivateConnection setup. type Route struct { diff --git a/eventarc/v1/eventarc-api.json b/eventarc/v1/eventarc-api.json index a85dd14b44..6714916cc6 100644 --- a/eventarc/v1/eventarc-api.json +++ b/eventarc/v1/eventarc-api.json @@ -16,6 +16,241 @@ "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/eventarc", "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.africa-south1.rep.googleapis.com/", + "location": "africa-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.asia-east1.rep.googleapis.com/", + "location": "asia-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.asia-east2.rep.googleapis.com/", + "location": "asia-east2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.asia-northeast2.rep.googleapis.com/", + "location": "asia-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.asia-northeast3.rep.googleapis.com/", + "location": "asia-northeast3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.asia-south2.rep.googleapis.com/", + "location": "asia-south2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.asia-southeast1.rep.googleapis.com/", + "location": "asia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.asia-southeast2.rep.googleapis.com/", + "location": "asia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.asia-southeast3.rep.googleapis.com/", + "location": "asia-southeast3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.australia-southeast1.rep.googleapis.com/", + "location": "australia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.australia-southeast2.rep.googleapis.com/", + "location": "australia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-central2.rep.googleapis.com/", + "location": "europe-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-north1.rep.googleapis.com/", + "location": "europe-north1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-north2.rep.googleapis.com/", + "location": "europe-north2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-southwest1.rep.googleapis.com/", + "location": "europe-southwest1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-west1.rep.googleapis.com/", + "location": "europe-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-west10.rep.googleapis.com/", + "location": "europe-west10" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-west12.rep.googleapis.com/", + "location": "europe-west12" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-west15.rep.googleapis.com/", + "location": "europe-west15" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-west3.rep.googleapis.com/", + "location": "europe-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-west4.rep.googleapis.com/", + "location": "europe-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-west6.rep.googleapis.com/", + "location": "europe-west6" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-west8.rep.googleapis.com/", + "location": "europe-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.europe-west9.rep.googleapis.com/", + "location": "europe-west9" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.me-central1.rep.googleapis.com/", + "location": "me-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.me-central2.rep.googleapis.com/", + "location": "me-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.me-west1.rep.googleapis.com/", + "location": "me-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.northamerica-northeast1.rep.googleapis.com/", + "location": "northamerica-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.northamerica-northeast2.rep.googleapis.com/", + "location": "northamerica-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.northamerica-south1.rep.googleapis.com/", + "location": "northamerica-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.southamerica-east1.rep.googleapis.com/", + "location": "southamerica-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.southamerica-west1.rep.googleapis.com/", + "location": "southamerica-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.us-central2.rep.googleapis.com/", + "location": "us-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.us-east4.rep.googleapis.com/", + "location": "us-east4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.us-east5.rep.googleapis.com/", + "location": "us-east5" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.us-east7.rep.googleapis.com/", + "location": "us-east7" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.us-south1.rep.googleapis.com/", + "location": "us-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.us-west1.rep.googleapis.com/", + "location": "us-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.us-west2.rep.googleapis.com/", + "location": "us-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.us-west3.rep.googleapis.com/", + "location": "us-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.us-west4.rep.googleapis.com/", + "location": "us-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://eventarc.us-west8.rep.googleapis.com/", + "location": "us-west8" + }, { "description": "Regional Endpoint", "endpointUrl": "https://eventarc.us.rep.googleapis.com/", @@ -2392,7 +2627,7 @@ } } }, - "revision": "20260130", + "revision": "20260206", "rootUrl": "https://eventarc.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/gmailpostmastertools/v2/gmailpostmastertools-api.json b/gmailpostmastertools/v2/gmailpostmastertools-api.json new file mode 100644 index 0000000000..1843bcf844 --- /dev/null +++ b/gmailpostmastertools/v2/gmailpostmastertools-api.json @@ -0,0 +1,834 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/postmaster": { + "description": "Get email traffic metrics, manage domains, and manage domain users for the domains you have registered with Postmaster Tools" + }, + "https://www.googleapis.com/auth/postmaster.domain": { + "description": "View and manage the domains you have registered with Postmaster Tools" + }, + "https://www.googleapis.com/auth/postmaster.traffic.readonly": { + "description": "Get email traffic metrics for the domains you have registered with Postmaster Tools" + } + } + } + }, + "basePath": "", + "baseUrl": "https://gmailpostmastertools.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Postmaster Tools", + "description": "The Postmaster Tools API is a RESTful API that provides programmatic access to email traffic metrics (like spam reports, delivery errors etc) otherwise available through the Gmail Postmaster Tools UI currently.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/workspace/gmail/postmaster", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "gmailpostmastertools:v2", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://gmailpostmastertools.mtls.googleapis.com/", + "name": "gmailpostmastertools", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "domainStats": { + "methods": { + "batchQuery": { + "description": "Executes a batch of QueryDomainStats requests for multiple domains. Returns PERMISSION_DENIED if you don't have permission to access DomainStats for any of the requested domains.", + "flatPath": "v2/domainStats:batchQuery", + "httpMethod": "POST", + "id": "gmailpostmastertools.domainStats.batchQuery", + "parameterOrder": [], + "parameters": {}, + "path": "v2/domainStats:batchQuery", + "request": { + "$ref": "BatchQueryDomainStatsRequest" + }, + "response": { + "$ref": "BatchQueryDomainStatsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/postmaster", + "https://www.googleapis.com/auth/postmaster.traffic.readonly" + ] + } + } + }, + "domains": { + "methods": { + "get": { + "description": "Retrieves detailed information about a domain registered by you. Returns NOT_FOUND if the domain is not registered by you. Domain represents the metadata of a domain that has been registered within the system and linked to a user.", + "flatPath": "v2/domains/{domainsId}", + "httpMethod": "GET", + "id": "gmailpostmastertools.domains.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the domain. Format: `domains/{domain_name}`, where domain_name is the fully qualified domain name (i.e., mymail.mydomain.com).", + "location": "path", + "pattern": "^domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "Domain" + }, + "scopes": [ + "https://www.googleapis.com/auth/postmaster", + "https://www.googleapis.com/auth/postmaster.domain" + ] + }, + "getComplianceStatus": { + "description": "Retrieves the compliance status for a given domain. Returns PERMISSION_DENIED if you don't have permission to access compliance status for the domain.", + "flatPath": "v2/domains/{domainsId}/complianceStatus", + "httpMethod": "GET", + "id": "gmailpostmastertools.domains.getComplianceStatus", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the domain's compliance status to retrieve. Format: `domains/{domain_id}/complianceStatus`.", + "location": "path", + "pattern": "^domains/[^/]+/complianceStatus$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "DomainComplianceStatus" + }, + "scopes": [ + "https://www.googleapis.com/auth/postmaster", + "https://www.googleapis.com/auth/postmaster.traffic.readonly" + ] + }, + "list": { + "description": "Retrieves a list of all domains registered by you, along with their corresponding metadata. The order of domains in the response is unspecified and non-deterministic. Newly registered domains will not necessarily be added to the end of this list.", + "flatPath": "v2/domains", + "httpMethod": "GET", + "id": "gmailpostmastertools.domains.list", + "parameterOrder": [], + "parameters": { + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer domains than requested. If unspecified, the default value for this field is 10. The maximum value for this field is 200.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous List request, if any.", + "location": "query", + "type": "string" + } + }, + "path": "v2/domains", + "response": { + "$ref": "ListDomainsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/postmaster", + "https://www.googleapis.com/auth/postmaster.domain" + ] + } + }, + "resources": { + "domainStats": { + "methods": { + "query": { + "description": "Retrieves a list of domain statistics for a given domain and time period. Returns statistics only for dates where data is available. Returns PERMISSION_DENIED if you don't have permission to access DomainStats for the domain.", + "flatPath": "v2/domains/{domainsId}/domainStats:query", + "httpMethod": "POST", + "id": "gmailpostmastertools.domains.domainStats.query", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name where the stats are queried. Format: domains/{domain}", + "location": "path", + "pattern": "^domains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/domainStats:query", + "request": { + "$ref": "QueryDomainStatsRequest" + }, + "response": { + "$ref": "QueryDomainStatsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/postmaster", + "https://www.googleapis.com/auth/postmaster.traffic.readonly" + ] + } + } + } + } + } + }, + "revision": "20260209", + "rootUrl": "https://gmailpostmastertools.googleapis.com/", + "schemas": { + "BaseMetric": { + "description": "Specifies the base metric to query, which can be a predefined standard metric or a user-defined custom metric (if supported in the future).", + "id": "BaseMetric", + "properties": { + "standardMetric": { + "description": "A predefined standard metric.", + "enum": [ + "STANDARD_METRIC_UNSPECIFIED", + "FEEDBACK_LOOP_ID", + "FEEDBACK_LOOP_SPAM_RATE", + "SPAM_RATE", + "AUTH_SUCCESS_RATE", + "TLS_ENCRYPTION_MESSAGE_COUNT", + "TLS_ENCRYPTION_RATE", + "DELIVERY_ERROR_COUNT", + "DELIVERY_ERROR_RATE" + ], + "enumDescriptions": [ + "Unspecified standard metric. This value should not be used directly.", + "Predefined metric for Feedback Loop (FBL) id.", + "Predefined metric for Feedback Loop (FBL) spam rate. Filter must be of type feedback_loop_id = \"\" where is one valid feedback loop ids.", + "Predefined metric for spam rate.", + "The success rate of authentication mechanisms (DKIM, SPF, DMARC). Filter must be of type auth_type = \"\" where is one of: [spf, dkim, dmarc]", + "The rate of messages that were TLS encrypted in transit Filter must be of type traffic_direction = \"\" where is one of: [inbound, outbound]", + "The rate of messages that were TLS encrypted in transit Filter must be of type traffic_direction = \"\" where is one of: [inbound, outbound]", + "The total count of delivery errors encountered (temporary or permanent rejects). The `filter` field supports a limited syntax. Supported formats are: * Empty: No filter is applied. * `error_type` = \"\" * `error_type` = \"\" AND `error_reason` = \"\" If an empty filter is provided, the metric will be aggregated across all error types and reasons. If only `error_type` is specified, the metric will be aggregated across all reasons for that type. Supported values: * reject * temp_fail Supported values depend on the : * For 'reject': [bad_attachment, bad_or_missing_ptr_record, ip_in_rbls, low_domain_reputation, low_ip_reputation, spammy_content, stamp_policy_error, other] * For 'temp_fail': [anomalous_traffic_pattern, other]", + "Delivery error rate for the specified delivery error type. The `filter` field supports a limited syntax. Supported formats are: * Empty: No filter is applied. * `error_type` = \"\" * `error_type` = \"\" AND `error_reason` = \"\" If an empty filter is provided, the metric will be aggregated across all error types and reasons. If only `error_type` is specified, the metric will be aggregated across all reasons for that type. Supported values: * reject * temp_fail Supported values depend on the : * For 'reject': [bad_attachment, bad_or_missing_ptr_record, ip_in_rbls, low_domain_reputation, low_ip_reputation, spammy_content, stamp_policy_error, other] * For 'temp_fail': [anomalous_traffic_pattern, other]" + ], + "type": "string" + } + }, + "type": "object" + }, + "BatchQueryDomainStatsRequest": { + "description": "Request message for BatchQueryDomainStats.", + "id": "BatchQueryDomainStatsRequest", + "properties": { + "requests": { + "description": "Required. A list of individual query requests. Each request can be for a different domain. A maximum of 100 requests can be included in a single batch.", + "items": { + "$ref": "QueryDomainStatsRequest" + }, + "type": "array" + } + }, + "type": "object" + }, + "BatchQueryDomainStatsResponse": { + "description": "Response message for BatchQueryDomainStats.", + "id": "BatchQueryDomainStatsResponse", + "properties": { + "results": { + "description": "A list of responses, one for each query in the BatchQueryDomainStatsRequest. The order of responses will correspond to the order of requests.", + "items": { + "$ref": "BatchQueryDomainStatsResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "BatchQueryDomainStatsResult": { + "description": "Represents the result of a single QueryDomainStatsRequest within a batch.", + "id": "BatchQueryDomainStatsResult", + "properties": { + "error": { + "$ref": "Status", + "description": "The error status if the individual query failed." + }, + "response": { + "$ref": "QueryDomainStatsResponse", + "description": "The successful response for the individual query." + } + }, + "type": "object" + }, + "ComplianceRowData": { + "description": "Data for a single row of the compliance status table.", + "id": "ComplianceRowData", + "properties": { + "requirement": { + "description": "The compliance requirement.", + "enum": [ + "COMPLIANCE_REQUIREMENT_UNSPECIFIED", + "SPF", + "DKIM", + "SPF_AND_DKIM", + "DMARC_POLICY", + "DMARC_ALIGNMENT", + "MESSAGE_FORMATTING", + "DNS_RECORDS", + "ENCRYPTION", + "USER_REPORTED_SPAM_RATE", + "ONE_CLICK_UNSUBSCRIBE", + "HONOR_UNSUBSCRIBE" + ], + "enumDescriptions": [ + "Unspecified.", + "Whether the sender has properly configured SPF.", + "Whether the sender has properly configured DKIM.", + "Whether the sender has properly configured both SPF and DKIM.", + "Whether the sender has configured DMARC policy.", + "Whether the From: header is aligned with DKIM or SPF", + "Whether messages are correctly formatted according to RFC 5322.", + "Whether the domain has forward and reverse DNS records.", + "Whether messages has TLS encryption.", + "Whether the sender is below a threshold for user-reported spam rate.", + "Whether the sender sufficiently supports one-click unsubscribe. Note that the user-facing requirement is \"one-click unsubscribe\", but we require satisfaction of multiple \"unsubscribe support\" rules.", + "Whether the sender honors user-initiated unsubscribe requests." + ], + "type": "string" + }, + "status": { + "$ref": "ComplianceStatus", + "description": "The compliance status for the requirement." + } + }, + "type": "object" + }, + "ComplianceStatus": { + "description": "The status of a sender compliance requirement.", + "id": "ComplianceStatus", + "properties": { + "status": { + "description": "Output only. The compliance status.", + "enum": [ + "STATE_UNSPECIFIED", + "COMPLIANT", + "NEEDS_WORK" + ], + "enumDescriptions": [ + "Unspecified.", + "The compliance requirement is met, and the sender is deemed compliant.", + "The compliance requirement is unmet, and the sender needs to do work to achieve compliance." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Date": { + "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", + "id": "Date", + "properties": { + "day": { + "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", + "format": "int32", + "type": "integer" + }, + "year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "DateList": { + "description": "A set of specific dates.", + "id": "DateList", + "properties": { + "dates": { + "description": "Required. The list of specific dates for which to retrieve data.", + "items": { + "$ref": "Date" + }, + "type": "array" + } + }, + "type": "object" + }, + "DateRange": { + "description": "A single date range defined by a start and end date.", + "id": "DateRange", + "properties": { + "end": { + "$ref": "Date", + "description": "Required. The inclusive end date of the date range." + }, + "start": { + "$ref": "Date", + "description": "Required. The inclusive start date of the date range." + } + }, + "type": "object" + }, + "DateRanges": { + "description": "A set of date ranges.", + "id": "DateRanges", + "properties": { + "dateRanges": { + "description": "Required. The list of date ranges for which to retrieve data.", + "items": { + "$ref": "DateRange" + }, + "type": "array" + } + }, + "type": "object" + }, + "Domain": { + "description": "Information about a domain registered by the user.", + "id": "Domain", + "properties": { + "createTime": { + "description": "Output only. Immutable. The timestamp at which the domain was added to the user's account.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "lastVerifyTime": { + "description": "The timestamp at which the domain was last verified by the user.", + "format": "google-datetime", + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the domain. Format: `domains/{domain_name}`, where domain_name is the fully qualified domain name (i.e., mymail.mydomain.com).", + "type": "string" + }, + "permission": { + "description": "Output only. User's permission of this domain.", + "enum": [ + "PERMISSION_UNSPECIFIED", + "READER", + "OWNER", + "NONE" + ], + "enumDescriptions": [ + "Unspecified permission.", + "User has read access to the domain.", + "User has owner access to the domain.", + "User has no access to the domain." + ], + "readOnly": true, + "type": "string" + }, + "verificationState": { + "description": "Output only. Information about a user's verification history and properties for the domain.", + "enum": [ + "VERIFICATION_STATE_UNSPECIFIED", + "UNVERIFIED", + "VERIFIED" + ], + "enumDescriptions": [ + "Unspecified.", + "The domain is unverified.", + "The domain is verified." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DomainComplianceData": { + "description": "Compliance data for a given domain.", + "id": "DomainComplianceData", + "properties": { + "domainId": { + "description": "Domain that this data is for.", + "type": "string" + }, + "honorUnsubscribeVerdict": { + "$ref": "HonorUnsubscribeVerdict", + "description": "Unsubscribe honoring compliance verdict." + }, + "oneClickUnsubscribeVerdict": { + "$ref": "OneClickUnsubscribeVerdict", + "description": "One-click unsubscribe compliance verdict." + }, + "rowData": { + "description": "Data for each of the rows of the table. Each message contains all the data that backs a single row.", + "items": { + "$ref": "ComplianceRowData" + }, + "type": "array" + } + }, + "type": "object" + }, + "DomainComplianceStatus": { + "description": "Compliance status for a domain.", + "id": "DomainComplianceStatus", + "properties": { + "complianceData": { + "$ref": "DomainComplianceData", + "description": "Compliance data for the registrable domain part of the domain in `name`. For example, if `name` is `domains/example.com/complianceStatus`, this field contains compliance data for `example.com`." + }, + "name": { + "description": "Identifier. The resource name of the domain's compliance status. Format: `domains/{domain_id}/complianceStatus`.", + "type": "string" + }, + "subdomainComplianceData": { + "$ref": "DomainComplianceData", + "description": "Compliance data calculated specifically for the subdomain in `name`. This field is only populated if the domain in `name` is a subdomain that differs from its registrable domain (e.g., `sub.example.com`), and if compliance data is available for that specific subdomain." + } + }, + "type": "object" + }, + "DomainStat": { + "description": "Email statistics for a domain for a specified time period or date.", + "id": "DomainStat", + "properties": { + "date": { + "$ref": "Date", + "description": "Optional. The specific date for these stats, if granularity is DAILY. This field is populated if the QueryDomainStatsRequest specified a DAILY aggregation granularity." + }, + "metric": { + "description": "The user-defined name from MetricDefinition.name in the request, used to correlate this result with the requested metric.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the DomainStat resource. Format: domains/{domain}/domainStats/{domain_stat} The `{domain_stat}` segment is an opaque, server-generated ID. We recommend using the `metric` field to identify queried metrics instead of parsing the name.", + "readOnly": true, + "type": "string" + }, + "value": { + "$ref": "StatisticValue", + "description": "The value of the corresponding metric." + } + }, + "type": "object" + }, + "HonorUnsubscribeVerdict": { + "description": "Compliance verdict for whether a sender meets the unsubscribe honoring compliance requirement.", + "id": "HonorUnsubscribeVerdict", + "properties": { + "reason": { + "description": "The specific reason for the compliance verdict. Must be empty if the status is compliant.", + "enum": [ + "REASON_UNSPECIFIED", + "NOT_HONORING", + "NOT_HONORING_TOO_FEW_CAMPAIGNS", + "NOT_HONORING_TOO_MANY_CAMPAIGNS" + ], + "enumDescriptions": [ + "Unspecified.", + "The sender does not honor unsubscribe requests.", + "The sender does not honor unsubscribe requests and consider to increase the number of relevant campaigns.", + "The sender does not honor unsubscribe requests and consider to reduce the number of relevant campaigns." + ], + "type": "string" + }, + "status": { + "$ref": "ComplianceStatus", + "description": "The compliance status." + } + }, + "type": "object" + }, + "ListDomainsResponse": { + "description": "Response message for ListDomains.", + "id": "ListDomainsResponse", + "properties": { + "domains": { + "description": "The domains that have been registered by the user.", + "items": { + "$ref": "Domain" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + } + }, + "type": "object" + }, + "MetricDefinition": { + "description": "Defines a specific metric to query, including a user-defined name, the base metric type, and optional filters.", + "id": "MetricDefinition", + "properties": { + "baseMetric": { + "$ref": "BaseMetric", + "description": "Required. The underlying metric to query." + }, + "filter": { + "description": "Optional. Optional filters to apply to the metric.", + "type": "string" + }, + "name": { + "description": "Required. The user-defined name for this metric. This name will be used as the key for this metric's value in the response.", + "type": "string" + } + }, + "type": "object" + }, + "OneClickUnsubscribeVerdict": { + "description": "Compliance verdict for whether a sender meets the one-click unsubscribe compliance requirement.", + "id": "OneClickUnsubscribeVerdict", + "properties": { + "reason": { + "description": "The specific reason for the compliance verdict. Must be empty if the status is compliant.", + "enum": [ + "REASON_UNSPECIFIED", + "NO_UNSUB_GENERAL", + "NO_UNSUB_SPAM_REPORTS", + "NO_UNSUB_PROMO_SPAM_REPORTS" + ], + "enumDescriptions": [ + "Unspecified.", + "Sender does not support one-click unsubscribe for the majority of their messages.", + "Sender does not support one-click unsubscribe for most messages that are manually reported as spam.", + "Sender does not support one-click unsubscribe for most promotional messages that are manually reported as spam. This classification of messages is a subset of those encompassed by `NO_UNSUB_SPAM_REPORTS`." + ], + "type": "string" + }, + "status": { + "$ref": "ComplianceStatus", + "description": "The compliance status." + } + }, + "type": "object" + }, + "QueryDomainStatsRequest": { + "description": "Request message for QueryDomainStats.", + "id": "QueryDomainStatsRequest", + "properties": { + "aggregationGranularity": { + "description": "Optional. The granularity at which to aggregate the statistics. If unspecified, defaults to DAILY.", + "enum": [ + "AGGREGATION_GRANULARITY_UNSPECIFIED", + "DAILY", + "OVERALL" + ], + "enumDescriptions": [ + "Unspecified granularity. Defaults to DAILY.", + "Statistics are aggregated on a daily basis. Each DomainStats entry in the response will correspond to a single day.", + "Statistics are aggregated over the entire requested time period. Each DomainStats entry in the response will represent the total for the period." + ], + "type": "string" + }, + "metricDefinitions": { + "description": "Required. The specific metrics to query. You can define a custom name for each metric, which will be used in the response.", + "items": { + "$ref": "MetricDefinition" + }, + "type": "array" + }, + "pageSize": { + "description": "Optional. The maximum number of DomainStats resources to return in the response. The server may return fewer than this value. If unspecified, a default value of 10 will be used. The maximum value is 200.", + "format": "int32", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous List request, if any. If the aggregation granularity is DAILY, the page token will be the encoded date + \"/\" + metric name. If the aggregation granularity is OVERALL, the page token will be the encoded metric name.", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name where the stats are queried. Format: domains/{domain}", + "type": "string" + }, + "timeQuery": { + "$ref": "TimeQuery", + "description": "Required. The time range or specific dates for which to retrieve the metrics." + } + }, + "type": "object" + }, + "QueryDomainStatsResponse": { + "description": "Response message for QueryDomainStats.", + "id": "QueryDomainStatsResponse", + "properties": { + "domainStats": { + "description": "The list of domain statistics. Each DomainStat object contains the value for a metric requested in the QueryDomainStatsRequest.", + "items": { + "$ref": "DomainStat" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + } + }, + "type": "object" + }, + "StatisticValue": { + "description": "The actual value of a statistic.", + "id": "StatisticValue", + "properties": { + "doubleValue": { + "description": "Double value.", + "format": "double", + "type": "number" + }, + "floatValue": { + "description": "Float value.", + "format": "float", + "type": "number" + }, + "intValue": { + "description": "Integer value.", + "format": "int64", + "type": "string" + }, + "stringList": { + "$ref": "StringList", + "description": "List of string values." + }, + "stringValue": { + "description": "String value.", + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "StringList": { + "description": "Represents a list of strings.", + "id": "StringList", + "properties": { + "values": { + "description": "The string values.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TimeQuery": { + "description": "The date ranges or specific dates for which you want to retrieve data.", + "id": "TimeQuery", + "properties": { + "dateList": { + "$ref": "DateList", + "description": "A list of specific dates." + }, + "dateRanges": { + "$ref": "DateRanges", + "description": "A list of date ranges." + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Gmail Postmaster Tools API", + "version": "v2", + "version_module": true +} \ No newline at end of file diff --git a/gmailpostmastertools/v2/gmailpostmastertools-gen.go b/gmailpostmastertools/v2/gmailpostmastertools-gen.go new file mode 100644 index 0000000000..3ab24c6f62 --- /dev/null +++ b/gmailpostmastertools/v2/gmailpostmastertools-gen.go @@ -0,0 +1,1602 @@ +// Copyright 2026 Google LLC. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated file. DO NOT EDIT. + +// Package gmailpostmastertools provides access to the Gmail Postmaster Tools API. +// +// For product documentation, see: https://developers.google.com/workspace/gmail/postmaster +// +// # Library status +// +// These client libraries are officially supported by Google. However, this +// library is considered complete and is in maintenance mode. This means +// that we will address critical bugs and security issues but will not add +// any new features. +// +// When possible, we recommend using our newer +// [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go) +// that are still actively being worked and iterated on. +// +// # Creating a client +// +// Usage example: +// +// import "google.golang.org/api/gmailpostmastertools/v2" +// ... +// ctx := context.Background() +// gmailpostmastertoolsService, err := gmailpostmastertools.NewService(ctx) +// +// In this example, Google Application Default Credentials are used for +// authentication. For information on how to create and obtain Application +// Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. +// +// # Other authentication options +// +// By default, all available scopes (see "Constants") are used to authenticate. +// To restrict scopes, use [google.golang.org/api/option.WithScopes]: +// +// gmailpostmastertoolsService, err := gmailpostmastertools.NewService(ctx, option.WithScopes(gmailpostmastertools.PostmasterTrafficReadonlyScope)) +// +// To use an API key for authentication (note: some APIs do not support API +// keys), use [google.golang.org/api/option.WithAPIKey]: +// +// gmailpostmastertoolsService, err := gmailpostmastertools.NewService(ctx, option.WithAPIKey("AIza...")) +// +// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth +// flow, use [google.golang.org/api/option.WithTokenSource]: +// +// config := &oauth2.Config{...} +// // ... +// token, err := config.Exchange(ctx, ...) +// gmailpostmastertoolsService, err := gmailpostmastertools.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) +// +// See [google.golang.org/api/option.ClientOption] for details on options. +package gmailpostmastertools // import "google.golang.org/api/gmailpostmastertools/v2" + +import ( + "bytes" + "context" + "encoding/json" + "errors" + "fmt" + "io" + "log/slog" + "net/http" + "net/url" + "strconv" + "strings" + + "github.com/googleapis/gax-go/v2/internallog" + googleapi "google.golang.org/api/googleapi" + internal "google.golang.org/api/internal" + gensupport "google.golang.org/api/internal/gensupport" + option "google.golang.org/api/option" + internaloption "google.golang.org/api/option/internaloption" + htransport "google.golang.org/api/transport/http" +) + +// Always reference these packages, just in case the auto-generated code +// below doesn't. +var _ = bytes.NewBuffer +var _ = strconv.Itoa +var _ = fmt.Sprintf +var _ = json.NewDecoder +var _ = io.Copy +var _ = url.Parse +var _ = gensupport.MarshalJSON +var _ = googleapi.Version +var _ = errors.New +var _ = strings.Replace +var _ = context.Canceled +var _ = internaloption.WithDefaultEndpoint +var _ = internal.Version +var _ = internallog.New + +const apiId = "gmailpostmastertools:v2" +const apiName = "gmailpostmastertools" +const apiVersion = "v2" +const basePath = "https://gmailpostmastertools.googleapis.com/" +const basePathTemplate = "https://gmailpostmastertools.UNIVERSE_DOMAIN/" +const mtlsBasePath = "https://gmailpostmastertools.mtls.googleapis.com/" + +// OAuth2 scopes used by this API. +const ( + // Get email traffic metrics, manage domains, and manage domain users for the + // domains you have registered with Postmaster Tools + PostmasterScope = "https://www.googleapis.com/auth/postmaster" + + // View and manage the domains you have registered with Postmaster Tools + PostmasterDomainScope = "https://www.googleapis.com/auth/postmaster.domain" + + // Get email traffic metrics for the domains you have registered with + // Postmaster Tools + PostmasterTrafficReadonlyScope = "https://www.googleapis.com/auth/postmaster.traffic.readonly" +) + +// NewService creates a new Service. +func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { + scopesOption := internaloption.WithDefaultScopes( + "https://www.googleapis.com/auth/postmaster", + "https://www.googleapis.com/auth/postmaster.domain", + "https://www.googleapis.com/auth/postmaster.traffic.readonly", + ) + // NOTE: prepend, so we don't override user-specified scopes. + opts = append([]option.ClientOption{scopesOption}, opts...) + opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) + opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate)) + opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) + opts = append(opts, internaloption.EnableNewAuthLibrary()) + client, endpoint, err := htransport.NewClient(ctx, opts...) + if err != nil { + return nil, err + } + s := &Service{client: client, BasePath: basePath, logger: internaloption.GetLogger(opts)} + s.DomainStats = NewDomainStatsService(s) + s.Domains = NewDomainsService(s) + if endpoint != "" { + s.BasePath = endpoint + } + return s, nil +} + +// New creates a new Service. It uses the provided http.Client for requests. +// +// Deprecated: please use NewService instead. +// To provide a custom HTTP client, use option.WithHTTPClient. +// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. +func New(client *http.Client) (*Service, error) { + if client == nil { + return nil, errors.New("client is nil") + } + return NewService(context.TODO(), option.WithHTTPClient(client)) +} + +type Service struct { + client *http.Client + logger *slog.Logger + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + + DomainStats *DomainStatsService + + Domains *DomainsService +} + +func (s *Service) userAgent() string { + if s.UserAgent == "" { + return googleapi.UserAgent + } + return googleapi.UserAgent + " " + s.UserAgent +} + +func NewDomainStatsService(s *Service) *DomainStatsService { + rs := &DomainStatsService{s: s} + return rs +} + +type DomainStatsService struct { + s *Service +} + +func NewDomainsService(s *Service) *DomainsService { + rs := &DomainsService{s: s} + rs.DomainStats = NewDomainsDomainStatsService(s) + return rs +} + +type DomainsService struct { + s *Service + + DomainStats *DomainsDomainStatsService +} + +func NewDomainsDomainStatsService(s *Service) *DomainsDomainStatsService { + rs := &DomainsDomainStatsService{s: s} + return rs +} + +type DomainsDomainStatsService struct { + s *Service +} + +// BaseMetric: Specifies the base metric to query, which can be a predefined +// standard metric or a user-defined custom metric (if supported in the +// future). +type BaseMetric struct { + // StandardMetric: A predefined standard metric. + // + // Possible values: + // "STANDARD_METRIC_UNSPECIFIED" - Unspecified standard metric. This value + // should not be used directly. + // "FEEDBACK_LOOP_ID" - Predefined metric for Feedback Loop (FBL) id. + // "FEEDBACK_LOOP_SPAM_RATE" - Predefined metric for Feedback Loop (FBL) spam + // rate. Filter must be of type feedback_loop_id = "" where is one valid + // feedback loop ids. + // "SPAM_RATE" - Predefined metric for spam rate. + // "AUTH_SUCCESS_RATE" - The success rate of authentication mechanisms (DKIM, + // SPF, DMARC). Filter must be of type auth_type = "" where is one of: [spf, + // dkim, dmarc] + // "TLS_ENCRYPTION_MESSAGE_COUNT" - The rate of messages that were TLS + // encrypted in transit Filter must be of type traffic_direction = "" where is + // one of: [inbound, outbound] + // "TLS_ENCRYPTION_RATE" - The rate of messages that were TLS encrypted in + // transit Filter must be of type traffic_direction = "" where is one of: + // [inbound, outbound] + // "DELIVERY_ERROR_COUNT" - The total count of delivery errors encountered + // (temporary or permanent rejects). The `filter` field supports a limited + // syntax. Supported formats are: * Empty: No filter is applied. * `error_type` + // = "" * `error_type` = "" AND `error_reason` = "" If an empty filter is + // provided, the metric will be aggregated across all error types and reasons. + // If only `error_type` is specified, the metric will be aggregated across all + // reasons for that type. Supported values: * reject * temp_fail Supported + // values depend on the : * For 'reject': [bad_attachment, + // bad_or_missing_ptr_record, ip_in_rbls, low_domain_reputation, + // low_ip_reputation, spammy_content, stamp_policy_error, other] * For + // 'temp_fail': [anomalous_traffic_pattern, other] + // "DELIVERY_ERROR_RATE" - Delivery error rate for the specified delivery + // error type. The `filter` field supports a limited syntax. Supported formats + // are: * Empty: No filter is applied. * `error_type` = "" * `error_type` = "" + // AND `error_reason` = "" If an empty filter is provided, the metric will be + // aggregated across all error types and reasons. If only `error_type` is + // specified, the metric will be aggregated across all reasons for that type. + // Supported values: * reject * temp_fail Supported values depend on the : * + // For 'reject': [bad_attachment, bad_or_missing_ptr_record, ip_in_rbls, + // low_domain_reputation, low_ip_reputation, spammy_content, + // stamp_policy_error, other] * For 'temp_fail': [anomalous_traffic_pattern, + // other] + StandardMetric string `json:"standardMetric,omitempty"` + // ForceSendFields is a list of field names (e.g. "StandardMetric") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "StandardMetric") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s BaseMetric) MarshalJSON() ([]byte, error) { + type NoMethod BaseMetric + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// BatchQueryDomainStatsRequest: Request message for BatchQueryDomainStats. +type BatchQueryDomainStatsRequest struct { + // Requests: Required. A list of individual query requests. Each request can be + // for a different domain. A maximum of 100 requests can be included in a + // single batch. + Requests []*QueryDomainStatsRequest `json:"requests,omitempty"` + // ForceSendFields is a list of field names (e.g. "Requests") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Requests") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s BatchQueryDomainStatsRequest) MarshalJSON() ([]byte, error) { + type NoMethod BatchQueryDomainStatsRequest + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// BatchQueryDomainStatsResponse: Response message for BatchQueryDomainStats. +type BatchQueryDomainStatsResponse struct { + // Results: A list of responses, one for each query in the + // BatchQueryDomainStatsRequest. The order of responses will correspond to the + // order of requests. + Results []*BatchQueryDomainStatsResult `json:"results,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "Results") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Results") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s BatchQueryDomainStatsResponse) MarshalJSON() ([]byte, error) { + type NoMethod BatchQueryDomainStatsResponse + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// BatchQueryDomainStatsResult: Represents the result of a single +// QueryDomainStatsRequest within a batch. +type BatchQueryDomainStatsResult struct { + // Error: The error status if the individual query failed. + Error *Status `json:"error,omitempty"` + // Response: The successful response for the individual query. + Response *QueryDomainStatsResponse `json:"response,omitempty"` + // ForceSendFields is a list of field names (e.g. "Error") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Error") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s BatchQueryDomainStatsResult) MarshalJSON() ([]byte, error) { + type NoMethod BatchQueryDomainStatsResult + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// ComplianceRowData: Data for a single row of the compliance status table. +type ComplianceRowData struct { + // Requirement: The compliance requirement. + // + // Possible values: + // "COMPLIANCE_REQUIREMENT_UNSPECIFIED" - Unspecified. + // "SPF" - Whether the sender has properly configured SPF. + // "DKIM" - Whether the sender has properly configured DKIM. + // "SPF_AND_DKIM" - Whether the sender has properly configured both SPF and + // DKIM. + // "DMARC_POLICY" - Whether the sender has configured DMARC policy. + // "DMARC_ALIGNMENT" - Whether the From: header is aligned with DKIM or SPF + // "MESSAGE_FORMATTING" - Whether messages are correctly formatted according + // to RFC 5322. + // "DNS_RECORDS" - Whether the domain has forward and reverse DNS records. + // "ENCRYPTION" - Whether messages has TLS encryption. + // "USER_REPORTED_SPAM_RATE" - Whether the sender is below a threshold for + // user-reported spam rate. + // "ONE_CLICK_UNSUBSCRIBE" - Whether the sender sufficiently supports + // one-click unsubscribe. Note that the user-facing requirement is "one-click + // unsubscribe", but we require satisfaction of multiple "unsubscribe support" + // rules. + // "HONOR_UNSUBSCRIBE" - Whether the sender honors user-initiated unsubscribe + // requests. + Requirement string `json:"requirement,omitempty"` + // Status: The compliance status for the requirement. + Status *ComplianceStatus `json:"status,omitempty"` + // ForceSendFields is a list of field names (e.g. "Requirement") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Requirement") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ComplianceRowData) MarshalJSON() ([]byte, error) { + type NoMethod ComplianceRowData + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// ComplianceStatus: The status of a sender compliance requirement. +type ComplianceStatus struct { + // Status: Output only. The compliance status. + // + // Possible values: + // "STATE_UNSPECIFIED" - Unspecified. + // "COMPLIANT" - The compliance requirement is met, and the sender is deemed + // compliant. + // "NEEDS_WORK" - The compliance requirement is unmet, and the sender needs + // to do work to achieve compliance. + Status string `json:"status,omitempty"` + // ForceSendFields is a list of field names (e.g. "Status") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Status") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ComplianceStatus) MarshalJSON() ([]byte, error) { + type NoMethod ComplianceStatus + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// Date: Represents a whole or partial calendar date, such as a birthday. The +// time of day and time zone are either specified elsewhere or are +// insignificant. The date is relative to the Gregorian Calendar. This can +// represent one of the following: * A full date, with non-zero year, month, +// and day values. * A month and day, with a zero year (for example, an +// anniversary). * A year on its own, with a zero month and a zero day. * A +// year and month, with a zero day (for example, a credit card expiration +// date). Related types: * google.type.TimeOfDay * google.type.DateTime * +// google.protobuf.Timestamp +type Date struct { + // Day: Day of a month. Must be from 1 to 31 and valid for the year and month, + // or 0 to specify a year by itself or a year and month where the day isn't + // significant. + Day int64 `json:"day,omitempty"` + // Month: Month of a year. Must be from 1 to 12, or 0 to specify a year without + // a month and day. + Month int64 `json:"month,omitempty"` + // Year: Year of the date. Must be from 1 to 9999, or 0 to specify a date + // without a year. + Year int64 `json:"year,omitempty"` + // ForceSendFields is a list of field names (e.g. "Day") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Day") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s Date) MarshalJSON() ([]byte, error) { + type NoMethod Date + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// DateList: A set of specific dates. +type DateList struct { + // Dates: Required. The list of specific dates for which to retrieve data. + Dates []*Date `json:"dates,omitempty"` + // ForceSendFields is a list of field names (e.g. "Dates") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Dates") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s DateList) MarshalJSON() ([]byte, error) { + type NoMethod DateList + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// DateRange: A single date range defined by a start and end date. +type DateRange struct { + // End: Required. The inclusive end date of the date range. + End *Date `json:"end,omitempty"` + // Start: Required. The inclusive start date of the date range. + Start *Date `json:"start,omitempty"` + // ForceSendFields is a list of field names (e.g. "End") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "End") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s DateRange) MarshalJSON() ([]byte, error) { + type NoMethod DateRange + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// DateRanges: A set of date ranges. +type DateRanges struct { + // DateRanges: Required. The list of date ranges for which to retrieve data. + DateRanges []*DateRange `json:"dateRanges,omitempty"` + // ForceSendFields is a list of field names (e.g. "DateRanges") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "DateRanges") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s DateRanges) MarshalJSON() ([]byte, error) { + type NoMethod DateRanges + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// Domain: Information about a domain registered by the user. +type Domain struct { + // CreateTime: Output only. Immutable. The timestamp at which the domain was + // added to the user's account. + CreateTime string `json:"createTime,omitempty"` + // LastVerifyTime: The timestamp at which the domain was last verified by the + // user. + LastVerifyTime string `json:"lastVerifyTime,omitempty"` + // Name: Identifier. The resource name of the domain. Format: + // `domains/{domain_name}`, where domain_name is the fully qualified domain + // name (i.e., mymail.mydomain.com). + Name string `json:"name,omitempty"` + // Permission: Output only. User's permission of this domain. + // + // Possible values: + // "PERMISSION_UNSPECIFIED" - Unspecified permission. + // "READER" - User has read access to the domain. + // "OWNER" - User has owner access to the domain. + // "NONE" - User has no access to the domain. + Permission string `json:"permission,omitempty"` + // VerificationState: Output only. Information about a user's verification + // history and properties for the domain. + // + // Possible values: + // "VERIFICATION_STATE_UNSPECIFIED" - Unspecified. + // "UNVERIFIED" - The domain is unverified. + // "VERIFIED" - The domain is verified. + VerificationState string `json:"verificationState,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "CreateTime") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "CreateTime") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s Domain) MarshalJSON() ([]byte, error) { + type NoMethod Domain + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// DomainComplianceData: Compliance data for a given domain. +type DomainComplianceData struct { + // DomainId: Domain that this data is for. + DomainId string `json:"domainId,omitempty"` + // HonorUnsubscribeVerdict: Unsubscribe honoring compliance verdict. + HonorUnsubscribeVerdict *HonorUnsubscribeVerdict `json:"honorUnsubscribeVerdict,omitempty"` + // OneClickUnsubscribeVerdict: One-click unsubscribe compliance verdict. + OneClickUnsubscribeVerdict *OneClickUnsubscribeVerdict `json:"oneClickUnsubscribeVerdict,omitempty"` + // RowData: Data for each of the rows of the table. Each message contains all + // the data that backs a single row. + RowData []*ComplianceRowData `json:"rowData,omitempty"` + // ForceSendFields is a list of field names (e.g. "DomainId") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "DomainId") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s DomainComplianceData) MarshalJSON() ([]byte, error) { + type NoMethod DomainComplianceData + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// DomainComplianceStatus: Compliance status for a domain. +type DomainComplianceStatus struct { + // ComplianceData: Compliance data for the registrable domain part of the + // domain in `name`. For example, if `name` is + // `domains/example.com/complianceStatus`, this field contains compliance data + // for `example.com`. + ComplianceData *DomainComplianceData `json:"complianceData,omitempty"` + // Name: Identifier. The resource name of the domain's compliance status. + // Format: `domains/{domain_id}/complianceStatus`. + Name string `json:"name,omitempty"` + // SubdomainComplianceData: Compliance data calculated specifically for the + // subdomain in `name`. This field is only populated if the domain in `name` is + // a subdomain that differs from its registrable domain (e.g., + // `sub.example.com`), and if compliance data is available for that specific + // subdomain. + SubdomainComplianceData *DomainComplianceData `json:"subdomainComplianceData,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "ComplianceData") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ComplianceData") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s DomainComplianceStatus) MarshalJSON() ([]byte, error) { + type NoMethod DomainComplianceStatus + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// DomainStat: Email statistics for a domain for a specified time period or +// date. +type DomainStat struct { + // Date: Optional. The specific date for these stats, if granularity is DAILY. + // This field is populated if the QueryDomainStatsRequest specified a DAILY + // aggregation granularity. + Date *Date `json:"date,omitempty"` + // Metric: The user-defined name from MetricDefinition.name in the request, + // used to correlate this result with the requested metric. + Metric string `json:"metric,omitempty"` + // Name: Output only. The resource name of the DomainStat resource. Format: + // domains/{domain}/domainStats/{domain_stat} The `{domain_stat}` segment is an + // opaque, server-generated ID. We recommend using the `metric` field to + // identify queried metrics instead of parsing the name. + Name string `json:"name,omitempty"` + // Value: The value of the corresponding metric. + Value *StatisticValue `json:"value,omitempty"` + // ForceSendFields is a list of field names (e.g. "Date") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Date") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s DomainStat) MarshalJSON() ([]byte, error) { + type NoMethod DomainStat + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// HonorUnsubscribeVerdict: Compliance verdict for whether a sender meets the +// unsubscribe honoring compliance requirement. +type HonorUnsubscribeVerdict struct { + // Reason: The specific reason for the compliance verdict. Must be empty if the + // status is compliant. + // + // Possible values: + // "REASON_UNSPECIFIED" - Unspecified. + // "NOT_HONORING" - The sender does not honor unsubscribe requests. + // "NOT_HONORING_TOO_FEW_CAMPAIGNS" - The sender does not honor unsubscribe + // requests and consider to increase the number of relevant campaigns. + // "NOT_HONORING_TOO_MANY_CAMPAIGNS" - The sender does not honor unsubscribe + // requests and consider to reduce the number of relevant campaigns. + Reason string `json:"reason,omitempty"` + // Status: The compliance status. + Status *ComplianceStatus `json:"status,omitempty"` + // ForceSendFields is a list of field names (e.g. "Reason") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Reason") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s HonorUnsubscribeVerdict) MarshalJSON() ([]byte, error) { + type NoMethod HonorUnsubscribeVerdict + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// ListDomainsResponse: Response message for ListDomains. +type ListDomainsResponse struct { + // Domains: The domains that have been registered by the user. + Domains []*Domain `json:"domains,omitempty"` + // NextPageToken: Token to retrieve the next page of results, or empty if there + // are no more results in the list. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "Domains") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Domains") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ListDomainsResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListDomainsResponse + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// MetricDefinition: Defines a specific metric to query, including a +// user-defined name, the base metric type, and optional filters. +type MetricDefinition struct { + // BaseMetric: Required. The underlying metric to query. + BaseMetric *BaseMetric `json:"baseMetric,omitempty"` + // Filter: Optional. Optional filters to apply to the metric. + Filter string `json:"filter,omitempty"` + // Name: Required. The user-defined name for this metric. This name will be + // used as the key for this metric's value in the response. + Name string `json:"name,omitempty"` + // ForceSendFields is a list of field names (e.g. "BaseMetric") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "BaseMetric") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s MetricDefinition) MarshalJSON() ([]byte, error) { + type NoMethod MetricDefinition + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// OneClickUnsubscribeVerdict: Compliance verdict for whether a sender meets +// the one-click unsubscribe compliance requirement. +type OneClickUnsubscribeVerdict struct { + // Reason: The specific reason for the compliance verdict. Must be empty if the + // status is compliant. + // + // Possible values: + // "REASON_UNSPECIFIED" - Unspecified. + // "NO_UNSUB_GENERAL" - Sender does not support one-click unsubscribe for the + // majority of their messages. + // "NO_UNSUB_SPAM_REPORTS" - Sender does not support one-click unsubscribe + // for most messages that are manually reported as spam. + // "NO_UNSUB_PROMO_SPAM_REPORTS" - Sender does not support one-click + // unsubscribe for most promotional messages that are manually reported as + // spam. This classification of messages is a subset of those encompassed by + // `NO_UNSUB_SPAM_REPORTS`. + Reason string `json:"reason,omitempty"` + // Status: The compliance status. + Status *ComplianceStatus `json:"status,omitempty"` + // ForceSendFields is a list of field names (e.g. "Reason") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Reason") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s OneClickUnsubscribeVerdict) MarshalJSON() ([]byte, error) { + type NoMethod OneClickUnsubscribeVerdict + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// QueryDomainStatsRequest: Request message for QueryDomainStats. +type QueryDomainStatsRequest struct { + // AggregationGranularity: Optional. The granularity at which to aggregate the + // statistics. If unspecified, defaults to DAILY. + // + // Possible values: + // "AGGREGATION_GRANULARITY_UNSPECIFIED" - Unspecified granularity. Defaults + // to DAILY. + // "DAILY" - Statistics are aggregated on a daily basis. Each DomainStats + // entry in the response will correspond to a single day. + // "OVERALL" - Statistics are aggregated over the entire requested time + // period. Each DomainStats entry in the response will represent the total for + // the period. + AggregationGranularity string `json:"aggregationGranularity,omitempty"` + // MetricDefinitions: Required. The specific metrics to query. You can define a + // custom name for each metric, which will be used in the response. + MetricDefinitions []*MetricDefinition `json:"metricDefinitions,omitempty"` + // PageSize: Optional. The maximum number of DomainStats resources to return in + // the response. The server may return fewer than this value. If unspecified, a + // default value of 10 will be used. The maximum value is 200. + PageSize int64 `json:"pageSize,omitempty"` + // PageToken: Optional. The next_page_token value returned from a previous List + // request, if any. If the aggregation granularity is DAILY, the page token + // will be the encoded date + "/" + metric name. If the aggregation granularity + // is OVERALL, the page token will be the encoded metric name. + PageToken string `json:"pageToken,omitempty"` + // Parent: Required. The parent resource name where the stats are queried. + // Format: domains/{domain} + Parent string `json:"parent,omitempty"` + // TimeQuery: Required. The time range or specific dates for which to retrieve + // the metrics. + TimeQuery *TimeQuery `json:"timeQuery,omitempty"` + // ForceSendFields is a list of field names (e.g. "AggregationGranularity") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "AggregationGranularity") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s QueryDomainStatsRequest) MarshalJSON() ([]byte, error) { + type NoMethod QueryDomainStatsRequest + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// QueryDomainStatsResponse: Response message for QueryDomainStats. +type QueryDomainStatsResponse struct { + // DomainStats: The list of domain statistics. Each DomainStat object contains + // the value for a metric requested in the QueryDomainStatsRequest. + DomainStats []*DomainStat `json:"domainStats,omitempty"` + // NextPageToken: Token to retrieve the next page of results, or empty if there + // are no more results in the list. + NextPageToken string `json:"nextPageToken,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "DomainStats") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "DomainStats") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s QueryDomainStatsResponse) MarshalJSON() ([]byte, error) { + type NoMethod QueryDomainStatsResponse + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// StatisticValue: The actual value of a statistic. +type StatisticValue struct { + // DoubleValue: Double value. + DoubleValue float64 `json:"doubleValue,omitempty"` + // FloatValue: Float value. + FloatValue float64 `json:"floatValue,omitempty"` + // IntValue: Integer value. + IntValue int64 `json:"intValue,omitempty,string"` + // StringList: List of string values. + StringList *StringList `json:"stringList,omitempty"` + // StringValue: String value. + StringValue string `json:"stringValue,omitempty"` + // ForceSendFields is a list of field names (e.g. "DoubleValue") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "DoubleValue") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s StatisticValue) MarshalJSON() ([]byte, error) { + type NoMethod StatisticValue + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +func (s *StatisticValue) UnmarshalJSON(data []byte) error { + type NoMethod StatisticValue + var s1 struct { + DoubleValue gensupport.JSONFloat64 `json:"doubleValue"` + FloatValue gensupport.JSONFloat64 `json:"floatValue"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.DoubleValue = float64(s1.DoubleValue) + s.FloatValue = float64(s1.FloatValue) + return nil +} + +// Status: The `Status` type defines a logical error model that is suitable for +// different programming environments, including REST APIs and RPC APIs. It is +// used by gRPC (https://github.com/grpc). Each `Status` message contains three +// pieces of data: error code, error message, and error details. You can find +// out more about this error model and how to work with it in the API Design +// Guide (https://cloud.google.com/apis/design/errors). +type Status struct { + // Code: The status code, which should be an enum value of google.rpc.Code. + Code int64 `json:"code,omitempty"` + // Details: A list of messages that carry the error details. There is a common + // set of message types for APIs to use. + Details []googleapi.RawMessage `json:"details,omitempty"` + // Message: A developer-facing error message, which should be in English. Any + // user-facing error message should be localized and sent in the + // google.rpc.Status.details field, or localized by the client. + Message string `json:"message,omitempty"` + // ForceSendFields is a list of field names (e.g. "Code") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Code") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s Status) MarshalJSON() ([]byte, error) { + type NoMethod Status + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// StringList: Represents a list of strings. +type StringList struct { + // Values: The string values. + Values []string `json:"values,omitempty"` + // ForceSendFields is a list of field names (e.g. "Values") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Values") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s StringList) MarshalJSON() ([]byte, error) { + type NoMethod StringList + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// TimeQuery: The date ranges or specific dates for which you want to retrieve +// data. +type TimeQuery struct { + // DateList: A list of specific dates. + DateList *DateList `json:"dateList,omitempty"` + // DateRanges: A list of date ranges. + DateRanges *DateRanges `json:"dateRanges,omitempty"` + // ForceSendFields is a list of field names (e.g. "DateList") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "DateList") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s TimeQuery) MarshalJSON() ([]byte, error) { + type NoMethod TimeQuery + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +type DomainStatsBatchQueryCall struct { + s *Service + batchquerydomainstatsrequest *BatchQueryDomainStatsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// BatchQuery: Executes a batch of QueryDomainStats requests for multiple +// domains. Returns PERMISSION_DENIED if you don't have permission to access +// DomainStats for any of the requested domains. +func (r *DomainStatsService) BatchQuery(batchquerydomainstatsrequest *BatchQueryDomainStatsRequest) *DomainStatsBatchQueryCall { + c := &DomainStatsBatchQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.batchquerydomainstatsrequest = batchquerydomainstatsrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *DomainStatsBatchQueryCall) Fields(s ...googleapi.Field) *DomainStatsBatchQueryCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *DomainStatsBatchQueryCall) Context(ctx context.Context) *DomainStatsBatchQueryCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *DomainStatsBatchQueryCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *DomainStatsBatchQueryCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.batchquerydomainstatsrequest) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/domainStats:batchQuery") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "gmailpostmastertools.domainStats.batchQuery", "request", internallog.HTTPRequest(req, body.Bytes())) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "gmailpostmastertools.domainStats.batchQuery" call. +// Any non-2xx status code is an error. Response headers are in either +// *BatchQueryDomainStatsResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *DomainStatsBatchQueryCall) Do(opts ...googleapi.CallOption) (*BatchQueryDomainStatsResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &BatchQueryDomainStatsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + b, err := gensupport.DecodeResponseBytes(target, res) + if err != nil { + return nil, err + } + c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "gmailpostmastertools.domainStats.batchQuery", "response", internallog.HTTPResponse(res, b)) + return ret, nil +} + +type DomainsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Retrieves detailed information about a domain registered by you. +// Returns NOT_FOUND if the domain is not registered by you. Domain represents +// the metadata of a domain that has been registered within the system and +// linked to a user. +// +// - name: The resource name of the domain. Format: `domains/{domain_name}`, +// where domain_name is the fully qualified domain name (i.e., +// mymail.mydomain.com). +func (r *DomainsService) Get(name string) *DomainsGetCall { + c := &DomainsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *DomainsGetCall) Fields(s ...googleapi.Field) *DomainsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *DomainsGetCall) IfNoneMatch(entityTag string) *DomainsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *DomainsGetCall) Context(ctx context.Context) *DomainsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *DomainsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *DomainsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, nil) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "gmailpostmastertools.domains.get", "request", internallog.HTTPRequest(req, nil)) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "gmailpostmastertools.domains.get" call. +// Any non-2xx status code is an error. Response headers are in either +// *Domain.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *DomainsGetCall) Do(opts ...googleapi.CallOption) (*Domain, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Domain{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + b, err := gensupport.DecodeResponseBytes(target, res) + if err != nil { + return nil, err + } + c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "gmailpostmastertools.domains.get", "response", internallog.HTTPResponse(res, b)) + return ret, nil +} + +type DomainsGetComplianceStatusCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// GetComplianceStatus: Retrieves the compliance status for a given domain. +// Returns PERMISSION_DENIED if you don't have permission to access compliance +// status for the domain. +// +// - name: The resource name of the domain's compliance status to retrieve. +// Format: `domains/{domain_id}/complianceStatus`. +func (r *DomainsService) GetComplianceStatus(name string) *DomainsGetComplianceStatusCall { + c := &DomainsGetComplianceStatusCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *DomainsGetComplianceStatusCall) Fields(s ...googleapi.Field) *DomainsGetComplianceStatusCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *DomainsGetComplianceStatusCall) IfNoneMatch(entityTag string) *DomainsGetComplianceStatusCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *DomainsGetComplianceStatusCall) Context(ctx context.Context) *DomainsGetComplianceStatusCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *DomainsGetComplianceStatusCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *DomainsGetComplianceStatusCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, nil) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "gmailpostmastertools.domains.getComplianceStatus", "request", internallog.HTTPRequest(req, nil)) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "gmailpostmastertools.domains.getComplianceStatus" call. +// Any non-2xx status code is an error. Response headers are in either +// *DomainComplianceStatus.ServerResponse.Header or (if a response was returned +// at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified was +// returned. +func (c *DomainsGetComplianceStatusCall) Do(opts ...googleapi.CallOption) (*DomainComplianceStatus, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &DomainComplianceStatus{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + b, err := gensupport.DecodeResponseBytes(target, res) + if err != nil { + return nil, err + } + c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "gmailpostmastertools.domains.getComplianceStatus", "response", internallog.HTTPResponse(res, b)) + return ret, nil +} + +type DomainsListCall struct { + s *Service + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Retrieves a list of all domains registered by you, along with their +// corresponding metadata. The order of domains in the response is unspecified +// and non-deterministic. Newly registered domains will not necessarily be +// added to the end of this list. +func (r *DomainsService) List() *DomainsListCall { + c := &DomainsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + return c +} + +// PageSize sets the optional parameter "pageSize": Requested page size. Server +// may return fewer domains than requested. If unspecified, the default value +// for this field is 10. The maximum value for this field is 200. +func (c *DomainsListCall) PageSize(pageSize int64) *DomainsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The next_page_token value +// returned from a previous List request, if any. +func (c *DomainsListCall) PageToken(pageToken string) *DomainsListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *DomainsListCall) Fields(s ...googleapi.Field) *DomainsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *DomainsListCall) IfNoneMatch(entityTag string) *DomainsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *DomainsListCall) Context(ctx context.Context) *DomainsListCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *DomainsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *DomainsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/domains") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, nil) + if err != nil { + return nil, err + } + req.Header = reqHeaders + c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "gmailpostmastertools.domains.list", "request", internallog.HTTPRequest(req, nil)) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "gmailpostmastertools.domains.list" call. +// Any non-2xx status code is an error. Response headers are in either +// *ListDomainsResponse.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified was +// returned. +func (c *DomainsListCall) Do(opts ...googleapi.CallOption) (*ListDomainsResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &ListDomainsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + b, err := gensupport.DecodeResponseBytes(target, res) + if err != nil { + return nil, err + } + c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "gmailpostmastertools.domains.list", "response", internallog.HTTPResponse(res, b)) + return ret, nil +} + +// Pages invokes f for each page of results. +// A non-nil error returned from f will halt the iteration. +// The provided context supersedes any context provided to the Context method. +func (c *DomainsListCall) Pages(ctx context.Context, f func(*ListDomainsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + +type DomainsDomainStatsQueryCall struct { + s *Service + parent string + querydomainstatsrequest *QueryDomainStatsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Query: Retrieves a list of domain statistics for a given domain and time +// period. Returns statistics only for dates where data is available. Returns +// PERMISSION_DENIED if you don't have permission to access DomainStats for the +// domain. +// +// - parent: The parent resource name where the stats are queried. Format: +// domains/{domain}. +func (r *DomainsDomainStatsService) Query(parent string, querydomainstatsrequest *QueryDomainStatsRequest) *DomainsDomainStatsQueryCall { + c := &DomainsDomainStatsQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.querydomainstatsrequest = querydomainstatsrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *DomainsDomainStatsQueryCall) Fields(s ...googleapi.Field) *DomainsDomainStatsQueryCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *DomainsDomainStatsQueryCall) Context(ctx context.Context) *DomainsDomainStatsQueryCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *DomainsDomainStatsQueryCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *DomainsDomainStatsQueryCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.querydomainstatsrequest) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+parent}/domainStats:query") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "gmailpostmastertools.domains.domainStats.query", "request", internallog.HTTPRequest(req, body.Bytes())) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "gmailpostmastertools.domains.domainStats.query" call. +// Any non-2xx status code is an error. Response headers are in either +// *QueryDomainStatsResponse.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *DomainsDomainStatsQueryCall) Do(opts ...googleapi.CallOption) (*QueryDomainStatsResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &QueryDomainStatsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + b, err := gensupport.DecodeResponseBytes(target, res) + if err != nil { + return nil, err + } + c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "gmailpostmastertools.domains.domainStats.query", "response", internallog.HTTPResponse(res, b)) + return ret, nil +} + +// Pages invokes f for each page of results. +// A non-nil error returned from f will halt the iteration. +// The provided context supersedes any context provided to the Context method. +func (c *DomainsDomainStatsQueryCall) Pages(ctx context.Context, f func(*QueryDomainStatsResponse) error) error { + c.ctx_ = ctx + defer func(pt string) { c.querydomainstatsrequest.PageToken = pt }(c.querydomainstatsrequest.PageToken) + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.querydomainstatsrequest.PageToken = x.NextPageToken + } +} diff --git a/hypercomputecluster/v1/hypercomputecluster-api.json b/hypercomputecluster/v1/hypercomputecluster-api.json index 06c5ca42e6..c8cb23215b 100644 --- a/hypercomputecluster/v1/hypercomputecluster-api.json +++ b/hypercomputecluster/v1/hypercomputecluster-api.json @@ -12,7 +12,7 @@ "baseUrl": "https://hypercomputecluster.googleapis.com/", "batchPath": "batch", "canonicalName": "Hypercompute Cluster", - "description": "", + "description": "The Cluster Director API allows you to deploy, manage, and monitor clusters that run AI, ML, or HPC workloads.", "discoveryVersion": "v1", "documentationLink": "https://docs.cloud.google.com/cluster-director/docs", "fullyEncodeReservedExpansion": true, @@ -135,7 +135,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service.", + "description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "hypercomputecluster.projects.locations.list", @@ -498,7 +498,7 @@ } } }, - "revision": "20260121", + "revision": "20260204", "rootUrl": "https://hypercomputecluster.googleapis.com/", "schemas": { "BootDisk": { @@ -1321,16 +1321,16 @@ "type": "string" }, "terminationAction": { - "description": "Optional. Specifies the termination action of the instance", + "description": "Optional. Termination action for the instance. If not specified, Compute Engine sets the termination action to DELETE.", "enum": [ "TERMINATION_ACTION_UNSPECIFIED", "STOP", "DELETE" ], "enumDescriptions": [ - "Unspecified termination action", - "Stop the instance", - "Delete the instance" + "Not set.", + "Compute Engine stops the Spot VM on preemption.", + "Compute Engine deletes the Spot VM on preemption." ], "type": "string" }, @@ -1421,7 +1421,7 @@ "type": "object" }, "OperationProgress": { - "description": "Message describing the progress of a cluster mutation long-running operation. operation.", + "description": "Message describing the progress of a cluster mutation long-running operation.", "id": "OperationProgress", "properties": { "steps": { @@ -1648,7 +1648,7 @@ "id": "SlurmNodeSet", "properties": { "computeId": { - "description": "Optional. ID of the compute resource on which this nodeset will run. Must match a key in the cluster's [compute_resources](Cluster.compute_resources).", + "description": "Optional. ID of the compute resource on which this nodeset will run. Must match a key in the cluster's compute_resources.", "type": "string" }, "computeInstance": { @@ -1699,14 +1699,14 @@ "description": "Required. Configuration for login nodes, which allow users to access the cluster over SSH." }, "nodeSets": { - "description": "Required. Configuration of Slurm nodesets, which define groups of compute resources that can be used by Slurm. At least one compute node is required.", + "description": "Optional. Compute resource configuration for the Slurm nodesets in your cluster. If not specified, the cluster won't create any nodes.", "items": { "$ref": "SlurmNodeSet" }, "type": "array" }, "partitions": { - "description": "Required. Configuration of Slurm partitions, which group one or more nodesets. Acts as a queue against which jobs can be submitted. At least one partition is required.", + "description": "Optional. Configuration for the Slurm partitions in your cluster. Each partition can contain one or more nodesets, and you can submit separate jobs on each partition. If you don't specify at least one partition in your cluster, you can't submit jobs to the cluster.", "items": { "$ref": "SlurmPartition" }, @@ -1772,7 +1772,7 @@ "id": "StorageConfig", "properties": { "id": { - "description": "Required. ID of the storage resource to mount, which must match a key in the cluster's [storage_resources](Cluster.storage_resources).", + "description": "Required. ID of the storage resource to mount, which must match a key in the cluster's storage_resources.", "type": "string" }, "localMount": { diff --git a/hypercomputecluster/v1/hypercomputecluster-gen.go b/hypercomputecluster/v1/hypercomputecluster-gen.go index 111aee40ce..1490f3a384 100644 --- a/hypercomputecluster/v1/hypercomputecluster-gen.go +++ b/hypercomputecluster/v1/hypercomputecluster-gen.go @@ -1450,13 +1450,13 @@ type NewSpotInstancesConfig struct { // (https://cloud.google.com/compute/docs/machine-resource) to use, e.g. // `n2-standard-2`. MachineType string `json:"machineType,omitempty"` - // TerminationAction: Optional. Specifies the termination action of the - // instance + // TerminationAction: Optional. Termination action for the instance. If not + // specified, Compute Engine sets the termination action to DELETE. // // Possible values: - // "TERMINATION_ACTION_UNSPECIFIED" - Unspecified termination action - // "STOP" - Stop the instance - // "DELETE" - Delete the instance + // "TERMINATION_ACTION_UNSPECIFIED" - Not set. + // "STOP" - Compute Engine stops the Spot VM on preemption. + // "DELETE" - Compute Engine deletes the Spot VM on preemption. TerminationAction string `json:"terminationAction,omitempty"` // Zone: Required. Immutable. Name of the zone in which VM instances should // run, e.g., `us-central1-a`. Must be in the same region as the cluster, and @@ -1566,7 +1566,7 @@ func (s OperationMetadata) MarshalJSON() ([]byte, error) { } // OperationProgress: Message describing the progress of a cluster mutation -// long-running operation. operation. +// long-running operation. type OperationProgress struct { // Steps: Output only. Steps and status of the operation. Steps []*OperationStep `json:"steps,omitempty"` @@ -1776,8 +1776,7 @@ func (s SlurmLoginNodes) MarshalJSON() ([]byte, error) { // workloads submitted to the cluster. type SlurmNodeSet struct { // ComputeId: Optional. ID of the compute resource on which this nodeset will - // run. Must match a key in the cluster's compute_resources - // (Cluster.compute_resources). + // run. Must match a key in the cluster's compute_resources. ComputeId string `json:"computeId,omitempty"` // ComputeInstance: Optional. If set, indicates that the nodeset should be // backed by Compute Engine instances. @@ -1834,13 +1833,13 @@ type SlurmOrchestrator struct { // LoginNodes: Required. Configuration for login nodes, which allow users to // access the cluster over SSH. LoginNodes *SlurmLoginNodes `json:"loginNodes,omitempty"` - // NodeSets: Required. Configuration of Slurm nodesets, which define groups of - // compute resources that can be used by Slurm. At least one compute node is - // required. + // NodeSets: Optional. Compute resource configuration for the Slurm nodesets in + // your cluster. If not specified, the cluster won't create any nodes. NodeSets []*SlurmNodeSet `json:"nodeSets,omitempty"` - // Partitions: Required. Configuration of Slurm partitions, which group one or - // more nodesets. Acts as a queue against which jobs can be submitted. At least - // one partition is required. + // Partitions: Optional. Configuration for the Slurm partitions in your + // cluster. Each partition can contain one or more nodesets, and you can submit + // separate jobs on each partition. If you don't specify at least one partition + // in your cluster, you can't submit jobs to the cluster. Partitions []*SlurmPartition `json:"partitions,omitempty"` // PrologBashScripts: Optional. Slurm prolog scripts // (https://slurm.schedmd.com/prolog_epilog.html), which will be executed by @@ -1932,7 +1931,7 @@ func (s Status) MarshalJSON() ([]byte, error) { // VM instance. type StorageConfig struct { // Id: Required. ID of the storage resource to mount, which must match a key in - // the cluster's storage_resources (Cluster.storage_resources). + // the cluster's storage_resources. Id string `json:"id,omitempty"` // LocalMount: Required. A directory inside the VM instance's file system where // the storage resource should be mounted (e.g., `/mnt/share`). @@ -2205,7 +2204,11 @@ type ProjectsLocationsListCall struct { header_ http.Header } -// List: Lists information about the supported locations for this service. +// List: Lists information about the supported locations for this service. This +// method can be called in two ways: * **List all public locations:** Use the +// path `GET /v1/locations`. * **List project-visible locations:** Use the path +// `GET /v1/projects/{project_id}/locations`. This may include public locations +// as well as private or other locations specifically visible to the project. // // - name: The resource that owns the locations collection, if applicable. func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall { diff --git a/iam/v1/iam-api.json b/iam/v1/iam-api.json index ef6468efb2..6eaf1fc9b0 100644 --- a/iam/v1/iam-api.json +++ b/iam/v1/iam-api.json @@ -4160,7 +4160,7 @@ } } }, - "revision": "20260123", + "revision": "20260206", "rootUrl": "https://iam.googleapis.com/", "schemas": { "AccessRestrictions": { @@ -4546,14 +4546,12 @@ "enum": [ "ATTRIBUTES_TYPE_UNSPECIFIED", "AZURE_AD_GROUPS_MAIL", - "AZURE_AD_GROUPS_ID", - "AZURE_AD_GROUPS_DISPLAY_NAME" + "AZURE_AD_GROUPS_ID" ], "enumDescriptions": [ "No AttributesType specified.", "Used to get the user's group claims from the Microsoft Entra ID identity provider using the configuration provided in ExtraAttributesOAuth2Client. The `mail` property of the `microsoft.graph.group` object is used for claim mapping. See https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties for more details on `microsoft.graph.group` properties. The group mail addresses of the user's groups that are returned from Microsoft Entra ID can be mapped by using the following attributes: * OIDC: `assertion.groups` * SAML: `assertion.attributes.groups`", - "Used to get the user's group claims from the Microsoft Entra ID identity provider using the configuration provided in ExtraAttributesOAuth2Client. The `id` property of the `microsoft.graph.group` object is used for claim mapping. See https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties for more details on `microsoft.graph.group` properties. The group IDs of the user's groups that are returned from Microsoft Entra ID can be mapped by using the following attributes: * OIDC: `assertion.groups` * SAML: `assertion.attributes.groups`", - "Used to get the user's group claims from the Microsoft Entra ID identity provider using the configuration provided in ExtraAttributesOAuth2Client. The `displayName` property of the `microsoft.graph.group` object is used for claim mapping. See https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties for more details on `microsoft.graph.group` properties. The display names of the user's groups that are returned from Microsoft Entra ID can be mapped by using the following attributes: * OIDC: `assertion.groups` * SAML: `assertion.attributes.groups`" + "Used to get the user's group claims from the Microsoft Entra ID identity provider using the configuration provided in ExtraAttributesOAuth2Client. The `id` property of the `microsoft.graph.group` object is used for claim mapping. See https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties for more details on `microsoft.graph.group` properties. The group IDs of the user's groups that are returned from Microsoft Entra ID can be mapped by using the following attributes: * OIDC: `assertion.groups` * SAML: `assertion.attributes.groups`" ], "type": "string" }, @@ -6340,7 +6338,7 @@ }, "extraAttributesOauth2Client": { "$ref": "GoogleIamAdminV1WorkforcePoolProviderExtraAttributesOAuth2Client", - "description": "Optional. The configuration for OAuth 2.0 client used to get the additional user attributes. This should be used when users can't get the desired claims in authentication credentials. Currently, this configuration is only supported with OIDC protocol." + "description": "Optional. Defines the configuration for the OAuth 2.0 client that is used to get the additional user attributes in a separate backchannel call to the identity provider. This should be used when users can't get the required claims in authentication credentials. Currently, the OAuth 2.0 protocol is the only supported authorization method for this backchannel call." }, "name": { "description": "Identifier. The resource name of the provider. Format: `locations/{location}/workforcePools/{workforce_pool_id}/providers/{provider_id}`", diff --git a/iam/v1/iam-gen.go b/iam/v1/iam-gen.go index 16c6664773..dc43cfec83 100644 --- a/iam/v1/iam-gen.go +++ b/iam/v1/iam-gen.go @@ -1273,15 +1273,6 @@ type GoogleIamAdminV1WorkforcePoolProviderExtraAttributesOAuth2Client struct { // user's groups that are returned from Microsoft Entra ID can be mapped by // using the following attributes: * OIDC: `assertion.groups` * SAML: // `assertion.attributes.groups` - // "AZURE_AD_GROUPS_DISPLAY_NAME" - Used to get the user's group claims from - // the Microsoft Entra ID identity provider using the configuration provided in - // ExtraAttributesOAuth2Client. The `displayName` property of the - // `microsoft.graph.group` object is used for claim mapping. See - // https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties - // for more details on `microsoft.graph.group` properties. The display names of - // the user's groups that are returned from Microsoft Entra ID can be mapped by - // using the following attributes: * OIDC: `assertion.groups` * SAML: - // `assertion.attributes.groups` AttributesType string `json:"attributesType,omitempty"` // ClientId: Required. The OAuth 2.0 client ID for retrieving extra attributes // from the identity provider. Required to get the Access Token using client @@ -3891,10 +3882,12 @@ type WorkforcePoolProvider struct { // intervals during the user's active session. Each user identity in the // workforce identity pool must map to a unique Microsoft Entra ID user. ExtendedAttributesOauth2Client *GoogleIamAdminV1WorkforcePoolProviderExtraAttributesOAuth2Client `json:"extendedAttributesOauth2Client,omitempty"` - // ExtraAttributesOauth2Client: Optional. The configuration for OAuth 2.0 - // client used to get the additional user attributes. This should be used when - // users can't get the desired claims in authentication credentials. Currently, - // this configuration is only supported with OIDC protocol. + // ExtraAttributesOauth2Client: Optional. Defines the configuration for the + // OAuth 2.0 client that is used to get the additional user attributes in a + // separate backchannel call to the identity provider. This should be used when + // users can't get the required claims in authentication credentials. + // Currently, the OAuth 2.0 protocol is the only supported authorization method + // for this backchannel call. ExtraAttributesOauth2Client *GoogleIamAdminV1WorkforcePoolProviderExtraAttributesOAuth2Client `json:"extraAttributesOauth2Client,omitempty"` // Name: Identifier. The resource name of the provider. Format: // `locations/{location}/workforcePools/{workforce_pool_id}/providers/{provider_ diff --git a/iap/v1/iap-api.json b/iap/v1/iap-api.json index 976475f2a3..ea60d4ead0 100644 --- a/iap/v1/iap-api.json +++ b/iap/v1/iap-api.json @@ -682,7 +682,7 @@ } } }, - "revision": "20251013", + "revision": "20260209", "rootUrl": "https://iap.googleapis.com/", "schemas": { "AccessDeniedPageSettings": { @@ -1098,6 +1098,19 @@ "description": "Configuration for OAuth login\u0026consent flow behavior as well as for OAuth Credentials.", "id": "OAuthSettings", "properties": { + "clientId": { + "description": "Optional. OAuth 2.0 client ID used in the OAuth flow to generate an access token. If this field is set, you can skip obtaining the OAuth credentials in this step: https://developers.google.com/identity/protocols/OAuth2?hl=en_US#1.-obtain-oauth-2.0-credentials-from-the-google-api-console. However, this could allow for client sharing. The risks of client sharing are outlined here: https://cloud.google.com/iap/docs/sharing-oauth-clients#risks.", + "type": "string" + }, + "clientSecret": { + "description": "Optional. Input only. OAuth secret paired with client ID", + "type": "string" + }, + "clientSecretSha256": { + "description": "Output only. OAuth secret sha256 paired with client ID", + "readOnly": true, + "type": "string" + }, "loginHint": { "description": "Domain hint to send as hd=? parameter in OAuth request flow. Enables redirect to primary IDP by skipping Google's login screen. https://developers.google.com/identity/protocols/OpenIDConnect#hd-param Note: IAP does not verify that the id token's hd claim matches this value since access behavior is managed by IAM policies.", "type": "string" diff --git a/iap/v1/iap-gen.go b/iap/v1/iap-gen.go index d2c01e68a2..4662eba54f 100644 --- a/iap/v1/iap-gen.go +++ b/iap/v1/iap-gen.go @@ -961,6 +961,18 @@ func (s OAuth2) MarshalJSON() ([]byte, error) { // OAuthSettings: Configuration for OAuth login&consent flow behavior as well // as for OAuth Credentials. type OAuthSettings struct { + // ClientId: Optional. OAuth 2.0 client ID used in the OAuth flow to generate + // an access token. If this field is set, you can skip obtaining the OAuth + // credentials in this step: + // https://developers.google.com/identity/protocols/OAuth2?hl=en_US#1.-obtain-oauth-2.0-credentials-from-the-google-api-console. + // However, this could allow for client sharing. The risks of client sharing + // are outlined here: + // https://cloud.google.com/iap/docs/sharing-oauth-clients#risks. + ClientId string `json:"clientId,omitempty"` + // ClientSecret: Optional. Input only. OAuth secret paired with client ID + ClientSecret string `json:"clientSecret,omitempty"` + // ClientSecretSha256: Output only. OAuth secret sha256 paired with client ID + ClientSecretSha256 string `json:"clientSecretSha256,omitempty"` // LoginHint: Domain hint to send as hd=? parameter in OAuth request flow. // Enables redirect to primary IDP by skipping Google's login screen. // https://developers.google.com/identity/protocols/OpenIDConnect#hd-param @@ -970,13 +982,13 @@ type OAuthSettings struct { // ProgrammaticClients: Optional. List of client ids allowed to use IAP // programmatically. ProgrammaticClients []string `json:"programmaticClients,omitempty"` - // ForceSendFields is a list of field names (e.g. "LoginHint") to + // ForceSendFields is a list of field names (e.g. "ClientId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LoginHint") to include in API + // NullFields is a list of field names (e.g. "ClientId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. diff --git a/ondemandscanning/v1/ondemandscanning-api.json b/ondemandscanning/v1/ondemandscanning-api.json index f2f0602288..3ee16fb1cc 100644 --- a/ondemandscanning/v1/ondemandscanning-api.json +++ b/ondemandscanning/v1/ondemandscanning-api.json @@ -344,7 +344,7 @@ } } }, - "revision": "20260202", + "revision": "20260209", "rootUrl": "https://ondemandscanning.googleapis.com/", "schemas": { "AliasContext": { @@ -525,6 +525,10 @@ "description": "The name of the base image.", "type": "string" }, + "registry": { + "description": "The registry in which the base image is from.", + "type": "string" + }, "repository": { "description": "The repository name in which the base image is from.", "type": "string" diff --git a/ondemandscanning/v1/ondemandscanning-gen.go b/ondemandscanning/v1/ondemandscanning-gen.go index 7f92a0e46f..864fbe8fbb 100644 --- a/ondemandscanning/v1/ondemandscanning-gen.go +++ b/ondemandscanning/v1/ondemandscanning-gen.go @@ -472,6 +472,8 @@ type BaseImage struct { LayerCount int64 `json:"layerCount,omitempty"` // Name: The name of the base image. Name string `json:"name,omitempty"` + // Registry: The registry in which the base image is from. + Registry string `json:"registry,omitempty"` // Repository: The repository name in which the base image is from. Repository string `json:"repository,omitempty"` // ForceSendFields is a list of field names (e.g. "LayerCount") to diff --git a/ondemandscanning/v1beta1/ondemandscanning-api.json b/ondemandscanning/v1beta1/ondemandscanning-api.json index 2b33b73061..29b032cce8 100644 --- a/ondemandscanning/v1beta1/ondemandscanning-api.json +++ b/ondemandscanning/v1beta1/ondemandscanning-api.json @@ -344,7 +344,7 @@ } } }, - "revision": "20260202", + "revision": "20260209", "rootUrl": "https://ondemandscanning.googleapis.com/", "schemas": { "AliasContext": { @@ -520,6 +520,10 @@ "description": "The name of the base image.", "type": "string" }, + "registry": { + "description": "The registry in which the base image is from.", + "type": "string" + }, "repository": { "description": "The repository name in which the base image is from.", "type": "string" diff --git a/ondemandscanning/v1beta1/ondemandscanning-gen.go b/ondemandscanning/v1beta1/ondemandscanning-gen.go index 15db74c5b2..4134a52f93 100644 --- a/ondemandscanning/v1beta1/ondemandscanning-gen.go +++ b/ondemandscanning/v1beta1/ondemandscanning-gen.go @@ -468,6 +468,8 @@ type BaseImage struct { LayerCount int64 `json:"layerCount,omitempty"` // Name: The name of the base image. Name string `json:"name,omitempty"` + // Registry: The registry in which the base image is from. + Registry string `json:"registry,omitempty"` // Repository: The repository name in which the base image is from. Repository string `json:"repository,omitempty"` // ForceSendFields is a list of field names (e.g. "LayerCount") to diff --git a/recommender/v1beta1/recommender-api.json b/recommender/v1beta1/recommender-api.json index 19190d2396..2a0cc7b369 100644 --- a/recommender/v1beta1/recommender-api.json +++ b/recommender/v1beta1/recommender-api.json @@ -1944,7 +1944,7 @@ } } }, - "revision": "20251026", + "revision": "20260208", "rootUrl": "https://recommender.googleapis.com/", "schemas": { "GoogleCloudLocationListLocationsResponse": { @@ -2063,13 +2063,6 @@ "$ref": "GoogleCloudRecommenderV1beta1CostProjection", "description": "Use with CategoryType.COST" }, - "impactComponents": { - "description": "If populated, the impact contains multiple components. In this case, the top-level impact contains aggregated values and each component contains per-service details.", - "items": { - "$ref": "GoogleCloudRecommenderV1beta1Impact" - }, - "type": "array" - }, "reliabilityProjection": { "$ref": "GoogleCloudRecommenderV1beta1ReliabilityProjection", "description": "Use with CategoryType.RELIABILITY" diff --git a/recommender/v1beta1/recommender-gen.go b/recommender/v1beta1/recommender-gen.go index f077e7ec39..e057fb7083 100644 --- a/recommender/v1beta1/recommender-gen.go +++ b/recommender/v1beta1/recommender-gen.go @@ -585,10 +585,6 @@ type GoogleCloudRecommenderV1beta1Impact struct { Category string `json:"category,omitempty"` // CostProjection: Use with CategoryType.COST CostProjection *GoogleCloudRecommenderV1beta1CostProjection `json:"costProjection,omitempty"` - // ImpactComponents: If populated, the impact contains multiple components. In - // this case, the top-level impact contains aggregated values and each - // component contains per-service details. - ImpactComponents []*GoogleCloudRecommenderV1beta1Impact `json:"impactComponents,omitempty"` // ReliabilityProjection: Use with CategoryType.RELIABILITY ReliabilityProjection *GoogleCloudRecommenderV1beta1ReliabilityProjection `json:"reliabilityProjection,omitempty"` // SecurityProjection: Use with CategoryType.SECURITY diff --git a/threatintelligence/v1beta/threatintelligence-api.json b/threatintelligence/v1beta/threatintelligence-api.json index f929d57ccb..0595c93311 100644 --- a/threatintelligence/v1beta/threatintelligence-api.json +++ b/threatintelligence/v1beta/threatintelligence-api.json @@ -14,7 +14,29 @@ "canonicalName": "Threat Intelligence Service", "description": "threatintelligence.googleapis.com API.", "discoveryVersion": "v1", - "documentationLink": "https://cloud.google.com/threatintelligence/docs/reference/rest", + "documentationLink": "https://docs.cloud.google.com/threatintelligence/", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://threatintelligence.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://threatintelligence.us-east5.rep.googleapis.com/", + "location": "us-east5" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://threatintelligence.us-west2.rep.googleapis.com/", + "location": "us-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://threatintelligence.us.rep.googleapis.com/", + "location": "us" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -866,7 +888,7 @@ } } }, - "revision": "20260204", + "revision": "20260211", "rootUrl": "https://threatintelligence.googleapis.com/", "schemas": { "AffectedSoftware": { diff --git a/threatintelligence/v1beta/threatintelligence-gen.go b/threatintelligence/v1beta/threatintelligence-gen.go index 326ed4a08b..73ca3cc052 100644 --- a/threatintelligence/v1beta/threatintelligence-gen.go +++ b/threatintelligence/v1beta/threatintelligence-gen.go @@ -6,7 +6,7 @@ // Package threatintelligence provides access to the Threat Intelligence API. // -// For product documentation, see: https://cloud.google.com/threatintelligence/docs/reference/rest +// For product documentation, see: https://docs.cloud.google.com/threatintelligence/ // // # Library status //