diff --git a/admob/v1beta/admob-api.json b/admob/v1beta/admob-api.json index 821e210ea8d..fd35c6a55ae 100644 --- a/admob/v1beta/admob-api.json +++ b/admob/v1beta/admob-api.json @@ -168,6 +168,44 @@ } }, "resources": { + "adSources": { + "methods": { + "list": { + "description": "List the ad sources.", + "flatPath": "v1beta/accounts/{accountsId}/adSources", + "httpMethod": "GET", + "id": "admob.accounts.adSources.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of ad sources to return. If unspecified or 0, at most 1000 ad sources will be returned. The maximum value is 10,000; values above 10,000 will be coerced to 10,000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListAdSources` call. Provide this to retrieve the subsequent page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent which owns this collection of ad sources. Format: accounts/{publisher_id}", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/adSources", + "response": { + "$ref": "ListAdSourcesResponse" + }, + "streamingType": "NONE" + } + } + }, "adUnits": { "methods": { "list": { @@ -321,9 +359,28 @@ } } }, - "revision": "20220301", + "revision": "20220428", "rootUrl": "https://admob.googleapis.com/", "schemas": { + "AdSource": { + "description": "Definition of a mediation ad source.", + "id": "AdSource", + "properties": { + "adSourceId": { + "description": "ID of this ad source.", + "type": "string" + }, + "name": { + "description": "Resource name of this ad source. Format is: accounts/{publisher_id}/adSources/{ad_source_id}", + "type": "string" + }, + "title": { + "description": "Display name of this ad source.", + "type": "string" + } + }, + "type": "object" + }, "AdUnit": { "description": "Describes an AdMob ad unit.", "id": "AdUnit", @@ -509,6 +566,24 @@ }, "type": "object" }, + "ListAdSourcesResponse": { + "description": "Response for the ListAdSourcesRequest.", + "id": "ListAdSourcesResponse", + "properties": { + "adSources": { + "description": "The ad sources.", + "items": { + "$ref": "AdSource" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Used to set the `page_token` in the `ListAdSourcesRequest` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, "ListAdUnitsResponse": { "description": "Response for the ad units list request.", "id": "ListAdUnitsResponse", diff --git a/admob/v1beta/admob-gen.go b/admob/v1beta/admob-gen.go index 85d9402db19..e29778f6a5a 100644 --- a/admob/v1beta/admob-gen.go +++ b/admob/v1beta/admob-gen.go @@ -146,6 +146,7 @@ func (s *Service) userAgent() string { func NewAccountsService(s *Service) *AccountsService { rs := &AccountsService{s: s} + rs.AdSources = NewAccountsAdSourcesService(s) rs.AdUnits = NewAccountsAdUnitsService(s) rs.Apps = NewAccountsAppsService(s) rs.MediationReport = NewAccountsMediationReportService(s) @@ -156,6 +157,8 @@ func NewAccountsService(s *Service) *AccountsService { type AccountsService struct { s *Service + AdSources *AccountsAdSourcesService + AdUnits *AccountsAdUnitsService Apps *AccountsAppsService @@ -165,6 +168,15 @@ type AccountsService struct { NetworkReport *AccountsNetworkReportService } +func NewAccountsAdSourcesService(s *Service) *AccountsAdSourcesService { + rs := &AccountsAdSourcesService{s: s} + return rs +} + +type AccountsAdSourcesService struct { + s *Service +} + func NewAccountsAdUnitsService(s *Service) *AccountsAdUnitsService { rs := &AccountsAdUnitsService{s: s} return rs @@ -201,6 +213,41 @@ type AccountsNetworkReportService struct { s *Service } +// AdSource: Definition of a mediation ad source. +type AdSource struct { + // AdSourceId: ID of this ad source. + AdSourceId string `json:"adSourceId,omitempty"` + + // Name: Resource name of this ad source. Format is: + // accounts/{publisher_id}/adSources/{ad_source_id} + Name string `json:"name,omitempty"` + + // Title: Display name of this ad source. + Title string `json:"title,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AdSourceId") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AdSourceId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *AdSource) MarshalJSON() ([]byte, error) { + type NoMethod AdSource + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // AdUnit: Describes an AdMob ad unit. type AdUnit struct { // AdFormat: AdFormat of the ad unit. Possible values are as follows: @@ -624,6 +671,43 @@ func (s *GenerateNetworkReportResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ListAdSourcesResponse: Response for the ListAdSourcesRequest. +type ListAdSourcesResponse struct { + // AdSources: The ad sources. + AdSources []*AdSource `json:"adSources,omitempty"` + + // NextPageToken: Used to set the `page_token` in the + // `ListAdSourcesRequest` to retrieve the next page. If this field is + // omitted, there are no subsequent pages. + 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. "AdSources") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AdSources") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListAdSourcesResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListAdSourcesResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ListAdUnitsResponse: Response for the ad units list request. type ListAdUnitsResponse struct { // AdUnits: The resulting ad units for the requested account. @@ -2118,6 +2202,200 @@ func (c *AccountsListCall) Pages(ctx context.Context, f func(*ListPublisherAccou } } +// method id "admob.accounts.adSources.list": + +type AccountsAdSourcesListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: List the ad sources. +// +// - parent: The parent which owns this collection of ad sources. +// Format: accounts/{publisher_id}. +func (r *AccountsAdSourcesService) List(parent string) *AccountsAdSourcesListCall { + c := &AccountsAdSourcesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": The maximum number +// of ad sources to return. If unspecified or 0, at most 1000 ad sources +// will be returned. The maximum value is 10,000; values above 10,000 +// will be coerced to 10,000. +func (c *AccountsAdSourcesListCall) PageSize(pageSize int64) *AccountsAdSourcesListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": A page token, +// received from a previous `ListAdSources` call. Provide this to +// retrieve the subsequent page. +func (c *AccountsAdSourcesListCall) PageToken(pageToken string) *AccountsAdSourcesListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *AccountsAdSourcesListCall) Fields(s ...googleapi.Field) *AccountsAdSourcesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *AccountsAdSourcesListCall) IfNoneMatch(entityTag string) *AccountsAdSourcesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *AccountsAdSourcesListCall) Context(ctx context.Context) *AccountsAdSourcesListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *AccountsAdSourcesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *AccountsAdSourcesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/adSources") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "admob.accounts.adSources.list" call. +// Exactly one of *ListAdSourcesResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListAdSourcesResponse.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 *AccountsAdSourcesListCall) Do(opts ...googleapi.CallOption) (*ListAdSourcesResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &ListAdSourcesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "List the ad sources.", + // "flatPath": "v1beta/accounts/{accountsId}/adSources", + // "httpMethod": "GET", + // "id": "admob.accounts.adSources.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "pageSize": { + // "description": "The maximum number of ad sources to return. If unspecified or 0, at most 1000 ad sources will be returned. The maximum value is 10,000; values above 10,000 will be coerced to 10,000.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "A page token, received from a previous `ListAdSources` call. Provide this to retrieve the subsequent page.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required. The parent which owns this collection of ad sources. Format: accounts/{publisher_id}", + // "location": "path", + // "pattern": "^accounts/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta/{+parent}/adSources", + // "response": { + // "$ref": "ListAdSourcesResponse" + // }, + // "streamingType": "NONE" + // } + +} + +// 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 *AccountsAdSourcesListCall) Pages(ctx context.Context, f func(*ListAdSourcesResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + // method id "admob.accounts.adUnits.list": type AccountsAdUnitsListCall struct { diff --git a/androidmanagement/v1/androidmanagement-api.json b/androidmanagement/v1/androidmanagement-api.json index 75c2c615b55..9208636e019 100644 --- a/androidmanagement/v1/androidmanagement-api.json +++ b/androidmanagement/v1/androidmanagement-api.json @@ -1004,7 +1004,7 @@ } } }, - "revision": "20220404", + "revision": "20220425", "rootUrl": "https://androidmanagement.googleapis.com/", "schemas": { "AdvancedSecurityOverrides": { @@ -4064,12 +4064,14 @@ "enum": [ "SECURITY_RISK_UNSPECIFIED", "UNKNOWN_OS", - "COMPROMISED_OS" + "COMPROMISED_OS", + "HARDWARE_BACKED_EVALUATION_FAILED" ], "enumDescriptions": [ "Unspecified.", "SafetyNet detects that the device is running an unknown OS (basicIntegrity check succeeds but ctsProfileMatch fails).", - "SafetyNet detects that the device is running a compromised OS (basicIntegrity check fails)." + "SafetyNet detects that the device is running a compromised OS (basicIntegrity check fails).", + "SafetyNet detects that the device does not have a strong guarantee of system integrity, such as a hardware-backed keystore (https://developer.android.com/training/articles/security-key-attestation)." ], "type": "string" } diff --git a/androidmanagement/v1/androidmanagement-gen.go b/androidmanagement/v1/androidmanagement-gen.go index 2aa199618cd..c6bd97a52c9 100644 --- a/androidmanagement/v1/androidmanagement-gen.go +++ b/androidmanagement/v1/androidmanagement-gen.go @@ -4223,6 +4223,10 @@ type PostureDetail struct { // unknown OS (basicIntegrity check succeeds but ctsProfileMatch fails). // "COMPROMISED_OS" - SafetyNet detects that the device is running a // compromised OS (basicIntegrity check fails). + // "HARDWARE_BACKED_EVALUATION_FAILED" - SafetyNet detects that the + // device does not have a strong guarantee of system integrity, such as + // a hardware-backed keystore + // (https://developer.android.com/training/articles/security-key-attestation). SecurityRisk string `json:"securityRisk,omitempty"` // ForceSendFields is a list of field names (e.g. "Advice") to diff --git a/api-list.json b/api-list.json index 667dabaa720..24ebd33ef27 100644 --- a/api-list.json +++ b/api-list.json @@ -2524,6 +2524,21 @@ "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" }, "documentationLink": "https://firebase.google.com/docs/app-check", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "firebaseappcheck:v1", + "name": "firebaseappcheck", + "version": "v1", + "title": "Firebase App Check API", + "description": "Firebase App Check works alongside other Firebase services to help protect your backend resources from abuse, such as billing fraud or phishing.", + "discoveryRestUrl": "https://firebaseappcheck.googleapis.com/$discovery/rest?version=v1", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "documentationLink": "https://firebase.google.com/docs/app-check", "preferred": true }, { @@ -5330,6 +5345,21 @@ "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" }, "documentationLink": "https://developers.google.com/chrome/verified-access", + "preferred": false + }, + { + "kind": "discovery#directoryItem", + "id": "verifiedaccess:v2", + "name": "verifiedaccess", + "version": "v2", + "title": "Chrome Verified Access API", + "description": "API for Verified Access chrome extension to provide credential verification for chrome devices connecting to an enterprise network", + "discoveryRestUrl": "https://verifiedaccess.googleapis.com/$discovery/rest?version=v2", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "documentationLink": "https://developers.google.com/chrome/verified-access", "preferred": true }, { diff --git a/artifactregistry/v1/artifactregistry-api.json b/artifactregistry/v1/artifactregistry-api.json index 3c52b9447db..287c9b21a86 100644 --- a/artifactregistry/v1/artifactregistry-api.json +++ b/artifactregistry/v1/artifactregistry-api.json @@ -1207,7 +1207,7 @@ } } }, - "revision": "20220401", + "revision": "20220425", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "AptArtifact": { @@ -1258,6 +1258,20 @@ }, "type": "object" }, + "BatchDeleteVersionsMetadata": { + "description": "The metadata of an LRO from deleting multiple versions.", + "id": "BatchDeleteVersionsMetadata", + "properties": { + "failedVersions": { + "description": "The versions the operation failed to delete.", + "items": { + "$ref": "Version" + }, + "type": "array" + } + }, + "type": "object" + }, "Binding": { "description": "Associates `members`, or principals, with a `role`.", "id": "Binding", @@ -1267,7 +1281,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, @@ -1931,7 +1945,7 @@ "properties": { "policy": { "$ref": "Policy", - "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them." + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." } }, "type": "object" @@ -1983,7 +1997,7 @@ "id": "TestIamPermissionsRequest", "properties": { "permissions": { - "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", "items": { "type": "string" }, @@ -2017,6 +2031,12 @@ }, "type": "object" }, + "UploadAptArtifactMetadata": { + "description": "The operation metadata for uploading artifacts.", + "id": "UploadAptArtifactMetadata", + "properties": {}, + "type": "object" + }, "UploadAptArtifactRequest": { "description": "The request to upload an artifact.", "id": "UploadAptArtifactRequest", @@ -2048,6 +2068,12 @@ }, "type": "object" }, + "UploadYumArtifactMetadata": { + "description": "The operation metadata for uploading artifacts.", + "id": "UploadYumArtifactMetadata", + "properties": {}, + "type": "object" + }, "UploadYumArtifactRequest": { "description": "The request to upload an artifact.", "id": "UploadYumArtifactRequest", diff --git a/artifactregistry/v1/artifactregistry-gen.go b/artifactregistry/v1/artifactregistry-gen.go index f1b17811251..88444dda2f8 100644 --- a/artifactregistry/v1/artifactregistry-gen.go +++ b/artifactregistry/v1/artifactregistry-gen.go @@ -328,6 +328,36 @@ func (s *AptArtifact) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// BatchDeleteVersionsMetadata: The metadata of an LRO from deleting +// multiple versions. +type BatchDeleteVersionsMetadata struct { + // FailedVersions: The versions the operation failed to delete. + FailedVersions []*Version `json:"failedVersions,omitempty"` + + // ForceSendFields is a list of field names (e.g. "FailedVersions") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "FailedVersions") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *BatchDeleteVersionsMetadata) MarshalJSON() ([]byte, error) { + type NoMethod BatchDeleteVersionsMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Binding: Associates `members`, or principals, with a `role`. type Binding struct { // Condition: The condition that is associated with this binding. If the @@ -340,8 +370,8 @@ type Binding struct { // (https://cloud.google.com/iam/help/conditions/resource-policies). Condition *Expr `json:"condition,omitempty"` - // Members: Specifies the principals requesting access for a Cloud - // Platform resource. `members` can have the following values: * + // Members: Specifies the principals requesting access for a Google + // Cloud resource. `members` can have the following values: * // `allUsers`: A special identifier that represents anyone who is on the // internet; with or without a Google account. * // `allAuthenticatedUsers`: A special identifier that represents anyone @@ -1588,7 +1618,7 @@ func (s *Repository) MarshalJSON() ([]byte, error) { type SetIamPolicyRequest struct { // Policy: REQUIRED: The complete policy to be applied to the // `resource`. The size of the policy is limited to a few 10s of KB. An - // empty policy is a valid policy but certain Cloud Platform services + // empty policy is a valid policy but certain Google Cloud services // (such as Projects) might reject them. Policy *Policy `json:"policy,omitempty"` @@ -1706,7 +1736,7 @@ func (s *Tag) MarshalJSON() ([]byte, error) { // method. type TestIamPermissionsRequest struct { // Permissions: The set of permissions to check for the `resource`. - // Permissions with wildcards (such as '*' or 'storage.*') are not + // Permissions with wildcards (such as `*` or `storage.*`) are not // allowed. For more information see IAM Overview // (https://cloud.google.com/iam/docs/overview#permissions). Permissions []string `json:"permissions,omitempty"` @@ -1800,6 +1830,11 @@ func (s *UploadAptArtifactMediaResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// UploadAptArtifactMetadata: The operation metadata for uploading +// artifacts. +type UploadAptArtifactMetadata struct { +} + // UploadAptArtifactRequest: The request to upload an artifact. type UploadAptArtifactRequest struct { } @@ -1866,6 +1901,11 @@ func (s *UploadYumArtifactMediaResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// UploadYumArtifactMetadata: The operation metadata for uploading +// artifacts. +type UploadYumArtifactMetadata struct { +} + // UploadYumArtifactRequest: The request to upload an artifact. type UploadYumArtifactRequest struct { } diff --git a/artifactregistry/v1beta1/artifactregistry-api.json b/artifactregistry/v1beta1/artifactregistry-api.json index 12b5d192b2b..39d57ba9cc9 100644 --- a/artifactregistry/v1beta1/artifactregistry-api.json +++ b/artifactregistry/v1beta1/artifactregistry-api.json @@ -929,7 +929,7 @@ } } }, - "revision": "20220401", + "revision": "20220425", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "Binding": { @@ -941,7 +941,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, @@ -1342,7 +1342,7 @@ "properties": { "policy": { "$ref": "Policy", - "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them." + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." } }, "type": "object" @@ -1394,7 +1394,7 @@ "id": "TestIamPermissionsRequest", "properties": { "permissions": { - "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", "items": { "type": "string" }, diff --git a/artifactregistry/v1beta1/artifactregistry-gen.go b/artifactregistry/v1beta1/artifactregistry-gen.go index 36e9c43f4d6..705bd838f3c 100644 --- a/artifactregistry/v1beta1/artifactregistry-gen.go +++ b/artifactregistry/v1beta1/artifactregistry-gen.go @@ -251,8 +251,8 @@ type Binding struct { // (https://cloud.google.com/iam/help/conditions/resource-policies). Condition *Expr `json:"condition,omitempty"` - // Members: Specifies the principals requesting access for a Cloud - // Platform resource. `members` can have the following values: * + // Members: Specifies the principals requesting access for a Google + // Cloud resource. `members` can have the following values: * // `allUsers`: A special identifier that represents anyone who is on the // internet; with or without a Google account. * // `allAuthenticatedUsers`: A special identifier that represents anyone @@ -1028,7 +1028,7 @@ func (s *Repository) MarshalJSON() ([]byte, error) { type SetIamPolicyRequest struct { // Policy: REQUIRED: The complete policy to be applied to the // `resource`. The size of the policy is limited to a few 10s of KB. An - // empty policy is a valid policy but certain Cloud Platform services + // empty policy is a valid policy but certain Google Cloud services // (such as Projects) might reject them. Policy *Policy `json:"policy,omitempty"` @@ -1146,7 +1146,7 @@ func (s *Tag) MarshalJSON() ([]byte, error) { // method. type TestIamPermissionsRequest struct { // Permissions: The set of permissions to check for the `resource`. - // Permissions with wildcards (such as '*' or 'storage.*') are not + // Permissions with wildcards (such as `*` or `storage.*`) are not // allowed. For more information see IAM Overview // (https://cloud.google.com/iam/docs/overview#permissions). Permissions []string `json:"permissions,omitempty"` diff --git a/artifactregistry/v1beta2/artifactregistry-api.json b/artifactregistry/v1beta2/artifactregistry-api.json index f02285cd73d..a5d6ef06b2d 100644 --- a/artifactregistry/v1beta2/artifactregistry-api.json +++ b/artifactregistry/v1beta2/artifactregistry-api.json @@ -1135,7 +1135,7 @@ } } }, - "revision": "20220401", + "revision": "20220425", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "AptArtifact": { @@ -1195,7 +1195,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, @@ -1800,7 +1800,7 @@ "properties": { "policy": { "$ref": "Policy", - "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them." + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." } }, "type": "object" @@ -1852,7 +1852,7 @@ "id": "TestIamPermissionsRequest", "properties": { "permissions": { - "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", "items": { "type": "string" }, @@ -1886,6 +1886,12 @@ }, "type": "object" }, + "UploadAptArtifactMetadata": { + "description": "The operation metadata for uploading artifacts.", + "id": "UploadAptArtifactMetadata", + "properties": {}, + "type": "object" + }, "UploadAptArtifactRequest": { "description": "The request to upload an artifact.", "id": "UploadAptArtifactRequest", @@ -1917,6 +1923,12 @@ }, "type": "object" }, + "UploadYumArtifactMetadata": { + "description": "The operation metadata for uploading artifacts.", + "id": "UploadYumArtifactMetadata", + "properties": {}, + "type": "object" + }, "UploadYumArtifactRequest": { "description": "The request to upload an artifact.", "id": "UploadYumArtifactRequest", diff --git a/artifactregistry/v1beta2/artifactregistry-gen.go b/artifactregistry/v1beta2/artifactregistry-gen.go index d45d66f2ee3..6018913c9be 100644 --- a/artifactregistry/v1beta2/artifactregistry-gen.go +++ b/artifactregistry/v1beta2/artifactregistry-gen.go @@ -328,8 +328,8 @@ type Binding struct { // (https://cloud.google.com/iam/help/conditions/resource-policies). Condition *Expr `json:"condition,omitempty"` - // Members: Specifies the principals requesting access for a Cloud - // Platform resource. `members` can have the following values: * + // Members: Specifies the principals requesting access for a Google + // Cloud resource. `members` can have the following values: * // `allUsers`: A special identifier that represents anyone who is on the // internet; with or without a Google account. * // `allAuthenticatedUsers`: A special identifier that represents anyone @@ -1470,7 +1470,7 @@ func (s *Repository) MarshalJSON() ([]byte, error) { type SetIamPolicyRequest struct { // Policy: REQUIRED: The complete policy to be applied to the // `resource`. The size of the policy is limited to a few 10s of KB. An - // empty policy is a valid policy but certain Cloud Platform services + // empty policy is a valid policy but certain Google Cloud services // (such as Projects) might reject them. Policy *Policy `json:"policy,omitempty"` @@ -1588,7 +1588,7 @@ func (s *Tag) MarshalJSON() ([]byte, error) { // method. type TestIamPermissionsRequest struct { // Permissions: The set of permissions to check for the `resource`. - // Permissions with wildcards (such as '*' or 'storage.*') are not + // Permissions with wildcards (such as `*` or `storage.*`) are not // allowed. For more information see IAM Overview // (https://cloud.google.com/iam/docs/overview#permissions). Permissions []string `json:"permissions,omitempty"` @@ -1682,6 +1682,11 @@ func (s *UploadAptArtifactMediaResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// UploadAptArtifactMetadata: The operation metadata for uploading +// artifacts. +type UploadAptArtifactMetadata struct { +} + // UploadAptArtifactRequest: The request to upload an artifact. type UploadAptArtifactRequest struct { } @@ -1748,6 +1753,11 @@ func (s *UploadYumArtifactMediaResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// UploadYumArtifactMetadata: The operation metadata for uploading +// artifacts. +type UploadYumArtifactMetadata struct { +} + // UploadYumArtifactRequest: The request to upload an artifact. type UploadYumArtifactRequest struct { } diff --git a/chat/v1/chat-api.json b/chat/v1/chat-api.json index addbf9451f1..7cf1d27e5f1 100644 --- a/chat/v1/chat-api.json +++ b/chat/v1/chat-api.json @@ -642,7 +642,7 @@ } } }, - "revision": "20220415", + "revision": "20220422", "rootUrl": "https://chat.googleapis.com/", "schemas": { "ActionParameter": { @@ -2391,8 +2391,7 @@ }, "member": { "$ref": "User", - "description": "Output only. A user in Google Chat. Represents a [person](https://developers.google.com/people/api/rest/v1/people) in the People API or a [user](https://developers.google.com/admin-sdk/directory/reference/rest/v1/users) in the Admin SDK Directory API. Format: `users/{user}`", - "readOnly": true + "description": "A Google Chat user or app. Format: `users/{person}` or `users/app` When `users/{person}`, represents a [person](https://developers.google.com/people/api/rest/v1/people) in the People API or a [user](https://developers.google.com/admin-sdk/directory/reference/rest/v1/users) in the Admin SDK Directory API. Format: `users/{user}` When `users/app`, represents a Chat app creating membership for itself. Creating membership is available as a [developer preview](https://developers.google.com/workspace/preview)." }, "name": { "type": "string" diff --git a/chat/v1/chat-gen.go b/chat/v1/chat-gen.go index e2057c3246e..5e8c70fa468 100644 --- a/chat/v1/chat-gen.go +++ b/chat/v1/chat-gen.go @@ -3016,11 +3016,15 @@ type Membership struct { // the time at which the member joined the space, if applicable. CreateTime string `json:"createTime,omitempty"` - // Member: Output only. A user in Google Chat. Represents a person + // Member: A Google Chat user or app. Format: `users/{person}` or + // `users/app` When `users/{person}`, represents a person // (https://developers.google.com/people/api/rest/v1/people) in the // People API or a user // (https://developers.google.com/admin-sdk/directory/reference/rest/v1/users) - // in the Admin SDK Directory API. Format: `users/{user}` + // in the Admin SDK Directory API. Format: `users/{user}` When + // `users/app`, represents a Chat app creating membership for itself. + // Creating membership is available as a developer preview + // (https://developers.google.com/workspace/preview). Member *User `json:"member,omitempty"` Name string `json:"name,omitempty"` diff --git a/chromemanagement/v1/chromemanagement-api.json b/chromemanagement/v1/chromemanagement-api.json index 3cb89f7ae64..745735e861e 100644 --- a/chromemanagement/v1/chromemanagement-api.json +++ b/chromemanagement/v1/chromemanagement-api.json @@ -488,7 +488,7 @@ } } }, - "revision": "20220405", + "revision": "20220428", "rootUrl": "https://chromemanagement.googleapis.com/", "schemas": { "GoogleChromeManagementV1AndroidAppInfo": { @@ -880,7 +880,7 @@ "Other operating system.", "Android operating system.", "Apple iOS operating system.", - "Chrome OS operating system.", + "ChromeOS operating system.", "Microsoft Windows operating system.", "Apple macOS operating system.", "Linux operating system." @@ -911,7 +911,7 @@ "type": "boolean" }, "isKioskOnly": { - "description": "Output only. Whether the app is only for Kiosk mode on Chrome OS devices", + "description": "Output only. Whether the app is only for Kiosk mode on ChromeOS devices", "readOnly": true, "type": "boolean" }, @@ -921,7 +921,7 @@ "type": "boolean" }, "kioskEnabled": { - "description": "Output only. Whether this app is enabled for Kiosk mode on Chrome OS devices", + "description": "Output only. Whether this app is enabled for Kiosk mode on ChromeOS devices", "readOnly": true, "type": "boolean" }, @@ -1779,7 +1779,7 @@ "type": "string" }, "deviceId": { - "description": "Output only. The unique Directory API ID of the device. This value is the same as the Admin Console's Directory API ID in the Chrome OS Devices tab", + "description": "Output only. The unique Directory API ID of the device. This value is the same as the Admin Console's Directory API ID in the ChromeOS Devices tab", "readOnly": true, "type": "string" }, @@ -1836,7 +1836,7 @@ "type": "array" }, "serialNumber": { - "description": "Output only. Device serial number. This value is the same as the Admin Console's Serial Number in the Chrome OS Devices tab.", + "description": "Output only. Device serial number. This value is the same as the Admin Console's Serial Number in the ChromeOS Devices tab.", "readOnly": true, "type": "string" }, diff --git a/chromemanagement/v1/chromemanagement-gen.go b/chromemanagement/v1/chromemanagement-gen.go index da76b27dfe6..458d23f628e 100644 --- a/chromemanagement/v1/chromemanagement-gen.go +++ b/chromemanagement/v1/chromemanagement-gen.go @@ -651,7 +651,7 @@ type GoogleChromeManagementV1BrowserVersion struct { // "SYSTEM_OTHER" - Other operating system. // "SYSTEM_ANDROID" - Android operating system. // "SYSTEM_IOS" - Apple iOS operating system. - // "SYSTEM_CROS" - Chrome OS operating system. + // "SYSTEM_CROS" - ChromeOS operating system. // "SYSTEM_WINDOWS" - Microsoft Windows operating system. // "SYSTEM_MAC" - Apple macOS operating system. // "SYSTEM_LINUX" - Linux operating system. @@ -696,14 +696,14 @@ type GoogleChromeManagementV1ChromeAppInfo struct { IsCwsHosted bool `json:"isCwsHosted,omitempty"` // IsKioskOnly: Output only. Whether the app is only for Kiosk mode on - // Chrome OS devices + // ChromeOS devices IsKioskOnly bool `json:"isKioskOnly,omitempty"` // IsTheme: Output only. Whether the app or extension is a theme. IsTheme bool `json:"isTheme,omitempty"` // KioskEnabled: Output only. Whether this app is enabled for Kiosk mode - // on Chrome OS devices + // on ChromeOS devices KioskEnabled bool `json:"kioskEnabled,omitempty"` // MinUserCount: Output only. The minimum number of users using this @@ -1816,7 +1816,7 @@ type GoogleChromeManagementV1TelemetryDevice struct { // DeviceId: Output only. The unique Directory API ID of the device. // This value is the same as the Admin Console's Directory API ID in the - // Chrome OS Devices tab + // ChromeOS Devices tab DeviceId string `json:"deviceId,omitempty"` // GraphicsInfo: Output only. Contains information regarding Graphic @@ -1850,7 +1850,7 @@ type GoogleChromeManagementV1TelemetryDevice struct { OsUpdateStatus []*GoogleChromeManagementV1OsUpdateStatus `json:"osUpdateStatus,omitempty"` // SerialNumber: Output only. Device serial number. This value is the - // same as the Admin Console's Serial Number in the Chrome OS Devices + // same as the Admin Console's Serial Number in the ChromeOS Devices // tab. SerialNumber string `json:"serialNumber,omitempty"` diff --git a/cloudasset/v1/cloudasset-api.json b/cloudasset/v1/cloudasset-api.json index 533d1f5ddb0..d45d98b49ac 100644 --- a/cloudasset/v1/cloudasset-api.json +++ b/cloudasset/v1/cloudasset-api.json @@ -929,7 +929,7 @@ } } }, - "revision": "20220412", + "revision": "20220422", "rootUrl": "https://cloudasset.googleapis.com/", "schemas": { "AccessSelector": { @@ -3301,7 +3301,7 @@ "type": "string" }, "tagKeys": { - "description": "TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}. To search against the `tagKeys`: * use a field query. Example: - `tagKeys:\"123456789/e*\"` - `tagKeys=\"123456789/env\"` - `tagKeys:\"env\"` * use a free text query. Example: - `env`", + "description": "TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}. To search against the `tagKeys`: * use a field query. Example: - `tagKeys:\"123456789/env*\"` - `tagKeys=\"123456789/env\"` - `tagKeys:\"env\"` * use a free text query. Example: - `env`", "items": { "type": "string" }, @@ -3315,7 +3315,7 @@ "type": "array" }, "tagValues": { - "description": "TagValue namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}. To search against the `tagValues`: * use a field query. Example: - `tagValues:\"env\"` - `tagValues:\"env/prod\"` - `tagValues:\"123456789/env/pr*\"` - `tagValues=\"123456789/env/prod\"` * use a free text query. Example: - `prod`", + "description": "TagValue namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}. To search against the `tagValues`: * use a field query. Example: - `tagValues:\"env\"` - `tagValues:\"env/prod\"` - `tagValues:\"123456789/env/prod*\"` - `tagValues=\"123456789/env/prod\"` * use a free text query. Example: - `prod`", "items": { "type": "string" }, diff --git a/cloudasset/v1/cloudasset-gen.go b/cloudasset/v1/cloudasset-gen.go index 25c0cbfca5c..d07bc0a9158 100644 --- a/cloudasset/v1/cloudasset-gen.go +++ b/cloudasset/v1/cloudasset-gen.go @@ -4989,7 +4989,7 @@ type ResourceSearchResult struct { // TagKeys: TagKey namespaced names, in the format of // {ORG_ID}/{TAG_KEY_SHORT_NAME}. To search against the `tagKeys`: * use - // a field query. Example: - `tagKeys:"123456789/e*" - + // a field query. Example: - `tagKeys:"123456789/env*" - // `tagKeys="123456789/env" - `tagKeys:"env" * use a free text query. // Example: - `env` TagKeys []string `json:"tagKeys,omitempty"` @@ -5004,8 +5004,8 @@ type ResourceSearchResult struct { // {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}. To search // against the `tagValues`: * use a field query. Example: - // `tagValues:"env" - `tagValues:"env/prod" - - // `tagValues:"123456789/env/pr*" - `tagValues="123456789/env/prod" * - // use a free text query. Example: - `prod` + // `tagValues:"123456789/env/prod*" - `tagValues="123456789/env/prod" + // * use a free text query. Example: - `prod` TagValues []string `json:"tagValues,omitempty"` // UpdateTime: The last update timestamp of this resource, at which the diff --git a/clouderrorreporting/v1beta1/clouderrorreporting-api.json b/clouderrorreporting/v1beta1/clouderrorreporting-api.json index 08d606f63d1..ddb28ccbfd3 100644 --- a/clouderrorreporting/v1beta1/clouderrorreporting-api.json +++ b/clouderrorreporting/v1beta1/clouderrorreporting-api.json @@ -262,7 +262,7 @@ ], "enumDescriptions": [ "No alignment specified.", - "The time periods shall be consecutive, have width equal to the requested duration, and be aligned at the `alignment_time` provided in the request. The `alignment_time` does not have to be inside the query period but even if it is outside, only time periods are returned which overlap with the query period. A rounded alignment will typically result in a different size of the first or the last time period.", + "The time periods shall be consecutive, have width equal to the requested duration, and be aligned at the alignment_time provided in the request. The alignment_time does not have to be inside the query period but even if it is outside, only time periods are returned which overlap with the query period. A rounded alignment will typically result in a different size of the first or the last time period.", "The time periods shall be consecutive, have width equal to the requested duration, and be aligned at the end of the requested time period. This can result in a different size of the first time period." ], "location": "query", @@ -306,7 +306,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. A `next_page_token` provided by a previous response. To view additional results, pass this token along with the identical query parameters as the first request.", + "description": "Optional. A next_page_token provided by a previous response. To view additional results, pass this token along with the identical query parameters as the first request.", "location": "query", "type": "string" }, @@ -354,7 +354,7 @@ "type": "string" }, "timedCountDuration": { - "description": "Optional. The preferred duration for a single returned `TimedCount`. If not set, no timed counts are returned.", + "description": "Optional. The preferred duration for a single returned TimedCount. If not set, no timed counts are returned.", "format": "google-duration", "location": "query", "type": "string" @@ -382,7 +382,7 @@ ], "parameters": { "groupName": { - "description": "Required. The group resource name. Written as `projects/{projectID}/groups/{group_name}`. Call [`groupStats.list`](https://cloud.google.com/error-reporting/reference/rest/v1beta1/projects.groupStats/list) to return a list of groups belonging to this project. Example: `projects/my-project-123/groups/my-group`", + "description": "Required. The group resource name. Written as `projects/{projectID}/groups/{group_name}`. Call groupStats.list to return a list of groups belonging to this project. Example: `projects/my-project-123/groups/my-group`", "location": "path", "pattern": "^projects/[^/]+/groups/[^/]+$", "required": true, @@ -430,7 +430,7 @@ } } }, - "revision": "20210916", + "revision": "20220420", "rootUrl": "https://clouderrorreporting.googleapis.com/", "schemas": { "DeleteEventsResponse": { @@ -541,7 +541,7 @@ "type": "array" }, "affectedUsersCount": { - "description": "Approximate number of affected users in the given group that match the filter criteria. Users are distinguished by data in the `ErrorContext` of the individual error events, such as their login name or their remote IP address in case of HTTP requests. The number of affected users can be zero even if the number of errors is non-zero if no data was provided from which the affected user could be deduced. Users are counted based on data in the request context that was provided in the error report. If more users are implicitly affected, such as due to a crash of the whole service, this is not reflected here.", + "description": "Approximate number of affected users in the given group that match the filter criteria. Users are distinguished by data in the ErrorContext of the individual error events, such as their login name or their remote IP address in case of HTTP requests. The number of affected users can be zero even if the number of errors is non-zero if no data was provided from which the affected user could be deduced. Users are counted based on data in the request context that was provided in the error report. If more users are implicitly affected, such as due to a crash of the whole service, this is not reflected here.", "format": "int64", "type": "string" }, @@ -681,7 +681,7 @@ "type": "string" }, "message": { - "description": "Required. The error message. If no `context.reportLocation` is provided, the message must contain a header (typically consisting of the exception type name and an error message) and an exception stack trace in one of the supported programming languages and formats. Supported languages are Java, Python, JavaScript, Ruby, C#, PHP, and Go. Supported stack trace formats are: * **Java**: Must be the return value of [`Throwable.printStackTrace()`](https://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html#printStackTrace%28%29). * **Python**: Must be the return value of [`traceback.format_exc()`](https://docs.python.org/2/library/traceback.html#traceback.format_exc). * **JavaScript**: Must be the value of [`error.stack`](https://github.com/v8/v8/wiki/Stack-Trace-API) as returned by V8. * **Ruby**: Must contain frames returned by [`Exception.backtrace`](https://ruby-doc.org/core-2.2.0/Exception.html#method-i-backtrace). * **C#**: Must be the return value of [`Exception.ToString()`](https://msdn.microsoft.com/en-us/library/system.exception.tostring.aspx). * **PHP**: Must start with `PHP (Notice|Parse error|Fatal error|Warning)` and contain the result of [`(string)$exception`](http://php.net/manual/en/exception.tostring.php). * **Go**: Must be the return value of [`runtime.Stack()`](https://golang.org/pkg/runtime/debug/#Stack).", + "description": "Required. The error message. If no `context.reportLocation` is provided, the message must contain a header (typically consisting of the exception type name and an error message) and an exception stack trace in one of the supported programming languages and formats. Supported languages are Java, Python, JavaScript, Ruby, C#, PHP, and Go. Supported stack trace formats are: * **Java**: Must be the return value of [`Throwable.printStackTrace()`](https://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html#printStackTrace%28%29). * **Python**: Must be the return value of [`traceback.format_exc()`](https://docs.python.org/2/library/traceback.html#traceback.format_exc). * **JavaScript**: Must be the value of [`error.stack`](https://github.com/v8/v8/wiki/Stack-Trace-API) as returned by V8. * **Ruby**: Must contain frames returned by [`Exception.backtrace`](https://ruby-doc.org/core-2.2.0/Exception.html#method-i-backtrace). * **C#**: Must be the return value of [`Exception.ToString()`](https://msdn.microsoft.com/en-us/library/system.exception.tostring.aspx). * **PHP**: Must be prefixed with `\"PHP (Notice|Parse error|Fatal error|Warning): \"` and contain the result of [`(string)$exception`](https://php.net/manual/en/exception.tostring.php). * **Go**: Must be the return value of [`runtime.Stack()`](https://golang.org/pkg/runtime/debug/#Stack).", "type": "string" }, "serviceContext": { diff --git a/clouderrorreporting/v1beta1/clouderrorreporting-gen.go b/clouderrorreporting/v1beta1/clouderrorreporting-gen.go index e75622dd95a..d0d8ba34266 100644 --- a/clouderrorreporting/v1beta1/clouderrorreporting-gen.go +++ b/clouderrorreporting/v1beta1/clouderrorreporting-gen.go @@ -349,7 +349,7 @@ type ErrorGroupStats struct { // AffectedUsersCount: Approximate number of affected users in the given // group that match the filter criteria. Users are distinguished by data - // in the `ErrorContext` of the individual error events, such as their + // in the ErrorContext of the individual error events, such as their // login name or their remote IP address in case of HTTP requests. The // number of affected users can be zero even if the number of errors is // non-zero if no data was provided from which the affected user could @@ -592,9 +592,9 @@ type ReportedErrorEvent struct { // (https://ruby-doc.org/core-2.2.0/Exception.html#method-i-backtrace). // * **C#**: Must be the return value of `Exception.ToString()` // (https://msdn.microsoft.com/en-us/library/system.exception.tostring.aspx). - // * **PHP**: Must start with `PHP (Notice|Parse error|Fatal - // error|Warning)` and contain the result of `(string)$exception` - // (http://php.net/manual/en/exception.tostring.php). * **Go**: Must be + // * **PHP**: Must be prefixed with "PHP (Notice|Parse error|Fatal + // error|Warning): " and contain the result of `(string)$exception` + // (https://php.net/manual/en/exception.tostring.php). * **Go**: Must be // the return value of `runtime.Stack()` // (https://golang.org/pkg/runtime/debug/#Stack). Message string `json:"message,omitempty"` @@ -1434,9 +1434,9 @@ func (r *ProjectsGroupStatsService) List(projectName string) *ProjectsGroupStats // "ERROR_COUNT_ALIGNMENT_UNSPECIFIED" - No alignment specified. // "ALIGNMENT_EQUAL_ROUNDED" - The time periods shall be consecutive, // have width equal to the requested duration, and be aligned at the -// `alignment_time` provided in the request. The `alignment_time` does -// not have to be inside the query period but even if it is outside, -// only time periods are returned which overlap with the query period. A +// alignment_time provided in the request. The alignment_time does not +// have to be inside the query period but even if it is outside, only +// time periods are returned which overlap with the query period. A // rounded alignment will typically result in a different size of the // first or the last time period. // "ALIGNMENT_EQUAL_AT_END" - The time periods shall be consecutive, @@ -1488,10 +1488,10 @@ func (c *ProjectsGroupStatsListCall) PageSize(pageSize int64) *ProjectsGroupStat return c } -// PageToken sets the optional parameter "pageToken": A -// `next_page_token` provided by a previous response. To view additional -// results, pass this token along with the identical query parameters as -// the first request. +// PageToken sets the optional parameter "pageToken": A next_page_token +// provided by a previous response. To view additional results, pass +// this token along with the identical query parameters as the first +// request. func (c *ProjectsGroupStatsListCall) PageToken(pageToken string) *ProjectsGroupStatsListCall { c.urlParams_.Set("pageToken", pageToken) return c @@ -1548,8 +1548,8 @@ func (c *ProjectsGroupStatsListCall) TimeRangePeriod(timeRangePeriod string) *Pr } // TimedCountDuration sets the optional parameter "timedCountDuration": -// The preferred duration for a single returned `TimedCount`. If not -// set, no timed counts are returned. +// The preferred duration for a single returned TimedCount. If not set, +// no timed counts are returned. func (c *ProjectsGroupStatsListCall) TimedCountDuration(timedCountDuration string) *ProjectsGroupStatsListCall { c.urlParams_.Set("timedCountDuration", timedCountDuration) return c @@ -1671,7 +1671,7 @@ func (c *ProjectsGroupStatsListCall) Do(opts ...googleapi.CallOption) (*ListGrou // ], // "enumDescriptions": [ // "No alignment specified.", - // "The time periods shall be consecutive, have width equal to the requested duration, and be aligned at the `alignment_time` provided in the request. The `alignment_time` does not have to be inside the query period but even if it is outside, only time periods are returned which overlap with the query period. A rounded alignment will typically result in a different size of the first or the last time period.", + // "The time periods shall be consecutive, have width equal to the requested duration, and be aligned at the alignment_time provided in the request. The alignment_time does not have to be inside the query period but even if it is outside, only time periods are returned which overlap with the query period. A rounded alignment will typically result in a different size of the first or the last time period.", // "The time periods shall be consecutive, have width equal to the requested duration, and be aligned at the end of the requested time period. This can result in a different size of the first time period." // ], // "location": "query", @@ -1715,7 +1715,7 @@ func (c *ProjectsGroupStatsListCall) Do(opts ...googleapi.CallOption) (*ListGrou // "type": "integer" // }, // "pageToken": { - // "description": "Optional. A `next_page_token` provided by a previous response. To view additional results, pass this token along with the identical query parameters as the first request.", + // "description": "Optional. A next_page_token provided by a previous response. To view additional results, pass this token along with the identical query parameters as the first request.", // "location": "query", // "type": "string" // }, @@ -1763,7 +1763,7 @@ func (c *ProjectsGroupStatsListCall) Do(opts ...googleapi.CallOption) (*ListGrou // "type": "string" // }, // "timedCountDuration": { - // "description": "Optional. The preferred duration for a single returned `TimedCount`. If not set, no timed counts are returned.", + // "description": "Optional. The preferred duration for a single returned TimedCount. If not set, no timed counts are returned.", // "format": "google-duration", // "location": "query", // "type": "string" @@ -1815,9 +1815,8 @@ type ProjectsGroupsGetCall struct { // Get: Get the specified group. // // - groupName: The group resource name. Written as -// `projects/{projectID}/groups/{group_name}`. Call `groupStats.list` -// (https://cloud.google.com/error-reporting/reference/rest/v1beta1/projects.groupStats/list) -// to return a list of groups belonging to this project. Example: +// `projects/{projectID}/groups/{group_name}`. Call groupStats.list to +// return a list of groups belonging to this project. Example: // `projects/my-project-123/groups/my-group`. func (r *ProjectsGroupsService) Get(groupName string) *ProjectsGroupsGetCall { c := &ProjectsGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} @@ -1933,7 +1932,7 @@ func (c *ProjectsGroupsGetCall) Do(opts ...googleapi.CallOption) (*ErrorGroup, e // ], // "parameters": { // "groupName": { - // "description": "Required. The group resource name. Written as `projects/{projectID}/groups/{group_name}`. Call [`groupStats.list`](https://cloud.google.com/error-reporting/reference/rest/v1beta1/projects.groupStats/list) to return a list of groups belonging to this project. Example: `projects/my-project-123/groups/my-group`", + // "description": "Required. The group resource name. Written as `projects/{projectID}/groups/{group_name}`. Call groupStats.list to return a list of groups belonging to this project. Example: `projects/my-project-123/groups/my-group`", // "location": "path", // "pattern": "^projects/[^/]+/groups/[^/]+$", // "required": true, diff --git a/cloudfunctions/v2alpha/cloudfunctions-api.json b/cloudfunctions/v2alpha/cloudfunctions-api.json index 435b5183827..def9b927d20 100644 --- a/cloudfunctions/v2alpha/cloudfunctions-api.json +++ b/cloudfunctions/v2alpha/cloudfunctions-api.json @@ -571,7 +571,7 @@ } } }, - "revision": "20220413", + "revision": "20220421", "rootUrl": "https://cloudfunctions.googleapis.com/", "schemas": { "AuditConfig": { @@ -711,6 +711,10 @@ "description": "Describes EventTrigger, used to request events to be sent from another service.", "id": "EventTrigger", "properties": { + "channel": { + "description": "Optional. The name of the channel associated with the trigger in `projects/{project}/locations/{location}/channels/{channel}` format. You must provide a channel to receive events from Eventarc SaaS partners.", + "type": "string" + }, "eventFilters": { "description": "Criteria used to filter events.", "items": { diff --git a/cloudfunctions/v2alpha/cloudfunctions-gen.go b/cloudfunctions/v2alpha/cloudfunctions-gen.go index 1dee951ad68..92f7cc6e6fe 100644 --- a/cloudfunctions/v2alpha/cloudfunctions-gen.go +++ b/cloudfunctions/v2alpha/cloudfunctions-gen.go @@ -484,6 +484,13 @@ func (s *EventFilter) MarshalJSON() ([]byte, error) { // EventTrigger: Describes EventTrigger, used to request events to be // sent from another service. type EventTrigger struct { + // Channel: Optional. The name of the channel associated with the + // trigger in + // `projects/{project}/locations/{location}/channels/{channel}` format. + // You must provide a channel to receive events from Eventarc SaaS + // partners. + Channel string `json:"channel,omitempty"` + // EventFilters: Criteria used to filter events. EventFilters []*EventFilter `json:"eventFilters,omitempty"` @@ -529,7 +536,7 @@ type EventTrigger struct { // the function. TriggerRegion string `json:"triggerRegion,omitempty"` - // ForceSendFields is a list of field names (e.g. "EventFilters") to + // ForceSendFields is a list of field names (e.g. "Channel") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -537,10 +544,10 @@ type EventTrigger struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "EventFilters") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as + // NullFields is a list of field names (e.g. "Channel") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` diff --git a/cloudfunctions/v2beta/cloudfunctions-api.json b/cloudfunctions/v2beta/cloudfunctions-api.json index 220fe45065c..015b5f09356 100644 --- a/cloudfunctions/v2beta/cloudfunctions-api.json +++ b/cloudfunctions/v2beta/cloudfunctions-api.json @@ -571,7 +571,7 @@ } } }, - "revision": "20220413", + "revision": "20220421", "rootUrl": "https://cloudfunctions.googleapis.com/", "schemas": { "AuditConfig": { @@ -711,6 +711,10 @@ "description": "Describes EventTrigger, used to request events to be sent from another service.", "id": "EventTrigger", "properties": { + "channel": { + "description": "Optional. The name of the channel associated with the trigger in `projects/{project}/locations/{location}/channels/{channel}` format. You must provide a channel to receive events from Eventarc SaaS partners.", + "type": "string" + }, "eventFilters": { "description": "Criteria used to filter events.", "items": { diff --git a/cloudfunctions/v2beta/cloudfunctions-gen.go b/cloudfunctions/v2beta/cloudfunctions-gen.go index 3590ea5cd5c..67d6764eb06 100644 --- a/cloudfunctions/v2beta/cloudfunctions-gen.go +++ b/cloudfunctions/v2beta/cloudfunctions-gen.go @@ -484,6 +484,13 @@ func (s *EventFilter) MarshalJSON() ([]byte, error) { // EventTrigger: Describes EventTrigger, used to request events to be // sent from another service. type EventTrigger struct { + // Channel: Optional. The name of the channel associated with the + // trigger in + // `projects/{project}/locations/{location}/channels/{channel}` format. + // You must provide a channel to receive events from Eventarc SaaS + // partners. + Channel string `json:"channel,omitempty"` + // EventFilters: Criteria used to filter events. EventFilters []*EventFilter `json:"eventFilters,omitempty"` @@ -529,7 +536,7 @@ type EventTrigger struct { // the function. TriggerRegion string `json:"triggerRegion,omitempty"` - // ForceSendFields is a list of field names (e.g. "EventFilters") to + // ForceSendFields is a list of field names (e.g. "Channel") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -537,10 +544,10 @@ type EventTrigger struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "EventFilters") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as + // NullFields is a list of field names (e.g. "Channel") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as // null. It is an error if a field in this list has a non-empty value. // This may be used to include null fields in Patch requests. NullFields []string `json:"-"` diff --git a/cloudresourcemanager/v3/cloudresourcemanager-api.json b/cloudresourcemanager/v3/cloudresourcemanager-api.json index ea5b07edcd5..1646ad2406b 100644 --- a/cloudresourcemanager/v3/cloudresourcemanager-api.json +++ b/cloudresourcemanager/v3/cloudresourcemanager-api.json @@ -108,6 +108,43 @@ }, "protocol": "rest", "resources": { + "effectiveTags": { + "methods": { + "list": { + "description": "Return a list of effective tags for the given cloud resource, as specified in `parent`.", + "flatPath": "v3/effectiveTags", + "httpMethod": "GET", + "id": "cloudresourcemanager.effectiveTags.list", + "parameterOrder": [], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of effective tags to return in the response. The server allows a maximum of 300 effective tags to return in a single page. If unspecified, the server will use 100 as the default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A pagination token returned from a previous call to `ListEffectiveTags` that indicates from where this listing should continue.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The full resource name of a resource for which you want to list the effective tags. E.g. \"//cloudresourcemanager.googleapis.com/projects/123\"", + "location": "query", + "type": "string" + } + }, + "path": "v3/effectiveTags", + "response": { + "$ref": "ListEffectiveTagsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + } + }, "folders": { "methods": { "create": { @@ -1723,7 +1760,7 @@ } } }, - "revision": "20220403", + "revision": "20220424", "rootUrl": "https://cloudresourcemanager.googleapis.com/", "schemas": { "AuditConfig": { @@ -1951,6 +1988,33 @@ "properties": {}, "type": "object" }, + "EffectiveTag": { + "description": "An EffectiveTag represents a tag that applies to a resource during policy evaluation. Tags can be either directly bound to a resource or inherited from its ancestor. EffectiveTag contains the name and namespaced_name of the tag value and tag key, with additional fields of `inherited` to indicate the inheritance status of the effective tag.", + "id": "EffectiveTag", + "properties": { + "inherited": { + "description": "Indicates the inheritance status of a tag value attached to the given resource. If the tag value is inherited from one of the resource's ancestors, inherited will be true. If false, then the tag value is directly attached to the resource, inherited will be false.", + "type": "boolean" + }, + "namespacedTagKey": { + "description": "The namespaced_name of the TagKey, in the format of `{organization_id}/{tag_key_short_name}`", + "type": "string" + }, + "namespacedTagValue": { + "description": "Namespaced name of the TagValue. Must be in the format `{organization_id}/{tag_key_short_name}/{tag_value_short_name}`.", + "type": "string" + }, + "tagKey": { + "description": "The name of the TagKey, in the format `tagKeys/{id}`, such as `tagKeys/123`.", + "type": "string" + }, + "tagValue": { + "description": "Resource name for TagValue in the format `tagValues/456`.", + "type": "string" + } + }, + "type": "object" + }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", @@ -2164,6 +2228,24 @@ }, "type": "object" }, + "ListEffectiveTagsResponse": { + "description": "The response of ListEffectiveTags.", + "id": "ListEffectiveTagsResponse", + "properties": { + "effectiveTags": { + "description": "A possibly paginated list of effective tags for the specified resource.", + "items": { + "$ref": "EffectiveTag" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Pagination token. If the result set is too large to fit in a single response, this token is returned. It encodes the position of the current result cursor. Feeding this value into a new list request with the `page_token` parameter gives the next page of the results. When `next_page_token` is not filled in, there is no next page and the list returned is the last page in the result set. Pagination tokens have a limited lifetime.", + "type": "string" + } + }, + "type": "object" + }, "ListFoldersResponse": { "description": "The ListFolders response message.", "id": "ListFoldersResponse", diff --git a/cloudresourcemanager/v3/cloudresourcemanager-gen.go b/cloudresourcemanager/v3/cloudresourcemanager-gen.go index 58056e5b96f..13a3e43edc6 100644 --- a/cloudresourcemanager/v3/cloudresourcemanager-gen.go +++ b/cloudresourcemanager/v3/cloudresourcemanager-gen.go @@ -127,6 +127,7 @@ func New(client *http.Client) (*Service, error) { return nil, errors.New("client is nil") } s := &Service{client: client, BasePath: basePath} + s.EffectiveTags = NewEffectiveTagsService(s) s.Folders = NewFoldersService(s) s.Liens = NewLiensService(s) s.Operations = NewOperationsService(s) @@ -143,6 +144,8 @@ type Service struct { BasePath string // API endpoint base URL UserAgent string // optional additional User-Agent fragment + EffectiveTags *EffectiveTagsService + Folders *FoldersService Liens *LiensService @@ -167,6 +170,15 @@ func (s *Service) userAgent() string { return googleapi.UserAgent + " " + s.UserAgent } +func NewEffectiveTagsService(s *Service) *EffectiveTagsService { + rs := &EffectiveTagsService{s: s} + return rs +} + +type EffectiveTagsService struct { + s *Service +} + func NewFoldersService(s *Service) *FoldersService { rs := &FoldersService{s: s} return rs @@ -630,6 +642,58 @@ type DeleteTagKeyMetadata struct { type DeleteTagValueMetadata struct { } +// EffectiveTag: An EffectiveTag represents a tag that applies to a +// resource during policy evaluation. Tags can be either directly bound +// to a resource or inherited from its ancestor. EffectiveTag contains +// the name and namespaced_name of the tag value and tag key, with +// additional fields of `inherited` to indicate the inheritance status +// of the effective tag. +type EffectiveTag struct { + // Inherited: Indicates the inheritance status of a tag value attached + // to the given resource. If the tag value is inherited from one of the + // resource's ancestors, inherited will be true. If false, then the tag + // value is directly attached to the resource, inherited will be false. + Inherited bool `json:"inherited,omitempty"` + + // NamespacedTagKey: The namespaced_name of the TagKey, in the format of + // `{organization_id}/{tag_key_short_name}` + NamespacedTagKey string `json:"namespacedTagKey,omitempty"` + + // NamespacedTagValue: Namespaced name of the TagValue. Must be in the + // format + // `{organization_id}/{tag_key_short_name}/{tag_value_short_name}`. + NamespacedTagValue string `json:"namespacedTagValue,omitempty"` + + // TagKey: The name of the TagKey, in the format `tagKeys/{id}`, such as + // `tagKeys/123`. + TagKey string `json:"tagKey,omitempty"` + + // TagValue: Resource name for TagValue in the format `tagValues/456`. + TagValue string `json:"tagValue,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Inherited") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Inherited") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *EffectiveTag) MarshalJSON() ([]byte, error) { + type NoMethod EffectiveTag + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Empty: A generic empty message that you can re-use to avoid defining // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For @@ -999,6 +1063,48 @@ func (s *Lien) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ListEffectiveTagsResponse: The response of ListEffectiveTags. +type ListEffectiveTagsResponse struct { + // EffectiveTags: A possibly paginated list of effective tags for the + // specified resource. + EffectiveTags []*EffectiveTag `json:"effectiveTags,omitempty"` + + // NextPageToken: Pagination token. If the result set is too large to + // fit in a single response, this token is returned. It encodes the + // position of the current result cursor. Feeding this value into a new + // list request with the `page_token` parameter gives the next page of + // the results. When `next_page_token` is not filled in, there is no + // next page and the list returned is the last page in the result set. + // Pagination tokens have a limited lifetime. + 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. "EffectiveTags") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "EffectiveTags") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListEffectiveTagsResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListEffectiveTagsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ListFoldersResponse: The ListFolders response message. type ListFoldersResponse struct { // Folders: A possibly paginated list of folders that are direct @@ -2299,6 +2405,200 @@ type UpdateTagKeyMetadata struct { type UpdateTagValueMetadata struct { } +// method id "cloudresourcemanager.effectiveTags.list": + +type EffectiveTagsListCall struct { + s *Service + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Return a list of effective tags for the given cloud resource, +// as specified in `parent`. +func (r *EffectiveTagsService) List() *EffectiveTagsListCall { + c := &EffectiveTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + return c +} + +// PageSize sets the optional parameter "pageSize": The maximum number +// of effective tags to return in the response. The server allows a +// maximum of 300 effective tags to return in a single page. If +// unspecified, the server will use 100 as the default. +func (c *EffectiveTagsListCall) PageSize(pageSize int64) *EffectiveTagsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": A pagination token +// returned from a previous call to `ListEffectiveTags` that indicates +// from where this listing should continue. +func (c *EffectiveTagsListCall) PageToken(pageToken string) *EffectiveTagsListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Parent sets the optional parameter "parent": Required. The full +// resource name of a resource for which you want to list the effective +// tags. E.g. "//cloudresourcemanager.googleapis.com/projects/123" +func (c *EffectiveTagsListCall) Parent(parent string) *EffectiveTagsListCall { + c.urlParams_.Set("parent", parent) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *EffectiveTagsListCall) Fields(s ...googleapi.Field) *EffectiveTagsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *EffectiveTagsListCall) IfNoneMatch(entityTag string) *EffectiveTagsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *EffectiveTagsListCall) Context(ctx context.Context) *EffectiveTagsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *EffectiveTagsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *EffectiveTagsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v3/effectiveTags") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "cloudresourcemanager.effectiveTags.list" call. +// Exactly one of *ListEffectiveTagsResponse or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *ListEffectiveTagsResponse.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 *EffectiveTagsListCall) Do(opts ...googleapi.CallOption) (*ListEffectiveTagsResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &ListEffectiveTagsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Return a list of effective tags for the given cloud resource, as specified in `parent`.", + // "flatPath": "v3/effectiveTags", + // "httpMethod": "GET", + // "id": "cloudresourcemanager.effectiveTags.list", + // "parameterOrder": [], + // "parameters": { + // "pageSize": { + // "description": "Optional. The maximum number of effective tags to return in the response. The server allows a maximum of 300 effective tags to return in a single page. If unspecified, the server will use 100 as the default.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Optional. A pagination token returned from a previous call to `ListEffectiveTags` that indicates from where this listing should continue.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required. The full resource name of a resource for which you want to list the effective tags. E.g. \"//cloudresourcemanager.googleapis.com/projects/123\"", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v3/effectiveTags", + // "response": { + // "$ref": "ListEffectiveTagsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/cloud-platform.read-only" + // ] + // } + +} + +// 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 *EffectiveTagsListCall) Pages(ctx context.Context, f func(*ListEffectiveTagsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + // method id "cloudresourcemanager.folders.create": type FoldersCreateCall struct { diff --git a/cloudscheduler/v1/cloudscheduler-api.json b/cloudscheduler/v1/cloudscheduler-api.json index b99f93367d2..d1013360185 100644 --- a/cloudscheduler/v1/cloudscheduler-api.json +++ b/cloudscheduler/v1/cloudscheduler-api.json @@ -144,7 +144,7 @@ ], "parameters": { "filter": { - "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", "location": "query", "type": "string" }, @@ -418,7 +418,7 @@ } } }, - "revision": "20220321", + "revision": "20220408", "rootUrl": "https://cloudscheduler.googleapis.com/", "schemas": { "AppEngineHttpTarget": { diff --git a/cloudscheduler/v1/cloudscheduler-gen.go b/cloudscheduler/v1/cloudscheduler-gen.go index d3c98b450b0..758caebfe4e 100644 --- a/cloudscheduler/v1/cloudscheduler-gen.go +++ b/cloudscheduler/v1/cloudscheduler-gen.go @@ -1181,8 +1181,8 @@ func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall // Filter sets the optional parameter "filter": A filter to narrow down // results to a preferred subset. The filtering language accepts strings -// like "displayName=tokyo", and is documented in more detail in AIP-160 -// (https://google.aip.dev/160). +// like "displayName=tokyo", and is documented in more detail in +// AIP-160 (https://google.aip.dev/160). func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall { c.urlParams_.Set("filter", filter) return c @@ -1311,7 +1311,7 @@ func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocat // ], // "parameters": { // "filter": { - // "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + // "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", // "location": "query", // "type": "string" // }, diff --git a/cloudscheduler/v1beta1/cloudscheduler-api.json b/cloudscheduler/v1beta1/cloudscheduler-api.json index b55244397a0..bdd392d2b39 100644 --- a/cloudscheduler/v1beta1/cloudscheduler-api.json +++ b/cloudscheduler/v1beta1/cloudscheduler-api.json @@ -144,7 +144,7 @@ ], "parameters": { "filter": { - "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", "location": "query", "type": "string" }, @@ -433,7 +433,7 @@ } } }, - "revision": "20220321", + "revision": "20220408", "rootUrl": "https://cloudscheduler.googleapis.com/", "schemas": { "AppEngineHttpTarget": { diff --git a/cloudscheduler/v1beta1/cloudscheduler-gen.go b/cloudscheduler/v1beta1/cloudscheduler-gen.go index e98c1f3b8cd..3220e65ec95 100644 --- a/cloudscheduler/v1beta1/cloudscheduler-gen.go +++ b/cloudscheduler/v1beta1/cloudscheduler-gen.go @@ -1216,8 +1216,8 @@ func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall // Filter sets the optional parameter "filter": A filter to narrow down // results to a preferred subset. The filtering language accepts strings -// like "displayName=tokyo", and is documented in more detail in AIP-160 -// (https://google.aip.dev/160). +// like "displayName=tokyo", and is documented in more detail in +// AIP-160 (https://google.aip.dev/160). func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall { c.urlParams_.Set("filter", filter) return c @@ -1346,7 +1346,7 @@ func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocat // ], // "parameters": { // "filter": { - // "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + // "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", // "location": "query", // "type": "string" // }, diff --git a/cloudtrace/v2beta1/cloudtrace-api.json b/cloudtrace/v2beta1/cloudtrace-api.json index fdbb712fa2c..7c11c7400e6 100644 --- a/cloudtrace/v2beta1/cloudtrace-api.json +++ b/cloudtrace/v2beta1/cloudtrace-api.json @@ -273,7 +273,7 @@ } } }, - "revision": "20220330", + "revision": "20220421", "rootUrl": "https://cloudtrace.googleapis.com/", "schemas": { "Empty": { @@ -305,7 +305,7 @@ "id": "OutputConfig", "properties": { "destination": { - "description": "The destination for writing trace data. Currently only BigQuery is supported. E.g.: \"bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]\"", + "description": "The destination for writing trace data. Supported formats include: \"bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]\"", "type": "string" } }, diff --git a/cloudtrace/v2beta1/cloudtrace-gen.go b/cloudtrace/v2beta1/cloudtrace-gen.go index 67d0ff4335c..f83d5c123fb 100644 --- a/cloudtrace/v2beta1/cloudtrace-gen.go +++ b/cloudtrace/v2beta1/cloudtrace-gen.go @@ -222,8 +222,8 @@ func (s *ListTraceSinksResponse) MarshalJSON() ([]byte, error) { // OutputConfig: OutputConfig contains a destination for writing trace // data. type OutputConfig struct { - // Destination: The destination for writing trace data. Currently only - // BigQuery is supported. E.g.: + // Destination: The destination for writing trace data. Supported + // formats include: // "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" Destination string `json:"destination,omitempty"` diff --git a/compute/v0.alpha/compute-api.json b/compute/v0.alpha/compute-api.json index ce29427bcb2..bcbf46b3e69 100644 --- a/compute/v0.alpha/compute-api.json +++ b/compute/v0.alpha/compute-api.json @@ -38660,7 +38660,7 @@ } } }, - "revision": "20220420", + "revision": "20220426", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -38783,6 +38783,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -38810,6 +38811,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -38899,6 +38901,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -38926,6 +38929,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -38997,6 +39001,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -39024,6 +39029,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -39375,6 +39381,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -39402,6 +39409,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -39491,6 +39499,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -39518,6 +39527,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -39589,6 +39599,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -39616,6 +39627,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -40368,6 +40380,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -40395,6 +40408,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -40484,6 +40498,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -40511,6 +40526,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -40640,6 +40656,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -40667,6 +40684,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -41242,6 +41260,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -41269,6 +41288,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -41645,6 +41665,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -41672,6 +41693,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -42004,6 +42026,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -42031,6 +42054,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -42186,6 +42210,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -42213,6 +42238,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -43000,6 +43026,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -43027,6 +43054,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -43116,6 +43144,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -43143,6 +43172,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -43214,6 +43244,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -43241,6 +43272,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -43924,6 +43956,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -43951,6 +43984,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -44104,6 +44138,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -44131,6 +44166,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -44341,6 +44377,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -44368,6 +44405,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -44457,6 +44495,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -44484,6 +44523,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -44555,6 +44595,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -44582,6 +44623,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -44690,6 +44732,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -44717,6 +44760,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -44943,6 +44987,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -44970,6 +45015,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -45173,6 +45219,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -45200,6 +45247,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -45473,6 +45521,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -45500,6 +45549,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -45742,6 +45792,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -45769,6 +45820,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -46334,6 +46386,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -46361,6 +46414,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -46450,6 +46504,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -46477,6 +46532,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -46576,6 +46632,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -46603,6 +46660,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -46853,6 +46911,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -46880,6 +46939,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -46978,6 +47038,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -47005,6 +47066,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -47076,6 +47138,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -47103,6 +47166,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -47753,6 +47817,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -47780,6 +47845,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -47990,6 +48056,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -48017,6 +48084,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -48115,6 +48183,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -48142,6 +48211,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -48213,6 +48283,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -48240,6 +48311,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -48336,6 +48408,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -48363,6 +48436,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -48434,6 +48508,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -48461,6 +48536,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -48905,6 +48981,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -48932,6 +49009,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -49321,6 +49399,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -49348,6 +49427,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -49678,6 +49758,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -49705,6 +49786,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -50139,6 +50221,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -50166,6 +50249,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -50378,6 +50462,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -50405,6 +50490,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -50494,6 +50580,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -50521,6 +50608,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -50633,7 +50721,7 @@ }, "instanceLifecyclePolicy": { "$ref": "InstanceGroupManagerInstanceLifecyclePolicy", - "description": "Instance lifecycle policy for this Instance Group Manager." + "description": "The repair policy for this managed instance group." }, "instanceTemplate": { "description": "The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.", @@ -50872,6 +50960,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -50899,6 +50988,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -50971,17 +51061,6 @@ "maxUnavailable": { "$ref": "FixedOrPercent", "description": "Maximum number of instances that can be unavailable when autohealing. When 'percent' is used, the value is rounded if necessary. The instance is considered available if all of the following conditions are satisfied: 1. Instance's status is RUNNING. 2. Instance's currentAction is NONE (in particular its liveness health check result was observed to be HEALTHY at least once as it passed VERIFYING). 3. There is no outgoing action on an instance triggered by IGM. By default, number of concurrently autohealed instances is smaller than the managed instance group target size. However, if a zonal managed instance group has only one instance, or a regional managed instance group has only one instance per zone, autohealing will recreate these instances when they become unhealthy." - }, - "updateInstances": { - "enum": [ - "ALWAYS", - "FOLLOW_UPDATE_POLICY" - ], - "enumDescriptions": [ - "Autohealer always updates instances with a new version for both PROACTIVE and OPPORTUNISTIC updates.", - "(Default) Autohealer updates instance with new version according to update policy constraints: - OPPORTUNISTIC: autohealing does not perform updates. - PROACTIVE: autohealing performs updates according to maxSurge and maxUnavailable constraints. " - ], - "type": "string" } }, "type": "object" @@ -51007,6 +51086,18 @@ "InstanceGroupManagerInstanceLifecyclePolicy": { "id": "InstanceGroupManagerInstanceLifecyclePolicy", "properties": { + "forceUpdateOnRepair": { + "description": "A bit indicating whether to forcefully apply the group's latest configuration when repairing a VM. Valid options are: - NO (default): If configuration updates are available, they are not forcefully applied during repair. However, if you've set up a proactive type of update policy, then configuration updates are applied as usual. - YES: If configuration updates are available, they are applied during repair. ", + "enum": [ + "NO", + "YES" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, "metadataBasedReadinessSignal": { "$ref": "InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignal", "description": "The configuration for metadata based readiness signal sent by the instance during initialization when stopping / suspending an instance. The Instance Group Manager will wait for a signal that indicates successful initialization before stopping / suspending an instance. If a successful readiness signal is not sent before timeout, the corresponding instance will not be stopped / suspended. Instead, an error will be visible in the lastAttempt.errors field of the managed instance in the listmanagedinstances method. If metadataBasedReadinessSignal.timeoutSec is unset, the Instance Group Manager will directly proceed to suspend / stop instances, skipping initialization on them." @@ -51071,6 +51162,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -51098,6 +51190,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -51528,6 +51621,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -51555,6 +51649,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -51681,6 +51776,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -51708,6 +51804,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -51910,6 +52007,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -51937,6 +52035,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -52039,6 +52138,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -52066,6 +52166,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -52173,6 +52274,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -52200,6 +52302,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -52289,6 +52392,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -52316,6 +52420,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -52764,6 +52869,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -52791,6 +52897,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -53037,6 +53144,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -53064,6 +53172,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -53371,6 +53480,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -53398,6 +53508,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -53523,6 +53634,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -53550,6 +53662,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -53642,6 +53755,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -53669,6 +53783,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -54227,6 +54342,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -54254,6 +54370,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -54343,6 +54460,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -54370,6 +54488,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -54472,6 +54591,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -54499,6 +54619,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -54572,6 +54693,34 @@ }, "type": "array" }, + "bundleAggregationType": { + "description": "The aggregation type of the bundle interface.", + "enum": [ + "BUNDLE_AGGREGATION_TYPE_LACP", + "BUNDLE_AGGREGATION_TYPE_STATIC", + "BUNDLE_AGGREGATION_TYPE_UNSPECIFIED" + ], + "enumDescriptions": [ + "LACP is enabled.", + "LACP is disabled.", + "" + ], + "type": "string" + }, + "bundleOperationalStatus": { + "description": "The operational status of the bundle interface.", + "enum": [ + "BUNDLE_OPERATIONAL_STATUS_DOWN", + "BUNDLE_OPERATIONAL_STATUS_UNSPECIFIED", + "BUNDLE_OPERATIONAL_STATUS_UP" + ], + "enumDescriptions": [ + "If bundleAggregationType is LACP: LACP is not established and/or all links in the bundle have DOWN operational status. If bundleAggregationType is STATIC: one or more links in the bundle has DOWN operational status.", + "", + "If bundleAggregationType is LACP: LACP is established and at least one link in the bundle has UP operational status. If bundleAggregationType is STATIC: all links in the bundle (typically just one) have UP operational status." + ], + "type": "string" + }, "links": { "description": "A list of InterconnectDiagnostics.LinkStatus objects, describing the status for each link on the Interconnect.", "items": { @@ -54681,6 +54830,20 @@ "$ref": "InterconnectDiagnosticsMacsecStatus", "description": "Describes the status of MACsec encryption on this link." }, + "operationalStatus": { + "description": "The operational status of the link.", + "enum": [ + "LINK_OPERATIONAL_STATUS_DOWN", + "LINK_OPERATIONAL_STATUS_UNSPECIFIED", + "LINK_OPERATIONAL_STATUS_UP" + ], + "enumDescriptions": [ + "The interface is unable to communicate with the remote end.", + "", + "The interface has low level communication with the remote end." + ], + "type": "string" + }, "receivingOpticalPower": { "$ref": "InterconnectDiagnosticsLinkOpticalPower", "description": "An InterconnectDiagnostics.LinkOpticalPower object, describing the current value and status of the received light level." @@ -54753,6 +54916,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -54780,6 +54944,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -54981,6 +55146,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -55008,6 +55174,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -55365,6 +55532,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -55392,6 +55560,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -55481,6 +55650,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -55508,6 +55678,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -55819,6 +55990,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -55846,6 +56018,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -56230,6 +56403,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -56257,6 +56431,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -56455,6 +56630,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -56482,6 +56658,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -56571,6 +56748,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -56598,6 +56776,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -56669,6 +56848,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -56696,6 +56876,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -57325,6 +57506,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -57352,6 +57534,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -57423,6 +57606,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -57450,6 +57634,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -57705,6 +57890,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -57732,6 +57918,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -57897,6 +58084,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -57924,6 +58112,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -58091,6 +58280,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -58118,6 +58308,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -58189,6 +58380,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -58216,6 +58408,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -58467,6 +58660,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -58494,6 +58688,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -58952,6 +59147,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -58979,6 +59175,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -59100,6 +59297,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -59127,6 +59325,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -59351,6 +59550,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -59378,6 +59578,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -59449,6 +59650,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -59476,6 +59678,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -59688,6 +59891,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -59715,6 +59919,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -59804,6 +60009,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -59831,6 +60037,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -59917,6 +60124,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -59944,6 +60152,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -60105,6 +60314,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -60132,6 +60342,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -60221,6 +60432,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -60248,6 +60460,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -60319,6 +60532,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -60346,6 +60560,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -60485,6 +60700,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -60512,6 +60728,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -60628,6 +60845,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -60655,6 +60873,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -60726,6 +60945,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -60753,6 +60973,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -60957,6 +61178,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -60984,6 +61206,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -61086,6 +61309,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -61113,6 +61337,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -61202,6 +61427,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -61229,6 +61455,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -61300,6 +61527,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -61327,6 +61555,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -61656,6 +61885,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -61683,6 +61913,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -61820,6 +62051,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -61847,6 +62079,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -61987,6 +62220,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -62014,6 +62248,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -62827,6 +63062,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -62854,6 +63090,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -63068,6 +63305,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -63095,6 +63333,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -63183,6 +63422,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -63210,6 +63450,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -63324,6 +63565,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -63351,6 +63593,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -63429,6 +63672,7 @@ "COMMITTED_N2A_CPUS", "COMMITTED_N2D_CPUS", "COMMITTED_N2_CPUS", + "COMMITTED_NVIDIA_A100_80GB_GPUS", "COMMITTED_NVIDIA_A100_GPUS", "COMMITTED_NVIDIA_K80_GPUS", "COMMITTED_NVIDIA_P100_GPUS", @@ -63480,6 +63724,7 @@ "NETWORK_FIREWALL_POLICIES", "NODE_GROUPS", "NODE_TEMPLATES", + "NVIDIA_A100_80GB_GPUS", "NVIDIA_A100_GPUS", "NVIDIA_K80_GPUS", "NVIDIA_P100_GPUS", @@ -63493,6 +63738,7 @@ "PD_EXTREME_TOTAL_PROVISIONED_IOPS", "PREEMPTIBLE_CPUS", "PREEMPTIBLE_LOCAL_SSD_GB", + "PREEMPTIBLE_NVIDIA_A100_80GB_GPUS", "PREEMPTIBLE_NVIDIA_A100_GPUS", "PREEMPTIBLE_NVIDIA_K80_GPUS", "PREEMPTIBLE_NVIDIA_P100_GPUS", @@ -63571,6 +63817,7 @@ "", "", "", + "", "Guest CPUs", "", "", @@ -63653,6 +63900,8 @@ "", "", "", + "", + "", "The total number of snapshots allowed for a single project.", "", "", @@ -63852,6 +64101,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -63879,6 +64129,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -63980,6 +64231,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -64007,6 +64259,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -64163,6 +64416,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -64190,6 +64444,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -64293,6 +64548,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -64320,6 +64576,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -64554,6 +64811,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -64581,6 +64839,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -64814,6 +65073,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -64841,6 +65101,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -64981,6 +65242,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -65008,6 +65270,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -65218,6 +65481,13 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "resourcePolicies": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation.", + "type": "object" + }, "satisfiesPzs": { "description": "[Output Only] Reserved for future use.", "type": "boolean" @@ -65357,6 +65627,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -65384,6 +65655,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -65472,6 +65744,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -65499,6 +65772,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -65581,6 +65855,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -65608,6 +65883,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -65723,6 +65999,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -65750,6 +66027,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -65933,6 +66211,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -65960,6 +66239,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -66200,6 +66480,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -66227,6 +66508,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -66726,6 +67008,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -66753,6 +67036,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -66874,6 +67158,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -66901,6 +67186,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -67106,6 +67392,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -67133,6 +67420,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -67520,6 +67808,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -67547,6 +67836,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -67634,14 +67924,14 @@ "type": "boolean" }, "endpointTypes": { - "description": "List of Natted endpoint types supported by the Nat Gateway. If the list is empty, then it will be equivalent to include ENDPOINT_TYPE_VM", + "description": "List of NAT-ted endpoint types supported by the Nat Gateway. If the list is empty, then it will be equivalent to include ENDPOINT_TYPE_VM", "items": { "enum": [ "ENDPOINT_TYPE_SWG", "ENDPOINT_TYPE_VM" ], "enumDescriptions": [ - "This is used for Secure Web Gateway (go/securewebgateway) endpoints.", + "This is used for Secure Web Gateway endpoints.", "This is the default." ], "type": "string" @@ -68153,6 +68443,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -68180,6 +68471,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -68747,6 +69039,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -68774,6 +69067,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -68854,6 +69148,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -68881,6 +69176,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -69216,6 +69512,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -69243,6 +69540,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -69923,6 +70221,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -69950,6 +70249,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -70087,6 +70387,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -70114,6 +70415,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -70185,6 +70487,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -70212,6 +70515,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -70737,6 +71041,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -70764,6 +71069,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -71073,6 +71379,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -71100,6 +71407,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -71189,6 +71497,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -71216,6 +71525,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -71361,6 +71671,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -71388,6 +71699,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -71487,6 +71799,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -71514,6 +71827,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -71602,6 +71916,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -71629,6 +71944,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -71712,6 +72028,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -71739,6 +72056,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -71893,6 +72211,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -71920,6 +72239,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -72349,6 +72669,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -72376,6 +72697,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -72465,6 +72787,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -72492,6 +72815,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -72653,6 +72977,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -72680,6 +73005,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -72925,6 +73251,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -72952,6 +73279,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -73023,6 +73351,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -73050,6 +73379,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -73208,6 +73538,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -73235,6 +73566,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -73324,6 +73656,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -73351,6 +73684,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -73422,6 +73756,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -73449,6 +73784,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -73695,6 +74031,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -73722,6 +74059,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -73811,6 +74149,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -73838,6 +74177,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -73994,6 +74334,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -74021,6 +74362,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -74110,6 +74452,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -74137,6 +74480,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -74208,6 +74552,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -74235,6 +74580,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -74420,6 +74766,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -74447,6 +74794,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -74553,6 +74901,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -74580,6 +74929,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -74703,6 +75053,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -74730,6 +75081,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -74944,6 +75296,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -74971,6 +75324,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -75146,6 +75500,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -75173,6 +75528,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -75363,6 +75719,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -75390,6 +75747,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -75479,6 +75837,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -75506,6 +75865,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -75577,6 +75937,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -75604,6 +75965,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -76021,6 +76383,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -76048,6 +76411,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -76243,6 +76607,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -76270,6 +76635,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -76341,6 +76707,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -76368,6 +76735,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -76548,6 +76916,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -76575,6 +76944,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -76778,6 +77148,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -76805,6 +77176,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -76984,6 +77356,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -77011,6 +77384,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -77100,6 +77474,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -77127,6 +77502,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -77316,6 +77692,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -77343,6 +77720,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -77593,6 +77971,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -77620,6 +77999,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -77709,6 +78089,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -77736,6 +78117,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -77807,6 +78189,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -77834,6 +78217,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -77976,6 +78360,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -78003,6 +78388,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", @@ -78179,6 +78565,7 @@ "MISSING_TYPE_DEPENDENCY", "NEXT_HOP_ADDRESS_NOT_ASSIGNED", "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "NEXT_HOP_INSTANCE_NOT_FOUND", "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", "NEXT_HOP_NOT_RUNNING", @@ -78206,6 +78593,7 @@ "A resource depends on a missing type", "The route's nextHopIp address is not assigned to an instance on the network.", "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "The route's nextHopInstance URL refers to an instance that does not exist.", "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", "The route's next hop instance does not have a status of RUNNING.", diff --git a/compute/v0.alpha/compute-gen.go b/compute/v0.alpha/compute-gen.go index 95a3e2b9145..015bf82acf0 100644 --- a/compute/v0.alpha/compute-gen.go +++ b/compute/v0.alpha/compute-gen.go @@ -1490,6 +1490,9 @@ type AcceleratorTypeAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -1674,6 +1677,9 @@ type AcceleratorTypeListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -1837,6 +1843,9 @@ type AcceleratorTypesScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -2338,6 +2347,9 @@ type AddressAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -2521,6 +2533,9 @@ type AddressListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -2682,6 +2697,9 @@ type AddressesScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -3820,6 +3838,9 @@ type AutoscalerAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -4003,6 +4024,9 @@ type AutoscalerListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -4280,6 +4304,9 @@ type AutoscalersScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -5418,6 +5445,9 @@ type BackendBucketListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -6012,6 +6042,9 @@ type BackendServiceAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -6716,6 +6749,9 @@ type BackendServiceListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -7092,6 +7128,9 @@ type BackendServicesScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -8183,6 +8222,9 @@ type CommitmentAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -8366,6 +8408,9 @@ type CommitmentListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -8528,6 +8573,9 @@ type CommitmentsScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -9550,6 +9598,9 @@ type DiskAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -9881,6 +9932,9 @@ type DiskListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -10257,6 +10311,9 @@ type DiskTypeAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -10440,6 +10497,9 @@ type DiskTypeListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -10602,6 +10662,9 @@ type DiskTypesScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -10848,6 +10911,9 @@ type DisksScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -11333,6 +11399,9 @@ type ExchangedPeeringRoutesListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -11736,6 +11805,9 @@ type ExternalVpnGatewayListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -12210,6 +12282,9 @@ type FirewallListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -12640,6 +12715,9 @@ type FirewallPolicyListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -13455,6 +13533,9 @@ type ForwardingRuleAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -13638,6 +13719,9 @@ type ForwardingRuleListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -13870,6 +13954,9 @@ type ForwardingRulesScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -14279,6 +14366,9 @@ type FutureReservationsAggregatedListResponseWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -14467,6 +14557,9 @@ type FutureReservationsListResponseWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -14630,6 +14723,9 @@ type FutureReservationsScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -15676,6 +15772,9 @@ type HealthCheckListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -16063,6 +16162,9 @@ type HealthCheckServiceAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -16279,6 +16381,9 @@ type HealthCheckServicesListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -16440,6 +16545,9 @@ type HealthCheckServicesScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -16625,6 +16733,9 @@ type HealthChecksAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -16786,6 +16897,9 @@ type HealthChecksScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -17591,6 +17705,9 @@ type HttpHealthCheckListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -18354,6 +18471,9 @@ type HttpsHealthCheckListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -18871,6 +18991,9 @@ type ImageListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -19431,6 +19554,9 @@ type InstanceAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -19792,6 +19918,9 @@ type InstanceGroupAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -19976,6 +20105,9 @@ type InstanceGroupListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -20135,8 +20267,8 @@ type InstanceGroupManager struct { // InstanceGroup: [Output Only] The URL of the Instance Group resource. InstanceGroup string `json:"instanceGroup,omitempty"` - // InstanceLifecyclePolicy: Instance lifecycle policy for this Instance - // Group Manager. + // InstanceLifecyclePolicy: The repair policy for this managed instance + // group. InstanceLifecyclePolicy *InstanceGroupManagerInstanceLifecyclePolicy `json:"instanceLifecyclePolicy,omitempty"` // InstanceTemplate: The URL of the instance template that is specified @@ -20456,6 +20588,9 @@ type InstanceGroupManagerAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -20618,16 +20753,6 @@ type InstanceGroupManagerAutoHealingPolicy struct { // autohealing will recreate these instances when they become unhealthy. MaxUnavailable *FixedOrPercent `json:"maxUnavailable,omitempty"` - // Possible values: - // "ALWAYS" - Autohealer always updates instances with a new version - // for both PROACTIVE and OPPORTUNISTIC updates. - // "FOLLOW_UPDATE_POLICY" - (Default) Autohealer updates instance with - // new version according to update policy constraints: - OPPORTUNISTIC: - // autohealing does not perform updates. - PROACTIVE: autohealing - // performs updates according to maxSurge and maxUnavailable - // constraints. - UpdateInstances string `json:"updateInstances,omitempty"` - // ForceSendFields is a list of field names (e.g. "AutoHealingTriggers") // to unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any @@ -20695,6 +20820,19 @@ func (s *InstanceGroupManagerAutoHealingPolicyAutoHealingTriggers) MarshalJSON() } type InstanceGroupManagerInstanceLifecyclePolicy struct { + // ForceUpdateOnRepair: A bit indicating whether to forcefully apply the + // group's latest configuration when repairing a VM. Valid options are: + // - NO (default): If configuration updates are available, they are not + // forcefully applied during repair. However, if you've set up a + // proactive type of update policy, then configuration updates are + // applied as usual. - YES: If configuration updates are available, they + // are applied during repair. + // + // Possible values: + // "NO" + // "YES" + ForceUpdateOnRepair string `json:"forceUpdateOnRepair,omitempty"` + // MetadataBasedReadinessSignal: The configuration for metadata based // readiness signal sent by the instance during initialization when // stopping / suspending an instance. The Instance Group Manager will @@ -20709,22 +20847,21 @@ type InstanceGroupManagerInstanceLifecyclePolicy struct { // initialization on them. MetadataBasedReadinessSignal *InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignal `json:"metadataBasedReadinessSignal,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "MetadataBasedReadinessSignal") to unconditionally include in API - // requests. By default, fields with empty or default values are omitted - // from API requests. However, any non-pointer, non-interface field - // appearing in ForceSendFields will be sent to the server regardless of - // whether the field is empty or not. This may be used to include empty - // fields in Patch requests. + // ForceSendFields is a list of field names (e.g. "ForceUpdateOnRepair") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. - // "MetadataBasedReadinessSignal") to include in API requests with the - // JSON null value. By default, fields with empty values are omitted - // from API requests. However, any field with an empty value appearing - // in NullFields will be sent to the server as null. It is an error if a - // field in this list has a non-empty value. This may be used to include - // null fields in Patch requests. + // NullFields is a list of field names (e.g. "ForceUpdateOnRepair") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. NullFields []string `json:"-"` } @@ -20849,6 +20986,9 @@ type InstanceGroupManagerListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -21714,6 +21854,9 @@ type InstanceGroupManagersListPerInstanceConfigsRespWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -22017,6 +22160,9 @@ type InstanceGroupManagersScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -22454,6 +22600,9 @@ type InstanceGroupsListInstancesWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -22681,6 +22830,9 @@ type InstanceGroupsScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -22901,6 +23053,9 @@ type InstanceListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -23085,6 +23240,9 @@ type InstanceListReferrersWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -23801,6 +23959,9 @@ type InstanceTemplateListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -24227,6 +24388,9 @@ type InstancesScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -24773,6 +24937,9 @@ type InstantSnapshotAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -25009,6 +25176,9 @@ type InstantSnapshotListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -25229,6 +25399,9 @@ type InstantSnapshotsScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -26006,6 +26179,9 @@ type InterconnectAttachmentAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -26192,6 +26368,9 @@ type InterconnectAttachmentListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -26433,6 +26612,9 @@ type InterconnectAttachmentsScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -26581,6 +26763,29 @@ type InterconnectDiagnostics struct { // Interconnect is not bundled. ArpCaches []*InterconnectDiagnosticsARPEntry `json:"arpCaches,omitempty"` + // BundleAggregationType: The aggregation type of the bundle interface. + // + // Possible values: + // "BUNDLE_AGGREGATION_TYPE_LACP" - LACP is enabled. + // "BUNDLE_AGGREGATION_TYPE_STATIC" - LACP is disabled. + // "BUNDLE_AGGREGATION_TYPE_UNSPECIFIED" + BundleAggregationType string `json:"bundleAggregationType,omitempty"` + + // BundleOperationalStatus: The operational status of the bundle + // interface. + // + // Possible values: + // "BUNDLE_OPERATIONAL_STATUS_DOWN" - If bundleAggregationType is + // LACP: LACP is not established and/or all links in the bundle have + // DOWN operational status. If bundleAggregationType is STATIC: one or + // more links in the bundle has DOWN operational status. + // "BUNDLE_OPERATIONAL_STATUS_UNSPECIFIED" + // "BUNDLE_OPERATIONAL_STATUS_UP" - If bundleAggregationType is LACP: + // LACP is established and at least one link in the bundle has UP + // operational status. If bundleAggregationType is STATIC: all links in + // the bundle (typically just one) have UP operational status. + BundleOperationalStatus string `json:"bundleOperationalStatus,omitempty"` + // Links: A list of InterconnectDiagnostics.LinkStatus objects, // describing the status for each link on the Interconnect. Links []*InterconnectDiagnosticsLinkStatus `json:"links,omitempty"` @@ -26773,6 +26978,16 @@ type InterconnectDiagnosticsLinkStatus struct { // Macsec: Describes the status of MACsec encryption on this link. Macsec *InterconnectDiagnosticsMacsecStatus `json:"macsec,omitempty"` + // OperationalStatus: The operational status of the link. + // + // Possible values: + // "LINK_OPERATIONAL_STATUS_DOWN" - The interface is unable to + // communicate with the remote end. + // "LINK_OPERATIONAL_STATUS_UNSPECIFIED" + // "LINK_OPERATIONAL_STATUS_UP" - The interface has low level + // communication with the remote end. + OperationalStatus string `json:"operationalStatus,omitempty"` + // ReceivingOpticalPower: An InterconnectDiagnostics.LinkOpticalPower // object, describing the current value and status of the received light // level. @@ -26925,6 +27140,9 @@ type InterconnectListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -27234,6 +27452,9 @@ type InterconnectLocationListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -27875,6 +28096,9 @@ type IpAddressesListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -28058,6 +28282,9 @@ type IpOwnerListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -28584,6 +28811,9 @@ type LicensesListResponseWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -29228,6 +29458,9 @@ type MachineImageListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -29548,6 +29781,9 @@ type MachineTypeAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -29731,6 +29967,9 @@ type MachineTypeListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -29893,6 +30132,9 @@ type MachineTypesScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -30953,6 +31195,9 @@ type NetworkEdgeSecurityServiceAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -31117,6 +31362,9 @@ type NetworkEdgeSecurityServicesScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -31510,6 +31758,9 @@ type NetworkEndpointGroupAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -31879,6 +32130,9 @@ type NetworkEndpointGroupListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -32239,6 +32493,9 @@ type NetworkEndpointGroupsListNetworkEndpointsWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -32404,6 +32661,9 @@ type NetworkEndpointGroupsScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -32807,6 +33067,9 @@ type NetworkListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -33534,6 +33797,9 @@ type NodeGroupAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -33759,6 +34025,9 @@ type NodeGroupListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -34115,6 +34384,9 @@ type NodeGroupsListNodesWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -34277,6 +34549,9 @@ type NodeGroupsScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -34609,6 +34884,9 @@ type NodeTemplateAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -34792,6 +35070,9 @@ type NodeTemplateListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -34984,6 +35265,9 @@ type NodeTemplatesScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -35253,6 +35537,9 @@ type NodeTypeAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -35436,6 +35723,9 @@ type NodeTypeListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -35598,6 +35888,9 @@ type NodeTypesScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -35857,6 +36150,9 @@ type NotificationEndpointAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -36091,6 +36387,9 @@ type NotificationEndpointListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -36252,6 +36551,9 @@ type NotificationEndpointsScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -36598,6 +36900,9 @@ type OperationWarnings struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -36784,6 +37089,9 @@ type OperationAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -36967,6 +37275,9 @@ type OperationListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -37129,6 +37440,9 @@ type OperationsScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -37642,6 +37956,9 @@ type PacketMirroringAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -37904,6 +38221,9 @@ type PacketMirroringListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -38202,6 +38522,9 @@ type PacketMirroringsScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -39527,6 +39850,9 @@ type PublicAdvertisedPrefixListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -39877,6 +40203,9 @@ type PublicDelegatedPrefixAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -40060,6 +40389,9 @@ type PublicDelegatedPrefixListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -40282,6 +40614,9 @@ type PublicDelegatedPrefixesScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -40412,6 +40747,7 @@ type Quota struct { // "COMMITTED_N2A_CPUS" // "COMMITTED_N2D_CPUS" // "COMMITTED_N2_CPUS" + // "COMMITTED_NVIDIA_A100_80GB_GPUS" // "COMMITTED_NVIDIA_A100_GPUS" // "COMMITTED_NVIDIA_K80_GPUS" // "COMMITTED_NVIDIA_P100_GPUS" @@ -40463,6 +40799,7 @@ type Quota struct { // "NETWORK_FIREWALL_POLICIES" // "NODE_GROUPS" // "NODE_TEMPLATES" + // "NVIDIA_A100_80GB_GPUS" // "NVIDIA_A100_GPUS" // "NVIDIA_K80_GPUS" // "NVIDIA_P100_GPUS" @@ -40476,6 +40813,7 @@ type Quota struct { // "PD_EXTREME_TOTAL_PROVISIONED_IOPS" // "PREEMPTIBLE_CPUS" // "PREEMPTIBLE_LOCAL_SSD_GB" + // "PREEMPTIBLE_NVIDIA_A100_80GB_GPUS" // "PREEMPTIBLE_NVIDIA_A100_GPUS" // "PREEMPTIBLE_NVIDIA_K80_GPUS" // "PREEMPTIBLE_NVIDIA_P100_GPUS" @@ -40804,6 +41142,9 @@ type RegionAutoscalerListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -41015,6 +41356,9 @@ type RegionDiskTypeListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -41389,6 +41733,9 @@ type RegionInstanceGroupListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -41605,6 +41952,9 @@ type RegionInstanceGroupManagerListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -42065,6 +42415,9 @@ type RegionInstanceGroupManagersListInstanceConfigsRespWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -42580,6 +42933,9 @@ type RegionInstanceGroupsListInstancesWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -42864,6 +43220,9 @@ type RegionListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -43240,6 +43599,11 @@ type Reservation struct { // be a dash. Name string `json:"name,omitempty"` + // ResourcePolicies: Resource policies to be added to this reservation. + // The key is defined by user, and the value is resource policy url. + // This is to define placement policy with reservation. + ResourcePolicies map[string]string `json:"resourcePolicies,omitempty"` + // SatisfiesPzs: [Output Only] Reserved for future use. SatisfiesPzs bool `json:"satisfiesPzs,omitempty"` @@ -43450,6 +43814,9 @@ type ReservationAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -43632,6 +43999,9 @@ type ReservationListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -43822,6 +44192,9 @@ type ReservationsScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -44060,6 +44433,9 @@ type ResourcePoliciesScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -44345,6 +44721,9 @@ type ResourcePolicyAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -44756,6 +45135,9 @@ type ResourcePolicyListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -45604,6 +45986,9 @@ type RouteWarnings struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -45829,6 +46214,9 @@ type RouteListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -46143,6 +46531,9 @@ type RouterAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -46732,6 +47123,9 @@ type RouterListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -46889,13 +47283,13 @@ type RouterNat struct { EnableEndpointIndependentMapping bool `json:"enableEndpointIndependentMapping,omitempty"` - // EndpointTypes: List of Natted endpoint types supported by the Nat + // EndpointTypes: List of NAT-ted endpoint types supported by the Nat // Gateway. If the list is empty, then it will be equivalent to include // ENDPOINT_TYPE_VM // // Possible values: // "ENDPOINT_TYPE_SWG" - This is used for Secure Web Gateway - // (go/securewebgateway) endpoints. + // endpoints. // "ENDPOINT_TYPE_VM" - This is the default. EndpointTypes []string `json:"endpointTypes,omitempty"` @@ -47572,6 +47966,9 @@ type RoutersScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -48343,6 +48740,9 @@ type SecurityPoliciesAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -48537,6 +48937,9 @@ type SecurityPoliciesScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -49107,6 +49510,9 @@ type SecurityPolicyListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -50226,6 +50632,9 @@ type ServiceAttachmentAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -50485,6 +50894,9 @@ type ServiceAttachmentListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -50648,6 +51060,9 @@ type ServiceAttachmentsScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -51504,6 +51919,9 @@ type SnapshotListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -51991,6 +52409,9 @@ type SslCertificateAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -52174,6 +52595,9 @@ type SslCertificateListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -52431,6 +52855,9 @@ type SslCertificatesScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -52619,6 +53046,9 @@ type SslPoliciesAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -52801,6 +53231,9 @@ type SslPoliciesListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -52992,6 +53425,9 @@ type SslPoliciesScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -53246,6 +53682,9 @@ type SslPolicyWarnings struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -53922,6 +54361,9 @@ type SubnetworkAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -54105,6 +54547,9 @@ type SubnetworkListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -54430,6 +54875,9 @@ type SubnetworksScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -54901,6 +55349,9 @@ type TargetGrpcProxyListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -55064,6 +55515,9 @@ type TargetHttpProxiesScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -55366,6 +55820,9 @@ type TargetHttpProxyAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -55550,6 +56007,9 @@ type TargetHttpProxyListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -55713,6 +56173,9 @@ type TargetHttpsProxiesScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -56175,6 +56638,9 @@ type TargetHttpsProxyAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -56359,6 +56825,9 @@ type TargetHttpsProxyListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -56636,6 +57105,9 @@ type TargetInstanceAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -56819,6 +57291,9 @@ type TargetInstanceListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -56981,6 +57456,9 @@ type TargetInstancesScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -57328,6 +57806,9 @@ type TargetPoolAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -57546,6 +58027,9 @@ type TargetPoolListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -57826,6 +58310,9 @@ type TargetPoolsScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -58246,6 +58733,9 @@ type TargetSslProxyListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -58578,6 +59068,9 @@ type TargetTcpProxyListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -58868,6 +59361,9 @@ type TargetVpnGatewayAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -59052,6 +59548,9 @@ type TargetVpnGatewayListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -59215,6 +59714,9 @@ type TargetVpnGatewaysScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -59983,6 +60485,9 @@ type UrlMapListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -60342,6 +60847,9 @@ type UrlMapsAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -60503,6 +61011,9 @@ type UrlMapsScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -60885,6 +61396,9 @@ type UsableSubnetworksAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -61260,6 +61774,9 @@ type VmEndpointNatMappingsListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -61544,6 +62061,9 @@ type VpnGatewayAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -61727,6 +62247,9 @@ type VpnGatewayListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -62132,6 +62655,9 @@ type VpnGatewaysScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -62512,6 +63038,9 @@ type VpnTunnelAggregatedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -62695,6 +63224,9 @@ type VpnTunnelListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -62856,6 +63388,9 @@ type VpnTunnelsScopedListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -63162,6 +63697,9 @@ type XpnHostListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance @@ -63458,6 +63996,9 @@ type ZoneListWarning struct { // not assigned to an instance on the network. // "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot // ip forward. + // "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's + // nextHopInstance URL refers to an instance that does not have an ipv6 + // interface on the same network as the route. // "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL // refers to an instance that does not exist. // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance diff --git a/connectors/v1/connectors-api.json b/connectors/v1/connectors-api.json index a91e866cd7b..644b2719141 100644 --- a/connectors/v1/connectors-api.json +++ b/connectors/v1/connectors-api.json @@ -169,7 +169,7 @@ ], "parameters": { "filter": { - "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", "location": "query", "type": "string" }, @@ -1055,7 +1055,7 @@ } } }, - "revision": "20220120", + "revision": "20220419", "rootUrl": "https://connectors.googleapis.com/", "schemas": { "AuditConfig": { @@ -1187,7 +1187,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, @@ -1621,7 +1621,7 @@ "type": "object" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" @@ -2634,7 +2634,7 @@ "type": "string" }, "serviceDirectory": { - "description": "Output only. The name of the Service Directory service name. Used for Private Harpoon to resolve the ILB address. e.g. \"projects/cloud-connectors-e2e-testing/locations/us-central1/namespaces/istio-system/services/istio-ingressgateway-connectors\"", + "description": "Output only. The name of the Service Directory service name.", "readOnly": true, "type": "string" }, @@ -2701,7 +2701,7 @@ "properties": { "policy": { "$ref": "Policy", - "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them." + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." }, "updateMask": { "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", @@ -2785,7 +2785,7 @@ "id": "TestIamPermissionsRequest", "properties": { "permissions": { - "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", "items": { "type": "string" }, diff --git a/connectors/v1/connectors-gen.go b/connectors/v1/connectors-gen.go index e602f937261..94738ca2bd8 100644 --- a/connectors/v1/connectors-gen.go +++ b/connectors/v1/connectors-gen.go @@ -465,8 +465,8 @@ type Binding struct { // (https://cloud.google.com/iam/help/conditions/resource-policies). Condition *Expr `json:"condition,omitempty"` - // Members: Specifies the principals requesting access for a Cloud - // Platform resource. `members` can have the following values: * + // Members: Specifies the principals requesting access for a Google + // Cloud resource. `members` can have the following values: * // `allUsers`: A special identifier that represents anyone who is on the // internet; with or without a Google account. * // `allAuthenticatedUsers`: A special identifier that represents anyone @@ -1003,8 +1003,7 @@ func (s *EgressControlConfig) MarshalJSON() ([]byte, error) { // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For // instance: service Foo { rpc Bar(google.protobuf.Empty) returns -// (google.protobuf.Empty); } The JSON representation for `Empty` is -// empty JSON object `{}`. +// (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the // server. @@ -2363,10 +2362,7 @@ type RuntimeConfig struct { SchemaGcsBucket string `json:"schemaGcsBucket,omitempty"` // ServiceDirectory: Output only. The name of the Service Directory - // service name. Used for Private Harpoon to resolve the ILB address. - // e.g. - // "projects/cloud-connectors-e2e-testing/locations/us-central1/namespace - // s/istio-system/services/istio-ingressgateway-connectors" + // service name. ServiceDirectory string `json:"serviceDirectory,omitempty"` // State: Output only. The state of the location. @@ -2473,7 +2469,7 @@ func (s *Secret) MarshalJSON() ([]byte, error) { type SetIamPolicyRequest struct { // Policy: REQUIRED: The complete policy to be applied to the // `resource`. The size of the policy is limited to a few 10s of KB. An - // empty policy is a valid policy but certain Cloud Platform services + // empty policy is a valid policy but certain Google Cloud services // (such as Projects) might reject them. Policy *Policy `json:"policy,omitempty"` @@ -2630,7 +2626,7 @@ func (s *SupportedRuntimeFeatures) MarshalJSON() ([]byte, error) { // method. type TestIamPermissionsRequest struct { // Permissions: The set of permissions to check for the `resource`. - // Permissions with wildcards (such as '*' or 'storage.*') are not + // Permissions with wildcards (such as `*` or `storage.*`) are not // allowed. For more information see IAM Overview // (https://cloud.google.com/iam/docs/overview#permissions). Permissions []string `json:"permissions,omitempty"` @@ -3042,8 +3038,8 @@ func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall // Filter sets the optional parameter "filter": A filter to narrow down // results to a preferred subset. The filtering language accepts strings -// like "displayName=tokyo", and is documented in more detail in AIP-160 -// (https://google.aip.dev/160). +// like "displayName=tokyo", and is documented in more detail in +// AIP-160 (https://google.aip.dev/160). func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall { c.urlParams_.Set("filter", filter) return c @@ -3172,7 +3168,7 @@ func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocat // ], // "parameters": { // "filter": { - // "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + // "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", // "location": "query", // "type": "string" // }, diff --git a/content/v2.1/content-api.json b/content/v2.1/content-api.json index fd8d9d0910c..306f3d20db2 100644 --- a/content/v2.1/content-api.json +++ b/content/v2.1/content-api.json @@ -4071,6 +4071,99 @@ } } }, + "productdeliverytime": { + "methods": { + "create": { + "description": "Creates or updates the delivery time of a product.", + "flatPath": "{merchantId}/productdeliverytime", + "httpMethod": "POST", + "id": "content.productdeliverytime.create", + "parameterOrder": [ + "merchantId" + ], + "parameters": { + "merchantId": { + "description": "The Google merchant ID of the account that contains the product. This account cannot be a multi-client account.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{merchantId}/productdeliverytime", + "request": { + "$ref": "ProductDeliveryTime" + }, + "response": { + "$ref": "ProductDeliveryTime" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "delete": { + "description": "Deletes the delivery time of a product.", + "flatPath": "{merchantId}/productdeliverytime/{productId}", + "httpMethod": "DELETE", + "id": "content.productdeliverytime.delete", + "parameterOrder": [ + "merchantId", + "productId" + ], + "parameters": { + "merchantId": { + "description": "Required. The Google merchant ID of the account that contains the product. This account cannot be a multi-client account.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "productId": { + "description": "Required. The Content API ID of the product, in the form channel:contentLanguage:targetCountry:offerId.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{merchantId}/productdeliverytime/{productId}", + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "get": { + "description": "Gets productDeliveryTime by productId", + "flatPath": "{merchantId}/productdeliverytime/{productId}", + "httpMethod": "GET", + "id": "content.productdeliverytime.get", + "parameterOrder": [ + "merchantId", + "productId" + ], + "parameters": { + "merchantId": { + "description": "Required. The Google merchant ID of the account that contains the product. This account cannot be a multi-client account.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "productId": { + "description": "Required. The Content API ID of the product, in the form channel:contentLanguage:targetCountry:offerId.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "{merchantId}/productdeliverytime/{productId}", + "response": { + "$ref": "ProductDeliveryTime" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, "products": { "methods": { "custombatch": { @@ -5893,7 +5986,7 @@ } } }, - "revision": "20220331", + "revision": "20220421", "rootUrl": "https://shoppingcontent.googleapis.com/", "schemas": { "Account": { @@ -8096,6 +8189,40 @@ }, "type": "object" }, + "DeliveryArea": { + "description": "A delivery area for the product. Only one of administrativeAreaCode or postalCodeRange must be set.", + "id": "DeliveryArea", + "properties": { + "countryCode": { + "description": "Required. The country that the product can be delivered to. Submit an [unicode CLDR region](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) such as US or CH.", + "type": "string" + }, + "postalCodeRange": { + "$ref": "DeliveryAreaPostalCodeRange", + "description": "A postal code, postal code range or postal code prefix that defines this area. Limited to US and AUS." + }, + "regionCode": { + "description": "A state, territory, or prefecture. This is supported for the United States, Australia, and Japan. Provide a subdivision code from the ISO 3166-2 code tables ([US](https://en.wikipedia.org/wiki/ISO_3166-2:US), [AU](https://en.wikipedia.org/wiki/ISO_3166-2:AU), or [JP](https://en.wikipedia.org/wiki/ISO_3166-2:JP)) without country prefix (for example, NY, NSW, 03).", + "type": "string" + } + }, + "type": "object" + }, + "DeliveryAreaPostalCodeRange": { + "description": "A range of postal codes that defines the delivery area. Only set firstPostalCode when specifying a single postal code.", + "id": "DeliveryAreaPostalCodeRange", + "properties": { + "firstPostalCode": { + "description": "Required. A postal code or a pattern of the form prefix* denoting the inclusive lower bound of the range defining the area. Examples values: \"94108\", \"9410*\", \"9*\".", + "type": "string" + }, + "lastPostalCode": { + "description": "A postal code or a pattern of the form prefix* denoting the inclusive upper bound of the range defining the area (for example [070* - 078*] results in the range [07000 - 07899]). It must have the same length as firstPostalCode: if firstPostalCode is a postal code then lastPostalCode must be a postal code too; if firstPostalCode is a pattern then lastPostalCode must be a pattern with the same prefix length. Ignored if not set, then the area is defined as being all the postal codes matching firstPostalCode.", + "type": "string" + } + }, + "type": "object" + }, "DeliveryTime": { "id": "DeliveryTime", "properties": { @@ -9418,6 +9545,21 @@ "format": "int64", "type": "string" }, + "conversionRate": { + "description": "Number of conversions divided by the number of clicks, reported on the impression date. The metric is currently available only for the FREE_PRODUCT_LISTING program.", + "format": "double", + "type": "number" + }, + "conversionValueMicros": { + "description": "Value of conversions in micros attributed to the product, reported on the conversion date. The metric is currently available only for the FREE_PRODUCT_LISTING program. The currency of the returned value is stored in the currency_code segment. If this metric is selected, 'segments.currency_code' is automatically added to the SELECT clause in the search query (unless it is explicitly selected by the user) and the currency_code segment is populated in the response.", + "format": "int64", + "type": "string" + }, + "conversions": { + "description": "Number of conversions attributed to the product, reported on the conversion date. Depending on the attribution model, a conversion might be distributed across multiple clicks, where each click gets its own credit assigned. This metric is a sum of all such credits. The metric is currently available only for the FREE_PRODUCT_LISTING program.", + "format": "double", + "type": "number" + }, "ctr": { "description": "Click-through rate - the number of clicks merchant's products receive (clicks) divided by the number of times the products are shown (impressions).", "format": "double", @@ -12787,6 +12929,66 @@ }, "type": "object" }, + "ProductDeliveryTime": { + "description": "The estimated days to deliver for this product. These methods are intended for authorized partners working with a merchant. Merchants should use the [product API](https://developers.google.com/shopping-content/reference/rest/v2.1/products#productshipping) instead. To obtain authorization from a merchant refer to", + "id": "ProductDeliveryTime", + "properties": { + "areaDeliveryTimes": { + "description": "Required. A set of associations between DeliveryAreas and DeliveryTimes. The total number of areaDeliveryTimes can be at most 100.", + "items": { + "$ref": "ProductDeliveryTimeAreaDeliveryTime" + }, + "type": "array" + }, + "productId": { + "$ref": "ProductId", + "description": "Required. The id of the product." + } + }, + "type": "object" + }, + "ProductDeliveryTimeAreaDeliveryTime": { + "description": "A pairing of DeliveryArea associated with a DeliveryTime for this product.", + "id": "ProductDeliveryTimeAreaDeliveryTime", + "properties": { + "deliveryArea": { + "$ref": "DeliveryArea", + "description": "Required. The delivery area associated with deliveryTime for this product." + }, + "deliveryTime": { + "$ref": "ProductDeliveryTimeAreaDeliveryTimeDeliveryTime", + "description": "Required. The delivery time associated with deliveryArea for this product." + } + }, + "type": "object" + }, + "ProductDeliveryTimeAreaDeliveryTimeDeliveryTime": { + "description": "A delivery time for this product.", + "id": "ProductDeliveryTimeAreaDeliveryTimeDeliveryTime", + "properties": { + "maxHandlingTimeDays": { + "description": "Required. The maximum number of business days (inclusive) between when an order is placed and when the product ships. If a product ships in the same day, set this value to 0.", + "format": "int32", + "type": "integer" + }, + "maxTransitTimeDays": { + "description": "Required. The maximum number of business days (inclusive) between when the product ships and when the product is delivered.", + "format": "int32", + "type": "integer" + }, + "minHandlingTimeDays": { + "description": "Required. The minimum number of business days (inclusive) between when an order is placed and when the product ships. If a product ships in the same day, set this value to 0.", + "format": "int32", + "type": "integer" + }, + "minTransitTimeDays": { + "description": "Required. The minimum number of business days (inclusive) between when the product ships and when the product is delivered.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "ProductDimension": { "id": "ProductDimension", "properties": { @@ -12802,6 +13004,17 @@ }, "type": "object" }, + "ProductId": { + "description": "The Content API ID of the product.", + "id": "ProductId", + "properties": { + "productId": { + "description": "The Content API ID of the product, in the form channel:contentLanguage:targetCountry:offerId.", + "type": "string" + } + }, + "type": "object" + }, "ProductProductDetail": { "id": "ProductProductDetail", "properties": { @@ -13354,7 +13567,7 @@ "type": "object" }, "Promotion": { - "description": " The Promotions feature is currently in alpha and is not yet publicly available in Content API for Shopping. This documentation is provided for reference only may be subject to change. Represents a promotion. See the following articles for more details. * [Promotions feed specification](https://support.google.com/merchants/answer/2906014) * [Local promotions feed specification](https://support.google.com/merchants/answer/10146130) * [Promotions on Buy on Google product data specification](https://support.google.com/merchants/answer/9173673)", + "description": " The Promotions feature is publicly available for the US and CA locale (en language only) in Content API for Shopping. Represents a promotion. See the following articles for more details. * [Promotions feed specification](https://support.google.com/merchants/answer/2906014) * [Local promotions feed specification](https://support.google.com/merchants/answer/10146130) * [Promotions on Buy on Google product data specification](https://support.google.com/merchants/answer/9173673)", "id": "Promotion", "properties": { "brand": { @@ -13473,7 +13686,7 @@ "description": "Maximum purchase value for the promotion." }, "longTitle": { - "description": "Long title for the promotion.", + "description": "Required. Long title for the promotion.", "type": "string" }, "minimumPurchaseAmount": { diff --git a/content/v2.1/content-gen.go b/content/v2.1/content-gen.go index f4ee01a9457..83e771e9e26 100644 --- a/content/v2.1/content-gen.go +++ b/content/v2.1/content-gen.go @@ -137,6 +137,7 @@ func New(client *http.Client) (*APIService, error) { s.Orders = NewOrdersService(s) s.Ordertrackingsignals = NewOrdertrackingsignalsService(s) s.Pos = NewPosService(s) + s.Productdeliverytime = NewProductdeliverytimeService(s) s.Products = NewProductsService(s) s.Productstatuses = NewProductstatusesService(s) s.Promotions = NewPromotionsService(s) @@ -200,6 +201,8 @@ type APIService struct { Pos *PosService + Productdeliverytime *ProductdeliverytimeService + Products *ProductsService Productstatuses *ProductstatusesService @@ -466,6 +469,15 @@ type PosService struct { s *APIService } +func NewProductdeliverytimeService(s *APIService) *ProductdeliverytimeService { + rs := &ProductdeliverytimeService{s: s} + return rs +} + +type ProductdeliverytimeService struct { + s *APIService +} + func NewProductsService(s *APIService) *ProductsService { rs := &ProductsService{s: s} return rs @@ -4322,6 +4334,94 @@ func (s *DateTime) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// DeliveryArea: A delivery area for the product. Only one of +// administrativeAreaCode or postalCodeRange must be set. +type DeliveryArea struct { + // CountryCode: Required. The country that the product can be delivered + // to. Submit an unicode CLDR region + // (http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) + // such as US or CH. + CountryCode string `json:"countryCode,omitempty"` + + // PostalCodeRange: A postal code, postal code range or postal code + // prefix that defines this area. Limited to US and AUS. + PostalCodeRange *DeliveryAreaPostalCodeRange `json:"postalCodeRange,omitempty"` + + // RegionCode: A state, territory, or prefecture. This is supported for + // the United States, Australia, and Japan. Provide a subdivision code + // from the ISO 3166-2 code tables (US + // (https://en.wikipedia.org/wiki/ISO_3166-2:US), AU + // (https://en.wikipedia.org/wiki/ISO_3166-2:AU), or JP + // (https://en.wikipedia.org/wiki/ISO_3166-2:JP)) without country prefix + // (for example, NY, NSW, 03). + RegionCode string `json:"regionCode,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CountryCode") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CountryCode") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *DeliveryArea) MarshalJSON() ([]byte, error) { + type NoMethod DeliveryArea + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// DeliveryAreaPostalCodeRange: A range of postal codes that defines the +// delivery area. Only set firstPostalCode when specifying a single +// postal code. +type DeliveryAreaPostalCodeRange struct { + // FirstPostalCode: Required. A postal code or a pattern of the form + // prefix* denoting the inclusive lower bound of the range defining the + // area. Examples values: "94108", "9410*", "9*". + FirstPostalCode string `json:"firstPostalCode,omitempty"` + + // LastPostalCode: A postal code or a pattern of the form prefix* + // denoting the inclusive upper bound of the range defining the area + // (for example [070* - 078*] results in the range [07000 - 07899]). It + // must have the same length as firstPostalCode: if firstPostalCode is a + // postal code then lastPostalCode must be a postal code too; if + // firstPostalCode is a pattern then lastPostalCode must be a pattern + // with the same prefix length. Ignored if not set, then the area is + // defined as being all the postal codes matching firstPostalCode. + LastPostalCode string `json:"lastPostalCode,omitempty"` + + // ForceSendFields is a list of field names (e.g. "FirstPostalCode") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "FirstPostalCode") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *DeliveryAreaPostalCodeRange) MarshalJSON() ([]byte, error) { + type NoMethod DeliveryAreaPostalCodeRange + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type DeliveryTime struct { // CutoffTime: Business days cutoff time definition. If not configured // the cutoff time will be defaulted to 8AM PST. @@ -6620,6 +6720,29 @@ type Metrics struct { // Clicks: Number of clicks. Clicks int64 `json:"clicks,omitempty,string"` + // ConversionRate: Number of conversions divided by the number of + // clicks, reported on the impression date. The metric is currently + // available only for the FREE_PRODUCT_LISTING program. + ConversionRate float64 `json:"conversionRate,omitempty"` + + // ConversionValueMicros: Value of conversions in micros attributed to + // the product, reported on the conversion date. The metric is currently + // available only for the FREE_PRODUCT_LISTING program. The currency of + // the returned value is stored in the currency_code segment. If this + // metric is selected, 'segments.currency_code' is automatically added + // to the SELECT clause in the search query (unless it is explicitly + // selected by the user) and the currency_code segment is populated in + // the response. + ConversionValueMicros int64 `json:"conversionValueMicros,omitempty,string"` + + // Conversions: Number of conversions attributed to the product, + // reported on the conversion date. Depending on the attribution model, + // a conversion might be distributed across multiple clicks, where each + // click gets its own credit assigned. This metric is a sum of all such + // credits. The metric is currently available only for the + // FREE_PRODUCT_LISTING program. + Conversions float64 `json:"conversions,omitempty"` + // Ctr: Click-through rate - the number of clicks merchant's products // receive (clicks) divided by the number of times the products are // shown (impressions). @@ -6745,6 +6868,8 @@ func (s *Metrics) UnmarshalJSON(data []byte) error { var s1 struct { Aos gensupport.JSONFloat64 `json:"aos"` AovMicros gensupport.JSONFloat64 `json:"aovMicros"` + ConversionRate gensupport.JSONFloat64 `json:"conversionRate"` + Conversions gensupport.JSONFloat64 `json:"conversions"` Ctr gensupport.JSONFloat64 `json:"ctr"` DaysToShip gensupport.JSONFloat64 `json:"daysToShip"` ItemDaysToShip gensupport.JSONFloat64 `json:"itemDaysToShip"` @@ -6760,6 +6885,8 @@ func (s *Metrics) UnmarshalJSON(data []byte) error { } s.Aos = float64(s1.Aos) s.AovMicros = float64(s1.AovMicros) + s.ConversionRate = float64(s1.ConversionRate) + s.Conversions = float64(s1.Conversions) s.Ctr = float64(s1.Ctr) s.DaysToShip = float64(s1.DaysToShip) s.ItemDaysToShip = float64(s1.ItemDaysToShip) @@ -12239,6 +12366,129 @@ func (s *ProductAmount) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ProductDeliveryTime: The estimated days to deliver for this product. +// These methods are intended for authorized partners working with a +// merchant. Merchants should use the product API +// (https://developers.google.com/shopping-content/reference/rest/v2.1/products#productshipping) +// instead. To obtain authorization from a merchant refer to +type ProductDeliveryTime struct { + // AreaDeliveryTimes: Required. A set of associations between + // DeliveryAreas and DeliveryTimes. The total number of + // areaDeliveryTimes can be at most 100. + AreaDeliveryTimes []*ProductDeliveryTimeAreaDeliveryTime `json:"areaDeliveryTimes,omitempty"` + + // ProductId: Required. The id of the product. + ProductId *ProductId `json:"productId,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "AreaDeliveryTimes") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AreaDeliveryTimes") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *ProductDeliveryTime) MarshalJSON() ([]byte, error) { + type NoMethod ProductDeliveryTime + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ProductDeliveryTimeAreaDeliveryTime: A pairing of DeliveryArea +// associated with a DeliveryTime for this product. +type ProductDeliveryTimeAreaDeliveryTime struct { + // DeliveryArea: Required. The delivery area associated with + // deliveryTime for this product. + DeliveryArea *DeliveryArea `json:"deliveryArea,omitempty"` + + // DeliveryTime: Required. The delivery time associated with + // deliveryArea for this product. + DeliveryTime *ProductDeliveryTimeAreaDeliveryTimeDeliveryTime `json:"deliveryTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DeliveryArea") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DeliveryArea") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ProductDeliveryTimeAreaDeliveryTime) MarshalJSON() ([]byte, error) { + type NoMethod ProductDeliveryTimeAreaDeliveryTime + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ProductDeliveryTimeAreaDeliveryTimeDeliveryTime: A delivery time for +// this product. +type ProductDeliveryTimeAreaDeliveryTimeDeliveryTime struct { + // MaxHandlingTimeDays: Required. The maximum number of business days + // (inclusive) between when an order is placed and when the product + // ships. If a product ships in the same day, set this value to 0. + MaxHandlingTimeDays int64 `json:"maxHandlingTimeDays,omitempty"` + + // MaxTransitTimeDays: Required. The maximum number of business days + // (inclusive) between when the product ships and when the product is + // delivered. + MaxTransitTimeDays int64 `json:"maxTransitTimeDays,omitempty"` + + // MinHandlingTimeDays: Required. The minimum number of business days + // (inclusive) between when an order is placed and when the product + // ships. If a product ships in the same day, set this value to 0. + MinHandlingTimeDays int64 `json:"minHandlingTimeDays,omitempty"` + + // MinTransitTimeDays: Required. The minimum number of business days + // (inclusive) between when the product ships and when the product is + // delivered. + MinTransitTimeDays int64 `json:"minTransitTimeDays,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MaxHandlingTimeDays") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "MaxHandlingTimeDays") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *ProductDeliveryTimeAreaDeliveryTimeDeliveryTime) MarshalJSON() ([]byte, error) { + type NoMethod ProductDeliveryTimeAreaDeliveryTimeDeliveryTime + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type ProductDimension struct { // Unit: Required. The length units. Acceptable values are: - "in" - // "cm" @@ -12285,6 +12535,35 @@ func (s *ProductDimension) UnmarshalJSON(data []byte) error { return nil } +// ProductId: The Content API ID of the product. +type ProductId struct { + // ProductId: The Content API ID of the product, in the form + // channel:contentLanguage:targetCountry:offerId. + ProductId string `json:"productId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ProductId") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ProductId") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ProductId) MarshalJSON() ([]byte, error) { + type NoMethod ProductId + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type ProductProductDetail struct { // AttributeName: The name of the product detail. AttributeName string `json:"attributeName,omitempty"` @@ -13253,11 +13532,10 @@ func (s *ProductstatusesListResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Promotion: The Promotions feature is currently in alpha and is not -// yet publicly available in Content API for Shopping. This -// documentation is provided for reference only may be subject to -// change. Represents a promotion. See the following articles for more -// details. * Promotions feed specification +// Promotion: The Promotions feature is publicly available for the US +// and CA locale (en language only) in Content API for Shopping. +// Represents a promotion. See the following articles for more details. +// * Promotions feed specification // (https://support.google.com/merchants/answer/2906014) * Local // promotions feed specification // (https://support.google.com/merchants/answer/10146130) * Promotions @@ -13348,7 +13626,7 @@ type Promotion struct { // LimitValue: Maximum purchase value for the promotion. LimitValue *PriceAmount `json:"limitValue,omitempty"` - // LongTitle: Long title for the promotion. + // LongTitle: Required. Long title for the promotion. LongTitle string `json:"longTitle,omitempty"` // MinimumPurchaseAmount: Minimum purchase amount for the promotion. @@ -35814,6 +36092,425 @@ func (c *PosSaleCall) Do(opts ...googleapi.CallOption) (*PosSaleResponse, error) } +// method id "content.productdeliverytime.create": + +type ProductdeliverytimeCreateCall struct { + s *APIService + merchantId int64 + productdeliverytime *ProductDeliveryTime + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates or updates the delivery time of a product. +// +// - merchantId: The Google merchant ID of the account that contains the +// product. This account cannot be a multi-client account. +func (r *ProductdeliverytimeService) Create(merchantId int64, productdeliverytime *ProductDeliveryTime) *ProductdeliverytimeCreateCall { + c := &ProductdeliverytimeCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.merchantId = merchantId + c.productdeliverytime = productdeliverytime + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProductdeliverytimeCreateCall) Fields(s ...googleapi.Field) *ProductdeliverytimeCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProductdeliverytimeCreateCall) Context(ctx context.Context) *ProductdeliverytimeCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProductdeliverytimeCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProductdeliverytimeCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.productdeliverytime) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/productdeliverytime") + 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{ + "merchantId": strconv.FormatInt(c.merchantId, 10), + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "content.productdeliverytime.create" call. +// Exactly one of *ProductDeliveryTime or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ProductDeliveryTime.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 *ProductdeliverytimeCreateCall) Do(opts ...googleapi.CallOption) (*ProductDeliveryTime, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &ProductDeliveryTime{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates or updates the delivery time of a product.", + // "flatPath": "{merchantId}/productdeliverytime", + // "httpMethod": "POST", + // "id": "content.productdeliverytime.create", + // "parameterOrder": [ + // "merchantId" + // ], + // "parameters": { + // "merchantId": { + // "description": "The Google merchant ID of the account that contains the product. This account cannot be a multi-client account.", + // "format": "int64", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{merchantId}/productdeliverytime", + // "request": { + // "$ref": "ProductDeliveryTime" + // }, + // "response": { + // "$ref": "ProductDeliveryTime" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/content" + // ] + // } + +} + +// method id "content.productdeliverytime.delete": + +type ProductdeliverytimeDeleteCall struct { + s *APIService + merchantId int64 + productId string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes the delivery time of a product. +// +// - merchantId: The Google merchant ID of the account that contains the +// product. This account cannot be a multi-client account. +// - productId: The Content API ID of the product, in the form +// channel:contentLanguage:targetCountry:offerId. +func (r *ProductdeliverytimeService) Delete(merchantId int64, productId string) *ProductdeliverytimeDeleteCall { + c := &ProductdeliverytimeDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.merchantId = merchantId + c.productId = productId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProductdeliverytimeDeleteCall) Fields(s ...googleapi.Field) *ProductdeliverytimeDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProductdeliverytimeDeleteCall) Context(ctx context.Context) *ProductdeliverytimeDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProductdeliverytimeDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProductdeliverytimeDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/productdeliverytime/{productId}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("DELETE", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "merchantId": strconv.FormatInt(c.merchantId, 10), + "productId": c.productId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "content.productdeliverytime.delete" call. +func (c *ProductdeliverytimeDeleteCall) Do(opts ...googleapi.CallOption) error { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if err != nil { + return err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return err + } + return nil + // { + // "description": "Deletes the delivery time of a product.", + // "flatPath": "{merchantId}/productdeliverytime/{productId}", + // "httpMethod": "DELETE", + // "id": "content.productdeliverytime.delete", + // "parameterOrder": [ + // "merchantId", + // "productId" + // ], + // "parameters": { + // "merchantId": { + // "description": "Required. The Google merchant ID of the account that contains the product. This account cannot be a multi-client account.", + // "format": "int64", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "productId": { + // "description": "Required. The Content API ID of the product, in the form channel:contentLanguage:targetCountry:offerId.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{merchantId}/productdeliverytime/{productId}", + // "scopes": [ + // "https://www.googleapis.com/auth/content" + // ] + // } + +} + +// method id "content.productdeliverytime.get": + +type ProductdeliverytimeGetCall struct { + s *APIService + merchantId int64 + productId string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets productDeliveryTime by productId +// +// - merchantId: The Google merchant ID of the account that contains the +// product. This account cannot be a multi-client account. +// - productId: The Content API ID of the product, in the form +// channel:contentLanguage:targetCountry:offerId. +func (r *ProductdeliverytimeService) Get(merchantId int64, productId string) *ProductdeliverytimeGetCall { + c := &ProductdeliverytimeGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.merchantId = merchantId + c.productId = productId + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProductdeliverytimeGetCall) Fields(s ...googleapi.Field) *ProductdeliverytimeGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProductdeliverytimeGetCall) IfNoneMatch(entityTag string) *ProductdeliverytimeGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProductdeliverytimeGetCall) Context(ctx context.Context) *ProductdeliverytimeGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProductdeliverytimeGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProductdeliverytimeGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "{merchantId}/productdeliverytime/{productId}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "merchantId": strconv.FormatInt(c.merchantId, 10), + "productId": c.productId, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "content.productdeliverytime.get" call. +// Exactly one of *ProductDeliveryTime or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ProductDeliveryTime.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 *ProductdeliverytimeGetCall) Do(opts ...googleapi.CallOption) (*ProductDeliveryTime, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &ProductDeliveryTime{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets productDeliveryTime by productId", + // "flatPath": "{merchantId}/productdeliverytime/{productId}", + // "httpMethod": "GET", + // "id": "content.productdeliverytime.get", + // "parameterOrder": [ + // "merchantId", + // "productId" + // ], + // "parameters": { + // "merchantId": { + // "description": "Required. The Google merchant ID of the account that contains the product. This account cannot be a multi-client account.", + // "format": "int64", + // "location": "path", + // "required": true, + // "type": "string" + // }, + // "productId": { + // "description": "Required. The Content API ID of the product, in the form channel:contentLanguage:targetCountry:offerId.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "{merchantId}/productdeliverytime/{productId}", + // "response": { + // "$ref": "ProductDeliveryTime" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/content" + // ] + // } + +} + // method id "content.products.custombatch": type ProductsCustombatchCall struct { diff --git a/datastore/v1/datastore-api.json b/datastore/v1/datastore-api.json index 0a81f3cb671..fff134e8808 100644 --- a/datastore/v1/datastore-api.json +++ b/datastore/v1/datastore-api.json @@ -626,7 +626,7 @@ } } }, - "revision": "20220402", + "revision": "20220428", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "AllocateIdsRequest": { @@ -2111,7 +2111,7 @@ "properties": { "gqlQuery": { "$ref": "GqlQuery", - "description": "The GQL query to run." + "description": "The GQL query to run. This query must be a non-aggregation query." }, "partitionId": { "$ref": "PartitionId", diff --git a/datastore/v1/datastore-gen.go b/datastore/v1/datastore-gen.go index c8c7b3d4900..4a7c84517c7 100644 --- a/datastore/v1/datastore-gen.go +++ b/datastore/v1/datastore-gen.go @@ -2693,7 +2693,8 @@ type RollbackResponse struct { // RunQueryRequest: The request for Datastore.RunQuery. type RunQueryRequest struct { - // GqlQuery: The GQL query to run. + // GqlQuery: The GQL query to run. This query must be a non-aggregation + // query. GqlQuery *GqlQuery `json:"gqlQuery,omitempty"` // PartitionId: Entities are partitioned into subsets, identified by a diff --git a/datastore/v1beta3/datastore-api.json b/datastore/v1beta3/datastore-api.json index 3be574aaef9..f58e7163f27 100644 --- a/datastore/v1beta3/datastore-api.json +++ b/datastore/v1beta3/datastore-api.json @@ -308,7 +308,7 @@ } } }, - "revision": "20220402", + "revision": "20220428", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "AllocateIdsRequest": { @@ -1586,7 +1586,7 @@ "properties": { "gqlQuery": { "$ref": "GqlQuery", - "description": "The GQL query to run." + "description": "The GQL query to run. This query must be a non-aggregation query." }, "partitionId": { "$ref": "PartitionId", diff --git a/datastore/v1beta3/datastore-gen.go b/datastore/v1beta3/datastore-gen.go index 94eafd1063f..999d2105982 100644 --- a/datastore/v1beta3/datastore-gen.go +++ b/datastore/v1beta3/datastore-gen.go @@ -2310,7 +2310,8 @@ type RollbackResponse struct { // RunQueryRequest: The request for Datastore.RunQuery. type RunQueryRequest struct { - // GqlQuery: The GQL query to run. + // GqlQuery: The GQL query to run. This query must be a non-aggregation + // query. GqlQuery *GqlQuery `json:"gqlQuery,omitempty"` // PartitionId: Entities are partitioned into subsets, identified by a diff --git a/dialogflow/v3/dialogflow-api.json b/dialogflow/v3/dialogflow-api.json index dee165439e6..964e029f802 100644 --- a/dialogflow/v3/dialogflow-api.json +++ b/dialogflow/v3/dialogflow-api.json @@ -3820,7 +3820,7 @@ } } }, - "revision": "20220411", + "revision": "20220422", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AdvancedSettings": { @@ -6827,6 +6827,10 @@ "description": "Represents the settings related to security issues, such as data redaction and data retention. It may take hours for updates on the settings to propagate to all the related components and take effect.", "id": "GoogleCloudDialogflowCxV3SecuritySettings", "properties": { + "audioExportSettings": { + "$ref": "GoogleCloudDialogflowCxV3SecuritySettingsAudioExportSettings", + "description": "Controls audio export settings for post-conversation analytics when ingesting audio to conversations via Participants.AnalyzeContent or Participants.StreamingAnalyzeContent. If retention_strategy is set to REMOVE_AFTER_CONVERSATION or audio_export_settings.gcs_bucket is empty, audio export is disabled. If audio export is enabled, audio is recorded and saved to audio_export_settings.gcs_bucket, subject to retention policy of audio_export_settings.gcs_bucket. This setting won't effect audio input for implicit sessions via Sessions.DetectIntent or Sessions.StreamingDetectIntent." + }, "deidentifyTemplate": { "description": "[DLP](https://cloud.google.com/dlp/docs) deidentify template name. Use this template to define de-identification configuration for the content. The `DLP De-identify Templates Reader` role is needed on the Dialogflow service identity service account (has the form `service-PROJECT_NUMBER@gcp-sa-dialogflow.iam.gserviceaccount.com`) for your agent's project. If empty, Dialogflow replaces sensitive info with `[redacted]` text. The template name will have one of the following formats: `projects//locations//deidentifyTemplates/` OR `organizations//locations//deidentifyTemplates/` Note: `deidentify_template` must be located in the same region as the `SecuritySettings`.", "type": "string" @@ -6894,6 +6898,41 @@ }, "type": "object" }, + "GoogleCloudDialogflowCxV3SecuritySettingsAudioExportSettings": { + "description": "Settings for exporting audio.", + "id": "GoogleCloudDialogflowCxV3SecuritySettingsAudioExportSettings", + "properties": { + "audioExportPattern": { + "description": "Filename pattern for exported audio.", + "type": "string" + }, + "audioFormat": { + "description": "File format for exported audio file. Currently only in telephony recordings.", + "enum": [ + "AUDIO_FORMAT_UNSPECIFIED", + "MULAW", + "MP3", + "OGG" + ], + "enumDescriptions": [ + "Unspecified. Do not use.", + "G.711 mu-law PCM with 8kHz sample rate.", + "MP3 file format.", + "OGG Vorbis." + ], + "type": "string" + }, + "enableAudioRedaction": { + "description": "Enable audio redaction if it is true.", + "type": "boolean" + }, + "gcsBucket": { + "description": "Cloud Storage bucket to export audio record to. You need to grant `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` the `Storage Object Admin` role in this bucket.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowCxV3SecuritySettingsInsightsExportSettings": { "description": "Settings for exporting conversations to [Insights](https://cloud.google.com/contact-center/insights/docs).", "id": "GoogleCloudDialogflowCxV3SecuritySettingsInsightsExportSettings", diff --git a/dialogflow/v3/dialogflow-gen.go b/dialogflow/v3/dialogflow-gen.go index dbf32963c44..aa9f6abbfa0 100644 --- a/dialogflow/v3/dialogflow-gen.go +++ b/dialogflow/v3/dialogflow-gen.go @@ -6127,6 +6127,18 @@ func (s *GoogleCloudDialogflowCxV3RunTestCaseResponse) MarshalJSON() ([]byte, er // retention. It may take hours for updates on the settings to propagate // to all the related components and take effect. type GoogleCloudDialogflowCxV3SecuritySettings struct { + // AudioExportSettings: Controls audio export settings for + // post-conversation analytics when ingesting audio to conversations via + // Participants.AnalyzeContent or Participants.StreamingAnalyzeContent. + // If retention_strategy is set to REMOVE_AFTER_CONVERSATION or + // audio_export_settings.gcs_bucket is empty, audio export is disabled. + // If audio export is enabled, audio is recorded and saved to + // audio_export_settings.gcs_bucket, subject to retention policy of + // audio_export_settings.gcs_bucket. This setting won't effect audio + // input for implicit sessions via Sessions.DetectIntent or + // Sessions.StreamingDetectIntent. + AudioExportSettings *GoogleCloudDialogflowCxV3SecuritySettingsAudioExportSettings `json:"audioExportSettings,omitempty"` + // DeidentifyTemplate: DLP (https://cloud.google.com/dlp/docs) // deidentify template name. Use this template to define // de-identification configuration for the content. The `DLP De-identify @@ -6212,7 +6224,7 @@ type GoogleCloudDialogflowCxV3SecuritySettings struct { // server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "DeidentifyTemplate") + // ForceSendFields is a list of field names (e.g. "AudioExportSettings") // to unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -6220,7 +6232,7 @@ type GoogleCloudDialogflowCxV3SecuritySettings struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DeidentifyTemplate") to + // NullFields is a list of field names (e.g. "AudioExportSettings") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the @@ -6236,6 +6248,54 @@ func (s *GoogleCloudDialogflowCxV3SecuritySettings) MarshalJSON() ([]byte, error return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudDialogflowCxV3SecuritySettingsAudioExportSettings: +// Settings for exporting audio. +type GoogleCloudDialogflowCxV3SecuritySettingsAudioExportSettings struct { + // AudioExportPattern: Filename pattern for exported audio. + AudioExportPattern string `json:"audioExportPattern,omitempty"` + + // AudioFormat: File format for exported audio file. Currently only in + // telephony recordings. + // + // Possible values: + // "AUDIO_FORMAT_UNSPECIFIED" - Unspecified. Do not use. + // "MULAW" - G.711 mu-law PCM with 8kHz sample rate. + // "MP3" - MP3 file format. + // "OGG" - OGG Vorbis. + AudioFormat string `json:"audioFormat,omitempty"` + + // EnableAudioRedaction: Enable audio redaction if it is true. + EnableAudioRedaction bool `json:"enableAudioRedaction,omitempty"` + + // GcsBucket: Cloud Storage bucket to export audio record to. You need + // to grant `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` the + // `Storage Object Admin` role in this bucket. + GcsBucket string `json:"gcsBucket,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AudioExportPattern") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AudioExportPattern") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudDialogflowCxV3SecuritySettingsAudioExportSettings) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDialogflowCxV3SecuritySettingsAudioExportSettings + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudDialogflowCxV3SecuritySettingsInsightsExportSettings: // Settings for exporting conversations to Insights // (https://cloud.google.com/contact-center/insights/docs). diff --git a/dialogflow/v3beta1/dialogflow-api.json b/dialogflow/v3beta1/dialogflow-api.json index 445a7092b0c..e33131d0ba4 100644 --- a/dialogflow/v3beta1/dialogflow-api.json +++ b/dialogflow/v3beta1/dialogflow-api.json @@ -3820,7 +3820,7 @@ } } }, - "revision": "20220411", + "revision": "20220422", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AudioInput": { @@ -8519,6 +8519,10 @@ "description": "Represents the settings related to security issues, such as data redaction and data retention. It may take hours for updates on the settings to propagate to all the related components and take effect.", "id": "GoogleCloudDialogflowCxV3beta1SecuritySettings", "properties": { + "audioExportSettings": { + "$ref": "GoogleCloudDialogflowCxV3beta1SecuritySettingsAudioExportSettings", + "description": "Controls audio export settings for post-conversation analytics when ingesting audio to conversations via Participants.AnalyzeContent or Participants.StreamingAnalyzeContent. If retention_strategy is set to REMOVE_AFTER_CONVERSATION or audio_export_settings.gcs_bucket is empty, audio export is disabled. If audio export is enabled, audio is recorded and saved to audio_export_settings.gcs_bucket, subject to retention policy of audio_export_settings.gcs_bucket. This setting won't effect audio input for implicit sessions via Sessions.DetectIntent or Sessions.StreamingDetectIntent." + }, "deidentifyTemplate": { "description": "[DLP](https://cloud.google.com/dlp/docs) deidentify template name. Use this template to define de-identification configuration for the content. The `DLP De-identify Templates Reader` role is needed on the Dialogflow service identity service account (has the form `service-PROJECT_NUMBER@gcp-sa-dialogflow.iam.gserviceaccount.com`) for your agent's project. If empty, Dialogflow replaces sensitive info with `[redacted]` text. The template name will have one of the following formats: `projects//locations//deidentifyTemplates/` OR `organizations//locations//deidentifyTemplates/` Note: `deidentify_template` must be located in the same region as the `SecuritySettings`.", "type": "string" @@ -8586,6 +8590,41 @@ }, "type": "object" }, + "GoogleCloudDialogflowCxV3beta1SecuritySettingsAudioExportSettings": { + "description": "Settings for exporting audio.", + "id": "GoogleCloudDialogflowCxV3beta1SecuritySettingsAudioExportSettings", + "properties": { + "audioExportPattern": { + "description": "Filename pattern for exported audio.", + "type": "string" + }, + "audioFormat": { + "description": "File format for exported audio file. Currently only in telephony recordings.", + "enum": [ + "AUDIO_FORMAT_UNSPECIFIED", + "MULAW", + "MP3", + "OGG" + ], + "enumDescriptions": [ + "Unspecified. Do not use.", + "G.711 mu-law PCM with 8kHz sample rate.", + "MP3 file format.", + "OGG Vorbis." + ], + "type": "string" + }, + "enableAudioRedaction": { + "description": "Enable audio redaction if it is true.", + "type": "boolean" + }, + "gcsBucket": { + "description": "Cloud Storage bucket to export audio record to. You need to grant `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` the `Storage Object Admin` role in this bucket.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowCxV3beta1SecuritySettingsInsightsExportSettings": { "description": "Settings for exporting conversations to [Insights](https://cloud.google.com/contact-center/insights/docs).", "id": "GoogleCloudDialogflowCxV3beta1SecuritySettingsInsightsExportSettings", diff --git a/dialogflow/v3beta1/dialogflow-gen.go b/dialogflow/v3beta1/dialogflow-gen.go index da35eed9062..9adc5425a1b 100644 --- a/dialogflow/v3beta1/dialogflow-gen.go +++ b/dialogflow/v3beta1/dialogflow-gen.go @@ -9363,6 +9363,18 @@ func (s *GoogleCloudDialogflowCxV3beta1RunTestCaseResponse) MarshalJSON() ([]byt // retention. It may take hours for updates on the settings to propagate // to all the related components and take effect. type GoogleCloudDialogflowCxV3beta1SecuritySettings struct { + // AudioExportSettings: Controls audio export settings for + // post-conversation analytics when ingesting audio to conversations via + // Participants.AnalyzeContent or Participants.StreamingAnalyzeContent. + // If retention_strategy is set to REMOVE_AFTER_CONVERSATION or + // audio_export_settings.gcs_bucket is empty, audio export is disabled. + // If audio export is enabled, audio is recorded and saved to + // audio_export_settings.gcs_bucket, subject to retention policy of + // audio_export_settings.gcs_bucket. This setting won't effect audio + // input for implicit sessions via Sessions.DetectIntent or + // Sessions.StreamingDetectIntent. + AudioExportSettings *GoogleCloudDialogflowCxV3beta1SecuritySettingsAudioExportSettings `json:"audioExportSettings,omitempty"` + // DeidentifyTemplate: DLP (https://cloud.google.com/dlp/docs) // deidentify template name. Use this template to define // de-identification configuration for the content. The `DLP De-identify @@ -9448,7 +9460,7 @@ type GoogleCloudDialogflowCxV3beta1SecuritySettings struct { // server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "DeidentifyTemplate") + // ForceSendFields is a list of field names (e.g. "AudioExportSettings") // to unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any // non-pointer, non-interface field appearing in ForceSendFields will be @@ -9456,7 +9468,7 @@ type GoogleCloudDialogflowCxV3beta1SecuritySettings struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DeidentifyTemplate") to + // NullFields is a list of field names (e.g. "AudioExportSettings") to // include in API requests with the JSON null value. By default, fields // with empty values are omitted from API requests. However, any field // with an empty value appearing in NullFields will be sent to the @@ -9472,6 +9484,54 @@ func (s *GoogleCloudDialogflowCxV3beta1SecuritySettings) MarshalJSON() ([]byte, return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudDialogflowCxV3beta1SecuritySettingsAudioExportSettings: +// Settings for exporting audio. +type GoogleCloudDialogflowCxV3beta1SecuritySettingsAudioExportSettings struct { + // AudioExportPattern: Filename pattern for exported audio. + AudioExportPattern string `json:"audioExportPattern,omitempty"` + + // AudioFormat: File format for exported audio file. Currently only in + // telephony recordings. + // + // Possible values: + // "AUDIO_FORMAT_UNSPECIFIED" - Unspecified. Do not use. + // "MULAW" - G.711 mu-law PCM with 8kHz sample rate. + // "MP3" - MP3 file format. + // "OGG" - OGG Vorbis. + AudioFormat string `json:"audioFormat,omitempty"` + + // EnableAudioRedaction: Enable audio redaction if it is true. + EnableAudioRedaction bool `json:"enableAudioRedaction,omitempty"` + + // GcsBucket: Cloud Storage bucket to export audio record to. You need + // to grant `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` the + // `Storage Object Admin` role in this bucket. + GcsBucket string `json:"gcsBucket,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AudioExportPattern") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AudioExportPattern") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudDialogflowCxV3beta1SecuritySettingsAudioExportSettings) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDialogflowCxV3beta1SecuritySettingsAudioExportSettings + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudDialogflowCxV3beta1SecuritySettingsInsightsExportSettings: // Settings for exporting conversations to Insights // (https://cloud.google.com/contact-center/insights/docs). diff --git a/eventarc/v1/eventarc-api.json b/eventarc/v1/eventarc-api.json index 88a25e7f4eb..87023ff24ac 100644 --- a/eventarc/v1/eventarc-api.json +++ b/eventarc/v1/eventarc-api.json @@ -12,7 +12,7 @@ "baseUrl": "https://eventarc.googleapis.com/", "batchPath": "batch", "canonicalName": "Eventarc", - "description": "", + "description": "Build event-driven applications on Google Cloud Platform.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/eventarc", "fullyEncodeReservedExpansion": true, @@ -846,7 +846,7 @@ } } }, - "revision": "20220408", + "revision": "20220422", "rootUrl": "https://eventarc.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/eventarc/v1beta1/eventarc-api.json b/eventarc/v1beta1/eventarc-api.json index 61bb7fd0cc9..0b0dfe94723 100644 --- a/eventarc/v1beta1/eventarc-api.json +++ b/eventarc/v1beta1/eventarc-api.json @@ -12,7 +12,7 @@ "baseUrl": "https://eventarc.googleapis.com/", "batchPath": "batch", "canonicalName": "Eventarc", - "description": "", + "description": "Build event-driven applications on Google Cloud Platform.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/eventarc", "fullyEncodeReservedExpansion": true, @@ -584,7 +584,7 @@ } } }, - "revision": "20220408", + "revision": "20220422", "rootUrl": "https://eventarc.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/firebaseappcheck/v1/firebaseappcheck-api.json b/firebaseappcheck/v1/firebaseappcheck-api.json new file mode 100644 index 00000000000..466ec5bfcd6 --- /dev/null +++ b/firebaseappcheck/v1/firebaseappcheck-api.json @@ -0,0 +1,1933 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + }, + "https://www.googleapis.com/auth/firebase": { + "description": "View and administer all your Firebase data and settings" + } + } + } + }, + "basePath": "", + "baseUrl": "https://firebaseappcheck.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Firebaseappcheck", + "description": "Firebase App Check works alongside other Firebase services to help protect your backend resources from abuse, such as billing fraud or phishing.", + "discoveryVersion": "v1", + "documentationLink": "https://firebase.google.com/docs/app-check", + "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": "firebaseappcheck:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://firebaseappcheck.mtls.googleapis.com/", + "name": "firebaseappcheck", + "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": { + "jwks": { + "methods": { + "get": { + "description": "Returns a public JWK set as specified by [RFC 7517](https://tools.ietf.org/html/rfc7517) that can be used to verify App Check tokens. Exactly one of the public keys in the returned set will successfully validate any App Check token that is currently valid.", + "flatPath": "v1/jwks", + "httpMethod": "GET", + "id": "firebaseappcheck.jwks.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name to the public JWK set. Must always be exactly the string `jwks`.", + "location": "path", + "pattern": "^jwks$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleFirebaseAppcheckV1PublicJwkSet" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + } + }, + "projects": { + "resources": { + "apps": { + "methods": { + "exchangeAppAttestAssertion": { + "description": "Accepts an App Attest assertion and an artifact previously obtained from ExchangeAppAttestAttestation and verifies those with Apple. If valid, returns an AppCheckToken.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangeAppAttestAssertion", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.exchangeAppAttestAssertion", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+app}:exchangeAppAttestAssertion", + "request": { + "$ref": "GoogleFirebaseAppcheckV1ExchangeAppAttestAssertionRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1AppCheckToken" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "exchangeAppAttestAttestation": { + "description": "Accepts an App Attest CBOR attestation and verifies it with Apple using your preconfigured team and bundle IDs. If valid, returns an attestation artifact that can later be exchanged for an AppCheckToken using ExchangeAppAttestAssertion. For convenience and performance, this method's response object will also contain an AppCheckToken (if the verification is successful).", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangeAppAttestAttestation", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.exchangeAppAttestAttestation", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+app}:exchangeAppAttestAttestation", + "request": { + "$ref": "GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "exchangeCustomToken": { + "description": "Validates a custom token signed using your project's Admin SDK service account credentials. If valid, returns an AppCheckToken.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangeCustomToken", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.exchangeCustomToken", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. The relative resource name of the app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+app}:exchangeCustomToken", + "request": { + "$ref": "GoogleFirebaseAppcheckV1ExchangeCustomTokenRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1AppCheckToken" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "exchangeDebugToken": { + "description": "Validates a debug token secret that you have previously created using CreateDebugToken. If valid, returns an AppCheckToken. Note that a restrictive quota is enforced on this method to prevent accidental exposure of the app to abuse.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangeDebugToken", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.exchangeDebugToken", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. The relative resource name of the app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+app}:exchangeDebugToken", + "request": { + "$ref": "GoogleFirebaseAppcheckV1ExchangeDebugTokenRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1AppCheckToken" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "exchangeDeviceCheckToken": { + "description": "Accepts a [`device_token`](https://developer.apple.com/documentation/devicecheck/dcdevice) issued by DeviceCheck, and attempts to validate it with Apple. If valid, returns an AppCheckToken.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangeDeviceCheckToken", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.exchangeDeviceCheckToken", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+app}:exchangeDeviceCheckToken", + "request": { + "$ref": "GoogleFirebaseAppcheckV1ExchangeDeviceCheckTokenRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1AppCheckToken" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "exchangePlayIntegrityToken": { + "description": "Validates an [integrity verdict response token from Play Integrity](https://developer.android.com/google/play/integrity/verdict#decrypt-verify). If valid, returns an AppCheckToken.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangePlayIntegrityToken", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.exchangePlayIntegrityToken", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. The relative resource name of the Android app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+app}:exchangePlayIntegrityToken", + "request": { + "$ref": "GoogleFirebaseAppcheckV1ExchangePlayIntegrityTokenRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1AppCheckToken" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "exchangeRecaptchaEnterpriseToken": { + "description": "Validates a [reCAPTCHA Enterprise response token](https://cloud.google.com/recaptcha-enterprise/docs/create-assessment#retrieve_token). If valid, returns an AppCheckToken.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangeRecaptchaEnterpriseToken", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.exchangeRecaptchaEnterpriseToken", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. The relative resource name of the web app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+app}:exchangeRecaptchaEnterpriseToken", + "request": { + "$ref": "GoogleFirebaseAppcheckV1ExchangeRecaptchaEnterpriseTokenRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1AppCheckToken" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "exchangeRecaptchaV3Token": { + "description": "Validates a [reCAPTCHA v3 response token](https://developers.google.com/recaptcha/docs/v3). If valid, returns an AppCheckToken.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangeRecaptchaV3Token", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.exchangeRecaptchaV3Token", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. The relative resource name of the web app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+app}:exchangeRecaptchaV3Token", + "request": { + "$ref": "GoogleFirebaseAppcheckV1ExchangeRecaptchaV3TokenRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1AppCheckToken" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "exchangeSafetyNetToken": { + "description": "Validates a [SafetyNet token](https://developer.android.com/training/safetynet/attestation#request-attestation-step). If valid, returns an AppCheckToken.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangeSafetyNetToken", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.exchangeSafetyNetToken", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. The relative resource name of the Android app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+app}:exchangeSafetyNetToken", + "request": { + "$ref": "GoogleFirebaseAppcheckV1ExchangeSafetyNetTokenRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1AppCheckToken" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "generateAppAttestChallenge": { + "description": "Generates a challenge that protects the integrity of an immediately following call to ExchangeAppAttestAttestation or ExchangeAppAttestAssertion. A challenge should not be reused for multiple calls.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}:generateAppAttestChallenge", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.generateAppAttestChallenge", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+app}:generateAppAttestChallenge", + "request": { + "$ref": "GoogleFirebaseAppcheckV1GenerateAppAttestChallengeRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1GenerateAppAttestChallengeResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "generatePlayIntegrityChallenge": { + "description": "Generates a challenge that protects the integrity of an immediately following integrity verdict request to the Play Integrity API. The next call to ExchangePlayIntegrityToken using the resulting integrity token will verify the presence and validity of the challenge. A challenge should not be reused for multiple calls.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}:generatePlayIntegrityChallenge", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.generatePlayIntegrityChallenge", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. The relative resource name of the app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+app}:generatePlayIntegrityChallenge", + "request": { + "$ref": "GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + }, + "resources": { + "appAttestConfig": { + "methods": { + "batchGet": { + "description": "Atomically gets the AppAttestConfigs for the specified list of apps.", + "flatPath": "v1/projects/{projectsId}/apps/-/appAttestConfig:batchGet", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.appAttestConfig.batchGet", + "parameterOrder": [ + "parent" + ], + "parameters": { + "names": { + "description": "Required. The relative resource names of the AppAttestConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/appAttestConfig ``` A maximum of 100 objects can be retrieved in a batch.", + "location": "query", + "repeated": true, + "type": "string" + }, + "parent": { + "description": "Required. The parent project name shared by all AppAttestConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/apps/-/appAttestConfig:batchGet", + "response": { + "$ref": "GoogleFirebaseAppcheckV1BatchGetAppAttestConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "get": { + "description": "Gets the AppAttestConfig for the specified app.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}/appAttestConfig", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.appAttestConfig.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the AppAttestConfig, in the format: ``` projects/{project_number}/apps/{app_id}/appAttestConfig ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/appAttestConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleFirebaseAppcheckV1AppAttestConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "patch": { + "description": "Updates the AppAttestConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange AppAttest tokens for App Check tokens.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}/appAttestConfig", + "httpMethod": "PATCH", + "id": "firebaseappcheck.projects.apps.appAttestConfig.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the App Attest configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/appAttestConfig ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/appAttestConfig$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. A comma-separated list of names of fields in the AppAttestConfig Gets to update. Example: `token_ttl`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleFirebaseAppcheckV1AppAttestConfig" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1AppAttestConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + } + }, + "debugTokens": { + "methods": { + "create": { + "description": "Creates a new DebugToken for the specified app. For security reasons, after the creation operation completes, the `token` field cannot be updated or retrieved, but you can revoke the debug token using DeleteDebugToken. Each app can have a maximum of 20 debug tokens.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}/debugTokens", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.debugTokens.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The relative resource name of the parent app in which the specified DebugToken will be created, in the format: ``` projects/{project_number}/apps/{app_id} ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/debugTokens", + "request": { + "$ref": "GoogleFirebaseAppcheckV1DebugToken" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1DebugToken" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "delete": { + "description": "Deletes the specified DebugToken. A deleted debug token cannot be used to exchange for an App Check token. Use this method when you suspect the secret `token` has been compromised or when you no longer need the debug token.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}/debugTokens/{debugTokensId}", + "httpMethod": "DELETE", + "id": "firebaseappcheck.projects.apps.debugTokens.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the DebugToken to delete, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/debugTokens/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "get": { + "description": "Gets the specified DebugToken. For security reasons, the `token` field is never populated in the response.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}/debugTokens/{debugTokensId}", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.debugTokens.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the debug token, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/debugTokens/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleFirebaseAppcheckV1DebugToken" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "list": { + "description": "Lists all DebugTokens for the specified app. For security reasons, the `token` field is never populated in the response.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}/debugTokens", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.debugTokens.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of DebugTokens to return in the response. Note that an app can have at most 20 debug tokens. The server may return fewer than this at its own discretion. If no value is specified (or too large a value is specified), the server will impose its own limit.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token returned from a previous call to ListDebugTokens indicating where in the set of DebugTokens to resume listing. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListDebugTokens must match the call that provided the page token; if they do not match, the result is undefined.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The relative resource name of the parent app for which to list each associated DebugToken, in the format: ``` projects/{project_number}/apps/{app_id} ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/debugTokens", + "response": { + "$ref": "GoogleFirebaseAppcheckV1ListDebugTokensResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "patch": { + "description": "Updates the specified DebugToken. For security reasons, the `token` field cannot be updated, nor will it be populated in the response, but you can revoke the debug token using DeleteDebugToken.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}/debugTokens/{debugTokensId}", + "httpMethod": "PATCH", + "id": "firebaseappcheck.projects.apps.debugTokens.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the debug token, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/debugTokens/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. A comma-separated list of names of fields in the DebugToken to update. Example: `display_name`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleFirebaseAppcheckV1DebugToken" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1DebugToken" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + } + }, + "deviceCheckConfig": { + "methods": { + "batchGet": { + "description": "Atomically gets the DeviceCheckConfigs for the specified list of apps. For security reasons, the `private_key` field is never populated in the response.", + "flatPath": "v1/projects/{projectsId}/apps/-/deviceCheckConfig:batchGet", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.deviceCheckConfig.batchGet", + "parameterOrder": [ + "parent" + ], + "parameters": { + "names": { + "description": "Required. The relative resource names of the DeviceCheckConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ``` A maximum of 100 objects can be retrieved in a batch.", + "location": "query", + "repeated": true, + "type": "string" + }, + "parent": { + "description": "Required. The parent project name shared by all DeviceCheckConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/apps/-/deviceCheckConfig:batchGet", + "response": { + "$ref": "GoogleFirebaseAppcheckV1BatchGetDeviceCheckConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "get": { + "description": "Gets the DeviceCheckConfig for the specified app. For security reasons, the `private_key` field is never populated in the response.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}/deviceCheckConfig", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.deviceCheckConfig.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the DeviceCheckConfig, in the format: ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/deviceCheckConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleFirebaseAppcheckV1DeviceCheckConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "patch": { + "description": "Updates the DeviceCheckConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange DeviceCheck tokens for App Check tokens. For security reasons, the `private_key` field is never populated in the response.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}/deviceCheckConfig", + "httpMethod": "PATCH", + "id": "firebaseappcheck.projects.apps.deviceCheckConfig.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the DeviceCheck configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/deviceCheckConfig$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. A comma-separated list of names of fields in the DeviceCheckConfig Gets to update. Example: `key_id,private_key`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleFirebaseAppcheckV1DeviceCheckConfig" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1DeviceCheckConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + } + }, + "playIntegrityConfig": { + "methods": { + "batchGet": { + "description": "Atomically gets the PlayIntegrityConfigs for the specified list of apps.", + "flatPath": "v1/projects/{projectsId}/apps/-/playIntegrityConfig:batchGet", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.playIntegrityConfig.batchGet", + "parameterOrder": [ + "parent" + ], + "parameters": { + "names": { + "description": "Required. The relative resource names of the PlayIntegrityConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig ``` A maximum of 100 objects can be retrieved in a batch.", + "location": "query", + "repeated": true, + "type": "string" + }, + "parent": { + "description": "Required. The parent project name shared by all PlayIntegrityConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/apps/-/playIntegrityConfig:batchGet", + "response": { + "$ref": "GoogleFirebaseAppcheckV1BatchGetPlayIntegrityConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "get": { + "description": "Gets the PlayIntegrityConfig for the specified app.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}/playIntegrityConfig", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.playIntegrityConfig.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the PlayIntegrityConfig, in the format: ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/playIntegrityConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleFirebaseAppcheckV1PlayIntegrityConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "patch": { + "description": "Updates the PlayIntegrityConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange Play Integrity tokens for App Check tokens.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}/playIntegrityConfig", + "httpMethod": "PATCH", + "id": "firebaseappcheck.projects.apps.playIntegrityConfig.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the Play Integrity configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/playIntegrityConfig$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. A comma-separated list of names of fields in the PlayIntegrityConfig Gets to update. Example: `token_ttl`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleFirebaseAppcheckV1PlayIntegrityConfig" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1PlayIntegrityConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + } + }, + "recaptchaEnterpriseConfig": { + "methods": { + "batchGet": { + "description": "Atomically gets the RecaptchaEnterpriseConfigs for the specified list of apps.", + "flatPath": "v1/projects/{projectsId}/apps/-/recaptchaEnterpriseConfig:batchGet", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.batchGet", + "parameterOrder": [ + "parent" + ], + "parameters": { + "names": { + "description": "Required. The relative resource names of the RecaptchaEnterpriseConfigs to retrieve, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ``` A maximum of 100 objects can be retrieved in a batch.", + "location": "query", + "repeated": true, + "type": "string" + }, + "parent": { + "description": "Required. The parent project name shared by all RecaptchaEnterpriseConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/apps/-/recaptchaEnterpriseConfig:batchGet", + "response": { + "$ref": "GoogleFirebaseAppcheckV1BatchGetRecaptchaEnterpriseConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "get": { + "description": "Gets the RecaptchaEnterpriseConfig for the specified app.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}/recaptchaEnterpriseConfig", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the RecaptchaEnterpriseConfig, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/recaptchaEnterpriseConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "patch": { + "description": "Updates the RecaptchaEnterpriseConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange reCAPTCHA Enterprise tokens for App Check tokens.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}/recaptchaEnterpriseConfig", + "httpMethod": "PATCH", + "id": "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the reCAPTCHA Enterprise configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/recaptchaEnterpriseConfig$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. A comma-separated list of names of fields in the RecaptchaEnterpriseConfig to update. Example: `site_key`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + } + }, + "recaptchaV3Config": { + "methods": { + "batchGet": { + "description": "Atomically gets the RecaptchaV3Configs for the specified list of apps. For security reasons, the `site_secret` field is never populated in the response.", + "flatPath": "v1/projects/{projectsId}/apps/-/recaptchaV3Config:batchGet", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.recaptchaV3Config.batchGet", + "parameterOrder": [ + "parent" + ], + "parameters": { + "names": { + "description": "Required. The relative resource names of the RecaptchaV3Configs to retrieve, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaV3Config ``` A maximum of 100 objects can be retrieved in a batch.", + "location": "query", + "repeated": true, + "type": "string" + }, + "parent": { + "description": "Required. The parent project name shared by all RecaptchaV3Configs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/apps/-/recaptchaV3Config:batchGet", + "response": { + "$ref": "GoogleFirebaseAppcheckV1BatchGetRecaptchaV3ConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "get": { + "description": "Gets the RecaptchaV3Config for the specified app. For security reasons, the `site_secret` field is never populated in the response.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}/recaptchaV3Config", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.recaptchaV3Config.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the RecaptchaV3Config, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaV3Config ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/recaptchaV3Config$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleFirebaseAppcheckV1RecaptchaV3Config" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "patch": { + "description": "Updates the RecaptchaV3Config for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange reCAPTCHA tokens for App Check tokens. For security reasons, the `site_secret` field is never populated in the response.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}/recaptchaV3Config", + "httpMethod": "PATCH", + "id": "firebaseappcheck.projects.apps.recaptchaV3Config.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the reCAPTCHA v3 configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaV3Config ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/recaptchaV3Config$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. A comma-separated list of names of fields in the RecaptchaV3Config to update. Example: `site_secret`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleFirebaseAppcheckV1RecaptchaV3Config" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1RecaptchaV3Config" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + } + }, + "safetyNetConfig": { + "methods": { + "batchGet": { + "description": "Atomically gets the SafetyNetConfigs for the specified list of apps.", + "flatPath": "v1/projects/{projectsId}/apps/-/safetyNetConfig:batchGet", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.safetyNetConfig.batchGet", + "parameterOrder": [ + "parent" + ], + "parameters": { + "names": { + "description": "Required. The relative resource names of the SafetyNetConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/safetyNetConfig ``` A maximum of 100 objects can be retrieved in a batch.", + "location": "query", + "repeated": true, + "type": "string" + }, + "parent": { + "description": "Required. The parent project name shared by all SafetyNetConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/apps/-/safetyNetConfig:batchGet", + "response": { + "$ref": "GoogleFirebaseAppcheckV1BatchGetSafetyNetConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "get": { + "description": "Gets the SafetyNetConfig for the specified app.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}/safetyNetConfig", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.safetyNetConfig.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the SafetyNetConfig, in the format: ``` projects/{project_number}/apps/{app_id}/safetyNetConfig ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/safetyNetConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleFirebaseAppcheckV1SafetyNetConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "patch": { + "description": "Updates the SafetyNetConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange SafetyNet tokens for App Check tokens.", + "flatPath": "v1/projects/{projectsId}/apps/{appsId}/safetyNetConfig", + "httpMethod": "PATCH", + "id": "firebaseappcheck.projects.apps.safetyNetConfig.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the SafetyNet configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/safetyNetConfig ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/safetyNetConfig$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. A comma-separated list of names of fields in the SafetyNetConfig Gets to update. Example: `token_ttl`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleFirebaseAppcheckV1SafetyNetConfig" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1SafetyNetConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + } + } + } + }, + "services": { + "methods": { + "batchUpdate": { + "description": "Atomically updates the specified Service configurations.", + "flatPath": "v1/projects/{projectsId}/services:batchUpdate", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.services.batchUpdate", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent project name shared by all Service configurations being updated, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being updated must match this field, or the entire batch fails.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/services:batchUpdate", + "request": { + "$ref": "GoogleFirebaseAppcheckV1BatchUpdateServicesRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1BatchUpdateServicesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "get": { + "description": "Gets the Service configuration for the specified service name.", + "flatPath": "v1/projects/{projectsId}/services/{servicesId}", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.services.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the Service to retrieve, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database) * `firestore.googleapis.com` (Cloud Firestore)", + "location": "path", + "pattern": "^projects/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleFirebaseAppcheckV1Service" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "list": { + "description": "Lists all Service configurations for the specified project. Only Services which were explicitly configured using UpdateService or BatchUpdateServices will be returned.", + "flatPath": "v1/projects/{projectsId}/services", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.services.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of Services to return in the response. Only explicitly configured services are returned. The server may return fewer than this at its own discretion. If no value is specified (or too large a value is specified), the server will impose its own limit.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token returned from a previous call to ListServices indicating where in the set of Services to resume listing. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListServices must match the call that provided the page token; if they do not match, the result is undefined.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The relative resource name of the parent project for which to list each associated Service, in the format: ``` projects/{project_number} ```", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/services", + "response": { + "$ref": "GoogleFirebaseAppcheckV1ListServicesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "patch": { + "description": "Updates the specified Service configuration.", + "flatPath": "v1/projects/{projectsId}/services/{servicesId}", + "httpMethod": "PATCH", + "id": "firebaseappcheck.projects.services.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the service configuration object, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database) * `firestore.googleapis.com` (Cloud Firestore)", + "location": "path", + "pattern": "^projects/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. A comma-separated list of names of fields in the Service to update. Example: `enforcement_mode`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleFirebaseAppcheckV1Service" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1Service" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + } + } + } + } + }, + "revision": "20220425", + "rootUrl": "https://firebaseappcheck.googleapis.com/", + "schemas": { + "GoogleFirebaseAppcheckV1AppAttestConfig": { + "description": "An app's App Attest configuration object. This configuration controls certain properties of the `AppCheckToken` returned by ExchangeAppAttestAttestation and ExchangeAppAttestAssertion, such as its ttl. Note that the Team ID registered with your app is used as part of the validation process. Please register it via the Firebase Console or programmatically via the [Firebase Management Service](https://firebase.google.com/docs/projects/api/reference/rest/v11/projects.iosApps/patch).", + "id": "GoogleFirebaseAppcheckV1AppAttestConfig", + "properties": { + "name": { + "description": "Required. The relative resource name of the App Attest configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/appAttestConfig ```", + "type": "string" + }, + "tokenTtl": { + "description": "Specifies the duration for which App Check tokens exchanged from App Attest artifacts will be valid. If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1AppCheckToken": { + "description": "Encapsulates an *App Check token*, which are used to access Firebase services protected by App Check.", + "id": "GoogleFirebaseAppcheckV1AppCheckToken", + "properties": { + "token": { + "description": "The App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and Firebase project. This token is used to access Firebase services protected by App Check. These tokens can also be [verified by your own custom backends](https://firebase.google.com/docs/app-check/custom-resource-backend) using the Firebase Admin SDK.", + "type": "string" + }, + "ttl": { + "description": "The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1BatchGetAppAttestConfigsResponse": { + "description": "Response message for the BatchGetAppAttestConfigs method.", + "id": "GoogleFirebaseAppcheckV1BatchGetAppAttestConfigsResponse", + "properties": { + "configs": { + "description": "AppAttestConfigs retrieved.", + "items": { + "$ref": "GoogleFirebaseAppcheckV1AppAttestConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1BatchGetDeviceCheckConfigsResponse": { + "description": "Response message for the BatchGetDeviceCheckConfigs method.", + "id": "GoogleFirebaseAppcheckV1BatchGetDeviceCheckConfigsResponse", + "properties": { + "configs": { + "description": "DeviceCheckConfigs retrieved.", + "items": { + "$ref": "GoogleFirebaseAppcheckV1DeviceCheckConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1BatchGetPlayIntegrityConfigsResponse": { + "description": "Response message for the BatchGetPlayIntegrityConfigs method.", + "id": "GoogleFirebaseAppcheckV1BatchGetPlayIntegrityConfigsResponse", + "properties": { + "configs": { + "description": "PlayIntegrityConfigs retrieved.", + "items": { + "$ref": "GoogleFirebaseAppcheckV1PlayIntegrityConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1BatchGetRecaptchaEnterpriseConfigsResponse": { + "description": "Response message for the BatchGetRecaptchaEnterpriseConfigs method.", + "id": "GoogleFirebaseAppcheckV1BatchGetRecaptchaEnterpriseConfigsResponse", + "properties": { + "configs": { + "description": "RecaptchaEnterpriseConfigs retrieved.", + "items": { + "$ref": "GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1BatchGetRecaptchaV3ConfigsResponse": { + "description": "Response message for the BatchGetRecaptchaV3Configs method.", + "id": "GoogleFirebaseAppcheckV1BatchGetRecaptchaV3ConfigsResponse", + "properties": { + "configs": { + "description": "RecaptchaV3Configs retrieved.", + "items": { + "$ref": "GoogleFirebaseAppcheckV1RecaptchaV3Config" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1BatchGetSafetyNetConfigsResponse": { + "description": "Response message for the BatchGetSafetyNetConfigs method.", + "id": "GoogleFirebaseAppcheckV1BatchGetSafetyNetConfigsResponse", + "properties": { + "configs": { + "description": "SafetyNetConfigs retrieved.", + "items": { + "$ref": "GoogleFirebaseAppcheckV1SafetyNetConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1BatchUpdateServicesRequest": { + "description": "Request message for the BatchUpdateServices method.", + "id": "GoogleFirebaseAppcheckV1BatchUpdateServicesRequest", + "properties": { + "requests": { + "description": "Required. The request messages specifying the Services to update. A maximum of 100 objects can be updated in a batch.", + "items": { + "$ref": "GoogleFirebaseAppcheckV1UpdateServiceRequest" + }, + "type": "array" + }, + "updateMask": { + "description": "Optional. A comma-separated list of names of fields in the Services to update. Example: `display_name`. If the `update_mask` field is set in both this request and any of the UpdateServiceRequest messages, they must match or the entire batch fails and no updates will be committed.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1BatchUpdateServicesResponse": { + "description": "Response message for the BatchUpdateServices method.", + "id": "GoogleFirebaseAppcheckV1BatchUpdateServicesResponse", + "properties": { + "services": { + "description": "Service objects after the updates have been applied.", + "items": { + "$ref": "GoogleFirebaseAppcheckV1Service" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1DebugToken": { + "description": "A *debug token* is a secret used during the development or integration testing of an app. It essentially allows the development or integration testing to bypass app attestation while still allowing App Check to enforce protection on supported production Firebase services.", + "id": "GoogleFirebaseAppcheckV1DebugToken", + "properties": { + "displayName": { + "description": "Required. A human readable display name used to identify this debug token.", + "type": "string" + }, + "name": { + "description": "Required. The relative resource name of the debug token, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```", + "type": "string" + }, + "token": { + "description": "Required. Input only. Immutable. The secret token itself. Must be provided during creation, and must be a UUID4, case insensitive. This field is immutable once set, and cannot be provided during an UpdateDebugToken request. You can, however, delete this debug token using DeleteDebugToken to revoke it. For security reasons, this field will never be populated in any response.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1DeviceCheckConfig": { + "description": "An app's DeviceCheck configuration object. This configuration is used by ExchangeDeviceCheckToken to validate device tokens issued to apps by DeviceCheck. It also controls certain properties of the returned `AppCheckToken`, such as its ttl. Note that the Team ID registered with your app is used as part of the validation process. Please register it via the Firebase Console or programmatically via the [Firebase Management Service](https://firebase.google.com/docs/projects/api/reference/rest/v11/projects.iosApps/patch).", + "id": "GoogleFirebaseAppcheckV1DeviceCheckConfig", + "properties": { + "keyId": { + "description": "Required. The key identifier of a private key enabled with DeviceCheck, created in your Apple Developer account.", + "type": "string" + }, + "name": { + "description": "Required. The relative resource name of the DeviceCheck configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ```", + "type": "string" + }, + "privateKey": { + "description": "Required. Input only. The contents of the private key (`.p8`) file associated with the key specified by `key_id`. For security reasons, this field will never be populated in any response.", + "type": "string" + }, + "privateKeySet": { + "description": "Output only. Whether the `private_key` field was previously set. Since we will never return the `private_key` field, this field is the only way to find out whether it was previously set.", + "readOnly": true, + "type": "boolean" + }, + "tokenTtl": { + "description": "Specifies the duration for which App Check tokens exchanged from DeviceCheck tokens will be valid. If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1ExchangeAppAttestAssertionRequest": { + "description": "Request message for the ExchangeAppAttestAssertion method.", + "id": "GoogleFirebaseAppcheckV1ExchangeAppAttestAssertionRequest", + "properties": { + "artifact": { + "description": "Required. The artifact returned by a previous call to ExchangeAppAttestAttestation.", + "format": "byte", + "type": "string" + }, + "assertion": { + "description": "Required. The CBOR-encoded assertion returned by the client-side App Attest API.", + "format": "byte", + "type": "string" + }, + "challenge": { + "description": "Required. A one-time challenge returned by an immediately prior call to GenerateAppAttestChallenge.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationRequest": { + "description": "Request message for the ExchangeAppAttestAttestation method.", + "id": "GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationRequest", + "properties": { + "attestationStatement": { + "description": "Required. The App Attest statement returned by the client-side App Attest API. This is a base64url encoded CBOR object in the JSON response.", + "format": "byte", + "type": "string" + }, + "challenge": { + "description": "Required. A one-time challenge returned by an immediately prior call to GenerateAppAttestChallenge.", + "format": "byte", + "type": "string" + }, + "keyId": { + "description": "Required. The key ID generated by App Attest for the client app.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationResponse": { + "description": "Response message for the ExchangeAppAttestAttestation method.", + "id": "GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationResponse", + "properties": { + "appCheckToken": { + "$ref": "GoogleFirebaseAppcheckV1AppCheckToken", + "description": "Encapsulates an App Check token." + }, + "artifact": { + "description": "An artifact that can be used in future calls to ExchangeAppAttestAssertion.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1ExchangeCustomTokenRequest": { + "description": "Request message for the ExchangeCustomToken method.", + "id": "GoogleFirebaseAppcheckV1ExchangeCustomTokenRequest", + "properties": { + "customToken": { + "description": "Required. A custom token signed using your project's Admin SDK service account credentials.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1ExchangeDebugTokenRequest": { + "description": "Request message for the ExchangeDebugToken method.", + "id": "GoogleFirebaseAppcheckV1ExchangeDebugTokenRequest", + "properties": { + "debugToken": { + "description": "Required. A debug token secret. This string must match a debug token secret previously created using CreateDebugToken.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1ExchangeDeviceCheckTokenRequest": { + "description": "Request message for the ExchangeDeviceCheckToken method.", + "id": "GoogleFirebaseAppcheckV1ExchangeDeviceCheckTokenRequest", + "properties": { + "deviceToken": { + "description": "Required. The `device_token` as returned by Apple's client-side [DeviceCheck API](https://developer.apple.com/documentation/devicecheck/dcdevice). This is the base64 encoded `Data` (Swift) or `NSData` (ObjC) object.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1ExchangePlayIntegrityTokenRequest": { + "description": "Request message for the ExchangePlayIntegrityToken method.", + "id": "GoogleFirebaseAppcheckV1ExchangePlayIntegrityTokenRequest", + "properties": { + "playIntegrityToken": { + "description": "Required. The [integrity verdict response token from Play Integrity](https://developer.android.com/google/play/integrity/verdict#decrypt-verify) issued to your app.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1ExchangeRecaptchaEnterpriseTokenRequest": { + "description": "Request message for the ExchangeRecaptchaEnterpriseToken method.", + "id": "GoogleFirebaseAppcheckV1ExchangeRecaptchaEnterpriseTokenRequest", + "properties": { + "recaptchaEnterpriseToken": { + "description": "Required. The reCAPTCHA token as returned by the [reCAPTCHA Enterprise JavaScript API](https://cloud.google.com/recaptcha-enterprise/docs/instrument-web-pages).", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1ExchangeRecaptchaV3TokenRequest": { + "description": "Request message for the ExchangeRecaptchaV3Token method.", + "id": "GoogleFirebaseAppcheckV1ExchangeRecaptchaV3TokenRequest", + "properties": { + "recaptchaV3Token": { + "description": "Required. The reCAPTCHA token as returned by the [reCAPTCHA v3 JavaScript API](https://developers.google.com/recaptcha/docs/v3).", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1ExchangeSafetyNetTokenRequest": { + "description": "Request message for the ExchangeSafetyNetToken method.", + "id": "GoogleFirebaseAppcheckV1ExchangeSafetyNetTokenRequest", + "properties": { + "safetyNetToken": { + "description": "Required. The [SafetyNet attestation response](https://developer.android.com/training/safetynet/attestation#request-attestation-step) issued to your app.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1GenerateAppAttestChallengeRequest": { + "description": "Request message for the GenerateAppAttestChallenge method.", + "id": "GoogleFirebaseAppcheckV1GenerateAppAttestChallengeRequest", + "properties": {}, + "type": "object" + }, + "GoogleFirebaseAppcheckV1GenerateAppAttestChallengeResponse": { + "description": "Response message for the GenerateAppAttestChallenge method.", + "id": "GoogleFirebaseAppcheckV1GenerateAppAttestChallengeResponse", + "properties": { + "challenge": { + "description": "A one-time use challenge for the client to pass to the App Attest API.", + "format": "byte", + "type": "string" + }, + "ttl": { + "description": "The duration from the time this challenge is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeRequest": { + "description": "Request message for the GeneratePlayIntegrityChallenge method.", + "id": "GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeRequest", + "properties": {}, + "type": "object" + }, + "GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse": { + "description": "Response message for the GeneratePlayIntegrityChallenge method.", + "id": "GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse", + "properties": { + "challenge": { + "description": "A one-time use [challenge](https://developer.android.com/google/play/integrity/verdict#protect-against-replay-attacks) for the client to pass to the Play Integrity API.", + "type": "string" + }, + "ttl": { + "description": "The duration from the time this challenge is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1ListDebugTokensResponse": { + "description": "Response message for the ListDebugTokens method.", + "id": "GoogleFirebaseAppcheckV1ListDebugTokensResponse", + "properties": { + "debugTokens": { + "description": "The DebugTokens retrieved.", + "items": { + "$ref": "GoogleFirebaseAppcheckV1DebugToken" + }, + "type": "array" + }, + "nextPageToken": { + "description": "If the result list is too large to fit in a single response, then a token is returned. If the string is empty or omitted, then this response is the last page of results. This token can be used in a subsequent call to ListDebugTokens to find the next group of DebugTokens. Page tokens are short-lived and should not be persisted.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1ListServicesResponse": { + "description": "Response message for the ListServices method.", + "id": "GoogleFirebaseAppcheckV1ListServicesResponse", + "properties": { + "nextPageToken": { + "description": "If the result list is too large to fit in a single response, then a token is returned. If the string is empty or omitted, then this response is the last page of results. This token can be used in a subsequent call to ListServices to find the next group of Services. Page tokens are short-lived and should not be persisted.", + "type": "string" + }, + "services": { + "description": "The Services retrieved.", + "items": { + "$ref": "GoogleFirebaseAppcheckV1Service" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1PlayIntegrityConfig": { + "description": "An app's Play Integrity configuration object. This configuration controls certain properties of the `AppCheckToken` returned by ExchangePlayIntegrityToken, such as its ttl. Note that your registered SHA-256 certificate fingerprints are used to validate tokens issued by the Play Integrity API; please register them via the Firebase Console or programmatically via the [Firebase Management Service](https://firebase.google.com/docs/projects/api/reference/rest/v1beta1/projects.androidApps.sha/create).", + "id": "GoogleFirebaseAppcheckV1PlayIntegrityConfig", + "properties": { + "name": { + "description": "Required. The relative resource name of the Play Integrity configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig ```", + "type": "string" + }, + "tokenTtl": { + "description": "Specifies the duration for which App Check tokens exchanged from Play Integrity tokens will be valid. If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1PublicJwk": { + "description": "A JWK as specified by [section 4 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4) and [section 6.3.1 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1).", + "id": "GoogleFirebaseAppcheckV1PublicJwk", + "properties": { + "alg": { + "description": "See [section 4.4 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.4).", + "type": "string" + }, + "e": { + "description": "See [section 6.3.1.2 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1.2).", + "type": "string" + }, + "kid": { + "description": "See [section 4.5 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.5).", + "type": "string" + }, + "kty": { + "description": "See [section 4.1 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.1).", + "type": "string" + }, + "n": { + "description": "See [section 6.3.1.1 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1.1).", + "type": "string" + }, + "use": { + "description": "See [section 4.2 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.2).", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1PublicJwkSet": { + "description": "The currently active set of public keys that can be used to verify App Check tokens. This object is a JWK set as specified by [section 5 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-5). For security, the response **must not** be cached for longer than six hours.", + "id": "GoogleFirebaseAppcheckV1PublicJwkSet", + "properties": { + "keys": { + "description": "The set of public keys. See [section 5.1 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-5).", + "items": { + "$ref": "GoogleFirebaseAppcheckV1PublicJwk" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig": { + "description": "An app's reCAPTCHA Enterprise configuration object. This configuration is used by ExchangeRecaptchaEnterpriseToken to validate reCAPTCHA tokens issued to apps by reCAPTCHA Enterprise. It also controls certain properties of the returned `AppCheckToken`, such as its ttl.", + "id": "GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig", + "properties": { + "name": { + "description": "Required. The relative resource name of the reCAPTCHA Enterprise configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ```", + "type": "string" + }, + "siteKey": { + "description": "The score-based site key [created in reCAPTCHA Enterprise](https://cloud.google.com/recaptcha-enterprise/docs/create-key#creating_a_site_key) used to [invoke reCAPTCHA and generate the reCAPTCHA tokens](https://cloud.google.com/recaptcha-enterprise/docs/instrument-web-pages) for your application. Important: This is *not* the `site_secret` (as it is in reCAPTCHA v3), but rather your score-based reCAPTCHA Enterprise site key.", + "type": "string" + }, + "tokenTtl": { + "description": "Specifies the duration for which App Check tokens exchanged from reCAPTCHA Enterprise tokens will be valid. If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1RecaptchaV3Config": { + "description": "An app's reCAPTCHA v3 configuration object. This configuration is used by ExchangeRecaptchaV3Token to validate reCAPTCHA tokens issued to apps by reCAPTCHA v3. It also controls certain properties of the returned `AppCheckToken`, such as its ttl.", + "id": "GoogleFirebaseAppcheckV1RecaptchaV3Config", + "properties": { + "name": { + "description": "Required. The relative resource name of the reCAPTCHA v3 configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaV3Config ```", + "type": "string" + }, + "siteSecret": { + "description": "Required. Input only. The site secret used to identify your service for reCAPTCHA v3 verification. For security reasons, this field will never be populated in any response.", + "type": "string" + }, + "siteSecretSet": { + "description": "Output only. Whether the `site_secret` field was previously set. Since we will never return the `site_secret` field, this field is the only way to find out whether it was previously set.", + "readOnly": true, + "type": "boolean" + }, + "tokenTtl": { + "description": "Specifies the duration for which App Check tokens exchanged from reCAPTCHA tokens will be valid. If unset, a default value of 1 day is assumed. Must be between 30 minutes and 7 days, inclusive.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1SafetyNetConfig": { + "description": "An app's SafetyNet configuration object. This configuration controls certain properties of the `AppCheckToken` returned by ExchangeSafetyNetToken, such as its ttl. Note that your registered SHA-256 certificate fingerprints are used to validate tokens issued by SafetyNet; please register them via the Firebase Console or programmatically via the [Firebase Management Service](https://firebase.google.com/docs/projects/api/reference/rest/v11/projects.androidApps.sha/create).", + "id": "GoogleFirebaseAppcheckV1SafetyNetConfig", + "properties": { + "name": { + "description": "Required. The relative resource name of the SafetyNet configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/safetyNetConfig ```", + "type": "string" + }, + "tokenTtl": { + "description": "Specifies the duration for which App Check tokens exchanged from SafetyNet tokens will be valid. If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1Service": { + "description": "The enforcement configuration for a Firebase service supported by App Check.", + "id": "GoogleFirebaseAppcheckV1Service", + "properties": { + "enforcementMode": { + "description": "Required. The App Check enforcement mode for this service.", + "enum": [ + "OFF", + "UNENFORCED", + "ENFORCED" + ], + "enumDescriptions": [ + "Firebase App Check is not enforced for the service, nor are App Check metrics collected. Though the service is not protected by App Check in this mode, other applicable protections, such as user authorization, are still enforced. An unconfigured service is in this mode by default.", + "Firebase App Check is not enforced for the service. App Check metrics are collected to help you decide when to turn on enforcement for the service. Though the service is not protected by App Check in this mode, other applicable protections, such as user authorization, are still enforced.", + "Firebase App Check is enforced for the service. The service will reject any request that attempts to access your project's resources if it does not have valid App Check token attached, with some exceptions depending on the service; for example, some services will still allow requests bearing the developer's privileged service account credentials without an App Check token. App Check metrics continue to be collected to help you detect issues with your App Check integration and monitor the composition of your callers. While the service is protected by App Check, other applicable protections, such as user authorization, continue to be enforced at the same time. Use caution when choosing to enforce App Check on a Firebase service. If your users have not updated to an App Check capable version of your app, their apps will no longer be able to use your Firebase services that are enforcing App Check. App Check metrics can help you decide whether to enforce App Check on your Firebase services. If your app has not launched yet, you should enable enforcement immediately, since there are no outdated clients in use." + ], + "type": "string" + }, + "name": { + "description": "Required. The relative resource name of the service configuration object, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database) * `firestore.googleapis.com` (Cloud Firestore)", + "type": "string" + } + }, + "type": "object" + }, + "GoogleFirebaseAppcheckV1UpdateServiceRequest": { + "description": "Request message for the UpdateService method as well as an individual update message for the BatchUpdateServices method.", + "id": "GoogleFirebaseAppcheckV1UpdateServiceRequest", + "properties": { + "service": { + "$ref": "GoogleFirebaseAppcheckV1Service", + "description": "Required. The Service to update. The Service's `name` field is used to identify the Service to be updated, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database) * `firestore.googleapis.com` (Cloud Firestore)" + }, + "updateMask": { + "description": "Required. A comma-separated list of names of fields in the Service to update. Example: `enforcement_mode`.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleProtobufEmpty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "GoogleProtobufEmpty", + "properties": {}, + "type": "object" + } + }, + "servicePath": "", + "title": "Firebase App Check API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/firebaseappcheck/v1/firebaseappcheck-gen.go b/firebaseappcheck/v1/firebaseappcheck-gen.go new file mode 100644 index 00000000000..59fb5e493f7 --- /dev/null +++ b/firebaseappcheck/v1/firebaseappcheck-gen.go @@ -0,0 +1,7877 @@ +// Copyright 2022 Google LLC. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated file. DO NOT EDIT. + +// Package firebaseappcheck provides access to the Firebase App Check API. +// +// For product documentation, see: https://firebase.google.com/docs/app-check +// +// Creating a client +// +// Usage example: +// +// import "google.golang.org/api/firebaseappcheck/v1" +// ... +// ctx := context.Background() +// firebaseappcheckService, err := firebaseappcheck.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 option.WithScopes: +// +// firebaseappcheckService, err := firebaseappcheck.NewService(ctx, option.WithScopes(firebaseappcheck.FirebaseScope)) +// +// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey: +// +// firebaseappcheckService, err := firebaseappcheck.NewService(ctx, option.WithAPIKey("AIza...")) +// +// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource: +// +// config := &oauth2.Config{...} +// // ... +// token, err := config.Exchange(ctx, ...) +// firebaseappcheckService, err := firebaseappcheck.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) +// +// See https://godoc.org/google.golang.org/api/option/ for details on options. +package firebaseappcheck // import "google.golang.org/api/firebaseappcheck/v1" + +import ( + "bytes" + "context" + "encoding/json" + "errors" + "fmt" + "io" + "net/http" + "net/url" + "strconv" + "strings" + + googleapi "google.golang.org/api/googleapi" + internal "google.golang.org/api/internal" + gensupport "google.golang.org/api/internal/gensupport" + option "google.golang.org/api/option" + internaloption "google.golang.org/api/option/internaloption" + htransport "google.golang.org/api/transport/http" +) + +// Always reference these packages, just in case the auto-generated code +// below doesn't. +var _ = bytes.NewBuffer +var _ = strconv.Itoa +var _ = fmt.Sprintf +var _ = json.NewDecoder +var _ = io.Copy +var _ = url.Parse +var _ = gensupport.MarshalJSON +var _ = googleapi.Version +var _ = errors.New +var _ = strings.Replace +var _ = context.Canceled +var _ = internaloption.WithDefaultEndpoint + +const apiId = "firebaseappcheck:v1" +const apiName = "firebaseappcheck" +const apiVersion = "v1" +const basePath = "https://firebaseappcheck.googleapis.com/" +const mtlsBasePath = "https://firebaseappcheck.mtls.googleapis.com/" + +// OAuth2 scopes used by this API. +const ( + // See, edit, configure, and delete your Google Cloud data and see the + // email address for your Google Account. + CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" + + // View and administer all your Firebase data and settings + FirebaseScope = "https://www.googleapis.com/auth/firebase" +) + +// NewService creates a new Service. +func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { + scopesOption := internaloption.WithDefaultScopes( + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase", + ) + // NOTE: prepend, so we don't override user-specified scopes. + opts = append([]option.ClientOption{scopesOption}, opts...) + opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) + opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) + client, endpoint, err := htransport.NewClient(ctx, opts...) + if err != nil { + return nil, err + } + s, err := New(client) + if err != nil { + return nil, err + } + if endpoint != "" { + s.BasePath = endpoint + } + return s, nil +} + +// New creates a new Service. It uses the provided http.Client for requests. +// +// Deprecated: please use NewService instead. +// To provide a custom HTTP client, use option.WithHTTPClient. +// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. +func New(client *http.Client) (*Service, error) { + if client == nil { + return nil, errors.New("client is nil") + } + s := &Service{client: client, BasePath: basePath} + s.Jwks = NewJwksService(s) + s.Projects = NewProjectsService(s) + return s, nil +} + +type Service struct { + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + + Jwks *JwksService + + Projects *ProjectsService +} + +func (s *Service) userAgent() string { + if s.UserAgent == "" { + return googleapi.UserAgent + } + return googleapi.UserAgent + " " + s.UserAgent +} + +func NewJwksService(s *Service) *JwksService { + rs := &JwksService{s: s} + return rs +} + +type JwksService struct { + s *Service +} + +func NewProjectsService(s *Service) *ProjectsService { + rs := &ProjectsService{s: s} + rs.Apps = NewProjectsAppsService(s) + rs.Services = NewProjectsServicesService(s) + return rs +} + +type ProjectsService struct { + s *Service + + Apps *ProjectsAppsService + + Services *ProjectsServicesService +} + +func NewProjectsAppsService(s *Service) *ProjectsAppsService { + rs := &ProjectsAppsService{s: s} + rs.AppAttestConfig = NewProjectsAppsAppAttestConfigService(s) + rs.DebugTokens = NewProjectsAppsDebugTokensService(s) + rs.DeviceCheckConfig = NewProjectsAppsDeviceCheckConfigService(s) + rs.PlayIntegrityConfig = NewProjectsAppsPlayIntegrityConfigService(s) + rs.RecaptchaEnterpriseConfig = NewProjectsAppsRecaptchaEnterpriseConfigService(s) + rs.RecaptchaV3Config = NewProjectsAppsRecaptchaV3ConfigService(s) + rs.SafetyNetConfig = NewProjectsAppsSafetyNetConfigService(s) + return rs +} + +type ProjectsAppsService struct { + s *Service + + AppAttestConfig *ProjectsAppsAppAttestConfigService + + DebugTokens *ProjectsAppsDebugTokensService + + DeviceCheckConfig *ProjectsAppsDeviceCheckConfigService + + PlayIntegrityConfig *ProjectsAppsPlayIntegrityConfigService + + RecaptchaEnterpriseConfig *ProjectsAppsRecaptchaEnterpriseConfigService + + RecaptchaV3Config *ProjectsAppsRecaptchaV3ConfigService + + SafetyNetConfig *ProjectsAppsSafetyNetConfigService +} + +func NewProjectsAppsAppAttestConfigService(s *Service) *ProjectsAppsAppAttestConfigService { + rs := &ProjectsAppsAppAttestConfigService{s: s} + return rs +} + +type ProjectsAppsAppAttestConfigService struct { + s *Service +} + +func NewProjectsAppsDebugTokensService(s *Service) *ProjectsAppsDebugTokensService { + rs := &ProjectsAppsDebugTokensService{s: s} + return rs +} + +type ProjectsAppsDebugTokensService struct { + s *Service +} + +func NewProjectsAppsDeviceCheckConfigService(s *Service) *ProjectsAppsDeviceCheckConfigService { + rs := &ProjectsAppsDeviceCheckConfigService{s: s} + return rs +} + +type ProjectsAppsDeviceCheckConfigService struct { + s *Service +} + +func NewProjectsAppsPlayIntegrityConfigService(s *Service) *ProjectsAppsPlayIntegrityConfigService { + rs := &ProjectsAppsPlayIntegrityConfigService{s: s} + return rs +} + +type ProjectsAppsPlayIntegrityConfigService struct { + s *Service +} + +func NewProjectsAppsRecaptchaEnterpriseConfigService(s *Service) *ProjectsAppsRecaptchaEnterpriseConfigService { + rs := &ProjectsAppsRecaptchaEnterpriseConfigService{s: s} + return rs +} + +type ProjectsAppsRecaptchaEnterpriseConfigService struct { + s *Service +} + +func NewProjectsAppsRecaptchaV3ConfigService(s *Service) *ProjectsAppsRecaptchaV3ConfigService { + rs := &ProjectsAppsRecaptchaV3ConfigService{s: s} + return rs +} + +type ProjectsAppsRecaptchaV3ConfigService struct { + s *Service +} + +func NewProjectsAppsSafetyNetConfigService(s *Service) *ProjectsAppsSafetyNetConfigService { + rs := &ProjectsAppsSafetyNetConfigService{s: s} + return rs +} + +type ProjectsAppsSafetyNetConfigService struct { + s *Service +} + +func NewProjectsServicesService(s *Service) *ProjectsServicesService { + rs := &ProjectsServicesService{s: s} + return rs +} + +type ProjectsServicesService struct { + s *Service +} + +// GoogleFirebaseAppcheckV1AppAttestConfig: An app's App Attest +// configuration object. This configuration controls certain properties +// of the `AppCheckToken` returned by ExchangeAppAttestAttestation and +// ExchangeAppAttestAssertion, such as its ttl. Note that the Team ID +// registered with your app is used as part of the validation process. +// Please register it via the Firebase Console or programmatically via +// the Firebase Management Service +// (https://firebase.google.com/docs/projects/api/reference/rest/v11/projects.iosApps/patch). +type GoogleFirebaseAppcheckV1AppAttestConfig struct { + // Name: Required. The relative resource name of the App Attest + // configuration object, in the format: ``` + // projects/{project_number}/apps/{app_id}/appAttestConfig ``` + Name string `json:"name,omitempty"` + + // TokenTtl: Specifies the duration for which App Check tokens exchanged + // from App Attest artifacts will be valid. If unset, a default value of + // 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive. + TokenTtl string `json:"tokenTtl,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Name") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1AppAttestConfig) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1AppAttestConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1AppCheckToken: Encapsulates an *App Check +// token*, which are used to access Firebase services protected by App +// Check. +type GoogleFirebaseAppcheckV1AppCheckToken struct { + // Token: The App Check token. App Check tokens are signed JWTs + // (https://tools.ietf.org/html/rfc7519) containing claims that identify + // the attested app and Firebase project. This token is used to access + // Firebase services protected by App Check. These tokens can also be + // verified by your own custom backends + // (https://firebase.google.com/docs/app-check/custom-resource-backend) + // using the Firebase Admin SDK. + Token string `json:"token,omitempty"` + + // Ttl: The duration from the time this token is minted until its + // expiration. This field is intended to ease client-side token + // management, since the client may have clock skew, but is still able + // to accurately measure a duration. + Ttl string `json:"ttl,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Token") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Token") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1AppCheckToken) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1AppCheckToken + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1BatchGetAppAttestConfigsResponse: Response +// message for the BatchGetAppAttestConfigs method. +type GoogleFirebaseAppcheckV1BatchGetAppAttestConfigsResponse struct { + // Configs: AppAttestConfigs retrieved. + Configs []*GoogleFirebaseAppcheckV1AppAttestConfig `json:"configs,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Configs") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Configs") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1BatchGetAppAttestConfigsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1BatchGetAppAttestConfigsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1BatchGetDeviceCheckConfigsResponse: Response +// message for the BatchGetDeviceCheckConfigs method. +type GoogleFirebaseAppcheckV1BatchGetDeviceCheckConfigsResponse struct { + // Configs: DeviceCheckConfigs retrieved. + Configs []*GoogleFirebaseAppcheckV1DeviceCheckConfig `json:"configs,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Configs") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Configs") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1BatchGetDeviceCheckConfigsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1BatchGetDeviceCheckConfigsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1BatchGetPlayIntegrityConfigsResponse: +// Response message for the BatchGetPlayIntegrityConfigs method. +type GoogleFirebaseAppcheckV1BatchGetPlayIntegrityConfigsResponse struct { + // Configs: PlayIntegrityConfigs retrieved. + Configs []*GoogleFirebaseAppcheckV1PlayIntegrityConfig `json:"configs,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Configs") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Configs") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1BatchGetPlayIntegrityConfigsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1BatchGetPlayIntegrityConfigsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1BatchGetRecaptchaEnterpriseConfigsResponse: +// Response message for the BatchGetRecaptchaEnterpriseConfigs method. +type GoogleFirebaseAppcheckV1BatchGetRecaptchaEnterpriseConfigsResponse struct { + // Configs: RecaptchaEnterpriseConfigs retrieved. + Configs []*GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig `json:"configs,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Configs") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Configs") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1BatchGetRecaptchaEnterpriseConfigsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1BatchGetRecaptchaEnterpriseConfigsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1BatchGetRecaptchaV3ConfigsResponse: Response +// message for the BatchGetRecaptchaV3Configs method. +type GoogleFirebaseAppcheckV1BatchGetRecaptchaV3ConfigsResponse struct { + // Configs: RecaptchaV3Configs retrieved. + Configs []*GoogleFirebaseAppcheckV1RecaptchaV3Config `json:"configs,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Configs") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Configs") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1BatchGetRecaptchaV3ConfigsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1BatchGetRecaptchaV3ConfigsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1BatchGetSafetyNetConfigsResponse: Response +// message for the BatchGetSafetyNetConfigs method. +type GoogleFirebaseAppcheckV1BatchGetSafetyNetConfigsResponse struct { + // Configs: SafetyNetConfigs retrieved. + Configs []*GoogleFirebaseAppcheckV1SafetyNetConfig `json:"configs,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Configs") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Configs") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1BatchGetSafetyNetConfigsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1BatchGetSafetyNetConfigsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1BatchUpdateServicesRequest: Request message +// for the BatchUpdateServices method. +type GoogleFirebaseAppcheckV1BatchUpdateServicesRequest struct { + // Requests: Required. The request messages specifying the Services to + // update. A maximum of 100 objects can be updated in a batch. + Requests []*GoogleFirebaseAppcheckV1UpdateServiceRequest `json:"requests,omitempty"` + + // UpdateMask: Optional. A comma-separated list of names of fields in + // the Services to update. Example: `display_name`. If the `update_mask` + // field is set in both this request and any of the UpdateServiceRequest + // messages, they must match or the entire batch fails and no updates + // will be committed. + UpdateMask string `json:"updateMask,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. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Requests") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1BatchUpdateServicesRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1BatchUpdateServicesRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1BatchUpdateServicesResponse: Response message +// for the BatchUpdateServices method. +type GoogleFirebaseAppcheckV1BatchUpdateServicesResponse struct { + // Services: Service objects after the updates have been applied. + Services []*GoogleFirebaseAppcheckV1Service `json:"services,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Services") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Services") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1BatchUpdateServicesResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1BatchUpdateServicesResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1DebugToken: A *debug token* is a secret used +// during the development or integration testing of an app. It +// essentially allows the development or integration testing to bypass +// app attestation while still allowing App Check to enforce protection +// on supported production Firebase services. +type GoogleFirebaseAppcheckV1DebugToken struct { + // DisplayName: Required. A human readable display name used to identify + // this debug token. + DisplayName string `json:"displayName,omitempty"` + + // Name: Required. The relative resource name of the debug token, in the + // format: ``` + // projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} + // ``` + Name string `json:"name,omitempty"` + + // Token: Required. Input only. Immutable. The secret token itself. Must + // be provided during creation, and must be a UUID4, case insensitive. + // This field is immutable once set, and cannot be provided during an + // UpdateDebugToken request. You can, however, delete this debug token + // using DeleteDebugToken to revoke it. For security reasons, this field + // will never be populated in any response. + Token string `json:"token,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "DisplayName") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DisplayName") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1DebugToken) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1DebugToken + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1DeviceCheckConfig: An app's DeviceCheck +// configuration object. This configuration is used by +// ExchangeDeviceCheckToken to validate device tokens issued to apps by +// DeviceCheck. It also controls certain properties of the returned +// `AppCheckToken`, such as its ttl. Note that the Team ID registered +// with your app is used as part of the validation process. Please +// register it via the Firebase Console or programmatically via the +// Firebase Management Service +// (https://firebase.google.com/docs/projects/api/reference/rest/v11/projects.iosApps/patch). +type GoogleFirebaseAppcheckV1DeviceCheckConfig struct { + // KeyId: Required. The key identifier of a private key enabled with + // DeviceCheck, created in your Apple Developer account. + KeyId string `json:"keyId,omitempty"` + + // Name: Required. The relative resource name of the DeviceCheck + // configuration object, in the format: ``` + // projects/{project_number}/apps/{app_id}/deviceCheckConfig ``` + Name string `json:"name,omitempty"` + + // PrivateKey: Required. Input only. The contents of the private key + // (`.p8`) file associated with the key specified by `key_id`. For + // security reasons, this field will never be populated in any response. + PrivateKey string `json:"privateKey,omitempty"` + + // PrivateKeySet: Output only. Whether the `private_key` field was + // previously set. Since we will never return the `private_key` field, + // this field is the only way to find out whether it was previously set. + PrivateKeySet bool `json:"privateKeySet,omitempty"` + + // TokenTtl: Specifies the duration for which App Check tokens exchanged + // from DeviceCheck tokens will be valid. If unset, a default value of 1 + // hour is assumed. Must be between 30 minutes and 7 days, inclusive. + TokenTtl string `json:"tokenTtl,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "KeyId") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "KeyId") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1DeviceCheckConfig) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1DeviceCheckConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1ExchangeAppAttestAssertionRequest: Request +// message for the ExchangeAppAttestAssertion method. +type GoogleFirebaseAppcheckV1ExchangeAppAttestAssertionRequest struct { + // Artifact: Required. The artifact returned by a previous call to + // ExchangeAppAttestAttestation. + Artifact string `json:"artifact,omitempty"` + + // Assertion: Required. The CBOR-encoded assertion returned by the + // client-side App Attest API. + Assertion string `json:"assertion,omitempty"` + + // Challenge: Required. A one-time challenge returned by an immediately + // prior call to GenerateAppAttestChallenge. + Challenge string `json:"challenge,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Artifact") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Artifact") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1ExchangeAppAttestAssertionRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1ExchangeAppAttestAssertionRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationRequest: Request +// message for the ExchangeAppAttestAttestation method. +type GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationRequest struct { + // AttestationStatement: Required. The App Attest statement returned by + // the client-side App Attest API. This is a base64url encoded CBOR + // object in the JSON response. + AttestationStatement string `json:"attestationStatement,omitempty"` + + // Challenge: Required. A one-time challenge returned by an immediately + // prior call to GenerateAppAttestChallenge. + Challenge string `json:"challenge,omitempty"` + + // KeyId: Required. The key ID generated by App Attest for the client + // app. + KeyId string `json:"keyId,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "AttestationStatement") to unconditionally include in API requests. + // By default, fields with empty or default values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AttestationStatement") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationResponse: +// Response message for the ExchangeAppAttestAttestation method. +type GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationResponse struct { + // AppCheckToken: Encapsulates an App Check token. + AppCheckToken *GoogleFirebaseAppcheckV1AppCheckToken `json:"appCheckToken,omitempty"` + + // Artifact: An artifact that can be used in future calls to + // ExchangeAppAttestAssertion. + Artifact string `json:"artifact,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "AppCheckToken") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AppCheckToken") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1ExchangeCustomTokenRequest: Request message +// for the ExchangeCustomToken method. +type GoogleFirebaseAppcheckV1ExchangeCustomTokenRequest struct { + // CustomToken: Required. A custom token signed using your project's + // Admin SDK service account credentials. + CustomToken string `json:"customToken,omitempty"` + + // ForceSendFields is a list of field names (e.g. "CustomToken") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CustomToken") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1ExchangeCustomTokenRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1ExchangeCustomTokenRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1ExchangeDebugTokenRequest: Request message +// for the ExchangeDebugToken method. +type GoogleFirebaseAppcheckV1ExchangeDebugTokenRequest struct { + // DebugToken: Required. A debug token secret. This string must match a + // debug token secret previously created using CreateDebugToken. + DebugToken string `json:"debugToken,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DebugToken") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DebugToken") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1ExchangeDebugTokenRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1ExchangeDebugTokenRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1ExchangeDeviceCheckTokenRequest: Request +// message for the ExchangeDeviceCheckToken method. +type GoogleFirebaseAppcheckV1ExchangeDeviceCheckTokenRequest struct { + // DeviceToken: Required. The `device_token` as returned by Apple's + // client-side DeviceCheck API + // (https://developer.apple.com/documentation/devicecheck/dcdevice). + // This is the base64 encoded `Data` (Swift) or `NSData` (ObjC) object. + DeviceToken string `json:"deviceToken,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DeviceToken") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DeviceToken") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1ExchangeDeviceCheckTokenRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1ExchangeDeviceCheckTokenRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1ExchangePlayIntegrityTokenRequest: Request +// message for the ExchangePlayIntegrityToken method. +type GoogleFirebaseAppcheckV1ExchangePlayIntegrityTokenRequest struct { + // PlayIntegrityToken: Required. The integrity verdict response token + // from Play Integrity + // (https://developer.android.com/google/play/integrity/verdict#decrypt-verify) + // issued to your app. + PlayIntegrityToken string `json:"playIntegrityToken,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PlayIntegrityToken") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PlayIntegrityToken") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1ExchangePlayIntegrityTokenRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1ExchangePlayIntegrityTokenRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1ExchangeRecaptchaEnterpriseTokenRequest: +// Request message for the ExchangeRecaptchaEnterpriseToken method. +type GoogleFirebaseAppcheckV1ExchangeRecaptchaEnterpriseTokenRequest struct { + // RecaptchaEnterpriseToken: Required. The reCAPTCHA token as returned + // by the reCAPTCHA Enterprise JavaScript API + // (https://cloud.google.com/recaptcha-enterprise/docs/instrument-web-pages). + RecaptchaEnterpriseToken string `json:"recaptchaEnterpriseToken,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "RecaptchaEnterpriseToken") to unconditionally include in API + // requests. By default, fields with empty or default values are omitted + // from API requests. However, any non-pointer, non-interface field + // appearing in ForceSendFields will be sent to the server regardless of + // whether the field is empty or not. This may be used to include empty + // fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "RecaptchaEnterpriseToken") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1ExchangeRecaptchaEnterpriseTokenRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1ExchangeRecaptchaEnterpriseTokenRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1ExchangeRecaptchaV3TokenRequest: Request +// message for the ExchangeRecaptchaV3Token method. +type GoogleFirebaseAppcheckV1ExchangeRecaptchaV3TokenRequest struct { + // RecaptchaV3Token: Required. The reCAPTCHA token as returned by the + // reCAPTCHA v3 JavaScript API + // (https://developers.google.com/recaptcha/docs/v3). + RecaptchaV3Token string `json:"recaptchaV3Token,omitempty"` + + // ForceSendFields is a list of field names (e.g. "RecaptchaV3Token") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "RecaptchaV3Token") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1ExchangeRecaptchaV3TokenRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1ExchangeRecaptchaV3TokenRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1ExchangeSafetyNetTokenRequest: Request +// message for the ExchangeSafetyNetToken method. +type GoogleFirebaseAppcheckV1ExchangeSafetyNetTokenRequest struct { + // SafetyNetToken: Required. The SafetyNet attestation response + // (https://developer.android.com/training/safetynet/attestation#request-attestation-step) + // issued to your app. + SafetyNetToken string `json:"safetyNetToken,omitempty"` + + // ForceSendFields is a list of field names (e.g. "SafetyNetToken") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "SafetyNetToken") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1ExchangeSafetyNetTokenRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1ExchangeSafetyNetTokenRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1GenerateAppAttestChallengeRequest: Request +// message for the GenerateAppAttestChallenge method. +type GoogleFirebaseAppcheckV1GenerateAppAttestChallengeRequest struct { +} + +// GoogleFirebaseAppcheckV1GenerateAppAttestChallengeResponse: Response +// message for the GenerateAppAttestChallenge method. +type GoogleFirebaseAppcheckV1GenerateAppAttestChallengeResponse struct { + // Challenge: A one-time use challenge for the client to pass to the App + // Attest API. + Challenge string `json:"challenge,omitempty"` + + // Ttl: The duration from the time this challenge is minted until its + // expiration. This field is intended to ease client-side token + // management, since the client may have clock skew, but is still able + // to accurately measure a duration. + Ttl string `json:"ttl,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Challenge") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Challenge") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1GenerateAppAttestChallengeResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1GenerateAppAttestChallengeResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeRequest: +// Request message for the GeneratePlayIntegrityChallenge method. +type GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeRequest struct { +} + +// GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse: +// Response message for the GeneratePlayIntegrityChallenge method. +type GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse struct { + // Challenge: A one-time use challenge + // (https://developer.android.com/google/play/integrity/verdict#protect-against-replay-attacks) + // for the client to pass to the Play Integrity API. + Challenge string `json:"challenge,omitempty"` + + // Ttl: The duration from the time this challenge is minted until its + // expiration. This field is intended to ease client-side token + // management, since the client may have clock skew, but is still able + // to accurately measure a duration. + Ttl string `json:"ttl,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Challenge") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Challenge") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1ListDebugTokensResponse: Response message for +// the ListDebugTokens method. +type GoogleFirebaseAppcheckV1ListDebugTokensResponse struct { + // DebugTokens: The DebugTokens retrieved. + DebugTokens []*GoogleFirebaseAppcheckV1DebugToken `json:"debugTokens,omitempty"` + + // NextPageToken: If the result list is too large to fit in a single + // response, then a token is returned. If the string is empty or + // omitted, then this response is the last page of results. This token + // can be used in a subsequent call to ListDebugTokens to find the next + // group of DebugTokens. Page tokens are short-lived and should not be + // persisted. + 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. "DebugTokens") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DebugTokens") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1ListDebugTokensResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1ListDebugTokensResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1ListServicesResponse: Response message for +// the ListServices method. +type GoogleFirebaseAppcheckV1ListServicesResponse struct { + // NextPageToken: If the result list is too large to fit in a single + // response, then a token is returned. If the string is empty or + // omitted, then this response is the last page of results. This token + // can be used in a subsequent call to ListServices to find the next + // group of Services. Page tokens are short-lived and should not be + // persisted. + NextPageToken string `json:"nextPageToken,omitempty"` + + // Services: The Services retrieved. + Services []*GoogleFirebaseAppcheckV1Service `json:"services,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "NextPageToken") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1ListServicesResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1ListServicesResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1PlayIntegrityConfig: An app's Play Integrity +// configuration object. This configuration controls certain properties +// of the `AppCheckToken` returned by ExchangePlayIntegrityToken, such +// as its ttl. Note that your registered SHA-256 certificate +// fingerprints are used to validate tokens issued by the Play Integrity +// API; please register them via the Firebase Console or +// programmatically via the Firebase Management Service +// (https://firebase.google.com/docs/projects/api/reference/rest/v1beta1/projects.androidApps.sha/create). +type GoogleFirebaseAppcheckV1PlayIntegrityConfig struct { + // Name: Required. The relative resource name of the Play Integrity + // configuration object, in the format: ``` + // projects/{project_number}/apps/{app_id}/playIntegrityConfig ``` + Name string `json:"name,omitempty"` + + // TokenTtl: Specifies the duration for which App Check tokens exchanged + // from Play Integrity tokens will be valid. If unset, a default value + // of 1 hour is assumed. Must be between 30 minutes and 7 days, + // inclusive. + TokenTtl string `json:"tokenTtl,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Name") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1PlayIntegrityConfig) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1PlayIntegrityConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1PublicJwk: A JWK as specified by section 4 of +// RFC 7517 (https://tools.ietf.org/html/rfc7517#section-4) and section +// 6.3.1 of RFC 7518 +// (https://tools.ietf.org/html/rfc7518#section-6.3.1). +type GoogleFirebaseAppcheckV1PublicJwk struct { + // Alg: See section 4.4 of RFC 7517 + // (https://tools.ietf.org/html/rfc7517#section-4.4). + Alg string `json:"alg,omitempty"` + + // E: See section 6.3.1.2 of RFC 7518 + // (https://tools.ietf.org/html/rfc7518#section-6.3.1.2). + E string `json:"e,omitempty"` + + // Kid: See section 4.5 of RFC 7517 + // (https://tools.ietf.org/html/rfc7517#section-4.5). + Kid string `json:"kid,omitempty"` + + // Kty: See section 4.1 of RFC 7517 + // (https://tools.ietf.org/html/rfc7517#section-4.1). + Kty string `json:"kty,omitempty"` + + // N: See section 6.3.1.1 of RFC 7518 + // (https://tools.ietf.org/html/rfc7518#section-6.3.1.1). + N string `json:"n,omitempty"` + + // Use: See section 4.2 of RFC 7517 + // (https://tools.ietf.org/html/rfc7517#section-4.2). + Use string `json:"use,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Alg") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Alg") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1PublicJwk) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1PublicJwk + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1PublicJwkSet: The currently active set of +// public keys that can be used to verify App Check tokens. This object +// is a JWK set as specified by section 5 of RFC 7517 +// (https://tools.ietf.org/html/rfc7517#section-5). For security, the +// response **must not** be cached for longer than six hours. +type GoogleFirebaseAppcheckV1PublicJwkSet struct { + // Keys: The set of public keys. See section 5.1 of RFC 7517 + // (https://tools.ietf.org/html/rfc7517#section-5). + Keys []*GoogleFirebaseAppcheckV1PublicJwk `json:"keys,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Keys") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Keys") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1PublicJwkSet) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1PublicJwkSet + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig: An app's reCAPTCHA +// Enterprise configuration object. This configuration is used by +// ExchangeRecaptchaEnterpriseToken to validate reCAPTCHA tokens issued +// to apps by reCAPTCHA Enterprise. It also controls certain properties +// of the returned `AppCheckToken`, such as its ttl. +type GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig struct { + // Name: Required. The relative resource name of the reCAPTCHA + // Enterprise configuration object, in the format: ``` + // projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ``` + Name string `json:"name,omitempty"` + + // SiteKey: The score-based site key created in reCAPTCHA Enterprise + // (https://cloud.google.com/recaptcha-enterprise/docs/create-key#creating_a_site_key) + // used to invoke reCAPTCHA and generate the reCAPTCHA tokens + // (https://cloud.google.com/recaptcha-enterprise/docs/instrument-web-pages) + // for your application. Important: This is *not* the `site_secret` (as + // it is in reCAPTCHA v3), but rather your score-based reCAPTCHA + // Enterprise site key. + SiteKey string `json:"siteKey,omitempty"` + + // TokenTtl: Specifies the duration for which App Check tokens exchanged + // from reCAPTCHA Enterprise tokens will be valid. If unset, a default + // value of 1 hour is assumed. Must be between 30 minutes and 7 days, + // inclusive. + TokenTtl string `json:"tokenTtl,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Name") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1RecaptchaV3Config: An app's reCAPTCHA v3 +// configuration object. This configuration is used by +// ExchangeRecaptchaV3Token to validate reCAPTCHA tokens issued to apps +// by reCAPTCHA v3. It also controls certain properties of the returned +// `AppCheckToken`, such as its ttl. +type GoogleFirebaseAppcheckV1RecaptchaV3Config struct { + // Name: Required. The relative resource name of the reCAPTCHA v3 + // configuration object, in the format: ``` + // projects/{project_number}/apps/{app_id}/recaptchaV3Config ``` + Name string `json:"name,omitempty"` + + // SiteSecret: Required. Input only. The site secret used to identify + // your service for reCAPTCHA v3 verification. For security reasons, + // this field will never be populated in any response. + SiteSecret string `json:"siteSecret,omitempty"` + + // SiteSecretSet: Output only. Whether the `site_secret` field was + // previously set. Since we will never return the `site_secret` field, + // this field is the only way to find out whether it was previously set. + SiteSecretSet bool `json:"siteSecretSet,omitempty"` + + // TokenTtl: Specifies the duration for which App Check tokens exchanged + // from reCAPTCHA tokens will be valid. If unset, a default value of 1 + // day is assumed. Must be between 30 minutes and 7 days, inclusive. + TokenTtl string `json:"tokenTtl,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Name") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1RecaptchaV3Config) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1RecaptchaV3Config + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1SafetyNetConfig: An app's SafetyNet +// configuration object. This configuration controls certain properties +// of the `AppCheckToken` returned by ExchangeSafetyNetToken, such as +// its ttl. Note that your registered SHA-256 certificate fingerprints +// are used to validate tokens issued by SafetyNet; please register them +// via the Firebase Console or programmatically via the Firebase +// Management Service +// (https://firebase.google.com/docs/projects/api/reference/rest/v11/projects.androidApps.sha/create). +type GoogleFirebaseAppcheckV1SafetyNetConfig struct { + // Name: Required. The relative resource name of the SafetyNet + // configuration object, in the format: ``` + // projects/{project_number}/apps/{app_id}/safetyNetConfig ``` + Name string `json:"name,omitempty"` + + // TokenTtl: Specifies the duration for which App Check tokens exchanged + // from SafetyNet tokens will be valid. If unset, a default value of 1 + // hour is assumed. Must be between 30 minutes and 7 days, inclusive. + TokenTtl string `json:"tokenTtl,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Name") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1SafetyNetConfig) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1SafetyNetConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1Service: The enforcement configuration for a +// Firebase service supported by App Check. +type GoogleFirebaseAppcheckV1Service struct { + // EnforcementMode: Required. The App Check enforcement mode for this + // service. + // + // Possible values: + // "OFF" - Firebase App Check is not enforced for the service, nor are + // App Check metrics collected. Though the service is not protected by + // App Check in this mode, other applicable protections, such as user + // authorization, are still enforced. An unconfigured service is in this + // mode by default. + // "UNENFORCED" - Firebase App Check is not enforced for the service. + // App Check metrics are collected to help you decide when to turn on + // enforcement for the service. Though the service is not protected by + // App Check in this mode, other applicable protections, such as user + // authorization, are still enforced. + // "ENFORCED" - Firebase App Check is enforced for the service. The + // service will reject any request that attempts to access your + // project's resources if it does not have valid App Check token + // attached, with some exceptions depending on the service; for example, + // some services will still allow requests bearing the developer's + // privileged service account credentials without an App Check token. + // App Check metrics continue to be collected to help you detect issues + // with your App Check integration and monitor the composition of your + // callers. While the service is protected by App Check, other + // applicable protections, such as user authorization, continue to be + // enforced at the same time. Use caution when choosing to enforce App + // Check on a Firebase service. If your users have not updated to an App + // Check capable version of your app, their apps will no longer be able + // to use your Firebase services that are enforcing App Check. App Check + // metrics can help you decide whether to enforce App Check on your + // Firebase services. If your app has not launched yet, you should + // enable enforcement immediately, since there are no outdated clients + // in use. + EnforcementMode string `json:"enforcementMode,omitempty"` + + // Name: Required. The relative resource name of the service + // configuration object, in the format: ``` + // projects/{project_number}/services/{service_id} ``` Note that the + // `service_id` element must be a supported service ID. Currently, the + // following service IDs are supported: * + // `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * + // `firebasedatabase.googleapis.com` (Firebase Realtime Database) * + // `firestore.googleapis.com` (Cloud Firestore) + Name string `json:"name,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "EnforcementMode") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "EnforcementMode") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1Service) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1Service + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleFirebaseAppcheckV1UpdateServiceRequest: Request message for the +// UpdateService method as well as an individual update message for the +// BatchUpdateServices method. +type GoogleFirebaseAppcheckV1UpdateServiceRequest struct { + // Service: Required. The Service to update. The Service's `name` field + // is used to identify the Service to be updated, in the format: ``` + // projects/{project_number}/services/{service_id} ``` Note that the + // `service_id` element must be a supported service ID. Currently, the + // following service IDs are supported: * + // `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * + // `firebasedatabase.googleapis.com` (Firebase Realtime Database) * + // `firestore.googleapis.com` (Cloud Firestore) + Service *GoogleFirebaseAppcheckV1Service `json:"service,omitempty"` + + // UpdateMask: Required. A comma-separated list of names of fields in + // the Service to update. Example: `enforcement_mode`. + UpdateMask string `json:"updateMask,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Service") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Service") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1UpdateServiceRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1UpdateServiceRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleProtobufEmpty: A generic empty message that you can re-use to +// avoid defining duplicated empty messages in your APIs. A typical +// example is to use it as the request or the response type of an API +// method. For instance: service Foo { rpc Bar(google.protobuf.Empty) +// returns (google.protobuf.Empty); } +type GoogleProtobufEmpty struct { + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` +} + +// method id "firebaseappcheck.jwks.get": + +type JwksGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Returns a public JWK set as specified by RFC 7517 +// (https://tools.ietf.org/html/rfc7517) that can be used to verify App +// Check tokens. Exactly one of the public keys in the returned set will +// successfully validate any App Check token that is currently valid. +// +// - name: The relative resource name to the public JWK set. Must always +// be exactly the string `jwks`. +func (r *JwksService) Get(name string) *JwksGetCall { + c := &JwksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *JwksGetCall) Fields(s ...googleapi.Field) *JwksGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *JwksGetCall) IfNoneMatch(entityTag string) *JwksGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *JwksGetCall) Context(ctx context.Context) *JwksGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *JwksGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *JwksGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.jwks.get" call. +// Exactly one of *GoogleFirebaseAppcheckV1PublicJwkSet or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *GoogleFirebaseAppcheckV1PublicJwkSet.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 *JwksGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1PublicJwkSet, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1PublicJwkSet{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns a public JWK set as specified by [RFC 7517](https://tools.ietf.org/html/rfc7517) that can be used to verify App Check tokens. Exactly one of the public keys in the returned set will successfully validate any App Check token that is currently valid.", + // "flatPath": "v1/jwks", + // "httpMethod": "GET", + // "id": "firebaseappcheck.jwks.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The relative resource name to the public JWK set. Must always be exactly the string `jwks`.", + // "location": "path", + // "pattern": "^jwks$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1PublicJwkSet" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.exchangeAppAttestAssertion": + +type ProjectsAppsExchangeAppAttestAssertionCall struct { + s *Service + appid string + googlefirebaseappcheckv1exchangeappattestassertionrequest *GoogleFirebaseAppcheckV1ExchangeAppAttestAssertionRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ExchangeAppAttestAssertion: Accepts an App Attest assertion and an +// artifact previously obtained from ExchangeAppAttestAttestation and +// verifies those with Apple. If valid, returns an AppCheckToken. +// +// - app: The relative resource name of the iOS app, in the format: ``` +// projects/{project_number}/apps/{app_id} ``` If necessary, the +// `project_number` element can be replaced with the project ID of the +// Firebase project. Learn more about using project identifiers in +// Google's AIP 2510 (https://google.aip.dev/cloud/2510) standard. +func (r *ProjectsAppsService) ExchangeAppAttestAssertion(appid string, googlefirebaseappcheckv1exchangeappattestassertionrequest *GoogleFirebaseAppcheckV1ExchangeAppAttestAssertionRequest) *ProjectsAppsExchangeAppAttestAssertionCall { + c := &ProjectsAppsExchangeAppAttestAssertionCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appid = appid + c.googlefirebaseappcheckv1exchangeappattestassertionrequest = googlefirebaseappcheckv1exchangeappattestassertionrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsExchangeAppAttestAssertionCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeAppAttestAssertionCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsExchangeAppAttestAssertionCall) Context(ctx context.Context) *ProjectsAppsExchangeAppAttestAssertionCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsExchangeAppAttestAssertionCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsExchangeAppAttestAssertionCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1exchangeappattestassertionrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+app}:exchangeAppAttestAssertion") + 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{ + "app": c.appid, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.exchangeAppAttestAssertion" call. +// Exactly one of *GoogleFirebaseAppcheckV1AppCheckToken or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *GoogleFirebaseAppcheckV1AppCheckToken.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 *ProjectsAppsExchangeAppAttestAssertionCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1AppCheckToken, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1AppCheckToken{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Accepts an App Attest assertion and an artifact previously obtained from ExchangeAppAttestAttestation and verifies those with Apple. If valid, returns an AppCheckToken.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangeAppAttestAssertion", + // "httpMethod": "POST", + // "id": "firebaseappcheck.projects.apps.exchangeAppAttestAssertion", + // "parameterOrder": [ + // "app" + // ], + // "parameters": { + // "app": { + // "description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+app}:exchangeAppAttestAssertion", + // "request": { + // "$ref": "GoogleFirebaseAppcheckV1ExchangeAppAttestAssertionRequest" + // }, + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1AppCheckToken" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.exchangeAppAttestAttestation": + +type ProjectsAppsExchangeAppAttestAttestationCall struct { + s *Service + appid string + googlefirebaseappcheckv1exchangeappattestattestationrequest *GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ExchangeAppAttestAttestation: Accepts an App Attest CBOR attestation +// and verifies it with Apple using your preconfigured team and bundle +// IDs. If valid, returns an attestation artifact that can later be +// exchanged for an AppCheckToken using ExchangeAppAttestAssertion. For +// convenience and performance, this method's response object will also +// contain an AppCheckToken (if the verification is successful). +// +// - app: The relative resource name of the iOS app, in the format: ``` +// projects/{project_number}/apps/{app_id} ``` If necessary, the +// `project_number` element can be replaced with the project ID of the +// Firebase project. Learn more about using project identifiers in +// Google's AIP 2510 (https://google.aip.dev/cloud/2510) standard. +func (r *ProjectsAppsService) ExchangeAppAttestAttestation(appid string, googlefirebaseappcheckv1exchangeappattestattestationrequest *GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationRequest) *ProjectsAppsExchangeAppAttestAttestationCall { + c := &ProjectsAppsExchangeAppAttestAttestationCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appid = appid + c.googlefirebaseappcheckv1exchangeappattestattestationrequest = googlefirebaseappcheckv1exchangeappattestattestationrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsExchangeAppAttestAttestationCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeAppAttestAttestationCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsExchangeAppAttestAttestationCall) Context(ctx context.Context) *ProjectsAppsExchangeAppAttestAttestationCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsExchangeAppAttestAttestationCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsExchangeAppAttestAttestationCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1exchangeappattestattestationrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+app}:exchangeAppAttestAttestation") + 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{ + "app": c.appid, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.exchangeAppAttestAttestation" call. +// Exactly one of +// *GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationResponse or +// error will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationResponse.ServerRe +// sponse.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 *ProjectsAppsExchangeAppAttestAttestationCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Accepts an App Attest CBOR attestation and verifies it with Apple using your preconfigured team and bundle IDs. If valid, returns an attestation artifact that can later be exchanged for an AppCheckToken using ExchangeAppAttestAssertion. For convenience and performance, this method's response object will also contain an AppCheckToken (if the verification is successful).", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangeAppAttestAttestation", + // "httpMethod": "POST", + // "id": "firebaseappcheck.projects.apps.exchangeAppAttestAttestation", + // "parameterOrder": [ + // "app" + // ], + // "parameters": { + // "app": { + // "description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+app}:exchangeAppAttestAttestation", + // "request": { + // "$ref": "GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationRequest" + // }, + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.exchangeCustomToken": + +type ProjectsAppsExchangeCustomTokenCall struct { + s *Service + appid string + googlefirebaseappcheckv1exchangecustomtokenrequest *GoogleFirebaseAppcheckV1ExchangeCustomTokenRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ExchangeCustomToken: Validates a custom token signed using your +// project's Admin SDK service account credentials. If valid, returns an +// AppCheckToken. +// +// - app: The relative resource name of the app, in the format: ``` +// projects/{project_number}/apps/{app_id} ``` If necessary, the +// `project_number` element can be replaced with the project ID of the +// Firebase project. Learn more about using project identifiers in +// Google's AIP 2510 (https://google.aip.dev/cloud/2510) standard. +func (r *ProjectsAppsService) ExchangeCustomToken(appid string, googlefirebaseappcheckv1exchangecustomtokenrequest *GoogleFirebaseAppcheckV1ExchangeCustomTokenRequest) *ProjectsAppsExchangeCustomTokenCall { + c := &ProjectsAppsExchangeCustomTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appid = appid + c.googlefirebaseappcheckv1exchangecustomtokenrequest = googlefirebaseappcheckv1exchangecustomtokenrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsExchangeCustomTokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeCustomTokenCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsExchangeCustomTokenCall) Context(ctx context.Context) *ProjectsAppsExchangeCustomTokenCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsExchangeCustomTokenCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsExchangeCustomTokenCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1exchangecustomtokenrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+app}:exchangeCustomToken") + 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{ + "app": c.appid, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.exchangeCustomToken" call. +// Exactly one of *GoogleFirebaseAppcheckV1AppCheckToken or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *GoogleFirebaseAppcheckV1AppCheckToken.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 *ProjectsAppsExchangeCustomTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1AppCheckToken, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1AppCheckToken{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Validates a custom token signed using your project's Admin SDK service account credentials. If valid, returns an AppCheckToken.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangeCustomToken", + // "httpMethod": "POST", + // "id": "firebaseappcheck.projects.apps.exchangeCustomToken", + // "parameterOrder": [ + // "app" + // ], + // "parameters": { + // "app": { + // "description": "Required. The relative resource name of the app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+app}:exchangeCustomToken", + // "request": { + // "$ref": "GoogleFirebaseAppcheckV1ExchangeCustomTokenRequest" + // }, + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1AppCheckToken" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.exchangeDebugToken": + +type ProjectsAppsExchangeDebugTokenCall struct { + s *Service + appid string + googlefirebaseappcheckv1exchangedebugtokenrequest *GoogleFirebaseAppcheckV1ExchangeDebugTokenRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ExchangeDebugToken: Validates a debug token secret that you have +// previously created using CreateDebugToken. If valid, returns an +// AppCheckToken. Note that a restrictive quota is enforced on this +// method to prevent accidental exposure of the app to abuse. +// +// - app: The relative resource name of the app, in the format: ``` +// projects/{project_number}/apps/{app_id} ``` If necessary, the +// `project_number` element can be replaced with the project ID of the +// Firebase project. Learn more about using project identifiers in +// Google's AIP 2510 (https://google.aip.dev/cloud/2510) standard. +func (r *ProjectsAppsService) ExchangeDebugToken(appid string, googlefirebaseappcheckv1exchangedebugtokenrequest *GoogleFirebaseAppcheckV1ExchangeDebugTokenRequest) *ProjectsAppsExchangeDebugTokenCall { + c := &ProjectsAppsExchangeDebugTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appid = appid + c.googlefirebaseappcheckv1exchangedebugtokenrequest = googlefirebaseappcheckv1exchangedebugtokenrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsExchangeDebugTokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeDebugTokenCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsExchangeDebugTokenCall) Context(ctx context.Context) *ProjectsAppsExchangeDebugTokenCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsExchangeDebugTokenCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsExchangeDebugTokenCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1exchangedebugtokenrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+app}:exchangeDebugToken") + 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{ + "app": c.appid, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.exchangeDebugToken" call. +// Exactly one of *GoogleFirebaseAppcheckV1AppCheckToken or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *GoogleFirebaseAppcheckV1AppCheckToken.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 *ProjectsAppsExchangeDebugTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1AppCheckToken, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1AppCheckToken{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Validates a debug token secret that you have previously created using CreateDebugToken. If valid, returns an AppCheckToken. Note that a restrictive quota is enforced on this method to prevent accidental exposure of the app to abuse.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangeDebugToken", + // "httpMethod": "POST", + // "id": "firebaseappcheck.projects.apps.exchangeDebugToken", + // "parameterOrder": [ + // "app" + // ], + // "parameters": { + // "app": { + // "description": "Required. The relative resource name of the app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+app}:exchangeDebugToken", + // "request": { + // "$ref": "GoogleFirebaseAppcheckV1ExchangeDebugTokenRequest" + // }, + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1AppCheckToken" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.exchangeDeviceCheckToken": + +type ProjectsAppsExchangeDeviceCheckTokenCall struct { + s *Service + appid string + googlefirebaseappcheckv1exchangedevicechecktokenrequest *GoogleFirebaseAppcheckV1ExchangeDeviceCheckTokenRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ExchangeDeviceCheckToken: Accepts a `device_token` +// (https://developer.apple.com/documentation/devicecheck/dcdevice) +// issued by DeviceCheck, and attempts to validate it with Apple. If +// valid, returns an AppCheckToken. +// +// - app: The relative resource name of the iOS app, in the format: ``` +// projects/{project_number}/apps/{app_id} ``` If necessary, the +// `project_number` element can be replaced with the project ID of the +// Firebase project. Learn more about using project identifiers in +// Google's AIP 2510 (https://google.aip.dev/cloud/2510) standard. +func (r *ProjectsAppsService) ExchangeDeviceCheckToken(appid string, googlefirebaseappcheckv1exchangedevicechecktokenrequest *GoogleFirebaseAppcheckV1ExchangeDeviceCheckTokenRequest) *ProjectsAppsExchangeDeviceCheckTokenCall { + c := &ProjectsAppsExchangeDeviceCheckTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appid = appid + c.googlefirebaseappcheckv1exchangedevicechecktokenrequest = googlefirebaseappcheckv1exchangedevicechecktokenrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsExchangeDeviceCheckTokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeDeviceCheckTokenCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsExchangeDeviceCheckTokenCall) Context(ctx context.Context) *ProjectsAppsExchangeDeviceCheckTokenCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsExchangeDeviceCheckTokenCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsExchangeDeviceCheckTokenCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1exchangedevicechecktokenrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+app}:exchangeDeviceCheckToken") + 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{ + "app": c.appid, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.exchangeDeviceCheckToken" call. +// Exactly one of *GoogleFirebaseAppcheckV1AppCheckToken or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *GoogleFirebaseAppcheckV1AppCheckToken.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 *ProjectsAppsExchangeDeviceCheckTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1AppCheckToken, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1AppCheckToken{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Accepts a [`device_token`](https://developer.apple.com/documentation/devicecheck/dcdevice) issued by DeviceCheck, and attempts to validate it with Apple. If valid, returns an AppCheckToken.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangeDeviceCheckToken", + // "httpMethod": "POST", + // "id": "firebaseappcheck.projects.apps.exchangeDeviceCheckToken", + // "parameterOrder": [ + // "app" + // ], + // "parameters": { + // "app": { + // "description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+app}:exchangeDeviceCheckToken", + // "request": { + // "$ref": "GoogleFirebaseAppcheckV1ExchangeDeviceCheckTokenRequest" + // }, + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1AppCheckToken" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.exchangePlayIntegrityToken": + +type ProjectsAppsExchangePlayIntegrityTokenCall struct { + s *Service + appid string + googlefirebaseappcheckv1exchangeplayintegritytokenrequest *GoogleFirebaseAppcheckV1ExchangePlayIntegrityTokenRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ExchangePlayIntegrityToken: Validates an integrity verdict response +// token from Play Integrity +// (https://developer.android.com/google/play/integrity/verdict#decrypt-verify). +// If valid, returns an AppCheckToken. +// +// - app: The relative resource name of the Android app, in the format: +// ``` projects/{project_number}/apps/{app_id} ``` If necessary, the +// `project_number` element can be replaced with the project ID of the +// Firebase project. Learn more about using project identifiers in +// Google's AIP 2510 (https://google.aip.dev/cloud/2510) standard. +func (r *ProjectsAppsService) ExchangePlayIntegrityToken(appid string, googlefirebaseappcheckv1exchangeplayintegritytokenrequest *GoogleFirebaseAppcheckV1ExchangePlayIntegrityTokenRequest) *ProjectsAppsExchangePlayIntegrityTokenCall { + c := &ProjectsAppsExchangePlayIntegrityTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appid = appid + c.googlefirebaseappcheckv1exchangeplayintegritytokenrequest = googlefirebaseappcheckv1exchangeplayintegritytokenrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsExchangePlayIntegrityTokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangePlayIntegrityTokenCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsExchangePlayIntegrityTokenCall) Context(ctx context.Context) *ProjectsAppsExchangePlayIntegrityTokenCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsExchangePlayIntegrityTokenCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsExchangePlayIntegrityTokenCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1exchangeplayintegritytokenrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+app}:exchangePlayIntegrityToken") + 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{ + "app": c.appid, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.exchangePlayIntegrityToken" call. +// Exactly one of *GoogleFirebaseAppcheckV1AppCheckToken or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *GoogleFirebaseAppcheckV1AppCheckToken.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 *ProjectsAppsExchangePlayIntegrityTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1AppCheckToken, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1AppCheckToken{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Validates an [integrity verdict response token from Play Integrity](https://developer.android.com/google/play/integrity/verdict#decrypt-verify). If valid, returns an AppCheckToken.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangePlayIntegrityToken", + // "httpMethod": "POST", + // "id": "firebaseappcheck.projects.apps.exchangePlayIntegrityToken", + // "parameterOrder": [ + // "app" + // ], + // "parameters": { + // "app": { + // "description": "Required. The relative resource name of the Android app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+app}:exchangePlayIntegrityToken", + // "request": { + // "$ref": "GoogleFirebaseAppcheckV1ExchangePlayIntegrityTokenRequest" + // }, + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1AppCheckToken" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.exchangeRecaptchaEnterpriseToken": + +type ProjectsAppsExchangeRecaptchaEnterpriseTokenCall struct { + s *Service + appid string + googlefirebaseappcheckv1exchangerecaptchaenterprisetokenrequest *GoogleFirebaseAppcheckV1ExchangeRecaptchaEnterpriseTokenRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ExchangeRecaptchaEnterpriseToken: Validates a reCAPTCHA Enterprise +// response token +// (https://cloud.google.com/recaptcha-enterprise/docs/create-assessment#retrieve_token). +// If valid, returns an AppCheckToken. +// +// - app: The relative resource name of the web app, in the format: ``` +// projects/{project_number}/apps/{app_id} ``` If necessary, the +// `project_number` element can be replaced with the project ID of the +// Firebase project. Learn more about using project identifiers in +// Google's AIP 2510 (https://google.aip.dev/cloud/2510) standard. +func (r *ProjectsAppsService) ExchangeRecaptchaEnterpriseToken(appid string, googlefirebaseappcheckv1exchangerecaptchaenterprisetokenrequest *GoogleFirebaseAppcheckV1ExchangeRecaptchaEnterpriseTokenRequest) *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall { + c := &ProjectsAppsExchangeRecaptchaEnterpriseTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appid = appid + c.googlefirebaseappcheckv1exchangerecaptchaenterprisetokenrequest = googlefirebaseappcheckv1exchangerecaptchaenterprisetokenrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) Context(ctx context.Context) *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1exchangerecaptchaenterprisetokenrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+app}:exchangeRecaptchaEnterpriseToken") + 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{ + "app": c.appid, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.exchangeRecaptchaEnterpriseToken" call. +// Exactly one of *GoogleFirebaseAppcheckV1AppCheckToken or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *GoogleFirebaseAppcheckV1AppCheckToken.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 *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1AppCheckToken, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1AppCheckToken{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Validates a [reCAPTCHA Enterprise response token](https://cloud.google.com/recaptcha-enterprise/docs/create-assessment#retrieve_token). If valid, returns an AppCheckToken.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangeRecaptchaEnterpriseToken", + // "httpMethod": "POST", + // "id": "firebaseappcheck.projects.apps.exchangeRecaptchaEnterpriseToken", + // "parameterOrder": [ + // "app" + // ], + // "parameters": { + // "app": { + // "description": "Required. The relative resource name of the web app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+app}:exchangeRecaptchaEnterpriseToken", + // "request": { + // "$ref": "GoogleFirebaseAppcheckV1ExchangeRecaptchaEnterpriseTokenRequest" + // }, + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1AppCheckToken" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.exchangeRecaptchaV3Token": + +type ProjectsAppsExchangeRecaptchaV3TokenCall struct { + s *Service + appid string + googlefirebaseappcheckv1exchangerecaptchav3tokenrequest *GoogleFirebaseAppcheckV1ExchangeRecaptchaV3TokenRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ExchangeRecaptchaV3Token: Validates a reCAPTCHA v3 response token +// (https://developers.google.com/recaptcha/docs/v3). If valid, returns +// an AppCheckToken. +// +// - app: The relative resource name of the web app, in the format: ``` +// projects/{project_number}/apps/{app_id} ``` If necessary, the +// `project_number` element can be replaced with the project ID of the +// Firebase project. Learn more about using project identifiers in +// Google's AIP 2510 (https://google.aip.dev/cloud/2510) standard. +func (r *ProjectsAppsService) ExchangeRecaptchaV3Token(appid string, googlefirebaseappcheckv1exchangerecaptchav3tokenrequest *GoogleFirebaseAppcheckV1ExchangeRecaptchaV3TokenRequest) *ProjectsAppsExchangeRecaptchaV3TokenCall { + c := &ProjectsAppsExchangeRecaptchaV3TokenCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appid = appid + c.googlefirebaseappcheckv1exchangerecaptchav3tokenrequest = googlefirebaseappcheckv1exchangerecaptchav3tokenrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsExchangeRecaptchaV3TokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeRecaptchaV3TokenCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsExchangeRecaptchaV3TokenCall) Context(ctx context.Context) *ProjectsAppsExchangeRecaptchaV3TokenCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsExchangeRecaptchaV3TokenCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsExchangeRecaptchaV3TokenCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1exchangerecaptchav3tokenrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+app}:exchangeRecaptchaV3Token") + 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{ + "app": c.appid, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.exchangeRecaptchaV3Token" call. +// Exactly one of *GoogleFirebaseAppcheckV1AppCheckToken or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *GoogleFirebaseAppcheckV1AppCheckToken.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 *ProjectsAppsExchangeRecaptchaV3TokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1AppCheckToken, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1AppCheckToken{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Validates a [reCAPTCHA v3 response token](https://developers.google.com/recaptcha/docs/v3). If valid, returns an AppCheckToken.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangeRecaptchaV3Token", + // "httpMethod": "POST", + // "id": "firebaseappcheck.projects.apps.exchangeRecaptchaV3Token", + // "parameterOrder": [ + // "app" + // ], + // "parameters": { + // "app": { + // "description": "Required. The relative resource name of the web app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+app}:exchangeRecaptchaV3Token", + // "request": { + // "$ref": "GoogleFirebaseAppcheckV1ExchangeRecaptchaV3TokenRequest" + // }, + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1AppCheckToken" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.exchangeSafetyNetToken": + +type ProjectsAppsExchangeSafetyNetTokenCall struct { + s *Service + appid string + googlefirebaseappcheckv1exchangesafetynettokenrequest *GoogleFirebaseAppcheckV1ExchangeSafetyNetTokenRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ExchangeSafetyNetToken: Validates a SafetyNet token +// (https://developer.android.com/training/safetynet/attestation#request-attestation-step). +// If valid, returns an AppCheckToken. +// +// - app: The relative resource name of the Android app, in the format: +// ``` projects/{project_number}/apps/{app_id} ``` If necessary, the +// `project_number` element can be replaced with the project ID of the +// Firebase project. Learn more about using project identifiers in +// Google's AIP 2510 (https://google.aip.dev/cloud/2510) standard. +func (r *ProjectsAppsService) ExchangeSafetyNetToken(appid string, googlefirebaseappcheckv1exchangesafetynettokenrequest *GoogleFirebaseAppcheckV1ExchangeSafetyNetTokenRequest) *ProjectsAppsExchangeSafetyNetTokenCall { + c := &ProjectsAppsExchangeSafetyNetTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appid = appid + c.googlefirebaseappcheckv1exchangesafetynettokenrequest = googlefirebaseappcheckv1exchangesafetynettokenrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsExchangeSafetyNetTokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeSafetyNetTokenCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsExchangeSafetyNetTokenCall) Context(ctx context.Context) *ProjectsAppsExchangeSafetyNetTokenCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsExchangeSafetyNetTokenCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsExchangeSafetyNetTokenCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1exchangesafetynettokenrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+app}:exchangeSafetyNetToken") + 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{ + "app": c.appid, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.exchangeSafetyNetToken" call. +// Exactly one of *GoogleFirebaseAppcheckV1AppCheckToken or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *GoogleFirebaseAppcheckV1AppCheckToken.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 *ProjectsAppsExchangeSafetyNetTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1AppCheckToken, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1AppCheckToken{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Validates a [SafetyNet token](https://developer.android.com/training/safetynet/attestation#request-attestation-step). If valid, returns an AppCheckToken.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}:exchangeSafetyNetToken", + // "httpMethod": "POST", + // "id": "firebaseappcheck.projects.apps.exchangeSafetyNetToken", + // "parameterOrder": [ + // "app" + // ], + // "parameters": { + // "app": { + // "description": "Required. The relative resource name of the Android app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+app}:exchangeSafetyNetToken", + // "request": { + // "$ref": "GoogleFirebaseAppcheckV1ExchangeSafetyNetTokenRequest" + // }, + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1AppCheckToken" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.generateAppAttestChallenge": + +type ProjectsAppsGenerateAppAttestChallengeCall struct { + s *Service + appid string + googlefirebaseappcheckv1generateappattestchallengerequest *GoogleFirebaseAppcheckV1GenerateAppAttestChallengeRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// GenerateAppAttestChallenge: Generates a challenge that protects the +// integrity of an immediately following call to +// ExchangeAppAttestAttestation or ExchangeAppAttestAssertion. A +// challenge should not be reused for multiple calls. +// +// - app: The relative resource name of the iOS app, in the format: ``` +// projects/{project_number}/apps/{app_id} ``` If necessary, the +// `project_number` element can be replaced with the project ID of the +// Firebase project. Learn more about using project identifiers in +// Google's AIP 2510 (https://google.aip.dev/cloud/2510) standard. +func (r *ProjectsAppsService) GenerateAppAttestChallenge(appid string, googlefirebaseappcheckv1generateappattestchallengerequest *GoogleFirebaseAppcheckV1GenerateAppAttestChallengeRequest) *ProjectsAppsGenerateAppAttestChallengeCall { + c := &ProjectsAppsGenerateAppAttestChallengeCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appid = appid + c.googlefirebaseappcheckv1generateappattestchallengerequest = googlefirebaseappcheckv1generateappattestchallengerequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsGenerateAppAttestChallengeCall) Fields(s ...googleapi.Field) *ProjectsAppsGenerateAppAttestChallengeCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsGenerateAppAttestChallengeCall) Context(ctx context.Context) *ProjectsAppsGenerateAppAttestChallengeCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsGenerateAppAttestChallengeCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsGenerateAppAttestChallengeCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1generateappattestchallengerequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+app}:generateAppAttestChallenge") + 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{ + "app": c.appid, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.generateAppAttestChallenge" call. +// Exactly one of +// *GoogleFirebaseAppcheckV1GenerateAppAttestChallengeResponse or error +// will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleFirebaseAppcheckV1GenerateAppAttestChallengeResponse.ServerResp +// onse.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 *ProjectsAppsGenerateAppAttestChallengeCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1GenerateAppAttestChallengeResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1GenerateAppAttestChallengeResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Generates a challenge that protects the integrity of an immediately following call to ExchangeAppAttestAttestation or ExchangeAppAttestAssertion. A challenge should not be reused for multiple calls.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}:generateAppAttestChallenge", + // "httpMethod": "POST", + // "id": "firebaseappcheck.projects.apps.generateAppAttestChallenge", + // "parameterOrder": [ + // "app" + // ], + // "parameters": { + // "app": { + // "description": "Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+app}:generateAppAttestChallenge", + // "request": { + // "$ref": "GoogleFirebaseAppcheckV1GenerateAppAttestChallengeRequest" + // }, + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1GenerateAppAttestChallengeResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.generatePlayIntegrityChallenge": + +type ProjectsAppsGeneratePlayIntegrityChallengeCall struct { + s *Service + appid string + googlefirebaseappcheckv1generateplayintegritychallengerequest *GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// GeneratePlayIntegrityChallenge: Generates a challenge that protects +// the integrity of an immediately following integrity verdict request +// to the Play Integrity API. The next call to +// ExchangePlayIntegrityToken using the resulting integrity token will +// verify the presence and validity of the challenge. A challenge should +// not be reused for multiple calls. +// +// - app: The relative resource name of the app, in the format: ``` +// projects/{project_number}/apps/{app_id} ``` If necessary, the +// `project_number` element can be replaced with the project ID of the +// Firebase project. Learn more about using project identifiers in +// Google's AIP 2510 (https://google.aip.dev/cloud/2510) standard. +func (r *ProjectsAppsService) GeneratePlayIntegrityChallenge(appid string, googlefirebaseappcheckv1generateplayintegritychallengerequest *GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeRequest) *ProjectsAppsGeneratePlayIntegrityChallengeCall { + c := &ProjectsAppsGeneratePlayIntegrityChallengeCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appid = appid + c.googlefirebaseappcheckv1generateplayintegritychallengerequest = googlefirebaseappcheckv1generateplayintegritychallengerequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsGeneratePlayIntegrityChallengeCall) Fields(s ...googleapi.Field) *ProjectsAppsGeneratePlayIntegrityChallengeCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsGeneratePlayIntegrityChallengeCall) Context(ctx context.Context) *ProjectsAppsGeneratePlayIntegrityChallengeCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsGeneratePlayIntegrityChallengeCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsGeneratePlayIntegrityChallengeCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1generateplayintegritychallengerequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+app}:generatePlayIntegrityChallenge") + 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{ + "app": c.appid, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.generatePlayIntegrityChallenge" call. +// Exactly one of +// *GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse or +// error will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse.Server +// Response.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 *ProjectsAppsGeneratePlayIntegrityChallengeCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Generates a challenge that protects the integrity of an immediately following integrity verdict request to the Play Integrity API. The next call to ExchangePlayIntegrityToken using the resulting integrity token will verify the presence and validity of the challenge. A challenge should not be reused for multiple calls.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}:generatePlayIntegrityChallenge", + // "httpMethod": "POST", + // "id": "firebaseappcheck.projects.apps.generatePlayIntegrityChallenge", + // "parameterOrder": [ + // "app" + // ], + // "parameters": { + // "app": { + // "description": "Required. The relative resource name of the app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+app}:generatePlayIntegrityChallenge", + // "request": { + // "$ref": "GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeRequest" + // }, + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1GeneratePlayIntegrityChallengeResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.appAttestConfig.batchGet": + +type ProjectsAppsAppAttestConfigBatchGetCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// BatchGet: Atomically gets the AppAttestConfigs for the specified list +// of apps. +// +// - parent: The parent project name shared by all AppAttestConfigs +// being retrieved, in the format ``` projects/{project_number} ``` +// The parent collection in the `name` field of any resource being +// retrieved must match this field, or the entire batch fails. +func (r *ProjectsAppsAppAttestConfigService) BatchGet(parent string) *ProjectsAppsAppAttestConfigBatchGetCall { + c := &ProjectsAppsAppAttestConfigBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// Names sets the optional parameter "names": Required. The relative +// resource names of the AppAttestConfigs to retrieve, in the format ``` +// projects/{project_number}/apps/{app_id}/appAttestConfig ``` A maximum +// of 100 objects can be retrieved in a batch. +func (c *ProjectsAppsAppAttestConfigBatchGetCall) Names(names ...string) *ProjectsAppsAppAttestConfigBatchGetCall { + c.urlParams_.SetMulti("names", append([]string{}, names...)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsAppAttestConfigBatchGetCall) Fields(s ...googleapi.Field) *ProjectsAppsAppAttestConfigBatchGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsAppsAppAttestConfigBatchGetCall) IfNoneMatch(entityTag string) *ProjectsAppsAppAttestConfigBatchGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsAppAttestConfigBatchGetCall) Context(ctx context.Context) *ProjectsAppsAppAttestConfigBatchGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsAppAttestConfigBatchGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsAppAttestConfigBatchGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/apps/-/appAttestConfig:batchGet") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.appAttestConfig.batchGet" call. +// Exactly one of +// *GoogleFirebaseAppcheckV1BatchGetAppAttestConfigsResponse or error +// will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleFirebaseAppcheckV1BatchGetAppAttestConfigsResponse.ServerRespon +// se.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 *ProjectsAppsAppAttestConfigBatchGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1BatchGetAppAttestConfigsResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1BatchGetAppAttestConfigsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Atomically gets the AppAttestConfigs for the specified list of apps.", + // "flatPath": "v1/projects/{projectsId}/apps/-/appAttestConfig:batchGet", + // "httpMethod": "GET", + // "id": "firebaseappcheck.projects.apps.appAttestConfig.batchGet", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "names": { + // "description": "Required. The relative resource names of the AppAttestConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/appAttestConfig ``` A maximum of 100 objects can be retrieved in a batch.", + // "location": "query", + // "repeated": true, + // "type": "string" + // }, + // "parent": { + // "description": "Required. The parent project name shared by all AppAttestConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", + // "location": "path", + // "pattern": "^projects/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/apps/-/appAttestConfig:batchGet", + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1BatchGetAppAttestConfigsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.appAttestConfig.get": + +type ProjectsAppsAppAttestConfigGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the AppAttestConfig for the specified app. +// +// - name: The relative resource name of the AppAttestConfig, in the +// format: ``` projects/{project_number}/apps/{app_id}/appAttestConfig +// ```. +func (r *ProjectsAppsAppAttestConfigService) Get(name string) *ProjectsAppsAppAttestConfigGetCall { + c := &ProjectsAppsAppAttestConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsAppAttestConfigGetCall) Fields(s ...googleapi.Field) *ProjectsAppsAppAttestConfigGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsAppsAppAttestConfigGetCall) IfNoneMatch(entityTag string) *ProjectsAppsAppAttestConfigGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsAppAttestConfigGetCall) Context(ctx context.Context) *ProjectsAppsAppAttestConfigGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsAppAttestConfigGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsAppAttestConfigGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.appAttestConfig.get" call. +// Exactly one of *GoogleFirebaseAppcheckV1AppAttestConfig or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *GoogleFirebaseAppcheckV1AppAttestConfig.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 *ProjectsAppsAppAttestConfigGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1AppAttestConfig, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1AppAttestConfig{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the AppAttestConfig for the specified app.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}/appAttestConfig", + // "httpMethod": "GET", + // "id": "firebaseappcheck.projects.apps.appAttestConfig.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The relative resource name of the AppAttestConfig, in the format: ``` projects/{project_number}/apps/{app_id}/appAttestConfig ```", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+/appAttestConfig$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1AppAttestConfig" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.appAttestConfig.patch": + +type ProjectsAppsAppAttestConfigPatchCall struct { + s *Service + name string + googlefirebaseappcheckv1appattestconfig *GoogleFirebaseAppcheckV1AppAttestConfig + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates the AppAttestConfig for the specified app. While this +// configuration is incomplete or invalid, the app will be unable to +// exchange AppAttest tokens for App Check tokens. +// +// - name: The relative resource name of the App Attest configuration +// object, in the format: ``` +// projects/{project_number}/apps/{app_id}/appAttestConfig ```. +func (r *ProjectsAppsAppAttestConfigService) Patch(name string, googlefirebaseappcheckv1appattestconfig *GoogleFirebaseAppcheckV1AppAttestConfig) *ProjectsAppsAppAttestConfigPatchCall { + c := &ProjectsAppsAppAttestConfigPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.googlefirebaseappcheckv1appattestconfig = googlefirebaseappcheckv1appattestconfig + return c +} + +// UpdateMask sets the optional parameter "updateMask": Required. A +// comma-separated list of names of fields in the AppAttestConfig Gets +// to update. Example: `token_ttl`. +func (c *ProjectsAppsAppAttestConfigPatchCall) UpdateMask(updateMask string) *ProjectsAppsAppAttestConfigPatchCall { + 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 information. +func (c *ProjectsAppsAppAttestConfigPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsAppAttestConfigPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsAppAttestConfigPatchCall) Context(ctx context.Context) *ProjectsAppsAppAttestConfigPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsAppAttestConfigPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsAppAttestConfigPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1appattestconfig) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("PATCH", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.appAttestConfig.patch" call. +// Exactly one of *GoogleFirebaseAppcheckV1AppAttestConfig or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *GoogleFirebaseAppcheckV1AppAttestConfig.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 *ProjectsAppsAppAttestConfigPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1AppAttestConfig, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1AppAttestConfig{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates the AppAttestConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange AppAttest tokens for App Check tokens.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}/appAttestConfig", + // "httpMethod": "PATCH", + // "id": "firebaseappcheck.projects.apps.appAttestConfig.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The relative resource name of the App Attest configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/appAttestConfig ```", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+/appAttestConfig$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Required. A comma-separated list of names of fields in the AppAttestConfig Gets to update. Example: `token_ttl`.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "request": { + // "$ref": "GoogleFirebaseAppcheckV1AppAttestConfig" + // }, + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1AppAttestConfig" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.debugTokens.create": + +type ProjectsAppsDebugTokensCreateCall struct { + s *Service + parent string + googlefirebaseappcheckv1debugtoken *GoogleFirebaseAppcheckV1DebugToken + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a new DebugToken for the specified app. For security +// reasons, after the creation operation completes, the `token` field +// cannot be updated or retrieved, but you can revoke the debug token +// using DeleteDebugToken. Each app can have a maximum of 20 debug +// tokens. +// +// - parent: The relative resource name of the parent app in which the +// specified DebugToken will be created, in the format: ``` +// projects/{project_number}/apps/{app_id} ```. +func (r *ProjectsAppsDebugTokensService) Create(parent string, googlefirebaseappcheckv1debugtoken *GoogleFirebaseAppcheckV1DebugToken) *ProjectsAppsDebugTokensCreateCall { + c := &ProjectsAppsDebugTokensCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.googlefirebaseappcheckv1debugtoken = googlefirebaseappcheckv1debugtoken + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsDebugTokensCreateCall) Fields(s ...googleapi.Field) *ProjectsAppsDebugTokensCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsDebugTokensCreateCall) Context(ctx context.Context) *ProjectsAppsDebugTokensCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsDebugTokensCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsDebugTokensCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1debugtoken) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/debugTokens") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.debugTokens.create" call. +// Exactly one of *GoogleFirebaseAppcheckV1DebugToken or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *GoogleFirebaseAppcheckV1DebugToken.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 *ProjectsAppsDebugTokensCreateCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1DebugToken, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1DebugToken{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a new DebugToken for the specified app. For security reasons, after the creation operation completes, the `token` field cannot be updated or retrieved, but you can revoke the debug token using DeleteDebugToken. Each app can have a maximum of 20 debug tokens.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}/debugTokens", + // "httpMethod": "POST", + // "id": "firebaseappcheck.projects.apps.debugTokens.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "Required. The relative resource name of the parent app in which the specified DebugToken will be created, in the format: ``` projects/{project_number}/apps/{app_id} ```", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/debugTokens", + // "request": { + // "$ref": "GoogleFirebaseAppcheckV1DebugToken" + // }, + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1DebugToken" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.debugTokens.delete": + +type ProjectsAppsDebugTokensDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes the specified DebugToken. A deleted debug token +// cannot be used to exchange for an App Check token. Use this method +// when you suspect the secret `token` has been compromised or when you +// no longer need the debug token. +// +// - name: The relative resource name of the DebugToken to delete, in +// the format: ``` +// projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} +// ```. +func (r *ProjectsAppsDebugTokensService) Delete(name string) *ProjectsAppsDebugTokensDeleteCall { + c := &ProjectsAppsDebugTokensDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsDebugTokensDeleteCall) Fields(s ...googleapi.Field) *ProjectsAppsDebugTokensDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsDebugTokensDeleteCall) Context(ctx context.Context) *ProjectsAppsDebugTokensDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsDebugTokensDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsDebugTokensDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("DELETE", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.debugTokens.delete" call. +// Exactly one of *GoogleProtobufEmpty or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *GoogleProtobufEmpty.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 *ProjectsAppsDebugTokensDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleProtobufEmpty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes the specified DebugToken. A deleted debug token cannot be used to exchange for an App Check token. Use this method when you suspect the secret `token` has been compromised or when you no longer need the debug token.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}/debugTokens/{debugTokensId}", + // "httpMethod": "DELETE", + // "id": "firebaseappcheck.projects.apps.debugTokens.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The relative resource name of the DebugToken to delete, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+/debugTokens/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "GoogleProtobufEmpty" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.debugTokens.get": + +type ProjectsAppsDebugTokensGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the specified DebugToken. For security reasons, the `token` +// field is never populated in the response. +// +// - name: The relative resource name of the debug token, in the format: +// ``` +// projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} +// ```. +func (r *ProjectsAppsDebugTokensService) Get(name string) *ProjectsAppsDebugTokensGetCall { + c := &ProjectsAppsDebugTokensGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsDebugTokensGetCall) Fields(s ...googleapi.Field) *ProjectsAppsDebugTokensGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsAppsDebugTokensGetCall) IfNoneMatch(entityTag string) *ProjectsAppsDebugTokensGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsDebugTokensGetCall) Context(ctx context.Context) *ProjectsAppsDebugTokensGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsDebugTokensGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsDebugTokensGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.debugTokens.get" call. +// Exactly one of *GoogleFirebaseAppcheckV1DebugToken or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *GoogleFirebaseAppcheckV1DebugToken.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 *ProjectsAppsDebugTokensGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1DebugToken, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1DebugToken{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the specified DebugToken. For security reasons, the `token` field is never populated in the response.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}/debugTokens/{debugTokensId}", + // "httpMethod": "GET", + // "id": "firebaseappcheck.projects.apps.debugTokens.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The relative resource name of the debug token, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+/debugTokens/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1DebugToken" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.debugTokens.list": + +type ProjectsAppsDebugTokensListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists all DebugTokens for the specified app. For security +// reasons, the `token` field is never populated in the response. +// +// - parent: The relative resource name of the parent app for which to +// list each associated DebugToken, in the format: ``` +// projects/{project_number}/apps/{app_id} ```. +func (r *ProjectsAppsDebugTokensService) List(parent string) *ProjectsAppsDebugTokensListCall { + c := &ProjectsAppsDebugTokensListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": The maximum number +// of DebugTokens to return in the response. Note that an app can have +// at most 20 debug tokens. The server may return fewer than this at its +// own discretion. If no value is specified (or too large a value is +// specified), the server will impose its own limit. +func (c *ProjectsAppsDebugTokensListCall) PageSize(pageSize int64) *ProjectsAppsDebugTokensListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": Token returned +// from a previous call to ListDebugTokens indicating where in the set +// of DebugTokens to resume listing. Provide this to retrieve the +// subsequent page. When paginating, all other parameters provided to +// ListDebugTokens must match the call that provided the page token; if +// they do not match, the result is undefined. +func (c *ProjectsAppsDebugTokensListCall) PageToken(pageToken string) *ProjectsAppsDebugTokensListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsDebugTokensListCall) Fields(s ...googleapi.Field) *ProjectsAppsDebugTokensListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsAppsDebugTokensListCall) IfNoneMatch(entityTag string) *ProjectsAppsDebugTokensListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsDebugTokensListCall) Context(ctx context.Context) *ProjectsAppsDebugTokensListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsDebugTokensListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsDebugTokensListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/debugTokens") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.debugTokens.list" call. +// Exactly one of *GoogleFirebaseAppcheckV1ListDebugTokensResponse or +// error will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleFirebaseAppcheckV1ListDebugTokensResponse.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 *ProjectsAppsDebugTokensListCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1ListDebugTokensResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1ListDebugTokensResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists all DebugTokens for the specified app. For security reasons, the `token` field is never populated in the response.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}/debugTokens", + // "httpMethod": "GET", + // "id": "firebaseappcheck.projects.apps.debugTokens.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "pageSize": { + // "description": "The maximum number of DebugTokens to return in the response. Note that an app can have at most 20 debug tokens. The server may return fewer than this at its own discretion. If no value is specified (or too large a value is specified), the server will impose its own limit.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Token returned from a previous call to ListDebugTokens indicating where in the set of DebugTokens to resume listing. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListDebugTokens must match the call that provided the page token; if they do not match, the result is undefined.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required. The relative resource name of the parent app for which to list each associated DebugToken, in the format: ``` projects/{project_number}/apps/{app_id} ```", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/debugTokens", + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1ListDebugTokensResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// 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 *ProjectsAppsDebugTokensListCall) Pages(ctx context.Context, f func(*GoogleFirebaseAppcheckV1ListDebugTokensResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + +// method id "firebaseappcheck.projects.apps.debugTokens.patch": + +type ProjectsAppsDebugTokensPatchCall struct { + s *Service + name string + googlefirebaseappcheckv1debugtoken *GoogleFirebaseAppcheckV1DebugToken + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates the specified DebugToken. For security reasons, the +// `token` field cannot be updated, nor will it be populated in the +// response, but you can revoke the debug token using DeleteDebugToken. +// +// - name: The relative resource name of the debug token, in the format: +// ``` +// projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} +// ```. +func (r *ProjectsAppsDebugTokensService) Patch(name string, googlefirebaseappcheckv1debugtoken *GoogleFirebaseAppcheckV1DebugToken) *ProjectsAppsDebugTokensPatchCall { + c := &ProjectsAppsDebugTokensPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.googlefirebaseappcheckv1debugtoken = googlefirebaseappcheckv1debugtoken + return c +} + +// UpdateMask sets the optional parameter "updateMask": Required. A +// comma-separated list of names of fields in the DebugToken to update. +// Example: `display_name`. +func (c *ProjectsAppsDebugTokensPatchCall) UpdateMask(updateMask string) *ProjectsAppsDebugTokensPatchCall { + 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 information. +func (c *ProjectsAppsDebugTokensPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsDebugTokensPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsDebugTokensPatchCall) Context(ctx context.Context) *ProjectsAppsDebugTokensPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsDebugTokensPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsDebugTokensPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1debugtoken) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("PATCH", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.debugTokens.patch" call. +// Exactly one of *GoogleFirebaseAppcheckV1DebugToken or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *GoogleFirebaseAppcheckV1DebugToken.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 *ProjectsAppsDebugTokensPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1DebugToken, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1DebugToken{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates the specified DebugToken. For security reasons, the `token` field cannot be updated, nor will it be populated in the response, but you can revoke the debug token using DeleteDebugToken.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}/debugTokens/{debugTokensId}", + // "httpMethod": "PATCH", + // "id": "firebaseappcheck.projects.apps.debugTokens.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The relative resource name of the debug token, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+/debugTokens/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Required. A comma-separated list of names of fields in the DebugToken to update. Example: `display_name`.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "request": { + // "$ref": "GoogleFirebaseAppcheckV1DebugToken" + // }, + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1DebugToken" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.deviceCheckConfig.batchGet": + +type ProjectsAppsDeviceCheckConfigBatchGetCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// BatchGet: Atomically gets the DeviceCheckConfigs for the specified +// list of apps. For security reasons, the `private_key` field is never +// populated in the response. +// +// - parent: The parent project name shared by all DeviceCheckConfigs +// being retrieved, in the format ``` projects/{project_number} ``` +// The parent collection in the `name` field of any resource being +// retrieved must match this field, or the entire batch fails. +func (r *ProjectsAppsDeviceCheckConfigService) BatchGet(parent string) *ProjectsAppsDeviceCheckConfigBatchGetCall { + c := &ProjectsAppsDeviceCheckConfigBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// Names sets the optional parameter "names": Required. The relative +// resource names of the DeviceCheckConfigs to retrieve, in the format +// ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ``` A +// maximum of 100 objects can be retrieved in a batch. +func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Names(names ...string) *ProjectsAppsDeviceCheckConfigBatchGetCall { + c.urlParams_.SetMulti("names", append([]string{}, names...)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Fields(s ...googleapi.Field) *ProjectsAppsDeviceCheckConfigBatchGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) IfNoneMatch(entityTag string) *ProjectsAppsDeviceCheckConfigBatchGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Context(ctx context.Context) *ProjectsAppsDeviceCheckConfigBatchGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/apps/-/deviceCheckConfig:batchGet") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.deviceCheckConfig.batchGet" call. +// Exactly one of +// *GoogleFirebaseAppcheckV1BatchGetDeviceCheckConfigsResponse or error +// will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleFirebaseAppcheckV1BatchGetDeviceCheckConfigsResponse.ServerResp +// onse.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 *ProjectsAppsDeviceCheckConfigBatchGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1BatchGetDeviceCheckConfigsResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1BatchGetDeviceCheckConfigsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Atomically gets the DeviceCheckConfigs for the specified list of apps. For security reasons, the `private_key` field is never populated in the response.", + // "flatPath": "v1/projects/{projectsId}/apps/-/deviceCheckConfig:batchGet", + // "httpMethod": "GET", + // "id": "firebaseappcheck.projects.apps.deviceCheckConfig.batchGet", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "names": { + // "description": "Required. The relative resource names of the DeviceCheckConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ``` A maximum of 100 objects can be retrieved in a batch.", + // "location": "query", + // "repeated": true, + // "type": "string" + // }, + // "parent": { + // "description": "Required. The parent project name shared by all DeviceCheckConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", + // "location": "path", + // "pattern": "^projects/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/apps/-/deviceCheckConfig:batchGet", + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1BatchGetDeviceCheckConfigsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.deviceCheckConfig.get": + +type ProjectsAppsDeviceCheckConfigGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the DeviceCheckConfig for the specified app. For security +// reasons, the `private_key` field is never populated in the response. +// +// - name: The relative resource name of the DeviceCheckConfig, in the +// format: ``` +// projects/{project_number}/apps/{app_id}/deviceCheckConfig ```. +func (r *ProjectsAppsDeviceCheckConfigService) Get(name string) *ProjectsAppsDeviceCheckConfigGetCall { + c := &ProjectsAppsDeviceCheckConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsDeviceCheckConfigGetCall) Fields(s ...googleapi.Field) *ProjectsAppsDeviceCheckConfigGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsAppsDeviceCheckConfigGetCall) IfNoneMatch(entityTag string) *ProjectsAppsDeviceCheckConfigGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsDeviceCheckConfigGetCall) Context(ctx context.Context) *ProjectsAppsDeviceCheckConfigGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsDeviceCheckConfigGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsDeviceCheckConfigGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.deviceCheckConfig.get" call. +// Exactly one of *GoogleFirebaseAppcheckV1DeviceCheckConfig or error +// will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleFirebaseAppcheckV1DeviceCheckConfig.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 *ProjectsAppsDeviceCheckConfigGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1DeviceCheckConfig, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1DeviceCheckConfig{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the DeviceCheckConfig for the specified app. For security reasons, the `private_key` field is never populated in the response.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}/deviceCheckConfig", + // "httpMethod": "GET", + // "id": "firebaseappcheck.projects.apps.deviceCheckConfig.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The relative resource name of the DeviceCheckConfig, in the format: ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ```", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+/deviceCheckConfig$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1DeviceCheckConfig" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.deviceCheckConfig.patch": + +type ProjectsAppsDeviceCheckConfigPatchCall struct { + s *Service + name string + googlefirebaseappcheckv1devicecheckconfig *GoogleFirebaseAppcheckV1DeviceCheckConfig + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates the DeviceCheckConfig for the specified app. While +// this configuration is incomplete or invalid, the app will be unable +// to exchange DeviceCheck tokens for App Check tokens. For security +// reasons, the `private_key` field is never populated in the response. +// +// - name: The relative resource name of the DeviceCheck configuration +// object, in the format: ``` +// projects/{project_number}/apps/{app_id}/deviceCheckConfig ```. +func (r *ProjectsAppsDeviceCheckConfigService) Patch(name string, googlefirebaseappcheckv1devicecheckconfig *GoogleFirebaseAppcheckV1DeviceCheckConfig) *ProjectsAppsDeviceCheckConfigPatchCall { + c := &ProjectsAppsDeviceCheckConfigPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.googlefirebaseappcheckv1devicecheckconfig = googlefirebaseappcheckv1devicecheckconfig + return c +} + +// UpdateMask sets the optional parameter "updateMask": Required. A +// comma-separated list of names of fields in the DeviceCheckConfig Gets +// to update. Example: `key_id,private_key`. +func (c *ProjectsAppsDeviceCheckConfigPatchCall) UpdateMask(updateMask string) *ProjectsAppsDeviceCheckConfigPatchCall { + 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 information. +func (c *ProjectsAppsDeviceCheckConfigPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsDeviceCheckConfigPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsDeviceCheckConfigPatchCall) Context(ctx context.Context) *ProjectsAppsDeviceCheckConfigPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsDeviceCheckConfigPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsDeviceCheckConfigPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1devicecheckconfig) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("PATCH", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.deviceCheckConfig.patch" call. +// Exactly one of *GoogleFirebaseAppcheckV1DeviceCheckConfig or error +// will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleFirebaseAppcheckV1DeviceCheckConfig.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 *ProjectsAppsDeviceCheckConfigPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1DeviceCheckConfig, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1DeviceCheckConfig{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates the DeviceCheckConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange DeviceCheck tokens for App Check tokens. For security reasons, the `private_key` field is never populated in the response.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}/deviceCheckConfig", + // "httpMethod": "PATCH", + // "id": "firebaseappcheck.projects.apps.deviceCheckConfig.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The relative resource name of the DeviceCheck configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ```", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+/deviceCheckConfig$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Required. A comma-separated list of names of fields in the DeviceCheckConfig Gets to update. Example: `key_id,private_key`.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "request": { + // "$ref": "GoogleFirebaseAppcheckV1DeviceCheckConfig" + // }, + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1DeviceCheckConfig" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.playIntegrityConfig.batchGet": + +type ProjectsAppsPlayIntegrityConfigBatchGetCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// BatchGet: Atomically gets the PlayIntegrityConfigs for the specified +// list of apps. +// +// - parent: The parent project name shared by all PlayIntegrityConfigs +// being retrieved, in the format ``` projects/{project_number} ``` +// The parent collection in the `name` field of any resource being +// retrieved must match this field, or the entire batch fails. +func (r *ProjectsAppsPlayIntegrityConfigService) BatchGet(parent string) *ProjectsAppsPlayIntegrityConfigBatchGetCall { + c := &ProjectsAppsPlayIntegrityConfigBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// Names sets the optional parameter "names": Required. The relative +// resource names of the PlayIntegrityConfigs to retrieve, in the format +// ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig ``` A +// maximum of 100 objects can be retrieved in a batch. +func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) Names(names ...string) *ProjectsAppsPlayIntegrityConfigBatchGetCall { + c.urlParams_.SetMulti("names", append([]string{}, names...)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) Fields(s ...googleapi.Field) *ProjectsAppsPlayIntegrityConfigBatchGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) IfNoneMatch(entityTag string) *ProjectsAppsPlayIntegrityConfigBatchGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) Context(ctx context.Context) *ProjectsAppsPlayIntegrityConfigBatchGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/apps/-/playIntegrityConfig:batchGet") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.playIntegrityConfig.batchGet" call. +// Exactly one of +// *GoogleFirebaseAppcheckV1BatchGetPlayIntegrityConfigsResponse or +// error will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleFirebaseAppcheckV1BatchGetPlayIntegrityConfigsResponse.ServerRe +// sponse.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 *ProjectsAppsPlayIntegrityConfigBatchGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1BatchGetPlayIntegrityConfigsResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1BatchGetPlayIntegrityConfigsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Atomically gets the PlayIntegrityConfigs for the specified list of apps.", + // "flatPath": "v1/projects/{projectsId}/apps/-/playIntegrityConfig:batchGet", + // "httpMethod": "GET", + // "id": "firebaseappcheck.projects.apps.playIntegrityConfig.batchGet", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "names": { + // "description": "Required. The relative resource names of the PlayIntegrityConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig ``` A maximum of 100 objects can be retrieved in a batch.", + // "location": "query", + // "repeated": true, + // "type": "string" + // }, + // "parent": { + // "description": "Required. The parent project name shared by all PlayIntegrityConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", + // "location": "path", + // "pattern": "^projects/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/apps/-/playIntegrityConfig:batchGet", + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1BatchGetPlayIntegrityConfigsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.playIntegrityConfig.get": + +type ProjectsAppsPlayIntegrityConfigGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the PlayIntegrityConfig for the specified app. +// +// - name: The relative resource name of the PlayIntegrityConfig, in the +// format: ``` +// projects/{project_number}/apps/{app_id}/playIntegrityConfig ```. +func (r *ProjectsAppsPlayIntegrityConfigService) Get(name string) *ProjectsAppsPlayIntegrityConfigGetCall { + c := &ProjectsAppsPlayIntegrityConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsPlayIntegrityConfigGetCall) Fields(s ...googleapi.Field) *ProjectsAppsPlayIntegrityConfigGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsAppsPlayIntegrityConfigGetCall) IfNoneMatch(entityTag string) *ProjectsAppsPlayIntegrityConfigGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsPlayIntegrityConfigGetCall) Context(ctx context.Context) *ProjectsAppsPlayIntegrityConfigGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsPlayIntegrityConfigGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsPlayIntegrityConfigGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.playIntegrityConfig.get" call. +// Exactly one of *GoogleFirebaseAppcheckV1PlayIntegrityConfig or error +// will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleFirebaseAppcheckV1PlayIntegrityConfig.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 *ProjectsAppsPlayIntegrityConfigGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1PlayIntegrityConfig, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1PlayIntegrityConfig{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the PlayIntegrityConfig for the specified app.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}/playIntegrityConfig", + // "httpMethod": "GET", + // "id": "firebaseappcheck.projects.apps.playIntegrityConfig.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The relative resource name of the PlayIntegrityConfig, in the format: ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig ```", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+/playIntegrityConfig$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1PlayIntegrityConfig" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.playIntegrityConfig.patch": + +type ProjectsAppsPlayIntegrityConfigPatchCall struct { + s *Service + name string + googlefirebaseappcheckv1playintegrityconfig *GoogleFirebaseAppcheckV1PlayIntegrityConfig + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates the PlayIntegrityConfig for the specified app. While +// this configuration is incomplete or invalid, the app will be unable +// to exchange Play Integrity tokens for App Check tokens. +// +// - name: The relative resource name of the Play Integrity +// configuration object, in the format: ``` +// projects/{project_number}/apps/{app_id}/playIntegrityConfig ```. +func (r *ProjectsAppsPlayIntegrityConfigService) Patch(name string, googlefirebaseappcheckv1playintegrityconfig *GoogleFirebaseAppcheckV1PlayIntegrityConfig) *ProjectsAppsPlayIntegrityConfigPatchCall { + c := &ProjectsAppsPlayIntegrityConfigPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.googlefirebaseappcheckv1playintegrityconfig = googlefirebaseappcheckv1playintegrityconfig + return c +} + +// UpdateMask sets the optional parameter "updateMask": Required. A +// comma-separated list of names of fields in the PlayIntegrityConfig +// Gets to update. Example: `token_ttl`. +func (c *ProjectsAppsPlayIntegrityConfigPatchCall) UpdateMask(updateMask string) *ProjectsAppsPlayIntegrityConfigPatchCall { + 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 information. +func (c *ProjectsAppsPlayIntegrityConfigPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsPlayIntegrityConfigPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsPlayIntegrityConfigPatchCall) Context(ctx context.Context) *ProjectsAppsPlayIntegrityConfigPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsPlayIntegrityConfigPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsPlayIntegrityConfigPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1playintegrityconfig) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("PATCH", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.playIntegrityConfig.patch" call. +// Exactly one of *GoogleFirebaseAppcheckV1PlayIntegrityConfig or error +// will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleFirebaseAppcheckV1PlayIntegrityConfig.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 *ProjectsAppsPlayIntegrityConfigPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1PlayIntegrityConfig, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1PlayIntegrityConfig{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates the PlayIntegrityConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange Play Integrity tokens for App Check tokens.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}/playIntegrityConfig", + // "httpMethod": "PATCH", + // "id": "firebaseappcheck.projects.apps.playIntegrityConfig.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The relative resource name of the Play Integrity configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig ```", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+/playIntegrityConfig$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Required. A comma-separated list of names of fields in the PlayIntegrityConfig Gets to update. Example: `token_ttl`.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "request": { + // "$ref": "GoogleFirebaseAppcheckV1PlayIntegrityConfig" + // }, + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1PlayIntegrityConfig" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.batchGet": + +type ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// BatchGet: Atomically gets the RecaptchaEnterpriseConfigs for the +// specified list of apps. +// +// - parent: The parent project name shared by all +// RecaptchaEnterpriseConfigs being retrieved, in the format ``` +// projects/{project_number} ``` The parent collection in the `name` +// field of any resource being retrieved must match this field, or the +// entire batch fails. +func (r *ProjectsAppsRecaptchaEnterpriseConfigService) BatchGet(parent string) *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall { + c := &ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// Names sets the optional parameter "names": Required. The relative +// resource names of the RecaptchaEnterpriseConfigs to retrieve, in the +// format: ``` +// projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ``` +// A maximum of 100 objects can be retrieved in a batch. +func (c *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall) Names(names ...string) *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall { + c.urlParams_.SetMulti("names", append([]string{}, names...)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall) Fields(s ...googleapi.Field) *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall) IfNoneMatch(entityTag string) *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall) Context(ctx context.Context) *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/apps/-/recaptchaEnterpriseConfig:batchGet") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.batchGet" call. +// Exactly one of +// *GoogleFirebaseAppcheckV1BatchGetRecaptchaEnterpriseConfigsResponse +// or error will be non-nil. Any non-2xx status code is an error. +// Response headers are in either +// *GoogleFirebaseAppcheckV1BatchGetRecaptchaEnterpriseConfigsResponse.Se +// rverResponse.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 *ProjectsAppsRecaptchaEnterpriseConfigBatchGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1BatchGetRecaptchaEnterpriseConfigsResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1BatchGetRecaptchaEnterpriseConfigsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Atomically gets the RecaptchaEnterpriseConfigs for the specified list of apps.", + // "flatPath": "v1/projects/{projectsId}/apps/-/recaptchaEnterpriseConfig:batchGet", + // "httpMethod": "GET", + // "id": "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.batchGet", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "names": { + // "description": "Required. The relative resource names of the RecaptchaEnterpriseConfigs to retrieve, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ``` A maximum of 100 objects can be retrieved in a batch.", + // "location": "query", + // "repeated": true, + // "type": "string" + // }, + // "parent": { + // "description": "Required. The parent project name shared by all RecaptchaEnterpriseConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", + // "location": "path", + // "pattern": "^projects/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/apps/-/recaptchaEnterpriseConfig:batchGet", + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1BatchGetRecaptchaEnterpriseConfigsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.get": + +type ProjectsAppsRecaptchaEnterpriseConfigGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the RecaptchaEnterpriseConfig for the specified app. +// +// - name: The relative resource name of the RecaptchaEnterpriseConfig, +// in the format: ``` +// projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig +// ```. +func (r *ProjectsAppsRecaptchaEnterpriseConfigService) Get(name string) *ProjectsAppsRecaptchaEnterpriseConfigGetCall { + c := &ProjectsAppsRecaptchaEnterpriseConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsRecaptchaEnterpriseConfigGetCall) Fields(s ...googleapi.Field) *ProjectsAppsRecaptchaEnterpriseConfigGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsAppsRecaptchaEnterpriseConfigGetCall) IfNoneMatch(entityTag string) *ProjectsAppsRecaptchaEnterpriseConfigGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsRecaptchaEnterpriseConfigGetCall) Context(ctx context.Context) *ProjectsAppsRecaptchaEnterpriseConfigGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsRecaptchaEnterpriseConfigGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsRecaptchaEnterpriseConfigGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.get" call. +// Exactly one of *GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig or +// error will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig.ServerResponse.Head +// er 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 *ProjectsAppsRecaptchaEnterpriseConfigGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the RecaptchaEnterpriseConfig for the specified app.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}/recaptchaEnterpriseConfig", + // "httpMethod": "GET", + // "id": "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The relative resource name of the RecaptchaEnterpriseConfig, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ```", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+/recaptchaEnterpriseConfig$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.patch": + +type ProjectsAppsRecaptchaEnterpriseConfigPatchCall struct { + s *Service + name string + googlefirebaseappcheckv1recaptchaenterpriseconfig *GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates the RecaptchaEnterpriseConfig for the specified app. +// While this configuration is incomplete or invalid, the app will be +// unable to exchange reCAPTCHA Enterprise tokens for App Check tokens. +// +// - name: The relative resource name of the reCAPTCHA Enterprise +// configuration object, in the format: ``` +// projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig +// ```. +func (r *ProjectsAppsRecaptchaEnterpriseConfigService) Patch(name string, googlefirebaseappcheckv1recaptchaenterpriseconfig *GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig) *ProjectsAppsRecaptchaEnterpriseConfigPatchCall { + c := &ProjectsAppsRecaptchaEnterpriseConfigPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.googlefirebaseappcheckv1recaptchaenterpriseconfig = googlefirebaseappcheckv1recaptchaenterpriseconfig + return c +} + +// UpdateMask sets the optional parameter "updateMask": Required. A +// comma-separated list of names of fields in the +// RecaptchaEnterpriseConfig to update. Example: `site_key`. +func (c *ProjectsAppsRecaptchaEnterpriseConfigPatchCall) UpdateMask(updateMask string) *ProjectsAppsRecaptchaEnterpriseConfigPatchCall { + 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 information. +func (c *ProjectsAppsRecaptchaEnterpriseConfigPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsRecaptchaEnterpriseConfigPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsRecaptchaEnterpriseConfigPatchCall) Context(ctx context.Context) *ProjectsAppsRecaptchaEnterpriseConfigPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsRecaptchaEnterpriseConfigPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsRecaptchaEnterpriseConfigPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1recaptchaenterpriseconfig) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("PATCH", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.patch" call. +// Exactly one of *GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig or +// error will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig.ServerResponse.Head +// er 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 *ProjectsAppsRecaptchaEnterpriseConfigPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates the RecaptchaEnterpriseConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange reCAPTCHA Enterprise tokens for App Check tokens.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}/recaptchaEnterpriseConfig", + // "httpMethod": "PATCH", + // "id": "firebaseappcheck.projects.apps.recaptchaEnterpriseConfig.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The relative resource name of the reCAPTCHA Enterprise configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaEnterpriseConfig ```", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+/recaptchaEnterpriseConfig$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Required. A comma-separated list of names of fields in the RecaptchaEnterpriseConfig to update. Example: `site_key`.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "request": { + // "$ref": "GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig" + // }, + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1RecaptchaEnterpriseConfig" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.recaptchaV3Config.batchGet": + +type ProjectsAppsRecaptchaV3ConfigBatchGetCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// BatchGet: Atomically gets the RecaptchaV3Configs for the specified +// list of apps. For security reasons, the `site_secret` field is never +// populated in the response. +// +// - parent: The parent project name shared by all RecaptchaV3Configs +// being retrieved, in the format ``` projects/{project_number} ``` +// The parent collection in the `name` field of any resource being +// retrieved must match this field, or the entire batch fails. +func (r *ProjectsAppsRecaptchaV3ConfigService) BatchGet(parent string) *ProjectsAppsRecaptchaV3ConfigBatchGetCall { + c := &ProjectsAppsRecaptchaV3ConfigBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// Names sets the optional parameter "names": Required. The relative +// resource names of the RecaptchaV3Configs to retrieve, in the format: +// ``` projects/{project_number}/apps/{app_id}/recaptchaV3Config ``` A +// maximum of 100 objects can be retrieved in a batch. +func (c *ProjectsAppsRecaptchaV3ConfigBatchGetCall) Names(names ...string) *ProjectsAppsRecaptchaV3ConfigBatchGetCall { + c.urlParams_.SetMulti("names", append([]string{}, names...)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsRecaptchaV3ConfigBatchGetCall) Fields(s ...googleapi.Field) *ProjectsAppsRecaptchaV3ConfigBatchGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsAppsRecaptchaV3ConfigBatchGetCall) IfNoneMatch(entityTag string) *ProjectsAppsRecaptchaV3ConfigBatchGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsRecaptchaV3ConfigBatchGetCall) Context(ctx context.Context) *ProjectsAppsRecaptchaV3ConfigBatchGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsRecaptchaV3ConfigBatchGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsRecaptchaV3ConfigBatchGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/apps/-/recaptchaV3Config:batchGet") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.recaptchaV3Config.batchGet" call. +// Exactly one of +// *GoogleFirebaseAppcheckV1BatchGetRecaptchaV3ConfigsResponse or error +// will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleFirebaseAppcheckV1BatchGetRecaptchaV3ConfigsResponse.ServerResp +// onse.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 *ProjectsAppsRecaptchaV3ConfigBatchGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1BatchGetRecaptchaV3ConfigsResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1BatchGetRecaptchaV3ConfigsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Atomically gets the RecaptchaV3Configs for the specified list of apps. For security reasons, the `site_secret` field is never populated in the response.", + // "flatPath": "v1/projects/{projectsId}/apps/-/recaptchaV3Config:batchGet", + // "httpMethod": "GET", + // "id": "firebaseappcheck.projects.apps.recaptchaV3Config.batchGet", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "names": { + // "description": "Required. The relative resource names of the RecaptchaV3Configs to retrieve, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaV3Config ``` A maximum of 100 objects can be retrieved in a batch.", + // "location": "query", + // "repeated": true, + // "type": "string" + // }, + // "parent": { + // "description": "Required. The parent project name shared by all RecaptchaV3Configs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", + // "location": "path", + // "pattern": "^projects/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/apps/-/recaptchaV3Config:batchGet", + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1BatchGetRecaptchaV3ConfigsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.recaptchaV3Config.get": + +type ProjectsAppsRecaptchaV3ConfigGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the RecaptchaV3Config for the specified app. For security +// reasons, the `site_secret` field is never populated in the response. +// +// - name: The relative resource name of the RecaptchaV3Config, in the +// format: ``` +// projects/{project_number}/apps/{app_id}/recaptchaV3Config ```. +func (r *ProjectsAppsRecaptchaV3ConfigService) Get(name string) *ProjectsAppsRecaptchaV3ConfigGetCall { + c := &ProjectsAppsRecaptchaV3ConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsRecaptchaV3ConfigGetCall) Fields(s ...googleapi.Field) *ProjectsAppsRecaptchaV3ConfigGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsAppsRecaptchaV3ConfigGetCall) IfNoneMatch(entityTag string) *ProjectsAppsRecaptchaV3ConfigGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsRecaptchaV3ConfigGetCall) Context(ctx context.Context) *ProjectsAppsRecaptchaV3ConfigGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsRecaptchaV3ConfigGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsRecaptchaV3ConfigGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.recaptchaV3Config.get" call. +// Exactly one of *GoogleFirebaseAppcheckV1RecaptchaV3Config or error +// will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleFirebaseAppcheckV1RecaptchaV3Config.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 *ProjectsAppsRecaptchaV3ConfigGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1RecaptchaV3Config, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1RecaptchaV3Config{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the RecaptchaV3Config for the specified app. For security reasons, the `site_secret` field is never populated in the response.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}/recaptchaV3Config", + // "httpMethod": "GET", + // "id": "firebaseappcheck.projects.apps.recaptchaV3Config.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The relative resource name of the RecaptchaV3Config, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaV3Config ```", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+/recaptchaV3Config$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1RecaptchaV3Config" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.recaptchaV3Config.patch": + +type ProjectsAppsRecaptchaV3ConfigPatchCall struct { + s *Service + name string + googlefirebaseappcheckv1recaptchav3config *GoogleFirebaseAppcheckV1RecaptchaV3Config + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates the RecaptchaV3Config for the specified app. While +// this configuration is incomplete or invalid, the app will be unable +// to exchange reCAPTCHA tokens for App Check tokens. For security +// reasons, the `site_secret` field is never populated in the response. +// +// - name: The relative resource name of the reCAPTCHA v3 configuration +// object, in the format: ``` +// projects/{project_number}/apps/{app_id}/recaptchaV3Config ```. +func (r *ProjectsAppsRecaptchaV3ConfigService) Patch(name string, googlefirebaseappcheckv1recaptchav3config *GoogleFirebaseAppcheckV1RecaptchaV3Config) *ProjectsAppsRecaptchaV3ConfigPatchCall { + c := &ProjectsAppsRecaptchaV3ConfigPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.googlefirebaseappcheckv1recaptchav3config = googlefirebaseappcheckv1recaptchav3config + return c +} + +// UpdateMask sets the optional parameter "updateMask": Required. A +// comma-separated list of names of fields in the RecaptchaV3Config to +// update. Example: `site_secret`. +func (c *ProjectsAppsRecaptchaV3ConfigPatchCall) UpdateMask(updateMask string) *ProjectsAppsRecaptchaV3ConfigPatchCall { + 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 information. +func (c *ProjectsAppsRecaptchaV3ConfigPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsRecaptchaV3ConfigPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsRecaptchaV3ConfigPatchCall) Context(ctx context.Context) *ProjectsAppsRecaptchaV3ConfigPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsRecaptchaV3ConfigPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsRecaptchaV3ConfigPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1recaptchav3config) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("PATCH", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.recaptchaV3Config.patch" call. +// Exactly one of *GoogleFirebaseAppcheckV1RecaptchaV3Config or error +// will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleFirebaseAppcheckV1RecaptchaV3Config.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 *ProjectsAppsRecaptchaV3ConfigPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1RecaptchaV3Config, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1RecaptchaV3Config{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates the RecaptchaV3Config for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange reCAPTCHA tokens for App Check tokens. For security reasons, the `site_secret` field is never populated in the response.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}/recaptchaV3Config", + // "httpMethod": "PATCH", + // "id": "firebaseappcheck.projects.apps.recaptchaV3Config.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The relative resource name of the reCAPTCHA v3 configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaV3Config ```", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+/recaptchaV3Config$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Required. A comma-separated list of names of fields in the RecaptchaV3Config to update. Example: `site_secret`.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "request": { + // "$ref": "GoogleFirebaseAppcheckV1RecaptchaV3Config" + // }, + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1RecaptchaV3Config" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.safetyNetConfig.batchGet": + +type ProjectsAppsSafetyNetConfigBatchGetCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// BatchGet: Atomically gets the SafetyNetConfigs for the specified list +// of apps. +// +// - parent: The parent project name shared by all SafetyNetConfigs +// being retrieved, in the format ``` projects/{project_number} ``` +// The parent collection in the `name` field of any resource being +// retrieved must match this field, or the entire batch fails. +func (r *ProjectsAppsSafetyNetConfigService) BatchGet(parent string) *ProjectsAppsSafetyNetConfigBatchGetCall { + c := &ProjectsAppsSafetyNetConfigBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// Names sets the optional parameter "names": Required. The relative +// resource names of the SafetyNetConfigs to retrieve, in the format ``` +// projects/{project_number}/apps/{app_id}/safetyNetConfig ``` A maximum +// of 100 objects can be retrieved in a batch. +func (c *ProjectsAppsSafetyNetConfigBatchGetCall) Names(names ...string) *ProjectsAppsSafetyNetConfigBatchGetCall { + c.urlParams_.SetMulti("names", append([]string{}, names...)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsSafetyNetConfigBatchGetCall) Fields(s ...googleapi.Field) *ProjectsAppsSafetyNetConfigBatchGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsAppsSafetyNetConfigBatchGetCall) IfNoneMatch(entityTag string) *ProjectsAppsSafetyNetConfigBatchGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsSafetyNetConfigBatchGetCall) Context(ctx context.Context) *ProjectsAppsSafetyNetConfigBatchGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsSafetyNetConfigBatchGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsSafetyNetConfigBatchGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/apps/-/safetyNetConfig:batchGet") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.safetyNetConfig.batchGet" call. +// Exactly one of +// *GoogleFirebaseAppcheckV1BatchGetSafetyNetConfigsResponse or error +// will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleFirebaseAppcheckV1BatchGetSafetyNetConfigsResponse.ServerRespon +// se.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 *ProjectsAppsSafetyNetConfigBatchGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1BatchGetSafetyNetConfigsResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1BatchGetSafetyNetConfigsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Atomically gets the SafetyNetConfigs for the specified list of apps.", + // "flatPath": "v1/projects/{projectsId}/apps/-/safetyNetConfig:batchGet", + // "httpMethod": "GET", + // "id": "firebaseappcheck.projects.apps.safetyNetConfig.batchGet", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "names": { + // "description": "Required. The relative resource names of the SafetyNetConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/safetyNetConfig ``` A maximum of 100 objects can be retrieved in a batch.", + // "location": "query", + // "repeated": true, + // "type": "string" + // }, + // "parent": { + // "description": "Required. The parent project name shared by all SafetyNetConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", + // "location": "path", + // "pattern": "^projects/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/apps/-/safetyNetConfig:batchGet", + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1BatchGetSafetyNetConfigsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.safetyNetConfig.get": + +type ProjectsAppsSafetyNetConfigGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the SafetyNetConfig for the specified app. +// +// - name: The relative resource name of the SafetyNetConfig, in the +// format: ``` projects/{project_number}/apps/{app_id}/safetyNetConfig +// ```. +func (r *ProjectsAppsSafetyNetConfigService) Get(name string) *ProjectsAppsSafetyNetConfigGetCall { + c := &ProjectsAppsSafetyNetConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsSafetyNetConfigGetCall) Fields(s ...googleapi.Field) *ProjectsAppsSafetyNetConfigGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsAppsSafetyNetConfigGetCall) IfNoneMatch(entityTag string) *ProjectsAppsSafetyNetConfigGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsSafetyNetConfigGetCall) Context(ctx context.Context) *ProjectsAppsSafetyNetConfigGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsSafetyNetConfigGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsSafetyNetConfigGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.safetyNetConfig.get" call. +// Exactly one of *GoogleFirebaseAppcheckV1SafetyNetConfig or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *GoogleFirebaseAppcheckV1SafetyNetConfig.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 *ProjectsAppsSafetyNetConfigGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1SafetyNetConfig, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1SafetyNetConfig{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the SafetyNetConfig for the specified app.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}/safetyNetConfig", + // "httpMethod": "GET", + // "id": "firebaseappcheck.projects.apps.safetyNetConfig.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The relative resource name of the SafetyNetConfig, in the format: ``` projects/{project_number}/apps/{app_id}/safetyNetConfig ```", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+/safetyNetConfig$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1SafetyNetConfig" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.safetyNetConfig.patch": + +type ProjectsAppsSafetyNetConfigPatchCall struct { + s *Service + name string + googlefirebaseappcheckv1safetynetconfig *GoogleFirebaseAppcheckV1SafetyNetConfig + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates the SafetyNetConfig for the specified app. While this +// configuration is incomplete or invalid, the app will be unable to +// exchange SafetyNet tokens for App Check tokens. +// +// - name: The relative resource name of the SafetyNet configuration +// object, in the format: ``` +// projects/{project_number}/apps/{app_id}/safetyNetConfig ```. +func (r *ProjectsAppsSafetyNetConfigService) Patch(name string, googlefirebaseappcheckv1safetynetconfig *GoogleFirebaseAppcheckV1SafetyNetConfig) *ProjectsAppsSafetyNetConfigPatchCall { + c := &ProjectsAppsSafetyNetConfigPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.googlefirebaseappcheckv1safetynetconfig = googlefirebaseappcheckv1safetynetconfig + return c +} + +// UpdateMask sets the optional parameter "updateMask": Required. A +// comma-separated list of names of fields in the SafetyNetConfig Gets +// to update. Example: `token_ttl`. +func (c *ProjectsAppsSafetyNetConfigPatchCall) UpdateMask(updateMask string) *ProjectsAppsSafetyNetConfigPatchCall { + 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 information. +func (c *ProjectsAppsSafetyNetConfigPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsSafetyNetConfigPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsSafetyNetConfigPatchCall) Context(ctx context.Context) *ProjectsAppsSafetyNetConfigPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsSafetyNetConfigPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsSafetyNetConfigPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1safetynetconfig) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("PATCH", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.safetyNetConfig.patch" call. +// Exactly one of *GoogleFirebaseAppcheckV1SafetyNetConfig or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *GoogleFirebaseAppcheckV1SafetyNetConfig.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 *ProjectsAppsSafetyNetConfigPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1SafetyNetConfig, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1SafetyNetConfig{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates the SafetyNetConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange SafetyNet tokens for App Check tokens.", + // "flatPath": "v1/projects/{projectsId}/apps/{appsId}/safetyNetConfig", + // "httpMethod": "PATCH", + // "id": "firebaseappcheck.projects.apps.safetyNetConfig.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The relative resource name of the SafetyNet configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/safetyNetConfig ```", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+/safetyNetConfig$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Required. A comma-separated list of names of fields in the SafetyNetConfig Gets to update. Example: `token_ttl`.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "request": { + // "$ref": "GoogleFirebaseAppcheckV1SafetyNetConfig" + // }, + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1SafetyNetConfig" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.services.batchUpdate": + +type ProjectsServicesBatchUpdateCall struct { + s *Service + parent string + googlefirebaseappcheckv1batchupdateservicesrequest *GoogleFirebaseAppcheckV1BatchUpdateServicesRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// BatchUpdate: Atomically updates the specified Service configurations. +// +// - parent: The parent project name shared by all Service +// configurations being updated, in the format ``` +// projects/{project_number} ``` The parent collection in the `name` +// field of any resource being updated must match this field, or the +// entire batch fails. +func (r *ProjectsServicesService) BatchUpdate(parent string, googlefirebaseappcheckv1batchupdateservicesrequest *GoogleFirebaseAppcheckV1BatchUpdateServicesRequest) *ProjectsServicesBatchUpdateCall { + c := &ProjectsServicesBatchUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.googlefirebaseappcheckv1batchupdateservicesrequest = googlefirebaseappcheckv1batchupdateservicesrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsServicesBatchUpdateCall) Fields(s ...googleapi.Field) *ProjectsServicesBatchUpdateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsServicesBatchUpdateCall) Context(ctx context.Context) *ProjectsServicesBatchUpdateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsServicesBatchUpdateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsServicesBatchUpdateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1batchupdateservicesrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/services:batchUpdate") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.services.batchUpdate" call. +// Exactly one of *GoogleFirebaseAppcheckV1BatchUpdateServicesResponse +// or error will be non-nil. Any non-2xx status code is an error. +// Response headers are in either +// *GoogleFirebaseAppcheckV1BatchUpdateServicesResponse.ServerResponse.He +// ader 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 *ProjectsServicesBatchUpdateCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1BatchUpdateServicesResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1BatchUpdateServicesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Atomically updates the specified Service configurations.", + // "flatPath": "v1/projects/{projectsId}/services:batchUpdate", + // "httpMethod": "POST", + // "id": "firebaseappcheck.projects.services.batchUpdate", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "parent": { + // "description": "Required. The parent project name shared by all Service configurations being updated, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being updated must match this field, or the entire batch fails.", + // "location": "path", + // "pattern": "^projects/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/services:batchUpdate", + // "request": { + // "$ref": "GoogleFirebaseAppcheckV1BatchUpdateServicesRequest" + // }, + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1BatchUpdateServicesResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.services.get": + +type ProjectsServicesGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the Service configuration for the specified service name. +// +// - name: The relative resource name of the Service to retrieve, in the +// format: ``` projects/{project_number}/services/{service_id} ``` +// Note that the `service_id` element must be a supported service ID. +// Currently, the following service IDs are supported: * +// `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * +// `firebasedatabase.googleapis.com` (Firebase Realtime Database) * +// `firestore.googleapis.com` (Cloud Firestore). +func (r *ProjectsServicesService) Get(name string) *ProjectsServicesGetCall { + c := &ProjectsServicesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsServicesGetCall) Fields(s ...googleapi.Field) *ProjectsServicesGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsServicesGetCall) IfNoneMatch(entityTag string) *ProjectsServicesGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsServicesGetCall) Context(ctx context.Context) *ProjectsServicesGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsServicesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsServicesGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.services.get" call. +// Exactly one of *GoogleFirebaseAppcheckV1Service or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *GoogleFirebaseAppcheckV1Service.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 *ProjectsServicesGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1Service, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1Service{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the Service configuration for the specified service name.", + // "flatPath": "v1/projects/{projectsId}/services/{servicesId}", + // "httpMethod": "GET", + // "id": "firebaseappcheck.projects.services.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The relative resource name of the Service to retrieve, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database) * `firestore.googleapis.com` (Cloud Firestore)", + // "location": "path", + // "pattern": "^projects/[^/]+/services/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1Service" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.services.list": + +type ProjectsServicesListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists all Service configurations for the specified project. +// Only Services which were explicitly configured using UpdateService or +// BatchUpdateServices will be returned. +// +// - parent: The relative resource name of the parent project for which +// to list each associated Service, in the format: ``` +// projects/{project_number} ```. +func (r *ProjectsServicesService) List(parent string) *ProjectsServicesListCall { + c := &ProjectsServicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": The maximum number +// of Services to return in the response. Only explicitly configured +// services are returned. The server may return fewer than this at its +// own discretion. If no value is specified (or too large a value is +// specified), the server will impose its own limit. +func (c *ProjectsServicesListCall) PageSize(pageSize int64) *ProjectsServicesListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": Token returned +// from a previous call to ListServices indicating where in the set of +// Services to resume listing. Provide this to retrieve the subsequent +// page. When paginating, all other parameters provided to ListServices +// must match the call that provided the page token; if they do not +// match, the result is undefined. +func (c *ProjectsServicesListCall) PageToken(pageToken string) *ProjectsServicesListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsServicesListCall) Fields(s ...googleapi.Field) *ProjectsServicesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsServicesListCall) IfNoneMatch(entityTag string) *ProjectsServicesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsServicesListCall) Context(ctx context.Context) *ProjectsServicesListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsServicesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsServicesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/services") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.services.list" call. +// Exactly one of *GoogleFirebaseAppcheckV1ListServicesResponse or error +// will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleFirebaseAppcheckV1ListServicesResponse.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 *ProjectsServicesListCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1ListServicesResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1ListServicesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists all Service configurations for the specified project. Only Services which were explicitly configured using UpdateService or BatchUpdateServices will be returned.", + // "flatPath": "v1/projects/{projectsId}/services", + // "httpMethod": "GET", + // "id": "firebaseappcheck.projects.services.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "pageSize": { + // "description": "The maximum number of Services to return in the response. Only explicitly configured services are returned. The server may return fewer than this at its own discretion. If no value is specified (or too large a value is specified), the server will impose its own limit.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Token returned from a previous call to ListServices indicating where in the set of Services to resume listing. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListServices must match the call that provided the page token; if they do not match, the result is undefined.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required. The relative resource name of the parent project for which to list each associated Service, in the format: ``` projects/{project_number} ```", + // "location": "path", + // "pattern": "^projects/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/services", + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1ListServicesResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// 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 *ProjectsServicesListCall) Pages(ctx context.Context, f func(*GoogleFirebaseAppcheckV1ListServicesResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + +// method id "firebaseappcheck.projects.services.patch": + +type ProjectsServicesPatchCall struct { + s *Service + name string + googlefirebaseappcheckv1service *GoogleFirebaseAppcheckV1Service + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates the specified Service configuration. +// +// - name: The relative resource name of the service configuration +// object, in the format: ``` +// projects/{project_number}/services/{service_id} ``` Note that the +// `service_id` element must be a supported service ID. Currently, the +// following service IDs are supported: * +// `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * +// `firebasedatabase.googleapis.com` (Firebase Realtime Database) * +// `firestore.googleapis.com` (Cloud Firestore). +func (r *ProjectsServicesService) Patch(name string, googlefirebaseappcheckv1service *GoogleFirebaseAppcheckV1Service) *ProjectsServicesPatchCall { + c := &ProjectsServicesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.googlefirebaseappcheckv1service = googlefirebaseappcheckv1service + return c +} + +// UpdateMask sets the optional parameter "updateMask": Required. A +// comma-separated list of names of fields in the Service to update. +// Example: `enforcement_mode`. +func (c *ProjectsServicesPatchCall) UpdateMask(updateMask string) *ProjectsServicesPatchCall { + 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 information. +func (c *ProjectsServicesPatchCall) Fields(s ...googleapi.Field) *ProjectsServicesPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsServicesPatchCall) Context(ctx context.Context) *ProjectsServicesPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsServicesPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsServicesPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1service) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("PATCH", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.services.patch" call. +// Exactly one of *GoogleFirebaseAppcheckV1Service or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *GoogleFirebaseAppcheckV1Service.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 *ProjectsServicesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1Service, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1Service{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates the specified Service configuration.", + // "flatPath": "v1/projects/{projectsId}/services/{servicesId}", + // "httpMethod": "PATCH", + // "id": "firebaseappcheck.projects.services.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The relative resource name of the service configuration object, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database) * `firestore.googleapis.com` (Cloud Firestore)", + // "location": "path", + // "pattern": "^projects/[^/]+/services/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Required. A comma-separated list of names of fields in the Service to update. Example: `enforcement_mode`.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1/{+name}", + // "request": { + // "$ref": "GoogleFirebaseAppcheckV1Service" + // }, + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1Service" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} diff --git a/firebaseappcheck/v1beta/firebaseappcheck-api.json b/firebaseappcheck/v1beta/firebaseappcheck-api.json index 9737bbf7e02..ac6a6cc5079 100644 --- a/firebaseappcheck/v1beta/firebaseappcheck-api.json +++ b/firebaseappcheck/v1beta/firebaseappcheck-api.json @@ -287,6 +287,35 @@ "https://www.googleapis.com/auth/firebase" ] }, + "exchangePlayIntegrityToken": { + "description": "Validates an [integrity verdict response token from Play Integrity](https://developer.android.com/google/play/integrity/verdict#decrypt-verify). If valid, returns an AppCheckToken.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangePlayIntegrityToken", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.exchangePlayIntegrityToken", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. The relative resource name of the Android app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+app}:exchangePlayIntegrityToken", + "request": { + "$ref": "GoogleFirebaseAppcheckV1betaExchangePlayIntegrityTokenRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaAppCheckToken" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, "exchangeRecaptchaEnterpriseToken": { "description": "Validates a [reCAPTCHA Enterprise response token](https://cloud.google.com/recaptcha-enterprise/docs/create-assessment#retrieve_token). If valid, returns an App Check token AppCheckToken.", "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangeRecaptchaEnterpriseToken", @@ -317,7 +346,7 @@ ] }, "exchangeRecaptchaToken": { - "description": "Validates a [reCAPTCHA v3 response token](https://developers.google.com/recaptcha/docs/v3). If valid, returns an AppCheckToken.", + "description": "This method has been renamed to ExchangeRecaptchaV3Token. Validates a [reCAPTCHA v3 response token](https://developers.google.com/recaptcha/docs/v3). If valid, returns an AppCheckToken.", "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangeRecaptchaToken", "httpMethod": "POST", "id": "firebaseappcheck.projects.apps.exchangeRecaptchaToken", @@ -431,6 +460,35 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/firebase" ] + }, + "generatePlayIntegrityChallenge": { + "description": "Generates a challenge that protects the integrity of an immediately following integrity verdict request to the Play Integrity API. The next call to ExchangePlayIntegrityToken using the resulting integrity token will verify the presence and validity of the challenge. A challenge should not be reused for multiple calls.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:generatePlayIntegrityChallenge", + "httpMethod": "POST", + "id": "firebaseappcheck.projects.apps.generatePlayIntegrityChallenge", + "parameterOrder": [ + "app" + ], + "parameters": { + "app": { + "description": "Required. The relative resource name of the app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+app}:generatePlayIntegrityChallenge", + "request": { + "$ref": "GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeRequest" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] } }, "resources": { @@ -785,10 +843,107 @@ } } }, + "playIntegrityConfig": { + "methods": { + "batchGet": { + "description": "Atomically gets the PlayIntegrityConfigs for the specified list of apps.", + "flatPath": "v1beta/projects/{projectsId}/apps/-/playIntegrityConfig:batchGet", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.playIntegrityConfig.batchGet", + "parameterOrder": [ + "parent" + ], + "parameters": { + "names": { + "description": "Required. The relative resource names of the PlayIntegrityConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig ``` A maximum of 100 objects can be retrieved in a batch.", + "location": "query", + "repeated": true, + "type": "string" + }, + "parent": { + "description": "Required. The parent project name shared by all PlayIntegrityConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/apps/-/playIntegrityConfig:batchGet", + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaBatchGetPlayIntegrityConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "get": { + "description": "Gets the PlayIntegrityConfig for the specified app.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/playIntegrityConfig", + "httpMethod": "GET", + "id": "firebaseappcheck.projects.apps.playIntegrityConfig.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the PlayIntegrityConfig, in the format: ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/playIntegrityConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaPlayIntegrityConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "patch": { + "description": "Updates the PlayIntegrityConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange Play Integrity tokens for App Check tokens.", + "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/playIntegrityConfig", + "httpMethod": "PATCH", + "id": "firebaseappcheck.projects.apps.playIntegrityConfig.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the Play Integrity configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig ```", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/playIntegrityConfig$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. A comma-separated list of names of fields in the PlayIntegrityConfig Gets to update. Example: `token_ttl`.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "GoogleFirebaseAppcheckV1betaPlayIntegrityConfig" + }, + "response": { + "$ref": "GoogleFirebaseAppcheckV1betaPlayIntegrityConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + } + }, "recaptchaConfig": { "methods": { "batchGet": { - "description": "Atomically gets the RecaptchaConfigs for the specified list of apps. For security reasons, the `site_secret` field is never populated in the response.", + "description": "The RecaptchaConfig REST resource has been renamed to RecaptchaV3Config. Please use BatchGetRecaptchaV3Configs instead. Atomically gets the RecaptchaConfigs for the specified list of apps. For security reasons, the `site_secret` field is never populated in the response.", "flatPath": "v1beta/projects/{projectsId}/apps/-/recaptchaConfig:batchGet", "httpMethod": "GET", "id": "firebaseappcheck.projects.apps.recaptchaConfig.batchGet", @@ -820,7 +975,7 @@ ] }, "get": { - "description": "Gets the RecaptchaConfig for the specified app. For security reasons, the `site_secret` field is never populated in the response.", + "description": "The RecaptchaConfig REST resource has been renamed to RecaptchaV3Config. Please use GetRecaptchaV3Config instead. Gets the RecaptchaConfig for the specified app. For security reasons, the `site_secret` field is never populated in the response.", "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/recaptchaConfig", "httpMethod": "GET", "id": "firebaseappcheck.projects.apps.recaptchaConfig.get", @@ -846,7 +1001,7 @@ ] }, "patch": { - "description": "Updates the RecaptchaConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange reCAPTCHA tokens for App Check tokens. For security reasons, the `site_secret` field is never populated in the response.", + "description": "The RecaptchaConfig REST resource has been renamed to RecaptchaV3Config. Please use UpdateRecaptchaV3Config instead. Updates the RecaptchaConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange reCAPTCHA tokens for App Check tokens. For security reasons, the `site_secret` field is never populated in the response.", "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/recaptchaConfig", "httpMethod": "PATCH", "id": "firebaseappcheck.projects.apps.recaptchaConfig.patch", @@ -1309,11 +1464,11 @@ } } }, - "revision": "20220408", + "revision": "20220425", "rootUrl": "https://firebaseappcheck.googleapis.com/", "schemas": { "GoogleFirebaseAppcheckV1betaAppAttestConfig": { - "description": "An app's App Attest configuration object. This configuration controls certain properties of the App Check token returned by ExchangeAppAttestAttestation and ExchangeAppAttestAssertion, such as its ttl. Note that the Team ID registered with your app is used as part of the validation process. Please register it via the Firebase Console or programmatically via the [Firebase Management Service](https://firebase.google.com/docs/projects/api/reference/rest/v1beta1/projects.iosApps/patch).", + "description": "An app's App Attest configuration object. This configuration controls certain properties of the `AppCheckToken` returned by ExchangeAppAttestAttestation and ExchangeAppAttestAssertion, such as its ttl. Note that the Team ID registered with your app is used as part of the validation process. Please register it via the Firebase Console or programmatically via the [Firebase Management Service](https://firebase.google.com/docs/projects/api/reference/rest/v1beta1/projects.iosApps/patch).", "id": "GoogleFirebaseAppcheckV1betaAppAttestConfig", "properties": { "name": { @@ -1333,7 +1488,7 @@ "id": "GoogleFirebaseAppcheckV1betaAppCheckToken", "properties": { "attestationToken": { - "description": "An App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and Firebase project. This token is used to access Firebase services protected by App Check.", + "description": "This field has been renamed to `token`. An App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and Firebase project. This token is used to access Firebase services protected by App Check.", "type": "string" }, "token": { @@ -1392,6 +1547,20 @@ }, "type": "object" }, + "GoogleFirebaseAppcheckV1betaBatchGetPlayIntegrityConfigsResponse": { + "description": "Response message for the BatchGetPlayIntegrityConfigs method.", + "id": "GoogleFirebaseAppcheckV1betaBatchGetPlayIntegrityConfigsResponse", + "properties": { + "configs": { + "description": "PlayIntegrityConfigs retrieved.", + "items": { + "$ref": "GoogleFirebaseAppcheckV1betaPlayIntegrityConfig" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleFirebaseAppcheckV1betaBatchGetRecaptchaConfigsResponse": { "description": "Response message for the BatchGetRecaptchaConfigs method.", "id": "GoogleFirebaseAppcheckV1betaBatchGetRecaptchaConfigsResponse", @@ -1501,7 +1670,7 @@ "type": "object" }, "GoogleFirebaseAppcheckV1betaDeviceCheckConfig": { - "description": "An app's DeviceCheck configuration object. This configuration is used by ExchangeDeviceCheckToken to validate device tokens issued to apps by DeviceCheck. It also controls certain properties of the returned App Check token, such as its ttl. Note that the Team ID registered with your app is used as part of the validation process. Please register it via the Firebase Console or programmatically via the [Firebase Management Service](https://firebase.google.com/docs/projects/api/reference/rest/v1beta1/projects.iosApps/patch).", + "description": "An app's DeviceCheck configuration object. This configuration is used by ExchangeDeviceCheckToken to validate device tokens issued to apps by DeviceCheck. It also controls certain properties of the returned `AppCheckToken`, such as its ttl. Note that the Team ID registered with your app is used as part of the validation process. Please register it via the Firebase Console or programmatically via the [Firebase Management Service](https://firebase.google.com/docs/projects/api/reference/rest/v1beta1/projects.iosApps/patch).", "id": "GoogleFirebaseAppcheckV1betaDeviceCheckConfig", "properties": { "keyId": { @@ -1588,7 +1757,7 @@ }, "attestationToken": { "$ref": "GoogleFirebaseAppcheckV1betaAttestationTokenResponse", - "description": "Encapsulates an App Check token." + "description": "This field has been renamed to `app_check_token`. Encapsulates an App Check token." } }, "type": "object" @@ -1626,6 +1795,17 @@ }, "type": "object" }, + "GoogleFirebaseAppcheckV1betaExchangePlayIntegrityTokenRequest": { + "description": "Request message for the ExchangePlayIntegrityToken method.", + "id": "GoogleFirebaseAppcheckV1betaExchangePlayIntegrityTokenRequest", + "properties": { + "playIntegrityToken": { + "description": "Required. The [integrity verdict response token from Play Integrity](https://developer.android.com/google/play/integrity/verdict#decrypt-verify) issued to your app.", + "type": "string" + } + }, + "type": "object" + }, "GoogleFirebaseAppcheckV1betaExchangeRecaptchaEnterpriseTokenRequest": { "description": "Request message for the ExchangeRecaptchaEnterpriseToken method.", "id": "GoogleFirebaseAppcheckV1betaExchangeRecaptchaEnterpriseTokenRequest", @@ -1693,6 +1873,28 @@ }, "type": "object" }, + "GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeRequest": { + "description": "Request message for the GeneratePlayIntegrityChallenge method.", + "id": "GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeRequest", + "properties": {}, + "type": "object" + }, + "GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeResponse": { + "description": "Response message for the GeneratePlayIntegrityChallenge method.", + "id": "GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeResponse", + "properties": { + "challenge": { + "description": "A one-time use [challenge](https://developer.android.com/google/play/integrity/verdict#protect-against-replay-attacks) for the client to pass to the Play Integrity API.", + "type": "string" + }, + "ttl": { + "description": "The duration from the time this challenge is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "GoogleFirebaseAppcheckV1betaListDebugTokensResponse": { "description": "Response message for the ListDebugTokens method.", "id": "GoogleFirebaseAppcheckV1betaListDebugTokensResponse", @@ -1729,6 +1931,22 @@ }, "type": "object" }, + "GoogleFirebaseAppcheckV1betaPlayIntegrityConfig": { + "description": "An app's Play Integrity configuration object. This configuration controls certain properties of the `AppCheckToken` returned by ExchangePlayIntegrityToken, such as its ttl. Note that your registered SHA-256 certificate fingerprints are used to validate tokens issued by the Play Integrity API; please register them via the Firebase Console or programmatically via the [Firebase Management Service](https://firebase.google.com/docs/projects/api/reference/rest/v1beta1/projects.androidApps.sha/create).", + "id": "GoogleFirebaseAppcheckV1betaPlayIntegrityConfig", + "properties": { + "name": { + "description": "Required. The relative resource name of the Play Integrity configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig ```", + "type": "string" + }, + "tokenTtl": { + "description": "Specifies the duration for which App Check tokens exchanged from Play Integrity tokens will be valid. If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "GoogleFirebaseAppcheckV1betaPublicJwk": { "description": "A JWK as specified by [section 4 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4) and [section 6.3.1 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1).", "id": "GoogleFirebaseAppcheckV1betaPublicJwk", @@ -1775,7 +1993,7 @@ "type": "object" }, "GoogleFirebaseAppcheckV1betaRecaptchaConfig": { - "description": "An app's reCAPTCHA v3 configuration object. This configuration is used by ExchangeRecaptchaToken to validate reCAPTCHA tokens issued to apps by reCAPTCHA v3. It also controls certain properties of the returned App Check token, such as its ttl.", + "description": "This REST resource has been renamed to RecaptchaV3Config. An app's reCAPTCHA v3 configuration object. This configuration is used by ExchangeRecaptchaToken to validate reCAPTCHA tokens issued to apps by reCAPTCHA v3. It also controls certain properties of the returned `AppCheckToken`, such as its ttl.", "id": "GoogleFirebaseAppcheckV1betaRecaptchaConfig", "properties": { "name": { @@ -1800,7 +2018,7 @@ "type": "object" }, "GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig": { - "description": "An app's reCAPTCHA Enterprise configuration object. This configuration is used by ExchangeRecaptchaEnterpriseToken to validate reCAPTCHA tokens issued to apps by reCAPTCHA Enterprise. It also controls certain properties of the returned App Check token, such as its ttl.", + "description": "An app's reCAPTCHA Enterprise configuration object. This configuration is used by ExchangeRecaptchaEnterpriseToken to validate reCAPTCHA tokens issued to apps by reCAPTCHA Enterprise. It also controls certain properties of the returned `AppCheckToken`, such as its ttl.", "id": "GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig", "properties": { "name": { @@ -1820,7 +2038,7 @@ "type": "object" }, "GoogleFirebaseAppcheckV1betaRecaptchaV3Config": { - "description": "An app's reCAPTCHA v3 configuration object. This configuration is used by ExchangeRecaptchaV3Token to validate reCAPTCHA tokens issued to apps by reCAPTCHA v3. It also controls certain properties of the returned App Check token, such as its ttl.", + "description": "An app's reCAPTCHA v3 configuration object. This configuration is used by ExchangeRecaptchaV3Token to validate reCAPTCHA tokens issued to apps by reCAPTCHA v3. It also controls certain properties of the returned `AppCheckToken`, such as its ttl.", "id": "GoogleFirebaseAppcheckV1betaRecaptchaV3Config", "properties": { "name": { @@ -1845,7 +2063,7 @@ "type": "object" }, "GoogleFirebaseAppcheckV1betaSafetyNetConfig": { - "description": "An app's SafetyNet configuration object. This configuration controls certain properties of the App Check token returned by ExchangeSafetyNetToken, such as its ttl. Note that your registered SHA-256 certificate fingerprints are used to validate tokens issued by SafetyNet; please register them via the Firebase Console or programmatically via the [Firebase Management Service](https://firebase.google.com/docs/projects/api/reference/rest/v1beta1/projects.androidApps.sha/create).", + "description": "An app's SafetyNet configuration object. This configuration controls certain properties of the `AppCheckToken` returned by ExchangeSafetyNetToken, such as its ttl. Note that your registered SHA-256 certificate fingerprints are used to validate tokens issued by SafetyNet; please register them via the Firebase Console or programmatically via the [Firebase Management Service](https://firebase.google.com/docs/projects/api/reference/rest/v1beta1/projects.androidApps.sha/create).", "id": "GoogleFirebaseAppcheckV1betaSafetyNetConfig", "properties": { "name": { diff --git a/firebaseappcheck/v1beta/firebaseappcheck-gen.go b/firebaseappcheck/v1beta/firebaseappcheck-gen.go index fed7ffcb2af..b24abeabf3b 100644 --- a/firebaseappcheck/v1beta/firebaseappcheck-gen.go +++ b/firebaseappcheck/v1beta/firebaseappcheck-gen.go @@ -177,6 +177,7 @@ func NewProjectsAppsService(s *Service) *ProjectsAppsService { rs.AppAttestConfig = NewProjectsAppsAppAttestConfigService(s) rs.DebugTokens = NewProjectsAppsDebugTokensService(s) rs.DeviceCheckConfig = NewProjectsAppsDeviceCheckConfigService(s) + rs.PlayIntegrityConfig = NewProjectsAppsPlayIntegrityConfigService(s) rs.RecaptchaConfig = NewProjectsAppsRecaptchaConfigService(s) rs.RecaptchaEnterpriseConfig = NewProjectsAppsRecaptchaEnterpriseConfigService(s) rs.RecaptchaV3Config = NewProjectsAppsRecaptchaV3ConfigService(s) @@ -193,6 +194,8 @@ type ProjectsAppsService struct { DeviceCheckConfig *ProjectsAppsDeviceCheckConfigService + PlayIntegrityConfig *ProjectsAppsPlayIntegrityConfigService + RecaptchaConfig *ProjectsAppsRecaptchaConfigService RecaptchaEnterpriseConfig *ProjectsAppsRecaptchaEnterpriseConfigService @@ -229,6 +232,15 @@ type ProjectsAppsDeviceCheckConfigService struct { s *Service } +func NewProjectsAppsPlayIntegrityConfigService(s *Service) *ProjectsAppsPlayIntegrityConfigService { + rs := &ProjectsAppsPlayIntegrityConfigService{s: s} + return rs +} + +type ProjectsAppsPlayIntegrityConfigService struct { + s *Service +} + func NewProjectsAppsRecaptchaConfigService(s *Service) *ProjectsAppsRecaptchaConfigService { rs := &ProjectsAppsRecaptchaConfigService{s: s} return rs @@ -276,7 +288,7 @@ type ProjectsServicesService struct { // GoogleFirebaseAppcheckV1betaAppAttestConfig: An app's App Attest // configuration object. This configuration controls certain properties -// of the App Check token returned by ExchangeAppAttestAttestation and +// of the `AppCheckToken` returned by ExchangeAppAttestAttestation and // ExchangeAppAttestAssertion, such as its ttl. Note that the Team ID // registered with your app is used as part of the validation process. // Please register it via the Firebase Console or programmatically via @@ -324,10 +336,11 @@ func (s *GoogleFirebaseAppcheckV1betaAppAttestConfig) MarshalJSON() ([]byte, err // token*, which are used to access Firebase services protected by App // Check. type GoogleFirebaseAppcheckV1betaAppCheckToken struct { - // AttestationToken: An App Check token. App Check tokens are signed - // JWTs (https://tools.ietf.org/html/rfc7519) containing claims that - // identify the attested app and Firebase project. This token is used to - // access Firebase services protected by App Check. + // AttestationToken: This field has been renamed to `token`. An App + // Check token. App Check tokens are signed JWTs + // (https://tools.ietf.org/html/rfc7519) containing claims that identify + // the attested app and Firebase project. This token is used to access + // Firebase services protected by App Check. AttestationToken string `json:"attestationToken,omitempty"` // Token: An App Check token. App Check tokens are signed JWTs @@ -476,6 +489,39 @@ func (s *GoogleFirebaseAppcheckV1betaBatchGetDeviceCheckConfigsResponse) Marshal return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleFirebaseAppcheckV1betaBatchGetPlayIntegrityConfigsResponse: +// Response message for the BatchGetPlayIntegrityConfigs method. +type GoogleFirebaseAppcheckV1betaBatchGetPlayIntegrityConfigsResponse struct { + // Configs: PlayIntegrityConfigs retrieved. + Configs []*GoogleFirebaseAppcheckV1betaPlayIntegrityConfig `json:"configs,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Configs") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Configs") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1betaBatchGetPlayIntegrityConfigsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1betaBatchGetPlayIntegrityConfigsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleFirebaseAppcheckV1betaBatchGetRecaptchaConfigsResponse: // Response message for the BatchGetRecaptchaConfigs method. type GoogleFirebaseAppcheckV1betaBatchGetRecaptchaConfigsResponse struct { @@ -732,11 +778,11 @@ func (s *GoogleFirebaseAppcheckV1betaDebugToken) MarshalJSON() ([]byte, error) { // GoogleFirebaseAppcheckV1betaDeviceCheckConfig: An app's DeviceCheck // configuration object. This configuration is used by // ExchangeDeviceCheckToken to validate device tokens issued to apps by -// DeviceCheck. It also controls certain properties of the returned App -// Check token, such as its ttl. Note that the Team ID registered with -// your app is used as part of the validation process. Please register -// it via the Firebase Console or programmatically via the Firebase -// Management Service +// DeviceCheck. It also controls certain properties of the returned +// `AppCheckToken`, such as its ttl. Note that the Team ID registered +// with your app is used as part of the validation process. Please +// register it via the Firebase Console or programmatically via the +// Firebase Management Service // (https://firebase.google.com/docs/projects/api/reference/rest/v1beta1/projects.iosApps/patch). type GoogleFirebaseAppcheckV1betaDeviceCheckConfig struct { // KeyId: Required. The key identifier of a private key enabled with @@ -879,7 +925,8 @@ type GoogleFirebaseAppcheckV1betaExchangeAppAttestAttestationResponse struct { // ExchangeAppAttestAssertion. Artifact string `json:"artifact,omitempty"` - // AttestationToken: Encapsulates an App Check token. + // AttestationToken: This field has been renamed to `app_check_token`. + // Encapsulates an App Check token. AttestationToken *GoogleFirebaseAppcheckV1betaAttestationTokenResponse `json:"attestationToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -1001,6 +1048,39 @@ func (s *GoogleFirebaseAppcheckV1betaExchangeDeviceCheckTokenRequest) MarshalJSO return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleFirebaseAppcheckV1betaExchangePlayIntegrityTokenRequest: +// Request message for the ExchangePlayIntegrityToken method. +type GoogleFirebaseAppcheckV1betaExchangePlayIntegrityTokenRequest struct { + // PlayIntegrityToken: Required. The integrity verdict response token + // from Play Integrity + // (https://developer.android.com/google/play/integrity/verdict#decrypt-verify) + // issued to your app. + PlayIntegrityToken string `json:"playIntegrityToken,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PlayIntegrityToken") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "PlayIntegrityToken") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1betaExchangePlayIntegrityTokenRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1betaExchangePlayIntegrityTokenRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleFirebaseAppcheckV1betaExchangeRecaptchaEnterpriseTokenRequest: // Request message for the ExchangeRecaptchaEnterpriseToken method. type GoogleFirebaseAppcheckV1betaExchangeRecaptchaEnterpriseTokenRequest struct { @@ -1175,6 +1255,52 @@ func (s *GoogleFirebaseAppcheckV1betaGenerateAppAttestChallengeResponse) Marshal return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeRequest: +// Request message for the GeneratePlayIntegrityChallenge method. +type GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeRequest struct { +} + +// GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeResponse: +// Response message for the GeneratePlayIntegrityChallenge method. +type GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeResponse struct { + // Challenge: A one-time use challenge + // (https://developer.android.com/google/play/integrity/verdict#protect-against-replay-attacks) + // for the client to pass to the Play Integrity API. + Challenge string `json:"challenge,omitempty"` + + // Ttl: The duration from the time this challenge is minted until its + // expiration. This field is intended to ease client-side token + // management, since the client may have clock skew, but is still able + // to accurately measure a duration. + Ttl string `json:"ttl,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Challenge") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Challenge") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleFirebaseAppcheckV1betaListDebugTokensResponse: Response message // for the ListDebugTokens method. type GoogleFirebaseAppcheckV1betaListDebugTokensResponse struct { @@ -1257,6 +1383,54 @@ func (s *GoogleFirebaseAppcheckV1betaListServicesResponse) MarshalJSON() ([]byte return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleFirebaseAppcheckV1betaPlayIntegrityConfig: An app's Play +// Integrity configuration object. This configuration controls certain +// properties of the `AppCheckToken` returned by +// ExchangePlayIntegrityToken, such as its ttl. Note that your +// registered SHA-256 certificate fingerprints are used to validate +// tokens issued by the Play Integrity API; please register them via the +// Firebase Console or programmatically via the Firebase Management +// Service +// (https://firebase.google.com/docs/projects/api/reference/rest/v1beta1/projects.androidApps.sha/create). +type GoogleFirebaseAppcheckV1betaPlayIntegrityConfig struct { + // Name: Required. The relative resource name of the Play Integrity + // configuration object, in the format: ``` + // projects/{project_number}/apps/{app_id}/playIntegrityConfig ``` + Name string `json:"name,omitempty"` + + // TokenTtl: Specifies the duration for which App Check tokens exchanged + // from Play Integrity tokens will be valid. If unset, a default value + // of 1 hour is assumed. Must be between 30 minutes and 7 days, + // inclusive. + TokenTtl string `json:"tokenTtl,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Name") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleFirebaseAppcheckV1betaPlayIntegrityConfig) MarshalJSON() ([]byte, error) { + type NoMethod GoogleFirebaseAppcheckV1betaPlayIntegrityConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleFirebaseAppcheckV1betaPublicJwk: A JWK as specified by section // 4 of RFC 7517 (https://tools.ietf.org/html/rfc7517#section-4) and // section 6.3.1 of RFC 7518 @@ -1346,11 +1520,12 @@ func (s *GoogleFirebaseAppcheckV1betaPublicJwkSet) MarshalJSON() ([]byte, error) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GoogleFirebaseAppcheckV1betaRecaptchaConfig: An app's reCAPTCHA v3 +// GoogleFirebaseAppcheckV1betaRecaptchaConfig: This REST resource has +// been renamed to RecaptchaV3Config. An app's reCAPTCHA v3 // configuration object. This configuration is used by // ExchangeRecaptchaToken to validate reCAPTCHA tokens issued to apps by -// reCAPTCHA v3. It also controls certain properties of the returned App -// Check token, such as its ttl. +// reCAPTCHA v3. It also controls certain properties of the returned +// `AppCheckToken`, such as its ttl. type GoogleFirebaseAppcheckV1betaRecaptchaConfig struct { // Name: Required. The relative resource name of the reCAPTCHA v3 // configuration object, in the format: ``` @@ -1403,7 +1578,7 @@ func (s *GoogleFirebaseAppcheckV1betaRecaptchaConfig) MarshalJSON() ([]byte, err // reCAPTCHA Enterprise configuration object. This configuration is used // by ExchangeRecaptchaEnterpriseToken to validate reCAPTCHA tokens // issued to apps by reCAPTCHA Enterprise. It also controls certain -// properties of the returned App Check token, such as its ttl. +// properties of the returned `AppCheckToken`, such as its ttl. type GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig struct { // Name: Required. The relative resource name of the reCAPTCHA // Enterprise configuration object, in the format: ``` @@ -1456,7 +1631,7 @@ func (s *GoogleFirebaseAppcheckV1betaRecaptchaEnterpriseConfig) MarshalJSON() ([ // configuration object. This configuration is used by // ExchangeRecaptchaV3Token to validate reCAPTCHA tokens issued to apps // by reCAPTCHA v3. It also controls certain properties of the returned -// App Check token, such as its ttl. +// `AppCheckToken`, such as its ttl. type GoogleFirebaseAppcheckV1betaRecaptchaV3Config struct { // Name: Required. The relative resource name of the reCAPTCHA v3 // configuration object, in the format: ``` @@ -1507,7 +1682,7 @@ func (s *GoogleFirebaseAppcheckV1betaRecaptchaV3Config) MarshalJSON() ([]byte, e // GoogleFirebaseAppcheckV1betaSafetyNetConfig: An app's SafetyNet // configuration object. This configuration controls certain properties -// of the App Check token returned by ExchangeSafetyNetToken, such as +// of the `AppCheckToken` returned by ExchangeSafetyNetToken, such as // its ttl. Note that your registered SHA-256 certificate fingerprints // are used to validate tokens issued by SafetyNet; please register them // via the Firebase Console or programmatically via the Firebase @@ -2592,38 +2767,38 @@ func (c *ProjectsAppsExchangeDeviceCheckTokenCall) Do(opts ...googleapi.CallOpti } -// method id "firebaseappcheck.projects.apps.exchangeRecaptchaEnterpriseToken": +// method id "firebaseappcheck.projects.apps.exchangePlayIntegrityToken": -type ProjectsAppsExchangeRecaptchaEnterpriseTokenCall struct { - s *Service - appid string - googlefirebaseappcheckv1betaexchangerecaptchaenterprisetokenrequest *GoogleFirebaseAppcheckV1betaExchangeRecaptchaEnterpriseTokenRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header +type ProjectsAppsExchangePlayIntegrityTokenCall struct { + s *Service + appid string + googlefirebaseappcheckv1betaexchangeplayintegritytokenrequest *GoogleFirebaseAppcheckV1betaExchangePlayIntegrityTokenRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// ExchangeRecaptchaEnterpriseToken: Validates a reCAPTCHA Enterprise -// response token -// (https://cloud.google.com/recaptcha-enterprise/docs/create-assessment#retrieve_token). -// If valid, returns an App Check token AppCheckToken. +// ExchangePlayIntegrityToken: Validates an integrity verdict response +// token from Play Integrity +// (https://developer.android.com/google/play/integrity/verdict#decrypt-verify). +// If valid, returns an AppCheckToken. // -// - app: The relative resource name of the web app, in the format: ``` -// projects/{project_number}/apps/{app_id} ``` If necessary, the +// - app: The relative resource name of the Android app, in the format: +// ``` projects/{project_number}/apps/{app_id} ``` If necessary, the // `project_number` element can be replaced with the project ID of the // Firebase project. Learn more about using project identifiers in // Google's AIP 2510 (https://google.aip.dev/cloud/2510) standard. -func (r *ProjectsAppsService) ExchangeRecaptchaEnterpriseToken(appid string, googlefirebaseappcheckv1betaexchangerecaptchaenterprisetokenrequest *GoogleFirebaseAppcheckV1betaExchangeRecaptchaEnterpriseTokenRequest) *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall { - c := &ProjectsAppsExchangeRecaptchaEnterpriseTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)} +func (r *ProjectsAppsService) ExchangePlayIntegrityToken(appid string, googlefirebaseappcheckv1betaexchangeplayintegritytokenrequest *GoogleFirebaseAppcheckV1betaExchangePlayIntegrityTokenRequest) *ProjectsAppsExchangePlayIntegrityTokenCall { + c := &ProjectsAppsExchangePlayIntegrityTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.appid = appid - c.googlefirebaseappcheckv1betaexchangerecaptchaenterprisetokenrequest = googlefirebaseappcheckv1betaexchangerecaptchaenterprisetokenrequest + c.googlefirebaseappcheckv1betaexchangeplayintegritytokenrequest = googlefirebaseappcheckv1betaexchangeplayintegritytokenrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall { +func (c *ProjectsAppsExchangePlayIntegrityTokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangePlayIntegrityTokenCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } @@ -2631,21 +2806,21 @@ func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) Fields(s ...googleapi // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) Context(ctx context.Context) *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall { +func (c *ProjectsAppsExchangePlayIntegrityTokenCall) Context(ctx context.Context) *ProjectsAppsExchangePlayIntegrityTokenCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) Header() http.Header { +func (c *ProjectsAppsExchangePlayIntegrityTokenCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsAppsExchangePlayIntegrityTokenCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { @@ -2653,14 +2828,14 @@ func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) doRequest(alt string) } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaexchangerecaptchaenterprisetokenrequest) + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaexchangeplayintegritytokenrequest) if err != nil { return nil, err } reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+app}:exchangeRecaptchaEnterpriseToken") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+app}:exchangePlayIntegrityToken") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { @@ -2673,7 +2848,7 @@ func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) doRequest(alt string) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "firebaseappcheck.projects.apps.exchangeRecaptchaEnterpriseToken" call. +// Do executes the "firebaseappcheck.projects.apps.exchangePlayIntegrityToken" call. // Exactly one of *GoogleFirebaseAppcheckV1betaAppCheckToken or error // will be non-nil. Any non-2xx status code is an error. Response // headers are in either @@ -2682,7 +2857,7 @@ func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) doRequest(alt string) // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was // returned. -func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaAppCheckToken, error) { +func (c *ProjectsAppsExchangePlayIntegrityTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaAppCheckToken, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -2713,25 +2888,25 @@ func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) Do(opts ...googleapi. } return ret, nil // { - // "description": "Validates a [reCAPTCHA Enterprise response token](https://cloud.google.com/recaptcha-enterprise/docs/create-assessment#retrieve_token). If valid, returns an App Check token AppCheckToken.", - // "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangeRecaptchaEnterpriseToken", + // "description": "Validates an [integrity verdict response token from Play Integrity](https://developer.android.com/google/play/integrity/verdict#decrypt-verify). If valid, returns an AppCheckToken.", + // "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangePlayIntegrityToken", // "httpMethod": "POST", - // "id": "firebaseappcheck.projects.apps.exchangeRecaptchaEnterpriseToken", + // "id": "firebaseappcheck.projects.apps.exchangePlayIntegrityToken", // "parameterOrder": [ // "app" // ], // "parameters": { // "app": { - // "description": "Required. The relative resource name of the web app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + // "description": "Required. The relative resource name of the Android app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", // "location": "path", // "pattern": "^projects/[^/]+/apps/[^/]+$", // "required": true, // "type": "string" // } // }, - // "path": "v1beta/{+app}:exchangeRecaptchaEnterpriseToken", + // "path": "v1beta/{+app}:exchangePlayIntegrityToken", // "request": { - // "$ref": "GoogleFirebaseAppcheckV1betaExchangeRecaptchaEnterpriseTokenRequest" + // "$ref": "GoogleFirebaseAppcheckV1betaExchangePlayIntegrityTokenRequest" // }, // "response": { // "$ref": "GoogleFirebaseAppcheckV1betaAppCheckToken" @@ -2744,37 +2919,38 @@ func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) Do(opts ...googleapi. } -// method id "firebaseappcheck.projects.apps.exchangeRecaptchaToken": +// method id "firebaseappcheck.projects.apps.exchangeRecaptchaEnterpriseToken": -type ProjectsAppsExchangeRecaptchaTokenCall struct { - s *Service - appid string - googlefirebaseappcheckv1betaexchangerecaptchatokenrequest *GoogleFirebaseAppcheckV1betaExchangeRecaptchaTokenRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header +type ProjectsAppsExchangeRecaptchaEnterpriseTokenCall struct { + s *Service + appid string + googlefirebaseappcheckv1betaexchangerecaptchaenterprisetokenrequest *GoogleFirebaseAppcheckV1betaExchangeRecaptchaEnterpriseTokenRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// ExchangeRecaptchaToken: Validates a reCAPTCHA v3 response token -// (https://developers.google.com/recaptcha/docs/v3). If valid, returns -// an AppCheckToken. +// ExchangeRecaptchaEnterpriseToken: Validates a reCAPTCHA Enterprise +// response token +// (https://cloud.google.com/recaptcha-enterprise/docs/create-assessment#retrieve_token). +// If valid, returns an App Check token AppCheckToken. // // - app: The relative resource name of the web app, in the format: ``` // projects/{project_number}/apps/{app_id} ``` If necessary, the // `project_number` element can be replaced with the project ID of the // Firebase project. Learn more about using project identifiers in // Google's AIP 2510 (https://google.aip.dev/cloud/2510) standard. -func (r *ProjectsAppsService) ExchangeRecaptchaToken(appid string, googlefirebaseappcheckv1betaexchangerecaptchatokenrequest *GoogleFirebaseAppcheckV1betaExchangeRecaptchaTokenRequest) *ProjectsAppsExchangeRecaptchaTokenCall { - c := &ProjectsAppsExchangeRecaptchaTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)} +func (r *ProjectsAppsService) ExchangeRecaptchaEnterpriseToken(appid string, googlefirebaseappcheckv1betaexchangerecaptchaenterprisetokenrequest *GoogleFirebaseAppcheckV1betaExchangeRecaptchaEnterpriseTokenRequest) *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall { + c := &ProjectsAppsExchangeRecaptchaEnterpriseTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.appid = appid - c.googlefirebaseappcheckv1betaexchangerecaptchatokenrequest = googlefirebaseappcheckv1betaexchangerecaptchatokenrequest + c.googlefirebaseappcheckv1betaexchangerecaptchaenterprisetokenrequest = googlefirebaseappcheckv1betaexchangerecaptchaenterprisetokenrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsAppsExchangeRecaptchaTokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeRecaptchaTokenCall { +func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } @@ -2782,21 +2958,21 @@ func (c *ProjectsAppsExchangeRecaptchaTokenCall) Fields(s ...googleapi.Field) *P // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsAppsExchangeRecaptchaTokenCall) Context(ctx context.Context) *ProjectsAppsExchangeRecaptchaTokenCall { +func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) Context(ctx context.Context) *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsAppsExchangeRecaptchaTokenCall) Header() http.Header { +func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsAppsExchangeRecaptchaTokenCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { @@ -2804,14 +2980,14 @@ func (c *ProjectsAppsExchangeRecaptchaTokenCall) doRequest(alt string) (*http.Re } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaexchangerecaptchatokenrequest) + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaexchangerecaptchaenterprisetokenrequest) if err != nil { return nil, err } reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+app}:exchangeRecaptchaToken") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+app}:exchangeRecaptchaEnterpriseToken") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { @@ -2824,7 +3000,7 @@ func (c *ProjectsAppsExchangeRecaptchaTokenCall) doRequest(alt string) (*http.Re return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "firebaseappcheck.projects.apps.exchangeRecaptchaToken" call. +// Do executes the "firebaseappcheck.projects.apps.exchangeRecaptchaEnterpriseToken" call. // Exactly one of *GoogleFirebaseAppcheckV1betaAppCheckToken or error // will be non-nil. Any non-2xx status code is an error. Response // headers are in either @@ -2833,7 +3009,7 @@ func (c *ProjectsAppsExchangeRecaptchaTokenCall) doRequest(alt string) (*http.Re // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was // returned. -func (c *ProjectsAppsExchangeRecaptchaTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaAppCheckToken, error) { +func (c *ProjectsAppsExchangeRecaptchaEnterpriseTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaAppCheckToken, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -2864,10 +3040,10 @@ func (c *ProjectsAppsExchangeRecaptchaTokenCall) Do(opts ...googleapi.CallOption } return ret, nil // { - // "description": "Validates a [reCAPTCHA v3 response token](https://developers.google.com/recaptcha/docs/v3). If valid, returns an AppCheckToken.", - // "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangeRecaptchaToken", + // "description": "Validates a [reCAPTCHA Enterprise response token](https://cloud.google.com/recaptcha-enterprise/docs/create-assessment#retrieve_token). If valid, returns an App Check token AppCheckToken.", + // "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangeRecaptchaEnterpriseToken", // "httpMethod": "POST", - // "id": "firebaseappcheck.projects.apps.exchangeRecaptchaToken", + // "id": "firebaseappcheck.projects.apps.exchangeRecaptchaEnterpriseToken", // "parameterOrder": [ // "app" // ], @@ -2880,9 +3056,9 @@ func (c *ProjectsAppsExchangeRecaptchaTokenCall) Do(opts ...googleapi.CallOption // "type": "string" // } // }, - // "path": "v1beta/{+app}:exchangeRecaptchaToken", + // "path": "v1beta/{+app}:exchangeRecaptchaEnterpriseToken", // "request": { - // "$ref": "GoogleFirebaseAppcheckV1betaExchangeRecaptchaTokenRequest" + // "$ref": "GoogleFirebaseAppcheckV1betaExchangeRecaptchaEnterpriseTokenRequest" // }, // "response": { // "$ref": "GoogleFirebaseAppcheckV1betaAppCheckToken" @@ -2895,18 +3071,19 @@ func (c *ProjectsAppsExchangeRecaptchaTokenCall) Do(opts ...googleapi.CallOption } -// method id "firebaseappcheck.projects.apps.exchangeRecaptchaV3Token": +// method id "firebaseappcheck.projects.apps.exchangeRecaptchaToken": -type ProjectsAppsExchangeRecaptchaV3TokenCall struct { - s *Service - appid string - googlefirebaseappcheckv1betaexchangerecaptchav3tokenrequest *GoogleFirebaseAppcheckV1betaExchangeRecaptchaV3TokenRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header +type ProjectsAppsExchangeRecaptchaTokenCall struct { + s *Service + appid string + googlefirebaseappcheckv1betaexchangerecaptchatokenrequest *GoogleFirebaseAppcheckV1betaExchangeRecaptchaTokenRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// ExchangeRecaptchaV3Token: Validates a reCAPTCHA v3 response token +// ExchangeRecaptchaToken: This method has been renamed to +// ExchangeRecaptchaV3Token. Validates a reCAPTCHA v3 response token // (https://developers.google.com/recaptcha/docs/v3). If valid, returns // an AppCheckToken. // @@ -2915,17 +3092,17 @@ type ProjectsAppsExchangeRecaptchaV3TokenCall struct { // `project_number` element can be replaced with the project ID of the // Firebase project. Learn more about using project identifiers in // Google's AIP 2510 (https://google.aip.dev/cloud/2510) standard. -func (r *ProjectsAppsService) ExchangeRecaptchaV3Token(appid string, googlefirebaseappcheckv1betaexchangerecaptchav3tokenrequest *GoogleFirebaseAppcheckV1betaExchangeRecaptchaV3TokenRequest) *ProjectsAppsExchangeRecaptchaV3TokenCall { - c := &ProjectsAppsExchangeRecaptchaV3TokenCall{s: r.s, urlParams_: make(gensupport.URLParams)} +func (r *ProjectsAppsService) ExchangeRecaptchaToken(appid string, googlefirebaseappcheckv1betaexchangerecaptchatokenrequest *GoogleFirebaseAppcheckV1betaExchangeRecaptchaTokenRequest) *ProjectsAppsExchangeRecaptchaTokenCall { + c := &ProjectsAppsExchangeRecaptchaTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.appid = appid - c.googlefirebaseappcheckv1betaexchangerecaptchav3tokenrequest = googlefirebaseappcheckv1betaexchangerecaptchav3tokenrequest + c.googlefirebaseappcheckv1betaexchangerecaptchatokenrequest = googlefirebaseappcheckv1betaexchangerecaptchatokenrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsAppsExchangeRecaptchaV3TokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeRecaptchaV3TokenCall { +func (c *ProjectsAppsExchangeRecaptchaTokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeRecaptchaTokenCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } @@ -2933,21 +3110,21 @@ func (c *ProjectsAppsExchangeRecaptchaV3TokenCall) Fields(s ...googleapi.Field) // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsAppsExchangeRecaptchaV3TokenCall) Context(ctx context.Context) *ProjectsAppsExchangeRecaptchaV3TokenCall { +func (c *ProjectsAppsExchangeRecaptchaTokenCall) Context(ctx context.Context) *ProjectsAppsExchangeRecaptchaTokenCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsAppsExchangeRecaptchaV3TokenCall) Header() http.Header { +func (c *ProjectsAppsExchangeRecaptchaTokenCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsAppsExchangeRecaptchaV3TokenCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsAppsExchangeRecaptchaTokenCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { @@ -2955,7 +3132,158 @@ func (c *ProjectsAppsExchangeRecaptchaV3TokenCall) doRequest(alt string) (*http. } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaexchangerecaptchav3tokenrequest) + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaexchangerecaptchatokenrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+app}:exchangeRecaptchaToken") + 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{ + "app": c.appid, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.exchangeRecaptchaToken" call. +// Exactly one of *GoogleFirebaseAppcheckV1betaAppCheckToken or error +// will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleFirebaseAppcheckV1betaAppCheckToken.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 *ProjectsAppsExchangeRecaptchaTokenCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaAppCheckToken, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1betaAppCheckToken{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "This method has been renamed to ExchangeRecaptchaV3Token. Validates a [reCAPTCHA v3 response token](https://developers.google.com/recaptcha/docs/v3). If valid, returns an AppCheckToken.", + // "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:exchangeRecaptchaToken", + // "httpMethod": "POST", + // "id": "firebaseappcheck.projects.apps.exchangeRecaptchaToken", + // "parameterOrder": [ + // "app" + // ], + // "parameters": { + // "app": { + // "description": "Required. The relative resource name of the web app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta/{+app}:exchangeRecaptchaToken", + // "request": { + // "$ref": "GoogleFirebaseAppcheckV1betaExchangeRecaptchaTokenRequest" + // }, + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1betaAppCheckToken" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.exchangeRecaptchaV3Token": + +type ProjectsAppsExchangeRecaptchaV3TokenCall struct { + s *Service + appid string + googlefirebaseappcheckv1betaexchangerecaptchav3tokenrequest *GoogleFirebaseAppcheckV1betaExchangeRecaptchaV3TokenRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ExchangeRecaptchaV3Token: Validates a reCAPTCHA v3 response token +// (https://developers.google.com/recaptcha/docs/v3). If valid, returns +// an AppCheckToken. +// +// - app: The relative resource name of the web app, in the format: ``` +// projects/{project_number}/apps/{app_id} ``` If necessary, the +// `project_number` element can be replaced with the project ID of the +// Firebase project. Learn more about using project identifiers in +// Google's AIP 2510 (https://google.aip.dev/cloud/2510) standard. +func (r *ProjectsAppsService) ExchangeRecaptchaV3Token(appid string, googlefirebaseappcheckv1betaexchangerecaptchav3tokenrequest *GoogleFirebaseAppcheckV1betaExchangeRecaptchaV3TokenRequest) *ProjectsAppsExchangeRecaptchaV3TokenCall { + c := &ProjectsAppsExchangeRecaptchaV3TokenCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appid = appid + c.googlefirebaseappcheckv1betaexchangerecaptchav3tokenrequest = googlefirebaseappcheckv1betaexchangerecaptchav3tokenrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsExchangeRecaptchaV3TokenCall) Fields(s ...googleapi.Field) *ProjectsAppsExchangeRecaptchaV3TokenCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsExchangeRecaptchaV3TokenCall) Context(ctx context.Context) *ProjectsAppsExchangeRecaptchaV3TokenCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsExchangeRecaptchaV3TokenCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsExchangeRecaptchaV3TokenCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaexchangerecaptchav3tokenrequest) if err != nil { return nil, err } @@ -3350,111 +3678,100 @@ func (c *ProjectsAppsGenerateAppAttestChallengeCall) Do(opts ...googleapi.CallOp } -// method id "firebaseappcheck.projects.apps.appAttestConfig.batchGet": +// method id "firebaseappcheck.projects.apps.generatePlayIntegrityChallenge": -type ProjectsAppsAppAttestConfigBatchGetCall struct { - s *Service - parent string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header +type ProjectsAppsGeneratePlayIntegrityChallengeCall struct { + s *Service + appid string + googlefirebaseappcheckv1betagenerateplayintegritychallengerequest *GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// BatchGet: Atomically gets the AppAttestConfigs for the specified list -// of apps. +// GeneratePlayIntegrityChallenge: Generates a challenge that protects +// the integrity of an immediately following integrity verdict request +// to the Play Integrity API. The next call to +// ExchangePlayIntegrityToken using the resulting integrity token will +// verify the presence and validity of the challenge. A challenge should +// not be reused for multiple calls. // -// - parent: The parent project name shared by all AppAttestConfigs -// being retrieved, in the format ``` projects/{project_number} ``` -// The parent collection in the `name` field of any resource being -// retrieved must match this field, or the entire batch fails. -func (r *ProjectsAppsAppAttestConfigService) BatchGet(parent string) *ProjectsAppsAppAttestConfigBatchGetCall { - c := &ProjectsAppsAppAttestConfigBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.parent = parent - return c -} - -// Names sets the optional parameter "names": Required. The relative -// resource names of the AppAttestConfigs to retrieve, in the format ``` -// projects/{project_number}/apps/{app_id}/appAttestConfig ``` A maximum -// of 100 objects can be retrieved in a batch. -func (c *ProjectsAppsAppAttestConfigBatchGetCall) Names(names ...string) *ProjectsAppsAppAttestConfigBatchGetCall { - c.urlParams_.SetMulti("names", append([]string{}, names...)) +// - app: The relative resource name of the app, in the format: ``` +// projects/{project_number}/apps/{app_id} ``` If necessary, the +// `project_number` element can be replaced with the project ID of the +// Firebase project. Learn more about using project identifiers in +// Google's AIP 2510 (https://google.aip.dev/cloud/2510) standard. +func (r *ProjectsAppsService) GeneratePlayIntegrityChallenge(appid string, googlefirebaseappcheckv1betagenerateplayintegritychallengerequest *GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeRequest) *ProjectsAppsGeneratePlayIntegrityChallengeCall { + c := &ProjectsAppsGeneratePlayIntegrityChallengeCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.appid = appid + c.googlefirebaseappcheckv1betagenerateplayintegritychallengerequest = googlefirebaseappcheckv1betagenerateplayintegritychallengerequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsAppsAppAttestConfigBatchGetCall) Fields(s ...googleapi.Field) *ProjectsAppsAppAttestConfigBatchGetCall { +func (c *ProjectsAppsGeneratePlayIntegrityChallengeCall) Fields(s ...googleapi.Field) *ProjectsAppsGeneratePlayIntegrityChallengeCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } -// IfNoneMatch sets the optional parameter which makes the operation -// fail if the object's ETag matches the given value. This is useful for -// getting updates only after the object has changed since the last -// request. Use googleapi.IsNotModified to check whether the response -// error from Do is the result of In-None-Match. -func (c *ProjectsAppsAppAttestConfigBatchGetCall) IfNoneMatch(entityTag string) *ProjectsAppsAppAttestConfigBatchGetCall { - c.ifNoneMatch_ = entityTag - return c -} - // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsAppsAppAttestConfigBatchGetCall) Context(ctx context.Context) *ProjectsAppsAppAttestConfigBatchGetCall { +func (c *ProjectsAppsGeneratePlayIntegrityChallengeCall) Context(ctx context.Context) *ProjectsAppsGeneratePlayIntegrityChallengeCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsAppsAppAttestConfigBatchGetCall) Header() http.Header { +func (c *ProjectsAppsGeneratePlayIntegrityChallengeCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsAppsAppAttestConfigBatchGetCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsAppsGeneratePlayIntegrityChallengeCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betagenerateplayintegritychallengerequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/apps/-/appAttestConfig:batchGet") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+app}:generatePlayIntegrityChallenge") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("GET", urls, body) + req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "parent": c.parent, + "app": c.appid, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "firebaseappcheck.projects.apps.appAttestConfig.batchGet" call. +// Do executes the "firebaseappcheck.projects.apps.generatePlayIntegrityChallenge" call. // Exactly one of -// *GoogleFirebaseAppcheckV1betaBatchGetAppAttestConfigsResponse or -// error will be non-nil. Any non-2xx status code is an error. Response -// headers are in either -// *GoogleFirebaseAppcheckV1betaBatchGetAppAttestConfigsResponse.ServerRe -// sponse.Header or (if a response was returned at all) in +// *GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeResponse +// or error will be non-nil. Any non-2xx status code is an error. +// Response headers are in either +// *GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeResponse.Se +// rverResponse.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 *ProjectsAppsAppAttestConfigBatchGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaBatchGetAppAttestConfigsResponse, error) { +func (c *ProjectsAppsGeneratePlayIntegrityChallengeCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -3473,7 +3790,7 @@ func (c *ProjectsAppsAppAttestConfigBatchGetCall) Do(opts ...googleapi.CallOptio if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &GoogleFirebaseAppcheckV1betaBatchGetAppAttestConfigsResponse{ + ret := &GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -3485,31 +3802,28 @@ func (c *ProjectsAppsAppAttestConfigBatchGetCall) Do(opts ...googleapi.CallOptio } return ret, nil // { - // "description": "Atomically gets the AppAttestConfigs for the specified list of apps.", - // "flatPath": "v1beta/projects/{projectsId}/apps/-/appAttestConfig:batchGet", - // "httpMethod": "GET", - // "id": "firebaseappcheck.projects.apps.appAttestConfig.batchGet", + // "description": "Generates a challenge that protects the integrity of an immediately following integrity verdict request to the Play Integrity API. The next call to ExchangePlayIntegrityToken using the resulting integrity token will verify the presence and validity of the challenge. A challenge should not be reused for multiple calls.", + // "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}:generatePlayIntegrityChallenge", + // "httpMethod": "POST", + // "id": "firebaseappcheck.projects.apps.generatePlayIntegrityChallenge", // "parameterOrder": [ - // "parent" + // "app" // ], // "parameters": { - // "names": { - // "description": "Required. The relative resource names of the AppAttestConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/appAttestConfig ``` A maximum of 100 objects can be retrieved in a batch.", - // "location": "query", - // "repeated": true, - // "type": "string" - // }, - // "parent": { - // "description": "Required. The parent project name shared by all AppAttestConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", + // "app": { + // "description": "Required. The relative resource name of the app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google's [AIP 2510](https://google.aip.dev/cloud/2510) standard.", // "location": "path", - // "pattern": "^projects/[^/]+$", + // "pattern": "^projects/[^/]+/apps/[^/]+$", // "required": true, // "type": "string" // } // }, - // "path": "v1beta/{+parent}/apps/-/appAttestConfig:batchGet", + // "path": "v1beta/{+app}:generatePlayIntegrityChallenge", + // "request": { + // "$ref": "GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeRequest" + // }, // "response": { - // "$ref": "GoogleFirebaseAppcheckV1betaBatchGetAppAttestConfigsResponse" + // "$ref": "GoogleFirebaseAppcheckV1betaGeneratePlayIntegrityChallengeResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", @@ -3519,24 +3833,193 @@ func (c *ProjectsAppsAppAttestConfigBatchGetCall) Do(opts ...googleapi.CallOptio } -// method id "firebaseappcheck.projects.apps.appAttestConfig.get": +// method id "firebaseappcheck.projects.apps.appAttestConfig.batchGet": -type ProjectsAppsAppAttestConfigGetCall struct { +type ProjectsAppsAppAttestConfigBatchGetCall struct { s *Service - name string + parent string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } -// Get: Gets the AppAttestConfig for the specified app. +// BatchGet: Atomically gets the AppAttestConfigs for the specified list +// of apps. // -// - name: The relative resource name of the AppAttestConfig, in the -// format: ``` projects/{project_number}/apps/{app_id}/appAttestConfig -// ```. -func (r *ProjectsAppsAppAttestConfigService) Get(name string) *ProjectsAppsAppAttestConfigGetCall { - c := &ProjectsAppsAppAttestConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} +// - parent: The parent project name shared by all AppAttestConfigs +// being retrieved, in the format ``` projects/{project_number} ``` +// The parent collection in the `name` field of any resource being +// retrieved must match this field, or the entire batch fails. +func (r *ProjectsAppsAppAttestConfigService) BatchGet(parent string) *ProjectsAppsAppAttestConfigBatchGetCall { + c := &ProjectsAppsAppAttestConfigBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// Names sets the optional parameter "names": Required. The relative +// resource names of the AppAttestConfigs to retrieve, in the format ``` +// projects/{project_number}/apps/{app_id}/appAttestConfig ``` A maximum +// of 100 objects can be retrieved in a batch. +func (c *ProjectsAppsAppAttestConfigBatchGetCall) Names(names ...string) *ProjectsAppsAppAttestConfigBatchGetCall { + c.urlParams_.SetMulti("names", append([]string{}, names...)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsAppAttestConfigBatchGetCall) Fields(s ...googleapi.Field) *ProjectsAppsAppAttestConfigBatchGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsAppsAppAttestConfigBatchGetCall) IfNoneMatch(entityTag string) *ProjectsAppsAppAttestConfigBatchGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsAppAttestConfigBatchGetCall) Context(ctx context.Context) *ProjectsAppsAppAttestConfigBatchGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsAppAttestConfigBatchGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsAppAttestConfigBatchGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/apps/-/appAttestConfig:batchGet") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.appAttestConfig.batchGet" call. +// Exactly one of +// *GoogleFirebaseAppcheckV1betaBatchGetAppAttestConfigsResponse or +// error will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleFirebaseAppcheckV1betaBatchGetAppAttestConfigsResponse.ServerRe +// sponse.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 *ProjectsAppsAppAttestConfigBatchGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaBatchGetAppAttestConfigsResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1betaBatchGetAppAttestConfigsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Atomically gets the AppAttestConfigs for the specified list of apps.", + // "flatPath": "v1beta/projects/{projectsId}/apps/-/appAttestConfig:batchGet", + // "httpMethod": "GET", + // "id": "firebaseappcheck.projects.apps.appAttestConfig.batchGet", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "names": { + // "description": "Required. The relative resource names of the AppAttestConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/appAttestConfig ``` A maximum of 100 objects can be retrieved in a batch.", + // "location": "query", + // "repeated": true, + // "type": "string" + // }, + // "parent": { + // "description": "Required. The parent project name shared by all AppAttestConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", + // "location": "path", + // "pattern": "^projects/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta/{+parent}/apps/-/appAttestConfig:batchGet", + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1betaBatchGetAppAttestConfigsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.appAttestConfig.get": + +type ProjectsAppsAppAttestConfigGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the AppAttestConfig for the specified app. +// +// - name: The relative resource name of the AppAttestConfig, in the +// format: ``` projects/{project_number}/apps/{app_id}/appAttestConfig +// ```. +func (r *ProjectsAppsAppAttestConfigService) Get(name string) *ProjectsAppsAppAttestConfigGetCall { + c := &ProjectsAppsAppAttestConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } @@ -4374,21 +4857,538 @@ func (c *ProjectsAppsDebugTokensListCall) doRequest(alt string) (*http.Response, } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "parent": c.parent, + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.debugTokens.list" call. +// Exactly one of *GoogleFirebaseAppcheckV1betaListDebugTokensResponse +// or error will be non-nil. Any non-2xx status code is an error. +// Response headers are in either +// *GoogleFirebaseAppcheckV1betaListDebugTokensResponse.ServerResponse.He +// ader 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 *ProjectsAppsDebugTokensListCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaListDebugTokensResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1betaListDebugTokensResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists all DebugTokens for the specified app. For security reasons, the `token` field is never populated in the response.", + // "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/debugTokens", + // "httpMethod": "GET", + // "id": "firebaseappcheck.projects.apps.debugTokens.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "pageSize": { + // "description": "The maximum number of DebugTokens to return in the response. Note that an app can have at most 20 debug tokens. The server may return fewer than this at its own discretion. If no value is specified (or too large a value is specified), the server will impose its own limit.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Token returned from a previous call to ListDebugTokens indicating where in the set of DebugTokens to resume listing. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListDebugTokens must match the call that provided the page token; if they do not match, the result is undefined.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required. The relative resource name of the parent app for which to list each associated DebugToken, in the format: ``` projects/{project_number}/apps/{app_id} ```", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta/{+parent}/debugTokens", + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1betaListDebugTokensResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// 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 *ProjectsAppsDebugTokensListCall) Pages(ctx context.Context, f func(*GoogleFirebaseAppcheckV1betaListDebugTokensResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + +// method id "firebaseappcheck.projects.apps.debugTokens.patch": + +type ProjectsAppsDebugTokensPatchCall struct { + s *Service + name string + googlefirebaseappcheckv1betadebugtoken *GoogleFirebaseAppcheckV1betaDebugToken + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates the specified DebugToken. For security reasons, the +// `token` field cannot be updated, nor will it be populated in the +// response, but you can revoke the debug token using DeleteDebugToken. +// +// - name: The relative resource name of the debug token, in the format: +// ``` +// projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} +// ```. +func (r *ProjectsAppsDebugTokensService) Patch(name string, googlefirebaseappcheckv1betadebugtoken *GoogleFirebaseAppcheckV1betaDebugToken) *ProjectsAppsDebugTokensPatchCall { + c := &ProjectsAppsDebugTokensPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.googlefirebaseappcheckv1betadebugtoken = googlefirebaseappcheckv1betadebugtoken + return c +} + +// UpdateMask sets the optional parameter "updateMask": Required. A +// comma-separated list of names of fields in the DebugToken to update. +// Example: `display_name`. +func (c *ProjectsAppsDebugTokensPatchCall) UpdateMask(updateMask string) *ProjectsAppsDebugTokensPatchCall { + 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 information. +func (c *ProjectsAppsDebugTokensPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsDebugTokensPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsDebugTokensPatchCall) Context(ctx context.Context) *ProjectsAppsDebugTokensPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsDebugTokensPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsDebugTokensPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betadebugtoken) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("PATCH", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.debugTokens.patch" call. +// Exactly one of *GoogleFirebaseAppcheckV1betaDebugToken or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *GoogleFirebaseAppcheckV1betaDebugToken.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 *ProjectsAppsDebugTokensPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaDebugToken, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1betaDebugToken{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates the specified DebugToken. For security reasons, the `token` field cannot be updated, nor will it be populated in the response, but you can revoke the debug token using DeleteDebugToken.", + // "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/debugTokens/{debugTokensId}", + // "httpMethod": "PATCH", + // "id": "firebaseappcheck.projects.apps.debugTokens.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The relative resource name of the debug token, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```", + // "location": "path", + // "pattern": "^projects/[^/]+/apps/[^/]+/debugTokens/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "updateMask": { + // "description": "Required. A comma-separated list of names of fields in the DebugToken to update. Example: `display_name`.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1beta/{+name}", + // "request": { + // "$ref": "GoogleFirebaseAppcheckV1betaDebugToken" + // }, + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1betaDebugToken" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.deviceCheckConfig.batchGet": + +type ProjectsAppsDeviceCheckConfigBatchGetCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// BatchGet: Atomically gets the DeviceCheckConfigs for the specified +// list of apps. For security reasons, the `private_key` field is never +// populated in the response. +// +// - parent: The parent project name shared by all DeviceCheckConfigs +// being retrieved, in the format ``` projects/{project_number} ``` +// The parent collection in the `name` field of any resource being +// retrieved must match this field, or the entire batch fails. +func (r *ProjectsAppsDeviceCheckConfigService) BatchGet(parent string) *ProjectsAppsDeviceCheckConfigBatchGetCall { + c := &ProjectsAppsDeviceCheckConfigBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// Names sets the optional parameter "names": Required. The relative +// resource names of the DeviceCheckConfigs to retrieve, in the format +// ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ``` A +// maximum of 100 objects can be retrieved in a batch. +func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Names(names ...string) *ProjectsAppsDeviceCheckConfigBatchGetCall { + c.urlParams_.SetMulti("names", append([]string{}, names...)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Fields(s ...googleapi.Field) *ProjectsAppsDeviceCheckConfigBatchGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) IfNoneMatch(entityTag string) *ProjectsAppsDeviceCheckConfigBatchGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Context(ctx context.Context) *ProjectsAppsDeviceCheckConfigBatchGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/apps/-/deviceCheckConfig:batchGet") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebaseappcheck.projects.apps.deviceCheckConfig.batchGet" call. +// Exactly one of +// *GoogleFirebaseAppcheckV1betaBatchGetDeviceCheckConfigsResponse or +// error will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleFirebaseAppcheckV1betaBatchGetDeviceCheckConfigsResponse.Server +// Response.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 *ProjectsAppsDeviceCheckConfigBatchGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaBatchGetDeviceCheckConfigsResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &GoogleFirebaseAppcheckV1betaBatchGetDeviceCheckConfigsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Atomically gets the DeviceCheckConfigs for the specified list of apps. For security reasons, the `private_key` field is never populated in the response.", + // "flatPath": "v1beta/projects/{projectsId}/apps/-/deviceCheckConfig:batchGet", + // "httpMethod": "GET", + // "id": "firebaseappcheck.projects.apps.deviceCheckConfig.batchGet", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "names": { + // "description": "Required. The relative resource names of the DeviceCheckConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ``` A maximum of 100 objects can be retrieved in a batch.", + // "location": "query", + // "repeated": true, + // "type": "string" + // }, + // "parent": { + // "description": "Required. The parent project name shared by all DeviceCheckConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", + // "location": "path", + // "pattern": "^projects/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta/{+parent}/apps/-/deviceCheckConfig:batchGet", + // "response": { + // "$ref": "GoogleFirebaseAppcheckV1betaBatchGetDeviceCheckConfigsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/firebase" + // ] + // } + +} + +// method id "firebaseappcheck.projects.apps.deviceCheckConfig.get": + +type ProjectsAppsDeviceCheckConfigGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the DeviceCheckConfig for the specified app. For security +// reasons, the `private_key` field is never populated in the response. +// +// - name: The relative resource name of the DeviceCheckConfig, in the +// format: ``` +// projects/{project_number}/apps/{app_id}/deviceCheckConfig ```. +func (r *ProjectsAppsDeviceCheckConfigService) Get(name string) *ProjectsAppsDeviceCheckConfigGetCall { + c := &ProjectsAppsDeviceCheckConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsAppsDeviceCheckConfigGetCall) Fields(s ...googleapi.Field) *ProjectsAppsDeviceCheckConfigGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsAppsDeviceCheckConfigGetCall) IfNoneMatch(entityTag string) *ProjectsAppsDeviceCheckConfigGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsAppsDeviceCheckConfigGetCall) Context(ctx context.Context) *ProjectsAppsDeviceCheckConfigGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsAppsDeviceCheckConfigGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsAppsDeviceCheckConfigGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "firebaseappcheck.projects.apps.debugTokens.list" call. -// Exactly one of *GoogleFirebaseAppcheckV1betaListDebugTokensResponse -// or error will be non-nil. Any non-2xx status code is an error. -// Response headers are in either -// *GoogleFirebaseAppcheckV1betaListDebugTokensResponse.ServerResponse.He -// ader or (if a response was returned at all) in +// Do executes the "firebaseappcheck.projects.apps.deviceCheckConfig.get" call. +// Exactly one of *GoogleFirebaseAppcheckV1betaDeviceCheckConfig or +// error will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleFirebaseAppcheckV1betaDeviceCheckConfig.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 *ProjectsAppsDebugTokensListCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaListDebugTokensResponse, error) { +func (c *ProjectsAppsDeviceCheckConfigGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaDeviceCheckConfig, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -4407,7 +5407,7 @@ func (c *ProjectsAppsDebugTokensListCall) Do(opts ...googleapi.CallOption) (*Goo if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &GoogleFirebaseAppcheckV1betaListDebugTokensResponse{ + ret := &GoogleFirebaseAppcheckV1betaDeviceCheckConfig{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -4419,36 +5419,25 @@ func (c *ProjectsAppsDebugTokensListCall) Do(opts ...googleapi.CallOption) (*Goo } return ret, nil // { - // "description": "Lists all DebugTokens for the specified app. For security reasons, the `token` field is never populated in the response.", - // "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/debugTokens", + // "description": "Gets the DeviceCheckConfig for the specified app. For security reasons, the `private_key` field is never populated in the response.", + // "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/deviceCheckConfig", // "httpMethod": "GET", - // "id": "firebaseappcheck.projects.apps.debugTokens.list", + // "id": "firebaseappcheck.projects.apps.deviceCheckConfig.get", // "parameterOrder": [ - // "parent" + // "name" // ], // "parameters": { - // "pageSize": { - // "description": "The maximum number of DebugTokens to return in the response. Note that an app can have at most 20 debug tokens. The server may return fewer than this at its own discretion. If no value is specified (or too large a value is specified), the server will impose its own limit.", - // "format": "int32", - // "location": "query", - // "type": "integer" - // }, - // "pageToken": { - // "description": "Token returned from a previous call to ListDebugTokens indicating where in the set of DebugTokens to resume listing. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListDebugTokens must match the call that provided the page token; if they do not match, the result is undefined.", - // "location": "query", - // "type": "string" - // }, - // "parent": { - // "description": "Required. The relative resource name of the parent app for which to list each associated DebugToken, in the format: ``` projects/{project_number}/apps/{app_id} ```", + // "name": { + // "description": "Required. The relative resource name of the DeviceCheckConfig, in the format: ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ```", // "location": "path", - // "pattern": "^projects/[^/]+/apps/[^/]+$", + // "pattern": "^projects/[^/]+/apps/[^/]+/deviceCheckConfig$", // "required": true, // "type": "string" // } // }, - // "path": "v1beta/{+parent}/debugTokens", + // "path": "v1beta/{+name}", // "response": { - // "$ref": "GoogleFirebaseAppcheckV1betaListDebugTokensResponse" + // "$ref": "GoogleFirebaseAppcheckV1betaDeviceCheckConfig" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", @@ -4458,57 +5447,36 @@ func (c *ProjectsAppsDebugTokensListCall) Do(opts ...googleapi.CallOption) (*Goo } -// 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 *ProjectsAppsDebugTokensListCall) Pages(ctx context.Context, f func(*GoogleFirebaseAppcheckV1betaListDebugTokensResponse) error) error { - c.ctx_ = ctx - defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point - for { - x, err := c.Do() - if err != nil { - return err - } - if err := f(x); err != nil { - return err - } - if x.NextPageToken == "" { - return nil - } - c.PageToken(x.NextPageToken) - } -} - -// method id "firebaseappcheck.projects.apps.debugTokens.patch": +// method id "firebaseappcheck.projects.apps.deviceCheckConfig.patch": -type ProjectsAppsDebugTokensPatchCall struct { - s *Service - name string - googlefirebaseappcheckv1betadebugtoken *GoogleFirebaseAppcheckV1betaDebugToken - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header +type ProjectsAppsDeviceCheckConfigPatchCall struct { + s *Service + name string + googlefirebaseappcheckv1betadevicecheckconfig *GoogleFirebaseAppcheckV1betaDeviceCheckConfig + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// Patch: Updates the specified DebugToken. For security reasons, the -// `token` field cannot be updated, nor will it be populated in the -// response, but you can revoke the debug token using DeleteDebugToken. +// Patch: Updates the DeviceCheckConfig for the specified app. While +// this configuration is incomplete or invalid, the app will be unable +// to exchange DeviceCheck tokens for App Check tokens. For security +// reasons, the `private_key` field is never populated in the response. // -// - name: The relative resource name of the debug token, in the format: -// ``` -// projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} -// ```. -func (r *ProjectsAppsDebugTokensService) Patch(name string, googlefirebaseappcheckv1betadebugtoken *GoogleFirebaseAppcheckV1betaDebugToken) *ProjectsAppsDebugTokensPatchCall { - c := &ProjectsAppsDebugTokensPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} +// - name: The relative resource name of the DeviceCheck configuration +// object, in the format: ``` +// projects/{project_number}/apps/{app_id}/deviceCheckConfig ```. +func (r *ProjectsAppsDeviceCheckConfigService) Patch(name string, googlefirebaseappcheckv1betadevicecheckconfig *GoogleFirebaseAppcheckV1betaDeviceCheckConfig) *ProjectsAppsDeviceCheckConfigPatchCall { + c := &ProjectsAppsDeviceCheckConfigPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name - c.googlefirebaseappcheckv1betadebugtoken = googlefirebaseappcheckv1betadebugtoken + c.googlefirebaseappcheckv1betadevicecheckconfig = googlefirebaseappcheckv1betadevicecheckconfig return c } // UpdateMask sets the optional parameter "updateMask": Required. A -// comma-separated list of names of fields in the DebugToken to update. -// Example: `display_name`. -func (c *ProjectsAppsDebugTokensPatchCall) UpdateMask(updateMask string) *ProjectsAppsDebugTokensPatchCall { +// comma-separated list of names of fields in the DeviceCheckConfig Gets +// to update. Example: `key_id,private_key`. +func (c *ProjectsAppsDeviceCheckConfigPatchCall) UpdateMask(updateMask string) *ProjectsAppsDeviceCheckConfigPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } @@ -4516,7 +5484,7 @@ func (c *ProjectsAppsDebugTokensPatchCall) UpdateMask(updateMask string) *Projec // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsAppsDebugTokensPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsDebugTokensPatchCall { +func (c *ProjectsAppsDeviceCheckConfigPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsDeviceCheckConfigPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } @@ -4524,21 +5492,21 @@ func (c *ProjectsAppsDebugTokensPatchCall) Fields(s ...googleapi.Field) *Project // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsAppsDebugTokensPatchCall) Context(ctx context.Context) *ProjectsAppsDebugTokensPatchCall { +func (c *ProjectsAppsDeviceCheckConfigPatchCall) Context(ctx context.Context) *ProjectsAppsDeviceCheckConfigPatchCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsAppsDebugTokensPatchCall) Header() http.Header { +func (c *ProjectsAppsDeviceCheckConfigPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsAppsDebugTokensPatchCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsAppsDeviceCheckConfigPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { @@ -4546,7 +5514,7 @@ func (c *ProjectsAppsDebugTokensPatchCall) doRequest(alt string) (*http.Response } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betadebugtoken) + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betadevicecheckconfig) if err != nil { return nil, err } @@ -4566,15 +5534,16 @@ func (c *ProjectsAppsDebugTokensPatchCall) doRequest(alt string) (*http.Response return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "firebaseappcheck.projects.apps.debugTokens.patch" call. -// Exactly one of *GoogleFirebaseAppcheckV1betaDebugToken or error will -// be non-nil. Any non-2xx status code is an error. Response headers are -// in either -// *GoogleFirebaseAppcheckV1betaDebugToken.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 *ProjectsAppsDebugTokensPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaDebugToken, error) { +// Do executes the "firebaseappcheck.projects.apps.deviceCheckConfig.patch" call. +// Exactly one of *GoogleFirebaseAppcheckV1betaDeviceCheckConfig or +// error will be non-nil. Any non-2xx status code is an error. Response +// headers are in either +// *GoogleFirebaseAppcheckV1betaDeviceCheckConfig.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 *ProjectsAppsDeviceCheckConfigPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaDeviceCheckConfig, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -4593,7 +5562,7 @@ func (c *ProjectsAppsDebugTokensPatchCall) Do(opts ...googleapi.CallOption) (*Go if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &GoogleFirebaseAppcheckV1betaDebugToken{ + ret := &GoogleFirebaseAppcheckV1betaDeviceCheckConfig{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -4605,23 +5574,23 @@ func (c *ProjectsAppsDebugTokensPatchCall) Do(opts ...googleapi.CallOption) (*Go } return ret, nil // { - // "description": "Updates the specified DebugToken. For security reasons, the `token` field cannot be updated, nor will it be populated in the response, but you can revoke the debug token using DeleteDebugToken.", - // "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/debugTokens/{debugTokensId}", + // "description": "Updates the DeviceCheckConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange DeviceCheck tokens for App Check tokens. For security reasons, the `private_key` field is never populated in the response.", + // "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/deviceCheckConfig", // "httpMethod": "PATCH", - // "id": "firebaseappcheck.projects.apps.debugTokens.patch", + // "id": "firebaseappcheck.projects.apps.deviceCheckConfig.patch", // "parameterOrder": [ // "name" // ], // "parameters": { // "name": { - // "description": "Required. The relative resource name of the debug token, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```", + // "description": "Required. The relative resource name of the DeviceCheck configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ```", // "location": "path", - // "pattern": "^projects/[^/]+/apps/[^/]+/debugTokens/[^/]+$", + // "pattern": "^projects/[^/]+/apps/[^/]+/deviceCheckConfig$", // "required": true, // "type": "string" // }, // "updateMask": { - // "description": "Required. A comma-separated list of names of fields in the DebugToken to update. Example: `display_name`.", + // "description": "Required. A comma-separated list of names of fields in the DeviceCheckConfig Gets to update. Example: `key_id,private_key`.", // "format": "google-fieldmask", // "location": "query", // "type": "string" @@ -4629,10 +5598,10 @@ func (c *ProjectsAppsDebugTokensPatchCall) Do(opts ...googleapi.CallOption) (*Go // }, // "path": "v1beta/{+name}", // "request": { - // "$ref": "GoogleFirebaseAppcheckV1betaDebugToken" + // "$ref": "GoogleFirebaseAppcheckV1betaDeviceCheckConfig" // }, // "response": { - // "$ref": "GoogleFirebaseAppcheckV1betaDebugToken" + // "$ref": "GoogleFirebaseAppcheckV1betaDeviceCheckConfig" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", @@ -4642,9 +5611,9 @@ func (c *ProjectsAppsDebugTokensPatchCall) Do(opts ...googleapi.CallOption) (*Go } -// method id "firebaseappcheck.projects.apps.deviceCheckConfig.batchGet": +// method id "firebaseappcheck.projects.apps.playIntegrityConfig.batchGet": -type ProjectsAppsDeviceCheckConfigBatchGetCall struct { +type ProjectsAppsPlayIntegrityConfigBatchGetCall struct { s *Service parent string urlParams_ gensupport.URLParams @@ -4653,25 +5622,24 @@ type ProjectsAppsDeviceCheckConfigBatchGetCall struct { header_ http.Header } -// BatchGet: Atomically gets the DeviceCheckConfigs for the specified -// list of apps. For security reasons, the `private_key` field is never -// populated in the response. +// BatchGet: Atomically gets the PlayIntegrityConfigs for the specified +// list of apps. // -// - parent: The parent project name shared by all DeviceCheckConfigs +// - parent: The parent project name shared by all PlayIntegrityConfigs // being retrieved, in the format ``` projects/{project_number} ``` // The parent collection in the `name` field of any resource being // retrieved must match this field, or the entire batch fails. -func (r *ProjectsAppsDeviceCheckConfigService) BatchGet(parent string) *ProjectsAppsDeviceCheckConfigBatchGetCall { - c := &ProjectsAppsDeviceCheckConfigBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} +func (r *ProjectsAppsPlayIntegrityConfigService) BatchGet(parent string) *ProjectsAppsPlayIntegrityConfigBatchGetCall { + c := &ProjectsAppsPlayIntegrityConfigBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent return c } // Names sets the optional parameter "names": Required. The relative -// resource names of the DeviceCheckConfigs to retrieve, in the format -// ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ``` A +// resource names of the PlayIntegrityConfigs to retrieve, in the format +// ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig ``` A // maximum of 100 objects can be retrieved in a batch. -func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Names(names ...string) *ProjectsAppsDeviceCheckConfigBatchGetCall { +func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) Names(names ...string) *ProjectsAppsPlayIntegrityConfigBatchGetCall { c.urlParams_.SetMulti("names", append([]string{}, names...)) return c } @@ -4679,7 +5647,7 @@ func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Names(names ...string) *Proj // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Fields(s ...googleapi.Field) *ProjectsAppsDeviceCheckConfigBatchGetCall { +func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) Fields(s ...googleapi.Field) *ProjectsAppsPlayIntegrityConfigBatchGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } @@ -4689,7 +5657,7 @@ func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Fields(s ...googleapi.Field) // getting updates only after the object has changed since the last // request. Use googleapi.IsNotModified to check whether the response // error from Do is the result of In-None-Match. -func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) IfNoneMatch(entityTag string) *ProjectsAppsDeviceCheckConfigBatchGetCall { +func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) IfNoneMatch(entityTag string) *ProjectsAppsPlayIntegrityConfigBatchGetCall { c.ifNoneMatch_ = entityTag return c } @@ -4697,21 +5665,21 @@ func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) IfNoneMatch(entityTag string // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Context(ctx context.Context) *ProjectsAppsDeviceCheckConfigBatchGetCall { +func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) Context(ctx context.Context) *ProjectsAppsPlayIntegrityConfigBatchGetCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Header() http.Header { +func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { @@ -4724,7 +5692,7 @@ func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) doRequest(alt string) (*http var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/apps/-/deviceCheckConfig:batchGet") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/apps/-/playIntegrityConfig:batchGet") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { @@ -4737,17 +5705,17 @@ func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) doRequest(alt string) (*http return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "firebaseappcheck.projects.apps.deviceCheckConfig.batchGet" call. +// Do executes the "firebaseappcheck.projects.apps.playIntegrityConfig.batchGet" call. // Exactly one of -// *GoogleFirebaseAppcheckV1betaBatchGetDeviceCheckConfigsResponse or +// *GoogleFirebaseAppcheckV1betaBatchGetPlayIntegrityConfigsResponse or // error will be non-nil. Any non-2xx status code is an error. Response // headers are in either -// *GoogleFirebaseAppcheckV1betaBatchGetDeviceCheckConfigsResponse.Server -// Response.Header or (if a response was returned at all) in +// *GoogleFirebaseAppcheckV1betaBatchGetPlayIntegrityConfigsResponse.Serv +// erResponse.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 *ProjectsAppsDeviceCheckConfigBatchGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaBatchGetDeviceCheckConfigsResponse, error) { +func (c *ProjectsAppsPlayIntegrityConfigBatchGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaBatchGetPlayIntegrityConfigsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -4766,7 +5734,7 @@ func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Do(opts ...googleapi.CallOpt if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &GoogleFirebaseAppcheckV1betaBatchGetDeviceCheckConfigsResponse{ + ret := &GoogleFirebaseAppcheckV1betaBatchGetPlayIntegrityConfigsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -4778,31 +5746,31 @@ func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Do(opts ...googleapi.CallOpt } return ret, nil // { - // "description": "Atomically gets the DeviceCheckConfigs for the specified list of apps. For security reasons, the `private_key` field is never populated in the response.", - // "flatPath": "v1beta/projects/{projectsId}/apps/-/deviceCheckConfig:batchGet", + // "description": "Atomically gets the PlayIntegrityConfigs for the specified list of apps.", + // "flatPath": "v1beta/projects/{projectsId}/apps/-/playIntegrityConfig:batchGet", // "httpMethod": "GET", - // "id": "firebaseappcheck.projects.apps.deviceCheckConfig.batchGet", + // "id": "firebaseappcheck.projects.apps.playIntegrityConfig.batchGet", // "parameterOrder": [ // "parent" // ], // "parameters": { // "names": { - // "description": "Required. The relative resource names of the DeviceCheckConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ``` A maximum of 100 objects can be retrieved in a batch.", + // "description": "Required. The relative resource names of the PlayIntegrityConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig ``` A maximum of 100 objects can be retrieved in a batch.", // "location": "query", // "repeated": true, // "type": "string" // }, // "parent": { - // "description": "Required. The parent project name shared by all DeviceCheckConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", + // "description": "Required. The parent project name shared by all PlayIntegrityConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails.", // "location": "path", // "pattern": "^projects/[^/]+$", // "required": true, // "type": "string" // } // }, - // "path": "v1beta/{+parent}/apps/-/deviceCheckConfig:batchGet", + // "path": "v1beta/{+parent}/apps/-/playIntegrityConfig:batchGet", // "response": { - // "$ref": "GoogleFirebaseAppcheckV1betaBatchGetDeviceCheckConfigsResponse" + // "$ref": "GoogleFirebaseAppcheckV1betaBatchGetPlayIntegrityConfigsResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", @@ -4812,9 +5780,9 @@ func (c *ProjectsAppsDeviceCheckConfigBatchGetCall) Do(opts ...googleapi.CallOpt } -// method id "firebaseappcheck.projects.apps.deviceCheckConfig.get": +// method id "firebaseappcheck.projects.apps.playIntegrityConfig.get": -type ProjectsAppsDeviceCheckConfigGetCall struct { +type ProjectsAppsPlayIntegrityConfigGetCall struct { s *Service name string urlParams_ gensupport.URLParams @@ -4823,14 +5791,13 @@ type ProjectsAppsDeviceCheckConfigGetCall struct { header_ http.Header } -// Get: Gets the DeviceCheckConfig for the specified app. For security -// reasons, the `private_key` field is never populated in the response. +// Get: Gets the PlayIntegrityConfig for the specified app. // -// - name: The relative resource name of the DeviceCheckConfig, in the +// - name: The relative resource name of the PlayIntegrityConfig, in the // format: ``` -// projects/{project_number}/apps/{app_id}/deviceCheckConfig ```. -func (r *ProjectsAppsDeviceCheckConfigService) Get(name string) *ProjectsAppsDeviceCheckConfigGetCall { - c := &ProjectsAppsDeviceCheckConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} +// projects/{project_number}/apps/{app_id}/playIntegrityConfig ```. +func (r *ProjectsAppsPlayIntegrityConfigService) Get(name string) *ProjectsAppsPlayIntegrityConfigGetCall { + c := &ProjectsAppsPlayIntegrityConfigGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } @@ -4838,7 +5805,7 @@ func (r *ProjectsAppsDeviceCheckConfigService) Get(name string) *ProjectsAppsDev // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsAppsDeviceCheckConfigGetCall) Fields(s ...googleapi.Field) *ProjectsAppsDeviceCheckConfigGetCall { +func (c *ProjectsAppsPlayIntegrityConfigGetCall) Fields(s ...googleapi.Field) *ProjectsAppsPlayIntegrityConfigGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } @@ -4848,7 +5815,7 @@ func (c *ProjectsAppsDeviceCheckConfigGetCall) Fields(s ...googleapi.Field) *Pro // getting updates only after the object has changed since the last // request. Use googleapi.IsNotModified to check whether the response // error from Do is the result of In-None-Match. -func (c *ProjectsAppsDeviceCheckConfigGetCall) IfNoneMatch(entityTag string) *ProjectsAppsDeviceCheckConfigGetCall { +func (c *ProjectsAppsPlayIntegrityConfigGetCall) IfNoneMatch(entityTag string) *ProjectsAppsPlayIntegrityConfigGetCall { c.ifNoneMatch_ = entityTag return c } @@ -4856,21 +5823,21 @@ func (c *ProjectsAppsDeviceCheckConfigGetCall) IfNoneMatch(entityTag string) *Pr // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsAppsDeviceCheckConfigGetCall) Context(ctx context.Context) *ProjectsAppsDeviceCheckConfigGetCall { +func (c *ProjectsAppsPlayIntegrityConfigGetCall) Context(ctx context.Context) *ProjectsAppsPlayIntegrityConfigGetCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsAppsDeviceCheckConfigGetCall) Header() http.Header { +func (c *ProjectsAppsPlayIntegrityConfigGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsAppsDeviceCheckConfigGetCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsAppsPlayIntegrityConfigGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { @@ -4896,16 +5863,16 @@ func (c *ProjectsAppsDeviceCheckConfigGetCall) doRequest(alt string) (*http.Resp return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "firebaseappcheck.projects.apps.deviceCheckConfig.get" call. -// Exactly one of *GoogleFirebaseAppcheckV1betaDeviceCheckConfig or +// Do executes the "firebaseappcheck.projects.apps.playIntegrityConfig.get" call. +// Exactly one of *GoogleFirebaseAppcheckV1betaPlayIntegrityConfig or // error will be non-nil. Any non-2xx status code is an error. Response // headers are in either -// *GoogleFirebaseAppcheckV1betaDeviceCheckConfig.ServerResponse.Header -// or (if a response was returned at all) in +// *GoogleFirebaseAppcheckV1betaPlayIntegrityConfig.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 *ProjectsAppsDeviceCheckConfigGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaDeviceCheckConfig, error) { +func (c *ProjectsAppsPlayIntegrityConfigGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaPlayIntegrityConfig, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -4924,7 +5891,7 @@ func (c *ProjectsAppsDeviceCheckConfigGetCall) Do(opts ...googleapi.CallOption) if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &GoogleFirebaseAppcheckV1betaDeviceCheckConfig{ + ret := &GoogleFirebaseAppcheckV1betaPlayIntegrityConfig{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -4936,25 +5903,25 @@ func (c *ProjectsAppsDeviceCheckConfigGetCall) Do(opts ...googleapi.CallOption) } return ret, nil // { - // "description": "Gets the DeviceCheckConfig for the specified app. For security reasons, the `private_key` field is never populated in the response.", - // "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/deviceCheckConfig", + // "description": "Gets the PlayIntegrityConfig for the specified app.", + // "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/playIntegrityConfig", // "httpMethod": "GET", - // "id": "firebaseappcheck.projects.apps.deviceCheckConfig.get", + // "id": "firebaseappcheck.projects.apps.playIntegrityConfig.get", // "parameterOrder": [ // "name" // ], // "parameters": { // "name": { - // "description": "Required. The relative resource name of the DeviceCheckConfig, in the format: ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ```", + // "description": "Required. The relative resource name of the PlayIntegrityConfig, in the format: ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig ```", // "location": "path", - // "pattern": "^projects/[^/]+/apps/[^/]+/deviceCheckConfig$", + // "pattern": "^projects/[^/]+/apps/[^/]+/playIntegrityConfig$", // "required": true, // "type": "string" // } // }, // "path": "v1beta/{+name}", // "response": { - // "$ref": "GoogleFirebaseAppcheckV1betaDeviceCheckConfig" + // "$ref": "GoogleFirebaseAppcheckV1betaPlayIntegrityConfig" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", @@ -4964,36 +5931,35 @@ func (c *ProjectsAppsDeviceCheckConfigGetCall) Do(opts ...googleapi.CallOption) } -// method id "firebaseappcheck.projects.apps.deviceCheckConfig.patch": +// method id "firebaseappcheck.projects.apps.playIntegrityConfig.patch": -type ProjectsAppsDeviceCheckConfigPatchCall struct { - s *Service - name string - googlefirebaseappcheckv1betadevicecheckconfig *GoogleFirebaseAppcheckV1betaDeviceCheckConfig - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header +type ProjectsAppsPlayIntegrityConfigPatchCall struct { + s *Service + name string + googlefirebaseappcheckv1betaplayintegrityconfig *GoogleFirebaseAppcheckV1betaPlayIntegrityConfig + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// Patch: Updates the DeviceCheckConfig for the specified app. While +// Patch: Updates the PlayIntegrityConfig for the specified app. While // this configuration is incomplete or invalid, the app will be unable -// to exchange DeviceCheck tokens for App Check tokens. For security -// reasons, the `private_key` field is never populated in the response. +// to exchange Play Integrity tokens for App Check tokens. // -// - name: The relative resource name of the DeviceCheck configuration -// object, in the format: ``` -// projects/{project_number}/apps/{app_id}/deviceCheckConfig ```. -func (r *ProjectsAppsDeviceCheckConfigService) Patch(name string, googlefirebaseappcheckv1betadevicecheckconfig *GoogleFirebaseAppcheckV1betaDeviceCheckConfig) *ProjectsAppsDeviceCheckConfigPatchCall { - c := &ProjectsAppsDeviceCheckConfigPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} +// - name: The relative resource name of the Play Integrity +// configuration object, in the format: ``` +// projects/{project_number}/apps/{app_id}/playIntegrityConfig ```. +func (r *ProjectsAppsPlayIntegrityConfigService) Patch(name string, googlefirebaseappcheckv1betaplayintegrityconfig *GoogleFirebaseAppcheckV1betaPlayIntegrityConfig) *ProjectsAppsPlayIntegrityConfigPatchCall { + c := &ProjectsAppsPlayIntegrityConfigPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name - c.googlefirebaseappcheckv1betadevicecheckconfig = googlefirebaseappcheckv1betadevicecheckconfig + c.googlefirebaseappcheckv1betaplayintegrityconfig = googlefirebaseappcheckv1betaplayintegrityconfig return c } // UpdateMask sets the optional parameter "updateMask": Required. A -// comma-separated list of names of fields in the DeviceCheckConfig Gets -// to update. Example: `key_id,private_key`. -func (c *ProjectsAppsDeviceCheckConfigPatchCall) UpdateMask(updateMask string) *ProjectsAppsDeviceCheckConfigPatchCall { +// comma-separated list of names of fields in the PlayIntegrityConfig +// Gets to update. Example: `token_ttl`. +func (c *ProjectsAppsPlayIntegrityConfigPatchCall) UpdateMask(updateMask string) *ProjectsAppsPlayIntegrityConfigPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } @@ -5001,7 +5967,7 @@ func (c *ProjectsAppsDeviceCheckConfigPatchCall) UpdateMask(updateMask string) * // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsAppsDeviceCheckConfigPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsDeviceCheckConfigPatchCall { +func (c *ProjectsAppsPlayIntegrityConfigPatchCall) Fields(s ...googleapi.Field) *ProjectsAppsPlayIntegrityConfigPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } @@ -5009,21 +5975,21 @@ func (c *ProjectsAppsDeviceCheckConfigPatchCall) Fields(s ...googleapi.Field) *P // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsAppsDeviceCheckConfigPatchCall) Context(ctx context.Context) *ProjectsAppsDeviceCheckConfigPatchCall { +func (c *ProjectsAppsPlayIntegrityConfigPatchCall) Context(ctx context.Context) *ProjectsAppsPlayIntegrityConfigPatchCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsAppsDeviceCheckConfigPatchCall) Header() http.Header { +func (c *ProjectsAppsPlayIntegrityConfigPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsAppsDeviceCheckConfigPatchCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsAppsPlayIntegrityConfigPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { @@ -5031,7 +5997,7 @@ func (c *ProjectsAppsDeviceCheckConfigPatchCall) doRequest(alt string) (*http.Re } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betadevicecheckconfig) + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirebaseappcheckv1betaplayintegrityconfig) if err != nil { return nil, err } @@ -5051,16 +6017,16 @@ func (c *ProjectsAppsDeviceCheckConfigPatchCall) doRequest(alt string) (*http.Re return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "firebaseappcheck.projects.apps.deviceCheckConfig.patch" call. -// Exactly one of *GoogleFirebaseAppcheckV1betaDeviceCheckConfig or +// Do executes the "firebaseappcheck.projects.apps.playIntegrityConfig.patch" call. +// Exactly one of *GoogleFirebaseAppcheckV1betaPlayIntegrityConfig or // error will be non-nil. Any non-2xx status code is an error. Response // headers are in either -// *GoogleFirebaseAppcheckV1betaDeviceCheckConfig.ServerResponse.Header -// or (if a response was returned at all) in +// *GoogleFirebaseAppcheckV1betaPlayIntegrityConfig.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 *ProjectsAppsDeviceCheckConfigPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaDeviceCheckConfig, error) { +func (c *ProjectsAppsPlayIntegrityConfigPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirebaseAppcheckV1betaPlayIntegrityConfig, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -5079,7 +6045,7 @@ func (c *ProjectsAppsDeviceCheckConfigPatchCall) Do(opts ...googleapi.CallOption if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &GoogleFirebaseAppcheckV1betaDeviceCheckConfig{ + ret := &GoogleFirebaseAppcheckV1betaPlayIntegrityConfig{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -5091,23 +6057,23 @@ func (c *ProjectsAppsDeviceCheckConfigPatchCall) Do(opts ...googleapi.CallOption } return ret, nil // { - // "description": "Updates the DeviceCheckConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange DeviceCheck tokens for App Check tokens. For security reasons, the `private_key` field is never populated in the response.", - // "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/deviceCheckConfig", + // "description": "Updates the PlayIntegrityConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange Play Integrity tokens for App Check tokens.", + // "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/playIntegrityConfig", // "httpMethod": "PATCH", - // "id": "firebaseappcheck.projects.apps.deviceCheckConfig.patch", + // "id": "firebaseappcheck.projects.apps.playIntegrityConfig.patch", // "parameterOrder": [ // "name" // ], // "parameters": { // "name": { - // "description": "Required. The relative resource name of the DeviceCheck configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ```", + // "description": "Required. The relative resource name of the Play Integrity configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/playIntegrityConfig ```", // "location": "path", - // "pattern": "^projects/[^/]+/apps/[^/]+/deviceCheckConfig$", + // "pattern": "^projects/[^/]+/apps/[^/]+/playIntegrityConfig$", // "required": true, // "type": "string" // }, // "updateMask": { - // "description": "Required. A comma-separated list of names of fields in the DeviceCheckConfig Gets to update. Example: `key_id,private_key`.", + // "description": "Required. A comma-separated list of names of fields in the PlayIntegrityConfig Gets to update. Example: `token_ttl`.", // "format": "google-fieldmask", // "location": "query", // "type": "string" @@ -5115,10 +6081,10 @@ func (c *ProjectsAppsDeviceCheckConfigPatchCall) Do(opts ...googleapi.CallOption // }, // "path": "v1beta/{+name}", // "request": { - // "$ref": "GoogleFirebaseAppcheckV1betaDeviceCheckConfig" + // "$ref": "GoogleFirebaseAppcheckV1betaPlayIntegrityConfig" // }, // "response": { - // "$ref": "GoogleFirebaseAppcheckV1betaDeviceCheckConfig" + // "$ref": "GoogleFirebaseAppcheckV1betaPlayIntegrityConfig" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform", @@ -5139,9 +6105,11 @@ type ProjectsAppsRecaptchaConfigBatchGetCall struct { header_ http.Header } -// BatchGet: Atomically gets the RecaptchaConfigs for the specified list -// of apps. For security reasons, the `site_secret` field is never -// populated in the response. +// BatchGet: The RecaptchaConfig REST resource has been renamed to +// RecaptchaV3Config. Please use BatchGetRecaptchaV3Configs instead. +// Atomically gets the RecaptchaConfigs for the specified list of apps. +// For security reasons, the `site_secret` field is never populated in +// the response. // // - parent: The parent project name shared by all RecaptchaConfigs // being retrieved, in the format ``` projects/{project_number} ``` @@ -5264,7 +6232,7 @@ func (c *ProjectsAppsRecaptchaConfigBatchGetCall) Do(opts ...googleapi.CallOptio } return ret, nil // { - // "description": "Atomically gets the RecaptchaConfigs for the specified list of apps. For security reasons, the `site_secret` field is never populated in the response.", + // "description": "The RecaptchaConfig REST resource has been renamed to RecaptchaV3Config. Please use BatchGetRecaptchaV3Configs instead. Atomically gets the RecaptchaConfigs for the specified list of apps. For security reasons, the `site_secret` field is never populated in the response.", // "flatPath": "v1beta/projects/{projectsId}/apps/-/recaptchaConfig:batchGet", // "httpMethod": "GET", // "id": "firebaseappcheck.projects.apps.recaptchaConfig.batchGet", @@ -5309,8 +6277,10 @@ type ProjectsAppsRecaptchaConfigGetCall struct { header_ http.Header } -// Get: Gets the RecaptchaConfig for the specified app. For security -// reasons, the `site_secret` field is never populated in the response. +// Get: The RecaptchaConfig REST resource has been renamed to +// RecaptchaV3Config. Please use GetRecaptchaV3Config instead. Gets the +// RecaptchaConfig for the specified app. For security reasons, the +// `site_secret` field is never populated in the response. // // - name: The relative resource name of the RecaptchaConfig, in the // format: ``` projects/{project_number}/apps/{app_id}/recaptchaConfig @@ -5422,7 +6392,7 @@ func (c *ProjectsAppsRecaptchaConfigGetCall) Do(opts ...googleapi.CallOption) (* } return ret, nil // { - // "description": "Gets the RecaptchaConfig for the specified app. For security reasons, the `site_secret` field is never populated in the response.", + // "description": "The RecaptchaConfig REST resource has been renamed to RecaptchaV3Config. Please use GetRecaptchaV3Config instead. Gets the RecaptchaConfig for the specified app. For security reasons, the `site_secret` field is never populated in the response.", // "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/recaptchaConfig", // "httpMethod": "GET", // "id": "firebaseappcheck.projects.apps.recaptchaConfig.get", @@ -5461,7 +6431,9 @@ type ProjectsAppsRecaptchaConfigPatchCall struct { header_ http.Header } -// Patch: Updates the RecaptchaConfig for the specified app. While this +// Patch: The RecaptchaConfig REST resource has been renamed to +// RecaptchaV3Config. Please use UpdateRecaptchaV3Config instead. +// Updates the RecaptchaConfig for the specified app. While this // configuration is incomplete or invalid, the app will be unable to // exchange reCAPTCHA tokens for App Check tokens. For security reasons, // the `site_secret` field is never populated in the response. @@ -5577,7 +6549,7 @@ func (c *ProjectsAppsRecaptchaConfigPatchCall) Do(opts ...googleapi.CallOption) } return ret, nil // { - // "description": "Updates the RecaptchaConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange reCAPTCHA tokens for App Check tokens. For security reasons, the `site_secret` field is never populated in the response.", + // "description": "The RecaptchaConfig REST resource has been renamed to RecaptchaV3Config. Please use UpdateRecaptchaV3Config instead. Updates the RecaptchaConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange reCAPTCHA tokens for App Check tokens. For security reasons, the `site_secret` field is never populated in the response.", // "flatPath": "v1beta/projects/{projectsId}/apps/{appsId}/recaptchaConfig", // "httpMethod": "PATCH", // "id": "firebaseappcheck.projects.apps.recaptchaConfig.patch", diff --git a/firestore/v1/firestore-api.json b/firestore/v1/firestore-api.json index 78e111eafcd..4817190d19d 100644 --- a/firestore/v1/firestore-api.json +++ b/firestore/v1/firestore-api.json @@ -1055,35 +1055,6 @@ "https://www.googleapis.com/auth/datastore" ] }, - "runAggregationQuery": { - "description": "Runs an aggregation query. Rather than producing Document results like Firestore.RunQuery, this API allows running an aggregation to produce a series of AggregationResult server-side. High-Level Example: ``` -- Return the number of documents in table given a filter. SELECT COUNT(*) FROM ( SELECT * FROM k where a = true ); ```", - "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/documents/{documentsId}/{documentsId1}:runAggregationQuery", - "httpMethod": "POST", - "id": "firestore.projects.databases.documents.runAggregationQuery", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents` or `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`", - "location": "path", - "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+parent}:runAggregationQuery", - "request": { - "$ref": "RunAggregationQueryRequest" - }, - "response": { - "$ref": "RunAggregationQueryResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/datastore" - ] - }, "runQuery": { "description": "Runs a query.", "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/documents/{documentsId}/{documentsId1}:runQuery", @@ -1348,38 +1319,9 @@ } } }, - "revision": "20220402", + "revision": "20220428", "rootUrl": "https://firestore.googleapis.com/", "schemas": { - "Aggregation": { - "description": "Defines a aggregation that produces a single result.", - "id": "Aggregation", - "properties": { - "alias": { - "description": "Required. The name of the field to store the result of the aggregation into. Requires: * Must be present. * Must be unique across all aggregation aliases. * Conform to existing document field name limitations.", - "type": "string" - }, - "count": { - "$ref": "Count", - "description": "Count aggregator." - } - }, - "type": "object" - }, - "AggregationResult": { - "description": "The result of a single bucket from a Firestore aggregation query. The keys of `aggregate_fields` are the same for all results in an aggregation query, unlike document queries which can have different fields present for each result.", - "id": "AggregationResult", - "properties": { - "aggregateFields": { - "additionalProperties": { - "$ref": "Value" - }, - "description": "The result of the aggregation functions, ex: `COUNT(*) AS total_docs`. The key is the alias assigned to the aggregation function on input and the size of this map equals the number of aggregation functions in the query.", - "type": "object" - } - }, - "type": "object" - }, "ArrayValue": { "description": "An array value.", "id": "ArrayValue", @@ -1595,18 +1537,6 @@ }, "type": "object" }, - "Count": { - "description": "Count of documents that match the query. The `COUNT(*)` aggregation function operates on the entire document so it does not require a field reference.", - "id": "Count", - "properties": { - "upTo": { - "description": "Optional. Optional constraint on the maximum number of documents to count. This provides a way to set an upper bound on the number of documents to scan, limiting latency and cost. High-Level Example: ``` SELECT COUNT_UP_TO(1000) FROM ( SELECT * FROM k ); ``` Requires: * Must be greater than zero when present.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, "Cursor": { "description": "A position in a query result set.", "id": "Cursor", @@ -2885,52 +2815,6 @@ }, "type": "object" }, - "RunAggregationQueryRequest": { - "description": "The request for Firestore.RunAggregationQuery.", - "id": "RunAggregationQueryRequest", - "properties": { - "newTransaction": { - "$ref": "TransactionOptions", - "description": "Starts a new transaction as part of the query, defaulting to read-only. The new transaction ID will be returned as the first response in the stream." - }, - "readTime": { - "description": "Executes the query at the given timestamp. Requires: * Cannot be more than 270 seconds in the past.", - "format": "google-datetime", - "type": "string" - }, - "structuredAggregationQuery": { - "$ref": "StructuredAggregationQuery", - "description": "An aggregation query." - }, - "transaction": { - "description": "Run the aggregation within an already active transaction. The value here is the opaque transaction ID to execute the query in.", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "RunAggregationQueryResponse": { - "description": "The response for Firestore.RunAggregationQuery.", - "id": "RunAggregationQueryResponse", - "properties": { - "readTime": { - "description": "The time at which the aggregate value is valid for.", - "format": "google-datetime", - "type": "string" - }, - "result": { - "$ref": "AggregationResult", - "description": "A single aggregation result. Not present when reporting partial progress or when the query produced zero results." - }, - "transaction": { - "description": "The transaction that was started as part of this request. Only present on the first response when the request requested to start a new transaction.", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, "RunQueryRequest": { "description": "The request for Firestore.RunQuery.", "id": "RunQueryRequest", @@ -2964,6 +2848,10 @@ "$ref": "Document", "description": "A query result, not set when reporting partial progress." }, + "done": { + "description": "If present, Firestore has completely finished the request and no more documents will be returned.", + "type": "boolean" + }, "readTime": { "description": "The time at which the document was read. This may be monotonically increasing; in this case, the previous documents in the result stream are guaranteed not to have changed between their `read_time` and this one. If the query returns no results, a response with `read_time` and no `document` will be sent, and this represents the time at which the query was run.", "format": "google-datetime", @@ -3009,24 +2897,6 @@ }, "type": "object" }, - "StructuredAggregationQuery": { - "description": "Firestore query for running an aggregation over a StructuredQuery.", - "id": "StructuredAggregationQuery", - "properties": { - "aggregations": { - "description": "Optional. Series of aggregations to apply on top of the `structured_query`.", - "items": { - "$ref": "Aggregation" - }, - "type": "array" - }, - "structuredQuery": { - "$ref": "StructuredQuery", - "description": "Nested structured query." - } - }, - "type": "object" - }, "StructuredQuery": { "description": "A Firestore query.", "id": "StructuredQuery", diff --git a/firestore/v1/firestore-gen.go b/firestore/v1/firestore-gen.go index d8ed1d99b55..45608566396 100644 --- a/firestore/v1/firestore-gen.go +++ b/firestore/v1/firestore-gen.go @@ -240,75 +240,6 @@ type ProjectsLocationsService struct { s *Service } -// Aggregation: Defines a aggregation that produces a single result. -type Aggregation struct { - // Alias: Required. The name of the field to store the result of the - // aggregation into. Requires: * Must be present. * Must be unique - // across all aggregation aliases. * Conform to existing document field - // name limitations. - Alias string `json:"alias,omitempty"` - - // Count: Count aggregator. - Count *Count `json:"count,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Alias") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Alias") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *Aggregation) MarshalJSON() ([]byte, error) { - type NoMethod Aggregation - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// AggregationResult: The result of a single bucket from a Firestore -// aggregation query. The keys of `aggregate_fields` are the same for -// all results in an aggregation query, unlike document queries which -// can have different fields present for each result. -type AggregationResult struct { - // AggregateFields: The result of the aggregation functions, ex: - // `COUNT(*) AS total_docs`. The key is the alias assigned to the - // aggregation function on input and the size of this map equals the - // number of aggregation functions in the query. - AggregateFields map[string]Value `json:"aggregateFields,omitempty"` - - // ForceSendFields is a list of field names (e.g. "AggregateFields") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "AggregateFields") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *AggregationResult) MarshalJSON() ([]byte, error) { - type NoMethod AggregationResult - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // ArrayValue: An array value. type ArrayValue struct { // Values: Values in the array. @@ -713,40 +644,6 @@ func (s *CompositeFilter) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Count: Count of documents that match the query. The `COUNT(*)` -// aggregation function operates on the entire document so it does not -// require a field reference. -type Count struct { - // UpTo: Optional. Optional constraint on the maximum number of - // documents to count. This provides a way to set an upper bound on the - // number of documents to scan, limiting latency and cost. High-Level - // Example: ``` SELECT COUNT_UP_TO(1000) FROM ( SELECT * FROM k ); ``` - // Requires: * Must be greater than zero when present. - UpTo int64 `json:"upTo,omitempty"` - - // ForceSendFields is a list of field names (e.g. "UpTo") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "UpTo") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *Count) MarshalJSON() ([]byte, error) { - type NoMethod Count - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // Cursor: A position in a query result set. type Cursor struct { // Before: If the position is just before or just after the given @@ -3018,92 +2915,6 @@ func (s *RollbackRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// RunAggregationQueryRequest: The request for -// Firestore.RunAggregationQuery. -type RunAggregationQueryRequest struct { - // NewTransaction: Starts a new transaction as part of the query, - // defaulting to read-only. The new transaction ID will be returned as - // the first response in the stream. - NewTransaction *TransactionOptions `json:"newTransaction,omitempty"` - - // ReadTime: Executes the query at the given timestamp. Requires: * - // Cannot be more than 270 seconds in the past. - ReadTime string `json:"readTime,omitempty"` - - // StructuredAggregationQuery: An aggregation query. - StructuredAggregationQuery *StructuredAggregationQuery `json:"structuredAggregationQuery,omitempty"` - - // Transaction: Run the aggregation within an already active - // transaction. The value here is the opaque transaction ID to execute - // the query in. - Transaction string `json:"transaction,omitempty"` - - // ForceSendFields is a list of field names (e.g. "NewTransaction") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "NewTransaction") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *RunAggregationQueryRequest) MarshalJSON() ([]byte, error) { - type NoMethod RunAggregationQueryRequest - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// RunAggregationQueryResponse: The response for -// Firestore.RunAggregationQuery. -type RunAggregationQueryResponse struct { - // ReadTime: The time at which the aggregate value is valid for. - ReadTime string `json:"readTime,omitempty"` - - // Result: A single aggregation result. Not present when reporting - // partial progress or when the query produced zero results. - Result *AggregationResult `json:"result,omitempty"` - - // Transaction: The transaction that was started as part of this - // request. Only present on the first response when the request - // requested to start a new transaction. - Transaction string `json:"transaction,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. "ReadTime") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "ReadTime") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *RunAggregationQueryResponse) MarshalJSON() ([]byte, error) { - type NoMethod RunAggregationQueryResponse - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // RunQueryRequest: The request for Firestore.RunQuery. type RunQueryRequest struct { // NewTransaction: Starts a new transaction and reads the documents. @@ -3151,6 +2962,10 @@ type RunQueryResponse struct { // Document: A query result, not set when reporting partial progress. Document *Document `json:"document,omitempty"` + // Done: If present, Firestore has completely finished the request and + // no more documents will be returned. + Done bool `json:"done,omitempty"` + // ReadTime: The time at which the document was read. This may be // monotonically increasing; in this case, the previous documents in the // result stream are guaranteed not to have changed between their @@ -3240,39 +3055,6 @@ func (s *Status) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// StructuredAggregationQuery: Firestore query for running an -// aggregation over a StructuredQuery. -type StructuredAggregationQuery struct { - // Aggregations: Optional. Series of aggregations to apply on top of the - // `structured_query`. - Aggregations []*Aggregation `json:"aggregations,omitempty"` - - // StructuredQuery: Nested structured query. - StructuredQuery *StructuredQuery `json:"structuredQuery,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Aggregations") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Aggregations") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *StructuredAggregationQuery) MarshalJSON() ([]byte, error) { - type NoMethod StructuredAggregationQuery - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // StructuredQuery: A Firestore query. type StructuredQuery struct { // EndAt: A end point for the query results. @@ -8261,160 +8043,6 @@ func (c *ProjectsDatabasesDocumentsRollbackCall) Do(opts ...googleapi.CallOption } -// method id "firestore.projects.databases.documents.runAggregationQuery": - -type ProjectsDatabasesDocumentsRunAggregationQueryCall struct { - s *Service - parent string - runaggregationqueryrequest *RunAggregationQueryRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// RunAggregationQuery: Runs an aggregation query. Rather than producing -// Document results like Firestore.RunQuery, this API allows running an -// aggregation to produce a series of AggregationResult server-side. -// High-Level Example: ``` -- Return the number of documents in table -// given a filter. SELECT COUNT(*) FROM ( SELECT * FROM k where a = true -// ); ``` -// -// - parent: The parent resource name. In the format: -// `projects/{project_id}/databases/{database_id}/documents` or -// `projects/{project_id}/databases/{database_id}/documents/{document_p -// ath}`. For example: -// `projects/my-project/databases/my-database/documents` or -// `projects/my-project/databases/my-database/documents/chatrooms/my-ch -// atroom`. -func (r *ProjectsDatabasesDocumentsService) RunAggregationQuery(parent string, runaggregationqueryrequest *RunAggregationQueryRequest) *ProjectsDatabasesDocumentsRunAggregationQueryCall { - c := &ProjectsDatabasesDocumentsRunAggregationQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.parent = parent - c.runaggregationqueryrequest = runaggregationqueryrequest - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsDatabasesDocumentsRunAggregationQueryCall) Fields(s ...googleapi.Field) *ProjectsDatabasesDocumentsRunAggregationQueryCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsDatabasesDocumentsRunAggregationQueryCall) Context(ctx context.Context) *ProjectsDatabasesDocumentsRunAggregationQueryCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsDatabasesDocumentsRunAggregationQueryCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsDatabasesDocumentsRunAggregationQueryCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.runaggregationqueryrequest) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}:runAggregationQuery") - urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("POST", urls, body) - if err != nil { - return nil, err - } - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "parent": c.parent, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "firestore.projects.databases.documents.runAggregationQuery" call. -// Exactly one of *RunAggregationQueryResponse or error will be non-nil. -// Any non-2xx status code is an error. Response headers are in either -// *RunAggregationQueryResponse.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 *ProjectsDatabasesDocumentsRunAggregationQueryCall) Do(opts ...googleapi.CallOption) (*RunAggregationQueryResponse, error) { - gensupport.SetOptions(c.urlParams_, opts...) - res, err := c.doRequest("json") - if res != nil && res.StatusCode == http.StatusNotModified { - if res.Body != nil { - res.Body.Close() - } - return nil, &googleapi.Error{ - Code: res.StatusCode, - Header: res.Header, - } - } - if err != nil { - return nil, err - } - defer googleapi.CloseBody(res) - if err := googleapi.CheckResponse(res); err != nil { - return nil, err - } - ret := &RunAggregationQueryResponse{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := gensupport.DecodeResponse(target, res); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Runs an aggregation query. Rather than producing Document results like Firestore.RunQuery, this API allows running an aggregation to produce a series of AggregationResult server-side. High-Level Example: ``` -- Return the number of documents in table given a filter. SELECT COUNT(*) FROM ( SELECT * FROM k where a = true ); ```", - // "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/documents/{documentsId}/{documentsId1}:runAggregationQuery", - // "httpMethod": "POST", - // "id": "firestore.projects.databases.documents.runAggregationQuery", - // "parameterOrder": [ - // "parent" - // ], - // "parameters": { - // "parent": { - // "description": "Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents` or `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`", - // "location": "path", - // "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1/{+parent}:runAggregationQuery", - // "request": { - // "$ref": "RunAggregationQueryRequest" - // }, - // "response": { - // "$ref": "RunAggregationQueryResponse" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/datastore" - // ] - // } - -} - // method id "firestore.projects.databases.documents.runQuery": type ProjectsDatabasesDocumentsRunQueryCall struct { diff --git a/firestore/v1beta1/firestore-api.json b/firestore/v1beta1/firestore-api.json index d13de60400e..81749e85c2a 100644 --- a/firestore/v1beta1/firestore-api.json +++ b/firestore/v1beta1/firestore-api.json @@ -730,35 +730,6 @@ "https://www.googleapis.com/auth/datastore" ] }, - "runAggregationQuery": { - "description": "Runs an aggregation query. Rather than producing Document results like Firestore.RunQuery, this API allows running an aggregation to produce a series of AggregationResult server-side. High-Level Example: ``` -- Return the number of documents in table given a filter. SELECT COUNT(*) FROM ( SELECT * FROM k where a = true ); ```", - "flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents/{documentsId}/{documentsId1}:runAggregationQuery", - "httpMethod": "POST", - "id": "firestore.projects.databases.documents.runAggregationQuery", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents` or `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`", - "location": "path", - "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+parent}:runAggregationQuery", - "request": { - "$ref": "RunAggregationQueryRequest" - }, - "response": { - "$ref": "RunAggregationQueryResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/datastore" - ] - }, "runQuery": { "description": "Runs a query.", "flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents/{documentsId}/{documentsId1}:runQuery", @@ -950,38 +921,9 @@ } } }, - "revision": "20220402", + "revision": "20220428", "rootUrl": "https://firestore.googleapis.com/", "schemas": { - "Aggregation": { - "description": "Defines a aggregation that produces a single result.", - "id": "Aggregation", - "properties": { - "alias": { - "description": "Required. The name of the field to store the result of the aggregation into. Requires: * Must be present. * Must be unique across all aggregation aliases. * Conform to existing document field name limitations.", - "type": "string" - }, - "count": { - "$ref": "Count", - "description": "Count aggregator." - } - }, - "type": "object" - }, - "AggregationResult": { - "description": "The result of a single bucket from a Firestore aggregation query. The keys of `aggregate_fields` are the same for all results in an aggregation query, unlike document queries which can have different fields present for each result.", - "id": "AggregationResult", - "properties": { - "aggregateFields": { - "additionalProperties": { - "$ref": "Value" - }, - "description": "The result of the aggregation functions, ex: `COUNT(*) AS total_docs`. The key is the alias assigned to the aggregation function on input and the size of this map equals the number of aggregation functions in the query.", - "type": "object" - } - }, - "type": "object" - }, "ArrayValue": { "description": "An array value.", "id": "ArrayValue", @@ -1197,18 +1139,6 @@ }, "type": "object" }, - "Count": { - "description": "Count of documents that match the query. The `COUNT(*)` aggregation function operates on the entire document so it does not require a field reference.", - "id": "Count", - "properties": { - "upTo": { - "description": "Optional. Optional constraint on the maximum number of documents to count. This provides a way to set an upper bound on the number of documents to scan, limiting latency and cost. High-Level Example: ``` SELECT COUNT_UP_TO(1000) FROM ( SELECT * FROM k ); ``` Requires: * Must be greater than zero when present.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, "Cursor": { "description": "A position in a query result set.", "id": "Cursor", @@ -2163,52 +2093,6 @@ }, "type": "object" }, - "RunAggregationQueryRequest": { - "description": "The request for Firestore.RunAggregationQuery.", - "id": "RunAggregationQueryRequest", - "properties": { - "newTransaction": { - "$ref": "TransactionOptions", - "description": "Starts a new transaction as part of the query, defaulting to read-only. The new transaction ID will be returned as the first response in the stream." - }, - "readTime": { - "description": "Executes the query at the given timestamp. Requires: * Cannot be more than 270 seconds in the past.", - "format": "google-datetime", - "type": "string" - }, - "structuredAggregationQuery": { - "$ref": "StructuredAggregationQuery", - "description": "An aggregation query." - }, - "transaction": { - "description": "Run the aggregation within an already active transaction. The value here is the opaque transaction ID to execute the query in.", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "RunAggregationQueryResponse": { - "description": "The response for Firestore.RunAggregationQuery.", - "id": "RunAggregationQueryResponse", - "properties": { - "readTime": { - "description": "The time at which the aggregate value is valid for.", - "format": "google-datetime", - "type": "string" - }, - "result": { - "$ref": "AggregationResult", - "description": "A single aggregation result. Not present when reporting partial progress or when the query produced zero results." - }, - "transaction": { - "description": "The transaction that was started as part of this request. Only present on the first response when the request requested to start a new transaction.", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, "RunQueryRequest": { "description": "The request for Firestore.RunQuery.", "id": "RunQueryRequest", @@ -2242,6 +2126,10 @@ "$ref": "Document", "description": "A query result, not set when reporting partial progress." }, + "done": { + "description": "If present, Firestore has completely finished the request and no more documents will be returned.", + "type": "boolean" + }, "readTime": { "description": "The time at which the document was read. This may be monotonically increasing; in this case, the previous documents in the result stream are guaranteed not to have changed between their `read_time` and this one. If the query returns no results, a response with `read_time` and no `document` will be sent, and this represents the time at which the query was run.", "format": "google-datetime", @@ -2287,24 +2175,6 @@ }, "type": "object" }, - "StructuredAggregationQuery": { - "description": "Firestore query for running an aggregation over a StructuredQuery.", - "id": "StructuredAggregationQuery", - "properties": { - "aggregations": { - "description": "Optional. Series of aggregations to apply on top of the `structured_query`.", - "items": { - "$ref": "Aggregation" - }, - "type": "array" - }, - "structuredQuery": { - "$ref": "StructuredQuery", - "description": "Nested structured query." - } - }, - "type": "object" - }, "StructuredQuery": { "description": "A Firestore query.", "id": "StructuredQuery", diff --git a/firestore/v1beta1/firestore-gen.go b/firestore/v1beta1/firestore-gen.go index 505c33fa82b..ef01f45fe33 100644 --- a/firestore/v1beta1/firestore-gen.go +++ b/firestore/v1beta1/firestore-gen.go @@ -192,75 +192,6 @@ type ProjectsDatabasesIndexesService struct { s *Service } -// Aggregation: Defines a aggregation that produces a single result. -type Aggregation struct { - // Alias: Required. The name of the field to store the result of the - // aggregation into. Requires: * Must be present. * Must be unique - // across all aggregation aliases. * Conform to existing document field - // name limitations. - Alias string `json:"alias,omitempty"` - - // Count: Count aggregator. - Count *Count `json:"count,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Alias") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Alias") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *Aggregation) MarshalJSON() ([]byte, error) { - type NoMethod Aggregation - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// AggregationResult: The result of a single bucket from a Firestore -// aggregation query. The keys of `aggregate_fields` are the same for -// all results in an aggregation query, unlike document queries which -// can have different fields present for each result. -type AggregationResult struct { - // AggregateFields: The result of the aggregation functions, ex: - // `COUNT(*) AS total_docs`. The key is the alias assigned to the - // aggregation function on input and the size of this map equals the - // number of aggregation functions in the query. - AggregateFields map[string]Value `json:"aggregateFields,omitempty"` - - // ForceSendFields is a list of field names (e.g. "AggregateFields") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "AggregateFields") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *AggregationResult) MarshalJSON() ([]byte, error) { - type NoMethod AggregationResult - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // ArrayValue: An array value. type ArrayValue struct { // Values: Values in the array. @@ -665,40 +596,6 @@ func (s *CompositeFilter) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Count: Count of documents that match the query. The `COUNT(*)` -// aggregation function operates on the entire document so it does not -// require a field reference. -type Count struct { - // UpTo: Optional. Optional constraint on the maximum number of - // documents to count. This provides a way to set an upper bound on the - // number of documents to scan, limiting latency and cost. High-Level - // Example: ``` SELECT COUNT_UP_TO(1000) FROM ( SELECT * FROM k ); ``` - // Requires: * Must be greater than zero when present. - UpTo int64 `json:"upTo,omitempty"` - - // ForceSendFields is a list of field names (e.g. "UpTo") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "UpTo") to include in API - // requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *Count) MarshalJSON() ([]byte, error) { - type NoMethod Count - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // Cursor: A position in a query result set. type Cursor struct { // Before: If the position is just before or just after the given @@ -2426,92 +2323,6 @@ func (s *RollbackRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// RunAggregationQueryRequest: The request for -// Firestore.RunAggregationQuery. -type RunAggregationQueryRequest struct { - // NewTransaction: Starts a new transaction as part of the query, - // defaulting to read-only. The new transaction ID will be returned as - // the first response in the stream. - NewTransaction *TransactionOptions `json:"newTransaction,omitempty"` - - // ReadTime: Executes the query at the given timestamp. Requires: * - // Cannot be more than 270 seconds in the past. - ReadTime string `json:"readTime,omitempty"` - - // StructuredAggregationQuery: An aggregation query. - StructuredAggregationQuery *StructuredAggregationQuery `json:"structuredAggregationQuery,omitempty"` - - // Transaction: Run the aggregation within an already active - // transaction. The value here is the opaque transaction ID to execute - // the query in. - Transaction string `json:"transaction,omitempty"` - - // ForceSendFields is a list of field names (e.g. "NewTransaction") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "NewTransaction") to - // include in API requests with the JSON null value. By default, fields - // with empty values are omitted from API requests. However, any field - // with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *RunAggregationQueryRequest) MarshalJSON() ([]byte, error) { - type NoMethod RunAggregationQueryRequest - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// RunAggregationQueryResponse: The response for -// Firestore.RunAggregationQuery. -type RunAggregationQueryResponse struct { - // ReadTime: The time at which the aggregate value is valid for. - ReadTime string `json:"readTime,omitempty"` - - // Result: A single aggregation result. Not present when reporting - // partial progress or when the query produced zero results. - Result *AggregationResult `json:"result,omitempty"` - - // Transaction: The transaction that was started as part of this - // request. Only present on the first response when the request - // requested to start a new transaction. - Transaction string `json:"transaction,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. "ReadTime") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "ReadTime") to include in - // API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. However, any field with an - // empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *RunAggregationQueryResponse) MarshalJSON() ([]byte, error) { - type NoMethod RunAggregationQueryResponse - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // RunQueryRequest: The request for Firestore.RunQuery. type RunQueryRequest struct { // NewTransaction: Starts a new transaction and reads the documents. @@ -2559,6 +2370,10 @@ type RunQueryResponse struct { // Document: A query result, not set when reporting partial progress. Document *Document `json:"document,omitempty"` + // Done: If present, Firestore has completely finished the request and + // no more documents will be returned. + Done bool `json:"done,omitempty"` + // ReadTime: The time at which the document was read. This may be // monotonically increasing; in this case, the previous documents in the // result stream are guaranteed not to have changed between their @@ -2648,39 +2463,6 @@ func (s *Status) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// StructuredAggregationQuery: Firestore query for running an -// aggregation over a StructuredQuery. -type StructuredAggregationQuery struct { - // Aggregations: Optional. Series of aggregations to apply on top of the - // `structured_query`. - Aggregations []*Aggregation `json:"aggregations,omitempty"` - - // StructuredQuery: Nested structured query. - StructuredQuery *StructuredQuery `json:"structuredQuery,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Aggregations") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "Aggregations") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *StructuredAggregationQuery) MarshalJSON() ([]byte, error) { - type NoMethod StructuredAggregationQuery - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // StructuredQuery: A Firestore query. type StructuredQuery struct { // EndAt: A end point for the query results. @@ -6017,160 +5799,6 @@ func (c *ProjectsDatabasesDocumentsRollbackCall) Do(opts ...googleapi.CallOption } -// method id "firestore.projects.databases.documents.runAggregationQuery": - -type ProjectsDatabasesDocumentsRunAggregationQueryCall struct { - s *Service - parent string - runaggregationqueryrequest *RunAggregationQueryRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// RunAggregationQuery: Runs an aggregation query. Rather than producing -// Document results like Firestore.RunQuery, this API allows running an -// aggregation to produce a series of AggregationResult server-side. -// High-Level Example: ``` -- Return the number of documents in table -// given a filter. SELECT COUNT(*) FROM ( SELECT * FROM k where a = true -// ); ``` -// -// - parent: The parent resource name. In the format: -// `projects/{project_id}/databases/{database_id}/documents` or -// `projects/{project_id}/databases/{database_id}/documents/{document_p -// ath}`. For example: -// `projects/my-project/databases/my-database/documents` or -// `projects/my-project/databases/my-database/documents/chatrooms/my-ch -// atroom`. -func (r *ProjectsDatabasesDocumentsService) RunAggregationQuery(parent string, runaggregationqueryrequest *RunAggregationQueryRequest) *ProjectsDatabasesDocumentsRunAggregationQueryCall { - c := &ProjectsDatabasesDocumentsRunAggregationQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.parent = parent - c.runaggregationqueryrequest = runaggregationqueryrequest - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsDatabasesDocumentsRunAggregationQueryCall) Fields(s ...googleapi.Field) *ProjectsDatabasesDocumentsRunAggregationQueryCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsDatabasesDocumentsRunAggregationQueryCall) Context(ctx context.Context) *ProjectsDatabasesDocumentsRunAggregationQueryCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsDatabasesDocumentsRunAggregationQueryCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsDatabasesDocumentsRunAggregationQueryCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.runaggregationqueryrequest) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}:runAggregationQuery") - urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("POST", urls, body) - if err != nil { - return nil, err - } - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "parent": c.parent, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "firestore.projects.databases.documents.runAggregationQuery" call. -// Exactly one of *RunAggregationQueryResponse or error will be non-nil. -// Any non-2xx status code is an error. Response headers are in either -// *RunAggregationQueryResponse.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 *ProjectsDatabasesDocumentsRunAggregationQueryCall) Do(opts ...googleapi.CallOption) (*RunAggregationQueryResponse, error) { - gensupport.SetOptions(c.urlParams_, opts...) - res, err := c.doRequest("json") - if res != nil && res.StatusCode == http.StatusNotModified { - if res.Body != nil { - res.Body.Close() - } - return nil, &googleapi.Error{ - Code: res.StatusCode, - Header: res.Header, - } - } - if err != nil { - return nil, err - } - defer googleapi.CloseBody(res) - if err := googleapi.CheckResponse(res); err != nil { - return nil, err - } - ret := &RunAggregationQueryResponse{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := gensupport.DecodeResponse(target, res); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Runs an aggregation query. Rather than producing Document results like Firestore.RunQuery, this API allows running an aggregation to produce a series of AggregationResult server-side. High-Level Example: ``` -- Return the number of documents in table given a filter. SELECT COUNT(*) FROM ( SELECT * FROM k where a = true ); ```", - // "flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents/{documentsId}/{documentsId1}:runAggregationQuery", - // "httpMethod": "POST", - // "id": "firestore.projects.databases.documents.runAggregationQuery", - // "parameterOrder": [ - // "parent" - // ], - // "parameters": { - // "parent": { - // "description": "Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents` or `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`", - // "location": "path", - // "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1beta1/{+parent}:runAggregationQuery", - // "request": { - // "$ref": "RunAggregationQueryRequest" - // }, - // "response": { - // "$ref": "RunAggregationQueryResponse" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/datastore" - // ] - // } - -} - // method id "firestore.projects.databases.documents.runQuery": type ProjectsDatabasesDocumentsRunQueryCall struct { diff --git a/gkehub/v1/gkehub-api.json b/gkehub/v1/gkehub-api.json index 1b73272573f..e983955ba18 100644 --- a/gkehub/v1/gkehub-api.json +++ b/gkehub/v1/gkehub-api.json @@ -905,7 +905,7 @@ } } }, - "revision": "20220408", + "revision": "20220422", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AppDevExperienceFeatureSpec": { @@ -1941,6 +1941,133 @@ }, "type": "object" }, + "IdentityServiceAuthMethod": { + "description": "Configuration of an auth method for a member/cluster. Only one authentication method (e.g., OIDC and LDAP) can be set per AuthMethod.", + "id": "IdentityServiceAuthMethod", + "properties": { + "name": { + "description": "Identifier for auth config.", + "type": "string" + }, + "oidcConfig": { + "$ref": "IdentityServiceOidcConfig", + "description": "OIDC specific configuration." + }, + "proxy": { + "description": "Proxy server address to use for auth method.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceMembershipSpec": { + "description": "**Anthos Identity Service**: Configuration for a single Membership.", + "id": "IdentityServiceMembershipSpec", + "properties": { + "authMethods": { + "description": "A member may support multiple auth methods.", + "items": { + "$ref": "IdentityServiceAuthMethod" + }, + "type": "array" + } + }, + "type": "object" + }, + "IdentityServiceMembershipState": { + "description": "**Anthos Identity Service**: State for a single Membership.", + "id": "IdentityServiceMembershipState", + "properties": { + "failureReason": { + "description": "The reason of the failure.", + "type": "string" + }, + "installedVersion": { + "description": "Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK.", + "type": "string" + }, + "memberConfig": { + "$ref": "IdentityServiceMembershipSpec", + "description": "Last reconciled membership configuration" + }, + "state": { + "description": "Deployment state on this member", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "OK", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified state", + "deployment succeeds", + "Failure with error." + ], + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceOidcConfig": { + "description": "Configuration for OIDC Auth flow.", + "id": "IdentityServiceOidcConfig", + "properties": { + "certificateAuthorityData": { + "description": "PEM-encoded CA for OIDC provider.", + "type": "string" + }, + "clientId": { + "description": "ID for OIDC client application.", + "type": "string" + }, + "clientSecret": { + "description": "Input only. Unencrypted OIDC client secret will be passed to the GKE Hub CLH.", + "type": "string" + }, + "deployCloudConsoleProxy": { + "description": "Flag to denote if reverse proxy is used to connect to auth provider. This flag should be set to true when provider is not reachable by Google Cloud Console.", + "type": "boolean" + }, + "encryptedClientSecret": { + "description": "Output only. Encrypted OIDC Client secret", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "extraParams": { + "description": "Comma-separated list of key-value pairs.", + "type": "string" + }, + "groupPrefix": { + "description": "Prefix to prepend to group name.", + "type": "string" + }, + "groupsClaim": { + "description": "Claim in OIDC ID token that holds group information.", + "type": "string" + }, + "issuerUri": { + "description": "URI for the OIDC provider. This should point to the level below .well-known/openid-configuration.", + "type": "string" + }, + "kubectlRedirectUri": { + "description": "Registered redirect uri to redirect users going through OAuth flow using kubectl plugin.", + "type": "string" + }, + "scopes": { + "description": "Comma-separated list of identifiers.", + "type": "string" + }, + "userClaim": { + "description": "Claim in OIDC ID token that holds username.", + "type": "string" + }, + "userPrefix": { + "description": "Prefix to prepend to user name.", + "type": "string" + } + }, + "type": "object" + }, "KubernetesMetadata": { "description": "KubernetesMetadata provides informational metadata for Memberships representing Kubernetes clusters.", "id": "KubernetesMetadata", @@ -2236,6 +2363,10 @@ "$ref": "ConfigManagementMembershipSpec", "description": "Config Management-specific spec." }, + "identityservice": { + "$ref": "IdentityServiceMembershipSpec", + "description": "Identity Service-specific spec." + }, "mesh": { "$ref": "ServiceMeshMembershipSpec", "description": "Anthos Service Mesh-specific spec" @@ -2255,6 +2386,10 @@ "$ref": "ConfigManagementMembershipState", "description": "Config Management-specific state." }, + "identityservice": { + "$ref": "IdentityServiceMembershipState", + "description": "Identity Service-specific state." + }, "servicemesh": { "$ref": "ServiceMeshMembershipState", "description": "Service Mesh-specific state." diff --git a/gkehub/v1/gkehub-gen.go b/gkehub/v1/gkehub-gen.go index 5907d8bea5d..6b7635dae92 100644 --- a/gkehub/v1/gkehub-gen.go +++ b/gkehub/v1/gkehub-gen.go @@ -1889,6 +1889,186 @@ func (s *GoogleRpcStatus) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// IdentityServiceAuthMethod: Configuration of an auth method for a +// member/cluster. Only one authentication method (e.g., OIDC and LDAP) +// can be set per AuthMethod. +type IdentityServiceAuthMethod struct { + // Name: Identifier for auth config. + Name string `json:"name,omitempty"` + + // OidcConfig: OIDC specific configuration. + OidcConfig *IdentityServiceOidcConfig `json:"oidcConfig,omitempty"` + + // Proxy: Proxy server address to use for auth method. + Proxy string `json:"proxy,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Name") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *IdentityServiceAuthMethod) MarshalJSON() ([]byte, error) { + type NoMethod IdentityServiceAuthMethod + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// IdentityServiceMembershipSpec: **Anthos Identity Service**: +// Configuration for a single Membership. +type IdentityServiceMembershipSpec struct { + // AuthMethods: A member may support multiple auth methods. + AuthMethods []*IdentityServiceAuthMethod `json:"authMethods,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AuthMethods") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AuthMethods") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *IdentityServiceMembershipSpec) MarshalJSON() ([]byte, error) { + type NoMethod IdentityServiceMembershipSpec + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// IdentityServiceMembershipState: **Anthos Identity Service**: State +// for a single Membership. +type IdentityServiceMembershipState struct { + // FailureReason: The reason of the failure. + FailureReason string `json:"failureReason,omitempty"` + + // InstalledVersion: Installed AIS version. This is the AIS version + // installed on this member. The values makes sense iff state is OK. + InstalledVersion string `json:"installedVersion,omitempty"` + + // MemberConfig: Last reconciled membership configuration + MemberConfig *IdentityServiceMembershipSpec `json:"memberConfig,omitempty"` + + // State: Deployment state on this member + // + // Possible values: + // "DEPLOYMENT_STATE_UNSPECIFIED" - Unspecified state + // "OK" - deployment succeeds + // "ERROR" - Failure with error. + State string `json:"state,omitempty"` + + // ForceSendFields is a list of field names (e.g. "FailureReason") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "FailureReason") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *IdentityServiceMembershipState) MarshalJSON() ([]byte, error) { + type NoMethod IdentityServiceMembershipState + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// IdentityServiceOidcConfig: Configuration for OIDC Auth flow. +type IdentityServiceOidcConfig struct { + // CertificateAuthorityData: PEM-encoded CA for OIDC provider. + CertificateAuthorityData string `json:"certificateAuthorityData,omitempty"` + + // ClientId: ID for OIDC client application. + ClientId string `json:"clientId,omitempty"` + + // ClientSecret: Input only. Unencrypted OIDC client secret will be + // passed to the GKE Hub CLH. + ClientSecret string `json:"clientSecret,omitempty"` + + // DeployCloudConsoleProxy: Flag to denote if reverse proxy is used to + // connect to auth provider. This flag should be set to true when + // provider is not reachable by Google Cloud Console. + DeployCloudConsoleProxy bool `json:"deployCloudConsoleProxy,omitempty"` + + // EncryptedClientSecret: Output only. Encrypted OIDC Client secret + EncryptedClientSecret string `json:"encryptedClientSecret,omitempty"` + + // ExtraParams: Comma-separated list of key-value pairs. + ExtraParams string `json:"extraParams,omitempty"` + + // GroupPrefix: Prefix to prepend to group name. + GroupPrefix string `json:"groupPrefix,omitempty"` + + // GroupsClaim: Claim in OIDC ID token that holds group information. + GroupsClaim string `json:"groupsClaim,omitempty"` + + // IssuerUri: URI for the OIDC provider. This should point to the level + // below .well-known/openid-configuration. + IssuerUri string `json:"issuerUri,omitempty"` + + // KubectlRedirectUri: Registered redirect uri to redirect users going + // through OAuth flow using kubectl plugin. + KubectlRedirectUri string `json:"kubectlRedirectUri,omitempty"` + + // Scopes: Comma-separated list of identifiers. + Scopes string `json:"scopes,omitempty"` + + // UserClaim: Claim in OIDC ID token that holds username. + UserClaim string `json:"userClaim,omitempty"` + + // UserPrefix: Prefix to prepend to user name. + UserPrefix string `json:"userPrefix,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "CertificateAuthorityData") to unconditionally include in API + // requests. By default, fields with empty or default values are omitted + // from API requests. However, any non-pointer, non-interface field + // appearing in ForceSendFields will be sent to the server regardless of + // whether the field is empty or not. This may be used to include empty + // fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "CertificateAuthorityData") + // to include in API requests with the JSON null value. By default, + // fields with empty values are omitted from API requests. However, any + // field with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *IdentityServiceOidcConfig) MarshalJSON() ([]byte, error) { + type NoMethod IdentityServiceOidcConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // KubernetesMetadata: KubernetesMetadata provides informational // metadata for Memberships representing Kubernetes clusters. type KubernetesMetadata struct { @@ -2357,6 +2537,9 @@ type MembershipFeatureSpec struct { // Configmanagement: Config Management-specific spec. Configmanagement *ConfigManagementMembershipSpec `json:"configmanagement,omitempty"` + // Identityservice: Identity Service-specific spec. + Identityservice *IdentityServiceMembershipSpec `json:"identityservice,omitempty"` + // Mesh: Anthos Service Mesh-specific spec Mesh *ServiceMeshMembershipSpec `json:"mesh,omitempty"` @@ -2393,6 +2576,9 @@ type MembershipFeatureState struct { // Configmanagement: Config Management-specific state. Configmanagement *ConfigManagementMembershipState `json:"configmanagement,omitempty"` + // Identityservice: Identity Service-specific state. + Identityservice *IdentityServiceMembershipState `json:"identityservice,omitempty"` + // Servicemesh: Service Mesh-specific state. Servicemesh *ServiceMeshMembershipState `json:"servicemesh,omitempty"` diff --git a/gkehub/v1alpha/gkehub-api.json b/gkehub/v1alpha/gkehub-api.json index c5ebfff2b40..7bc3909d3ff 100644 --- a/gkehub/v1alpha/gkehub-api.json +++ b/gkehub/v1alpha/gkehub-api.json @@ -120,8 +120,14 @@ "parent" ], "parameters": { + "pageSize": { + "description": "Optional. The maximum number of fleets to return. The service may return fewer than this value. If unspecified, at most 200 fleets will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, "pageToken": { - "description": "A page token, received from a previous `ListFleets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFleets` must match the call that provided the page token.", + "description": "Optional. A page token, received from a previous `ListFleets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFleets` must match the call that provided the page token.", "location": "query", "type": "string" }, @@ -582,8 +588,14 @@ "parent" ], "parameters": { + "pageSize": { + "description": "Optional. The maximum number of fleets to return. The service may return fewer than this value. If unspecified, at most 200 fleets will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, "pageToken": { - "description": "A page token, received from a previous `ListFleets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFleets` must match the call that provided the page token.", + "description": "Optional. A page token, received from a previous `ListFleets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFleets` must match the call that provided the page token.", "location": "query", "type": "string" }, @@ -1139,7 +1151,7 @@ } } }, - "revision": "20220408", + "revision": "20220422", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AnthosObservabilityFeatureSpec": { @@ -2659,7 +2671,7 @@ "type": "array" }, "nextPageToken": { - "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. The token is only valid for 1h.", "type": "string" } }, diff --git a/gkehub/v1alpha/gkehub-gen.go b/gkehub/v1alpha/gkehub-gen.go index fa2a4a1e582..1e5d3177eca 100644 --- a/gkehub/v1alpha/gkehub-gen.go +++ b/gkehub/v1alpha/gkehub-gen.go @@ -2703,7 +2703,7 @@ type ListFleetsResponse struct { // NextPageToken: A token, which can be sent as `page_token` to retrieve // the next page. If this field is omitted, there are no subsequent - // pages. + // pages. The token is only valid for 1h. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -4499,6 +4499,15 @@ func (r *OrganizationsLocationsFleetsService) List(parent string) *Organizations return c } +// PageSize sets the optional parameter "pageSize": The maximum number +// of fleets to return. The service may return fewer than this value. If +// unspecified, at most 200 fleets will be returned. The maximum value +// is 1000; values above 1000 will be coerced to 1000. +func (c *OrganizationsLocationsFleetsListCall) PageSize(pageSize int64) *OrganizationsLocationsFleetsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + // PageToken sets the optional parameter "pageToken": A page token, // received from a previous `ListFleets` call. Provide this to retrieve // the subsequent page. When paginating, all other parameters provided @@ -4615,8 +4624,14 @@ func (c *OrganizationsLocationsFleetsListCall) Do(opts ...googleapi.CallOption) // "parent" // ], // "parameters": { + // "pageSize": { + // "description": "Optional. The maximum number of fleets to return. The service may return fewer than this value. If unspecified, at most 200 fleets will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, // "pageToken": { - // "description": "A page token, received from a previous `ListFleets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFleets` must match the call that provided the page token.", + // "description": "Optional. A page token, received from a previous `ListFleets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFleets` must match the call that provided the page token.", // "location": "query", // "type": "string" // }, @@ -6827,6 +6842,15 @@ func (r *ProjectsLocationsFleetsService) List(parent string) *ProjectsLocationsF return c } +// PageSize sets the optional parameter "pageSize": The maximum number +// of fleets to return. The service may return fewer than this value. If +// unspecified, at most 200 fleets will be returned. The maximum value +// is 1000; values above 1000 will be coerced to 1000. +func (c *ProjectsLocationsFleetsListCall) PageSize(pageSize int64) *ProjectsLocationsFleetsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + // PageToken sets the optional parameter "pageToken": A page token, // received from a previous `ListFleets` call. Provide this to retrieve // the subsequent page. When paginating, all other parameters provided @@ -6943,8 +6967,14 @@ func (c *ProjectsLocationsFleetsListCall) Do(opts ...googleapi.CallOption) (*Lis // "parent" // ], // "parameters": { + // "pageSize": { + // "description": "Optional. The maximum number of fleets to return. The service may return fewer than this value. If unspecified, at most 200 fleets will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, // "pageToken": { - // "description": "A page token, received from a previous `ListFleets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFleets` must match the call that provided the page token.", + // "description": "Optional. A page token, received from a previous `ListFleets` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListFleets` must match the call that provided the page token.", // "location": "query", // "type": "string" // }, diff --git a/healthcare/v1/healthcare-api.json b/healthcare/v1/healthcare-api.json index c1d25467648..5b81196894c 100644 --- a/healthcare/v1/healthcare-api.json +++ b/healthcare/v1/healthcare-api.json @@ -144,7 +144,7 @@ ], "parameters": { "filter": { - "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", "location": "query", "type": "string" }, @@ -4053,7 +4053,7 @@ } } }, - "revision": "20220404", + "revision": "20220413", "rootUrl": "https://healthcare.googleapis.com/", "schemas": { "ActivateConsentRequest": { @@ -4267,7 +4267,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, @@ -4615,11 +4615,15 @@ "properties": { "config": { "$ref": "DeidentifyConfig", - "description": "Deidentify configuration." + "description": "Deidentify configuration. Only one of `config` and `gcs_config_uri` can be specified." }, "destinationDataset": { "description": "The name of the dataset resource to create and write the redacted data to. * The destination dataset must not exist. * The destination dataset must be in the same location as the source dataset. De-identifying data across multiple locations is not supported.", "type": "string" + }, + "gcsConfigUri": { + "description": "Cloud Storage location to read the JSON cloud.healthcare.deidentify.DeidentifyConfig from, overriding the default config. Must be of the form `gs://{bucket_id}/path/to/object`. The Cloud Storage location must grant the Cloud IAM role `roles/storage.objectViewer` to the project's Cloud Healthcare Service Agent service account. Only one of `config` and `gcs_config_uri` can be specified.", + "type": "string" } }, "type": "object" @@ -4630,7 +4634,7 @@ "properties": { "config": { "$ref": "DeidentifyConfig", - "description": "Deidentify configuration." + "description": "Deidentify configuration. Only one of `config` and `gcs_config_uri` can be specified." }, "destinationStore": { "description": "The name of the DICOM store to create and write the redacted data to. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`. * The destination dataset must exist. * The source dataset and destination dataset must both reside in the same location. De-identifying data across multiple locations is not supported. * The destination DICOM store must not exist. * The caller must have the necessary permissions to create the destination DICOM store.", @@ -4639,6 +4643,10 @@ "filterConfig": { "$ref": "DicomFilterConfig", "description": "Filter configuration." + }, + "gcsConfigUri": { + "description": "Cloud Storage location to read the JSON cloud.healthcare.deidentify.DeidentifyConfig from, overriding the default config. Must be of the form `gs://{bucket_id}/path/to/object`. The Cloud Storage location must grant the Cloud IAM role `roles/storage.objectViewer` to the project's Cloud Healthcare Service Agent service account. Only one of `config` and `gcs_config_uri` can be specified.", + "type": "string" } }, "type": "object" @@ -4649,12 +4657,16 @@ "properties": { "config": { "$ref": "DeidentifyConfig", - "description": "Deidentify configuration." + "description": "Deidentify configuration. Only one of `config` and `gcs_config_uri` can be specified." }, "destinationStore": { "description": "The name of the FHIR store to create and write the redacted data to. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`. * The destination dataset must exist. * The source dataset and destination dataset must both reside in the same location. De-identifying data across multiple locations is not supported. * The destination FHIR store must exist. * The caller must have the healthcare.fhirResources.update permission to write to the destination FHIR store.", "type": "string" }, + "gcsConfigUri": { + "description": "Cloud Storage location to read the JSON cloud.healthcare.deidentify.DeidentifyConfig from, overriding the default config. Must be of the form `gs://{bucket_id}/path/to/object`. The Cloud Storage location must grant the Cloud IAM role `roles/storage.objectViewer` to the project's Cloud Healthcare Service Agent service account. Only one of `config` and `gcs_config_uri` can be specified.", + "type": "string" + }, "resourceFilter": { "$ref": "FhirFilter", "description": "A filter specifying the resources to include in the output. If not specified, all resources are included in the output." @@ -6494,7 +6506,7 @@ "properties": { "policy": { "$ref": "Policy", - "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them." + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." }, "updateMask": { "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", @@ -6595,7 +6607,7 @@ "id": "TestIamPermissionsRequest", "properties": { "permissions": { - "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", "items": { "type": "string" }, diff --git a/healthcare/v1/healthcare-gen.go b/healthcare/v1/healthcare-gen.go index aa56d23e483..490f4684a13 100644 --- a/healthcare/v1/healthcare-gen.go +++ b/healthcare/v1/healthcare-gen.go @@ -735,8 +735,8 @@ type Binding struct { // (https://cloud.google.com/iam/help/conditions/resource-policies). Condition *Expr `json:"condition,omitempty"` - // Members: Specifies the principals requesting access for a Cloud - // Platform resource. `members` can have the following values: * + // Members: Specifies the principals requesting access for a Google + // Cloud resource. `members` can have the following values: * // `allUsers`: A special identifier that represents anyone who is on the // internet; with or without a Google account. * // `allAuthenticatedUsers`: A special identifier that represents anyone @@ -1401,7 +1401,8 @@ func (s *DeidentifyConfig) MarshalJSON() ([]byte, error) { // DeidentifyDatasetRequest: Redacts identifying information from the // specified dataset. type DeidentifyDatasetRequest struct { - // Config: Deidentify configuration. + // Config: Deidentify configuration. Only one of `config` and + // `gcs_config_uri` can be specified. Config *DeidentifyConfig `json:"config,omitempty"` // DestinationDataset: The name of the dataset resource to create and @@ -1411,6 +1412,15 @@ type DeidentifyDatasetRequest struct { // supported. DestinationDataset string `json:"destinationDataset,omitempty"` + // GcsConfigUri: Cloud Storage location to read the JSON + // cloud.healthcare.deidentify.DeidentifyConfig from, overriding the + // default config. Must be of the form + // `gs://{bucket_id}/path/to/object`. The Cloud Storage location must + // grant the Cloud IAM role `roles/storage.objectViewer` to the + // project's Cloud Healthcare Service Agent service account. Only one of + // `config` and `gcs_config_uri` can be specified. + GcsConfigUri string `json:"gcsConfigUri,omitempty"` + // ForceSendFields is a list of field names (e.g. "Config") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any @@ -1437,7 +1447,8 @@ func (s *DeidentifyDatasetRequest) MarshalJSON() ([]byte, error) { // DeidentifyDicomStoreRequest: Creates a new DICOM store with sensitive // information de-identified. type DeidentifyDicomStoreRequest struct { - // Config: Deidentify configuration. + // Config: Deidentify configuration. Only one of `config` and + // `gcs_config_uri` can be specified. Config *DeidentifyConfig `json:"config,omitempty"` // DestinationStore: The name of the DICOM store to create and write the @@ -1454,6 +1465,15 @@ type DeidentifyDicomStoreRequest struct { // FilterConfig: Filter configuration. FilterConfig *DicomFilterConfig `json:"filterConfig,omitempty"` + // GcsConfigUri: Cloud Storage location to read the JSON + // cloud.healthcare.deidentify.DeidentifyConfig from, overriding the + // default config. Must be of the form + // `gs://{bucket_id}/path/to/object`. The Cloud Storage location must + // grant the Cloud IAM role `roles/storage.objectViewer` to the + // project's Cloud Healthcare Service Agent service account. Only one of + // `config` and `gcs_config_uri` can be specified. + GcsConfigUri string `json:"gcsConfigUri,omitempty"` + // ForceSendFields is a list of field names (e.g. "Config") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any @@ -1480,7 +1500,8 @@ func (s *DeidentifyDicomStoreRequest) MarshalJSON() ([]byte, error) { // DeidentifyFhirStoreRequest: Creates a new FHIR store with sensitive // information de-identified. type DeidentifyFhirStoreRequest struct { - // Config: Deidentify configuration. + // Config: Deidentify configuration. Only one of `config` and + // `gcs_config_uri` can be specified. Config *DeidentifyConfig `json:"config,omitempty"` // DestinationStore: The name of the FHIR store to create and write the @@ -1494,6 +1515,15 @@ type DeidentifyFhirStoreRequest struct { // destination FHIR store. DestinationStore string `json:"destinationStore,omitempty"` + // GcsConfigUri: Cloud Storage location to read the JSON + // cloud.healthcare.deidentify.DeidentifyConfig from, overriding the + // default config. Must be of the form + // `gs://{bucket_id}/path/to/object`. The Cloud Storage location must + // grant the Cloud IAM role `roles/storage.objectViewer` to the + // project's Cloud Healthcare Service Agent service account. Only one of + // `config` and `gcs_config_uri` can be specified. + GcsConfigUri string `json:"gcsConfigUri,omitempty"` + // ResourceFilter: A filter specifying the resources to include in the // output. If not specified, all resources are included in the output. ResourceFilter *FhirFilter `json:"resourceFilter,omitempty"` @@ -5227,7 +5257,7 @@ func (s *Segment) MarshalJSON() ([]byte, error) { type SetIamPolicyRequest struct { // Policy: REQUIRED: The complete policy to be applied to the // `resource`. The size of the policy is limited to a few 10s of KB. An - // empty policy is a valid policy but certain Cloud Platform services + // empty policy is a valid policy but certain Google Cloud services // (such as Projects) might reject them. Policy *Policy `json:"policy,omitempty"` @@ -5445,7 +5475,7 @@ func (s *TagFilterList) MarshalJSON() ([]byte, error) { // method. type TestIamPermissionsRequest struct { // Permissions: The set of permissions to check for the `resource`. - // Permissions with wildcards (such as '*' or 'storage.*') are not + // Permissions with wildcards (such as `*` or `storage.*`) are not // allowed. For more information see IAM Overview // (https://cloud.google.com/iam/docs/overview#permissions). Permissions []string `json:"permissions,omitempty"` @@ -5947,8 +5977,8 @@ func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall // Filter sets the optional parameter "filter": A filter to narrow down // results to a preferred subset. The filtering language accepts strings -// like "displayName=tokyo", and is documented in more detail in AIP-160 -// (https://google.aip.dev/160). +// like "displayName=tokyo", and is documented in more detail in +// AIP-160 (https://google.aip.dev/160). func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall { c.urlParams_.Set("filter", filter) return c @@ -6077,7 +6107,7 @@ func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocat // ], // "parameters": { // "filter": { - // "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + // "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", // "location": "query", // "type": "string" // }, diff --git a/healthcare/v1beta1/healthcare-api.json b/healthcare/v1beta1/healthcare-api.json index 1085a49062d..4618e658dc8 100644 --- a/healthcare/v1beta1/healthcare-api.json +++ b/healthcare/v1beta1/healthcare-api.json @@ -144,7 +144,7 @@ ], "parameters": { "filter": { - "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", "location": "query", "type": "string" }, @@ -4865,7 +4865,7 @@ } } }, - "revision": "20220404", + "revision": "20220413", "rootUrl": "https://healthcare.googleapis.com/", "schemas": { "ActivateConsentRequest": { @@ -5171,7 +5171,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, @@ -5582,7 +5582,7 @@ "properties": { "config": { "$ref": "DeidentifyConfig", - "description": "Deidentify configuration." + "description": "Deidentify configuration. Only one of `config` and `gcs_config_uri` can be specified." }, "destinationDataset": { "description": "The name of the dataset resource to create and write the redacted data to. * The destination dataset must not exist. * The destination dataset must be in the same location as the source dataset. De-identifying data across multiple locations is not supported.", @@ -5601,7 +5601,7 @@ "properties": { "config": { "$ref": "DeidentifyConfig", - "description": "Deidentify configuration." + "description": "Deidentify configuration. Only one of `config` and `gcs_config_uri` can be specified." }, "destinationStore": { "description": "The name of the DICOM store to create and write the redacted data to. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`. * The destination dataset must exist. * The source dataset and destination dataset must both reside in the same location. De-identifying data across multiple locations is not supported. * The destination DICOM store must not exist. * The caller must have the necessary permissions to create the destination DICOM store.", @@ -5624,7 +5624,7 @@ "properties": { "config": { "$ref": "DeidentifyConfig", - "description": "Deidentify configuration." + "description": "Deidentify configuration. Only one of `config` and `gcs_config_uri` can be specified." }, "destinationStore": { "description": "The name of the FHIR store to create and write the redacted data to. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`. * The destination dataset must exist. * The source dataset and destination dataset must both reside in the same location. De-identifying data across multiple locations is not supported. * The destination FHIR store must exist. * The caller must have the healthcare.fhirResources.update permission to write to the destination FHIR store.", @@ -7868,7 +7868,7 @@ "properties": { "policy": { "$ref": "Policy", - "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them." + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." }, "updateMask": { "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", @@ -7969,7 +7969,7 @@ "id": "TestIamPermissionsRequest", "properties": { "permissions": { - "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", "items": { "type": "string" }, diff --git a/healthcare/v1beta1/healthcare-gen.go b/healthcare/v1beta1/healthcare-gen.go index a1757a85b47..fda16bb921f 100644 --- a/healthcare/v1beta1/healthcare-gen.go +++ b/healthcare/v1beta1/healthcare-gen.go @@ -964,8 +964,8 @@ type Binding struct { // (https://cloud.google.com/iam/help/conditions/resource-policies). Condition *Expr `json:"condition,omitempty"` - // Members: Specifies the principals requesting access for a Cloud - // Platform resource. `members` can have the following values: * + // Members: Specifies the principals requesting access for a Google + // Cloud resource. `members` can have the following values: * // `allUsers`: A special identifier that represents anyone who is on the // internet; with or without a Google account. * // `allAuthenticatedUsers`: A special identifier that represents anyone @@ -1743,7 +1743,8 @@ func (s *DeidentifyConfig) MarshalJSON() ([]byte, error) { // DeidentifyDatasetRequest: Redacts identifying information from the // specified dataset. type DeidentifyDatasetRequest struct { - // Config: Deidentify configuration. + // Config: Deidentify configuration. Only one of `config` and + // `gcs_config_uri` can be specified. Config *DeidentifyConfig `json:"config,omitempty"` // DestinationDataset: The name of the dataset resource to create and @@ -1788,7 +1789,8 @@ func (s *DeidentifyDatasetRequest) MarshalJSON() ([]byte, error) { // DeidentifyDicomStoreRequest: Creates a new DICOM store with sensitive // information de-identified. type DeidentifyDicomStoreRequest struct { - // Config: Deidentify configuration. + // Config: Deidentify configuration. Only one of `config` and + // `gcs_config_uri` can be specified. Config *DeidentifyConfig `json:"config,omitempty"` // DestinationStore: The name of the DICOM store to create and write the @@ -1840,7 +1842,8 @@ func (s *DeidentifyDicomStoreRequest) MarshalJSON() ([]byte, error) { // DeidentifyFhirStoreRequest: Creates a new FHIR store with sensitive // information de-identified. type DeidentifyFhirStoreRequest struct { - // Config: Deidentify configuration. + // Config: Deidentify configuration. Only one of `config` and + // `gcs_config_uri` can be specified. Config *DeidentifyConfig `json:"config,omitempty"` // DestinationStore: The name of the FHIR store to create and write the @@ -6458,7 +6461,7 @@ func (s *SensitiveTextAnnotation) MarshalJSON() ([]byte, error) { type SetIamPolicyRequest struct { // Policy: REQUIRED: The complete policy to be applied to the // `resource`. The size of the policy is limited to a few 10s of KB. An - // empty policy is a valid policy but certain Cloud Platform services + // empty policy is a valid policy but certain Google Cloud services // (such as Projects) might reject them. Policy *Policy `json:"policy,omitempty"` @@ -6676,7 +6679,7 @@ func (s *TagFilterList) MarshalJSON() ([]byte, error) { // method. type TestIamPermissionsRequest struct { // Permissions: The set of permissions to check for the `resource`. - // Permissions with wildcards (such as '*' or 'storage.*') are not + // Permissions with wildcards (such as `*` or `storage.*`) are not // allowed. For more information see IAM Overview // (https://cloud.google.com/iam/docs/overview#permissions). Permissions []string `json:"permissions,omitempty"` @@ -7225,8 +7228,8 @@ func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall // Filter sets the optional parameter "filter": A filter to narrow down // results to a preferred subset. The filtering language accepts strings -// like "displayName=tokyo", and is documented in more detail in AIP-160 -// (https://google.aip.dev/160). +// like "displayName=tokyo", and is documented in more detail in +// AIP-160 (https://google.aip.dev/160). func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall { c.urlParams_.Set("filter", filter) return c @@ -7355,7 +7358,7 @@ func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocat // ], // "parameters": { // "filter": { - // "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + // "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", // "location": "query", // "type": "string" // }, diff --git a/iam/v1/iam-api.json b/iam/v1/iam-api.json index 0331fc94342..a5bcefe1587 100644 --- a/iam/v1/iam-api.json +++ b/iam/v1/iam-api.json @@ -1921,7 +1921,7 @@ } } }, - "revision": "20220413", + "revision": "20220421", "rootUrl": "https://iam.googleapis.com/", "schemas": { "AdminAuditData": { @@ -2720,6 +2720,17 @@ }, "type": "object" }, + "Saml": { + "description": "Represents an SAML 2.0 identity provider.", + "id": "Saml", + "properties": { + "idpMetadataXml": { + "description": "Required. SAML Identity provider configuration metadata xml doc. The xml document should comply with [SAML 2.0 specification](https://www.oasis-open.org/committees/download.php/56785/sstc-saml-metadata-errata-2.0-wd-05.pdf). The max size of the acceptable xml document will be bounded to 128k characters. The metadata xml document should satisfy the following constraints: 1) Must contain an Identity Provider Entity ID. 2) Must contain at least one non-expired signing key certificate. 3) For each signing key: a) Valid from should be no more than 7 days from now. b) Valid to should be no more than 10 years in the future. 4) Upto 3 IdP signing keys are allowed in the metadata xml. When updating the provider's metadata xml, at lease one non-expired signing key must overlap with the existing metadata. This requirement is skipped if there are no non-expired signing keys present in the existing metadata", + "type": "string" + } + }, + "type": "object" + }, "ServiceAccount": { "description": "An IAM service account. A service account is an account for an application or a virtual machine (VM) instance, not a person. You can use a service account to call Google APIs. To learn more, read the [overview of service accounts](https://cloud.google.com/iam/help/service-accounts/overview). When you create a service account, you specify the project ID that owns the service account, as well as a name that must be unique within the project. IAM uses these values to create an email address that identifies the service account.", "id": "ServiceAccount", @@ -3116,6 +3127,10 @@ "$ref": "Oidc", "description": "An OpenId Connect 1.0 identity provider." }, + "saml": { + "$ref": "Saml", + "description": "An SAML 2.0 identity provider." + }, "state": { "description": "Output only. The state of the provider.", "enum": [ diff --git a/iam/v1/iam-gen.go b/iam/v1/iam-gen.go index 52e7949b3c0..f0cea2e2ed6 100644 --- a/iam/v1/iam-gen.go +++ b/iam/v1/iam-gen.go @@ -1990,6 +1990,49 @@ func (s *Role) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Saml: Represents an SAML 2.0 identity provider. +type Saml struct { + // IdpMetadataXml: Required. SAML Identity provider configuration + // metadata xml doc. The xml document should comply with SAML 2.0 + // specification + // (https://www.oasis-open.org/committees/download.php/56785/sstc-saml-metadata-errata-2.0-wd-05.pdf). + // The max size of the acceptable xml document will be bounded to 128k + // characters. The metadata xml document should satisfy the following + // constraints: 1) Must contain an Identity Provider Entity ID. 2) Must + // contain at least one non-expired signing key certificate. 3) For each + // signing key: a) Valid from should be no more than 7 days from now. b) + // Valid to should be no more than 10 years in the future. 4) Upto 3 IdP + // signing keys are allowed in the metadata xml. When updating the + // provider's metadata xml, at lease one non-expired signing key must + // overlap with the existing metadata. This requirement is skipped if + // there are no non-expired signing keys present in the existing + // metadata + IdpMetadataXml string `json:"idpMetadataXml,omitempty"` + + // ForceSendFields is a list of field names (e.g. "IdpMetadataXml") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "IdpMetadataXml") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Saml) MarshalJSON() ([]byte, error) { + type NoMethod Saml + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ServiceAccount: An IAM service account. A service account is an // account for an application or a virtual machine (VM) instance, not a // person. You can use a service account to call Google APIs. To learn @@ -2745,6 +2788,9 @@ type WorkloadIdentityPoolProvider struct { // Oidc: An OpenId Connect 1.0 identity provider. Oidc *Oidc `json:"oidc,omitempty"` + // Saml: An SAML 2.0 identity provider. + Saml *Saml `json:"saml,omitempty"` + // State: Output only. The state of the provider. // // Possible values: diff --git a/iam/v2beta/iam-api.json b/iam/v2beta/iam-api.json index 5d2a79ab9ad..c8996ada6e3 100644 --- a/iam/v2beta/iam-api.json +++ b/iam/v2beta/iam-api.json @@ -117,7 +117,7 @@ ], "parameters": { "parent": { - "description": "Required. The resource that the policy is attached to, along with the kind of policy to create. Format: `policies/{attachment-point}/denypolicies` The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies`. For organizations and folders, use the numeric ID in the full resource name. For projects, you can use the alphanumeric or the numeric ID.", + "description": "Required. The resource that the policy is attached to, along with the kind of policy to create. Format: `policies/{attachment_point}/denypolicies` The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies`. For organizations and folders, use the numeric ID in the full resource name. For projects, you can use the alphanumeric or the numeric ID.", "location": "path", "pattern": "^policies/[^/]+/[^/]+$", "required": true, @@ -155,7 +155,7 @@ "type": "string" }, "name": { - "description": "Required. The resource name of the policy to delete. Format: `policies/{attachment-point}/denypolicies/{policy-id}` Use the URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-policy`. For organizations and folders, use the numeric ID in the full resource name. For projects, you can use the alphanumeric or the numeric ID.", + "description": "Required. The resource name of the policy to delete. Format: `policies/{attachment_point}/denypolicies/{policy_id}` Use the URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-policy`. For organizations and folders, use the numeric ID in the full resource name. For projects, you can use the alphanumeric or the numeric ID.", "location": "path", "pattern": "^policies/[^/]+/[^/]+/[^/]+$", "required": true, @@ -180,7 +180,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the policy to retrieve. Format: `policies/{attachment-point}/denypolicies/{policy-id}` Use the URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-policy`. For organizations and folders, use the numeric ID in the full resource name. For projects, you can use the alphanumeric or the numeric ID.", + "description": "Required. The resource name of the policy to retrieve. Format: `policies/{attachment_point}/denypolicies/{policy_id}` Use the URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-policy`. For organizations and folders, use the numeric ID in the full resource name. For projects, you can use the alphanumeric or the numeric ID.", "location": "path", "pattern": "^policies/[^/]+/[^/]+/[^/]+$", "required": true, @@ -216,7 +216,7 @@ "type": "string" }, "parent": { - "description": "Required. The resource that the policy is attached to, along with the kind of policy to list. Format: `policies/{attachment-point}/denypolicies` The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies`. For organizations and folders, use the numeric ID in the full resource name. For projects, you can use the alphanumeric or the numeric ID.", + "description": "Required. The resource that the policy is attached to, along with the kind of policy to list. Format: `policies/{attachment_point}/denypolicies` The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies`. For organizations and folders, use the numeric ID in the full resource name. For projects, you can use the alphanumeric or the numeric ID.", "location": "path", "pattern": "^policies/[^/]+/[^/]+$", "required": true, @@ -241,7 +241,7 @@ ], "parameters": { "name": { - "description": "Immutable. The resource name of the `Policy`, which must be unique. Format: `policies/{attachment-point}/denypolicies/{policy-id}` The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-deny-policy`. For organizations and folders, use the numeric ID in the full resource name. For projects, requests can use the alphanumeric or the numeric ID. Responses always contain the numeric ID.", + "description": "Immutable. The resource name of the `Policy`, which must be unique. Format: `policies/{attachment_point}/denypolicies/{policy_id}` The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-deny-policy`. For organizations and folders, use the numeric ID in the full resource name. For projects, requests can use the alphanumeric or the numeric ID. Responses always contain the numeric ID.", "location": "path", "pattern": "^policies/[^/]+/[^/]+/[^/]+$", "required": true, @@ -293,7 +293,7 @@ } } }, - "revision": "20220413", + "revision": "20220421", "rootUrl": "https://iam.googleapis.com/", "schemas": { "GoogleIamAdminV1AuditData": { @@ -395,14 +395,14 @@ "description": "The condition that determines whether this deny rule applies to a request. If the condition expression evaluates to `true`, then the deny rule is applied; otherwise, the deny rule is not applied. Each deny rule is evaluated independently. If this deny rule does not apply to a request, other deny rules might still apply. The condition can use CEL functions that evaluate [resource tags](https://cloud.google.com/iam/help/conditions/resource-tags). Other functions and operators are not supported." }, "deniedPermissions": { - "description": "The permissions that are explicitly denied by this rule. Each permission uses the format `{service-fqdn}/{resource}.{verb}`, where `{service-fqdn}` is the fully qualified domain name for the service. For example, `iam.googleapis.com/roles.list`.", + "description": "The permissions that are explicitly denied by this rule. Each permission uses the format `{service_fqdn}/{resource}.{verb}`, where `{service_fqdn}` is the fully qualified domain name for the service. For example, `iam.googleapis.com/roles.list`.", "items": { "type": "string" }, "type": "array" }, "deniedPrincipals": { - "description": "The identities that are prevented from using one or more permissions on Google Cloud resources. This field can contain the following values: * `principalSet://goog/public:all`: A special identifier that represents any user who is on the internet, even if they do not have a Google Account or are not logged in. * `principal://goog/subject/{email-id}`: A specific Google Account. Includes Gmail, Cloud Identity, and Google Workspace user accounts. For example, `principal://goog/subject/alice@example.com`. * `deleted:principal://goog/subject/{email-id}?uid={uid}`: A specific Google Account that was deleted recently. For example, `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If the Google Account is recovered, this identifier reverts to the standard identifier for a Google Account. * `principalSet://goog/group/{group-id}`: A Google group. For example, `principalSet://goog/group/admins@example.com`. * `deleted:principalSet://goog/group/{group-id}?uid={uid}`: A Google group that was deleted recently. For example, `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`. If the Google group is restored, this identifier reverts to the standard identifier for a Google group. * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service-account-id}`: A Google Cloud service account. For example, `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`. * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service-account-id}?uid={uid}`: A Google Cloud service account that was deleted recently. For example, `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`. If the service account is undeleted, this identifier reverts to the standard identifier for a service account. * `principalSet://goog/cloudIdentityCustomerId/{customer-id}`: All of the principals associated with the specified Google Workspace or Cloud Identity customer ID. For example, `principalSet://goog/cloudIdentityCustomerId/C01Abc35`.", + "description": "The identities that are prevented from using one or more permissions on Google Cloud resources. This field can contain the following values: * `principalSet://goog/public:all`: A special identifier that represents any user who is on the internet, even if they do not have a Google Account or are not logged in. * `principal://goog/subject/{email_id}`: A specific Google Account. Includes Gmail, Cloud Identity, and Google Workspace user accounts. For example, `principal://goog/subject/alice@example.com`. * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific Google Account that was deleted recently. For example, `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If the Google Account is recovered, this identifier reverts to the standard identifier for a Google Account. * `principalSet://goog/group/{group_id}`: A Google group. For example, `principalSet://goog/group/admins@example.com`. * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group that was deleted recently. For example, `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`. If the Google group is restored, this identifier reverts to the standard identifier for a Google group. * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`: A Google Cloud service account. For example, `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`. * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`: A Google Cloud service account that was deleted recently. For example, `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`. If the service account is undeleted, this identifier reverts to the standard identifier for a service account. * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the principals associated with the specified Google Workspace or Cloud Identity customer ID. For example, `principalSet://goog/cloudIdentityCustomerId/C01Abc35`.", "items": { "type": "string" }, @@ -480,7 +480,7 @@ "type": "string" }, "name": { - "description": "Immutable. The resource name of the `Policy`, which must be unique. Format: `policies/{attachment-point}/denypolicies/{policy-id}` The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-deny-policy`. For organizations and folders, use the numeric ID in the full resource name. For projects, requests can use the alphanumeric or the numeric ID. Responses always contain the numeric ID.", + "description": "Immutable. The resource name of the `Policy`, which must be unique. Format: `policies/{attachment_point}/denypolicies/{policy_id}` The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-deny-policy`. For organizations and folders, use the numeric ID in the full resource name. For projects, requests can use the alphanumeric or the numeric ID. Responses always contain the numeric ID.", "type": "string" }, "rules": { diff --git a/iam/v2beta/iam-gen.go b/iam/v2beta/iam-gen.go index a5e99ccdb39..20b4604a720 100644 --- a/iam/v2beta/iam-gen.go +++ b/iam/v2beta/iam-gen.go @@ -343,7 +343,7 @@ type GoogleIamV2betaDenyRule struct { // DeniedPermissions: The permissions that are explicitly denied by this // rule. Each permission uses the format - // `{service-fqdn}/{resource}.{verb}`, where `{service-fqdn}` is the + // `{service_fqdn}/{resource}.{verb}`, where `{service_fqdn}` is the // fully qualified domain name for the service. For example, // `iam.googleapis.com/roles.list`. DeniedPermissions []string `json:"deniedPermissions,omitempty"` @@ -353,33 +353,33 @@ type GoogleIamV2betaDenyRule struct { // the following values: * `principalSet://goog/public:all`: A special // identifier that represents any user who is on the internet, even if // they do not have a Google Account or are not logged in. * - // `principal://goog/subject/{email-id}`: A specific Google Account. + // `principal://goog/subject/{email_id}`: A specific Google Account. // Includes Gmail, Cloud Identity, and Google Workspace user accounts. // For example, `principal://goog/subject/alice@example.com`. * - // `deleted:principal://goog/subject/{email-id}?uid={uid}`: A specific + // `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific // Google Account that was deleted recently. For example, // `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. // If the Google Account is recovered, this identifier reverts to the // standard identifier for a Google Account. * - // `principalSet://goog/group/{group-id}`: A Google group. For example, + // `principalSet://goog/group/{group_id}`: A Google group. For example, // `principalSet://goog/group/admins@example.com`. * - // `deleted:principalSet://goog/group/{group-id}?uid={uid}`: A Google + // `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google // group that was deleted recently. For example, // `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`. // If the Google group is restored, this identifier reverts to the // standard identifier for a Google group. * - // `principal://iam.googleapis.com/projects/-/serviceAccounts/{service-ac - // count-id}`: A Google Cloud service account. For example, + // `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_ac + // count_id}`: A Google Cloud service account. For example, // `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service- // account@iam.gserviceaccount.com`. * // `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{se - // rvice-account-id}?uid={uid}`: A Google Cloud service account that was + // rvice_account_id}?uid={uid}`: A Google Cloud service account that was // deleted recently. For example, // `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my- // service-account@iam.gserviceaccount.com?uid=1234567890`. If the // service account is undeleted, this identifier reverts to the standard // identifier for a service account. * - // `principalSet://goog/cloudIdentityCustomerId/{customer-id}`: All of + // `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of // the principals associated with the specified Google Workspace or // Cloud Identity customer ID. For example, // `principalSet://goog/cloudIdentityCustomerId/C01Abc35`. @@ -495,7 +495,7 @@ type GoogleIamV2betaPolicy struct { // Name: Immutable. The resource name of the `Policy`, which must be // unique. Format: - // `policies/{attachment-point}/denypolicies/{policy-id}` The attachment + // `policies/{attachment_point}/denypolicies/{policy_id}` The attachment // point is identified by its URL-encoded full resource name, which // means that the forward-slash character, `/`, must be written as // `%2F`. For example, @@ -787,7 +787,7 @@ type PoliciesCreatePolicyCall struct { // // - parent: The resource that the policy is attached to, along with the // kind of policy to create. Format: -// `policies/{attachment-point}/denypolicies` The attachment point is +// `policies/{attachment_point}/denypolicies` The attachment point is // identified by its URL-encoded full resource name, which means that // the forward-slash character, `/`, must be written as `%2F`. For // example, @@ -912,7 +912,7 @@ func (c *PoliciesCreatePolicyCall) Do(opts ...googleapi.CallOption) (*GoogleLong // ], // "parameters": { // "parent": { - // "description": "Required. The resource that the policy is attached to, along with the kind of policy to create. Format: `policies/{attachment-point}/denypolicies` The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies`. For organizations and folders, use the numeric ID in the full resource name. For projects, you can use the alphanumeric or the numeric ID.", + // "description": "Required. The resource that the policy is attached to, along with the kind of policy to create. Format: `policies/{attachment_point}/denypolicies` The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies`. For organizations and folders, use the numeric ID in the full resource name. For projects, you can use the alphanumeric or the numeric ID.", // "location": "path", // "pattern": "^policies/[^/]+/[^/]+$", // "required": true, @@ -951,7 +951,7 @@ type PoliciesDeleteCall struct { // Delete: Deletes a policy. This action is permanent. // // - name: The resource name of the policy to delete. Format: -// `policies/{attachment-point}/denypolicies/{policy-id}` Use the +// `policies/{attachment_point}/denypolicies/{policy_id}` Use the // URL-encoded full resource name, which means that the forward-slash // character, `/`, must be written as `%2F`. For example, // `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-projec @@ -1074,7 +1074,7 @@ func (c *PoliciesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunnin // "type": "string" // }, // "name": { - // "description": "Required. The resource name of the policy to delete. Format: `policies/{attachment-point}/denypolicies/{policy-id}` Use the URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-policy`. For organizations and folders, use the numeric ID in the full resource name. For projects, you can use the alphanumeric or the numeric ID.", + // "description": "Required. The resource name of the policy to delete. Format: `policies/{attachment_point}/denypolicies/{policy_id}` Use the URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-policy`. For organizations and folders, use the numeric ID in the full resource name. For projects, you can use the alphanumeric or the numeric ID.", // "location": "path", // "pattern": "^policies/[^/]+/[^/]+/[^/]+$", // "required": true, @@ -1106,7 +1106,7 @@ type PoliciesGetCall struct { // Get: Gets a policy. // // - name: The resource name of the policy to retrieve. Format: -// `policies/{attachment-point}/denypolicies/{policy-id}` Use the +// `policies/{attachment_point}/denypolicies/{policy_id}` Use the // URL-encoded full resource name, which means that the forward-slash // character, `/`, must be written as `%2F`. For example, // `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-projec @@ -1227,7 +1227,7 @@ func (c *PoliciesGetCall) Do(opts ...googleapi.CallOption) (*GoogleIamV2betaPoli // ], // "parameters": { // "name": { - // "description": "Required. The resource name of the policy to retrieve. Format: `policies/{attachment-point}/denypolicies/{policy-id}` Use the URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-policy`. For organizations and folders, use the numeric ID in the full resource name. For projects, you can use the alphanumeric or the numeric ID.", + // "description": "Required. The resource name of the policy to retrieve. Format: `policies/{attachment_point}/denypolicies/{policy_id}` Use the URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-policy`. For organizations and folders, use the numeric ID in the full resource name. For projects, you can use the alphanumeric or the numeric ID.", // "location": "path", // "pattern": "^policies/[^/]+/[^/]+/[^/]+$", // "required": true, @@ -1262,7 +1262,7 @@ type PoliciesListPoliciesCall struct { // // - parent: The resource that the policy is attached to, along with the // kind of policy to list. Format: -// `policies/{attachment-point}/denypolicies` The attachment point is +// `policies/{attachment_point}/denypolicies` The attachment point is // identified by its URL-encoded full resource name, which means that // the forward-slash character, `/`, must be written as `%2F`. For // example, @@ -1412,7 +1412,7 @@ func (c *PoliciesListPoliciesCall) Do(opts ...googleapi.CallOption) (*GoogleIamV // "type": "string" // }, // "parent": { - // "description": "Required. The resource that the policy is attached to, along with the kind of policy to list. Format: `policies/{attachment-point}/denypolicies` The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies`. For organizations and folders, use the numeric ID in the full resource name. For projects, you can use the alphanumeric or the numeric ID.", + // "description": "Required. The resource that the policy is attached to, along with the kind of policy to list. Format: `policies/{attachment_point}/denypolicies` The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies`. For organizations and folders, use the numeric ID in the full resource name. For projects, you can use the alphanumeric or the numeric ID.", // "location": "path", // "pattern": "^policies/[^/]+/[^/]+$", // "required": true, @@ -1471,7 +1471,7 @@ type PoliciesUpdateCall struct { // // - name: Immutable. The resource name of the `Policy`, which must be // unique. Format: -// `policies/{attachment-point}/denypolicies/{policy-id}` The +// `policies/{attachment_point}/denypolicies/{policy_id}` The // attachment point is identified by its URL-encoded full resource // name, which means that the forward-slash character, `/`, must be // written as `%2F`. For example, @@ -1587,7 +1587,7 @@ func (c *PoliciesUpdateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunnin // ], // "parameters": { // "name": { - // "description": "Immutable. The resource name of the `Policy`, which must be unique. Format: `policies/{attachment-point}/denypolicies/{policy-id}` The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-deny-policy`. For organizations and folders, use the numeric ID in the full resource name. For projects, requests can use the alphanumeric or the numeric ID. Responses always contain the numeric ID.", + // "description": "Immutable. The resource name of the `Policy`, which must be unique. Format: `policies/{attachment_point}/denypolicies/{policy_id}` The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-deny-policy`. For organizations and folders, use the numeric ID in the full resource name. For projects, requests can use the alphanumeric or the numeric ID. Responses always contain the numeric ID.", // "location": "path", // "pattern": "^policies/[^/]+/[^/]+/[^/]+$", // "required": true, diff --git a/iap/v1/iap-api.json b/iap/v1/iap-api.json index 3cbf02d8ac1..18501c6ac06 100644 --- a/iap/v1/iap-api.json +++ b/iap/v1/iap-api.json @@ -353,14 +353,14 @@ ], "parameters": { "parent": { - "description": "Required. GCP Project number/id and location. In the following format: projects/{project_number/id}/iap_tunnel/locations/{location}.", + "description": "Required. Google Cloud Project ID and location. In the following format: `projects/{project_number/id}/iap_tunnel/locations/{location}`.", "location": "path", "pattern": "^projects/[^/]+/iap_tunnel/locations/[^/]+$", "required": true, "type": "string" }, "tunnelDestGroupId": { - "description": "Required. The ID to use for the TunnelDestGroup, which will become the final component of the resource name. This value should be 4-63 characters, and valid characters are /a-z-/.", + "description": "Required. The ID to use for the TunnelDestGroup, which becomes the final component of the resource name. This value must be 4-63 characters, and valid characters are `a-z-`.", "location": "query", "type": "string" } @@ -386,7 +386,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the TunnelDestGroup to be deleted. In the following format: projects/{project_number/id}/iap_tunnel/locations/{location}/destGroups/{dest_group}.", + "description": "Required. Name of the TunnelDestGroup to delete. In the following format: `projects/{project_number/id}/iap_tunnel/locations/{location}/destGroups/{dest_group}`.", "location": "path", "pattern": "^projects/[^/]+/iap_tunnel/locations/[^/]+/destGroups/[^/]+$", "required": true, @@ -411,7 +411,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the TunnelDestGroup to be fetched. In the following format: projects/{project_number/id}/iap_tunnel/locations/{location}/destGroups/{dest_group}.", + "description": "Required. Name of the TunnelDestGroup to be fetched. In the following format: `projects/{project_number/id}/iap_tunnel/locations/{location}/destGroups/{dest_group}`.", "location": "path", "pattern": "^projects/[^/]+/iap_tunnel/locations/[^/]+/destGroups/[^/]+$", "required": true, @@ -427,7 +427,7 @@ ] }, "list": { - "description": "Lists the existing TunnelDestGroups. To group across all locations, use a `-` as the location ID. For example: /v1/projects/123/iap_tunnel/locations/-/destGroups", + "description": "Lists the existing TunnelDestGroups. To group across all locations, use a `-` as the location ID. For example: `/v1/projects/123/iap_tunnel/locations/-/destGroups`", "flatPath": "v1/projects/{projectsId}/iap_tunnel/locations/{locationsId}/destGroups", "httpMethod": "GET", "id": "iap.projects.iap_tunnel.locations.destGroups.list", @@ -436,7 +436,7 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of groups to return. The service may return fewer than this value. If unspecified, at most 100 groups will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "description": "The maximum number of groups to return. The service might return fewer than this value. If unspecified, at most 100 groups are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", "format": "int32", "location": "query", "type": "integer" @@ -447,7 +447,7 @@ "type": "string" }, "parent": { - "description": "Required. GCP Project number/id and location. In the following format: projects/{project_number/id}/iap_tunnel/locations/{location}. A `-` can be used for the location to group across all locations.", + "description": "Required. Google Cloud Project ID and location. In the following format: `projects/{project_number/id}/iap_tunnel/locations/{location}`. A `-` can be used for the location to group across all locations.", "location": "path", "pattern": "^projects/[^/]+/iap_tunnel/locations/[^/]+$", "required": true, @@ -479,7 +479,7 @@ "type": "string" }, "updateMask": { - "description": "The field mask specifying which IAP settings should be updated. If omitted, then all of the settings are updated. See https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "description": "A field mask that specifies which IAP settings to update. If omitted, then all of the settings are updated. See https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", "format": "google-fieldmask", "location": "query", "type": "string" @@ -652,7 +652,7 @@ } } }, - "revision": "20220408", + "revision": "20220421", "rootUrl": "https://iap.googleapis.com/", "schemas": { "AccessDeniedPageSettings": { @@ -932,7 +932,7 @@ "id": "ListTunnelDestGroupsResponse", "properties": { "nextPageToken": { - "description": "A token, which can be send as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "description": "A token that you can send as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", "type": "string" }, "tunnelDestGroups": { @@ -1041,7 +1041,7 @@ ], "enumDescriptions": [ "Reauthentication disabled.", - "Mimicks the behavior as if the user had logged out and tried to log in again. Users with 2SV (step verification) enabled will see their 2SV challenges if they did not opt to have their second factor responses saved. Apps Core (GSuites) admins can configure settings to disable 2SV cookies and require 2-step verification for all Apps Core users in their domains.", + "Mimics the behavior as if the user had logged out and tried to log in again. Users with 2SV (2-step verification) enabled see their 2SV challenges if they did not opt to have their second factor responses saved. Apps Core (GSuites) admins can configure settings to disable 2SV cookies and require 2SV for all Apps Core users in their domains.", "User must type their password.", "User must use their secure key 2nd factor device." ], @@ -1055,7 +1055,7 @@ "DEFAULT" ], "enumDescriptions": [ - "Default value. This value is unused/invalid.", + "Default value. This value is unused.", "This policy acts as a minimum to other policies, lower in the hierarchy. Effective policy may only be the same or stricter.", "This policy acts as a default if no other reauth policy is set." ], diff --git a/iap/v1/iap-gen.go b/iap/v1/iap-gen.go index cebd0d6d87f..199d03f4904 100644 --- a/iap/v1/iap-gen.go +++ b/iap/v1/iap-gen.go @@ -856,7 +856,7 @@ func (s *ListIdentityAwareProxyClientsResponse) MarshalJSON() ([]byte, error) { // ListTunnelDestGroupsResponse: The response from ListTunnelDestGroups. type ListTunnelDestGroupsResponse struct { - // NextPageToken: A token, which can be send as `page_token` to retrieve + // NextPageToken: A token that you can send as `page_token` to retrieve // the next page. If this field is omitted, there are no subsequent // pages. NextPageToken string `json:"nextPageToken,omitempty"` @@ -1131,12 +1131,12 @@ type ReauthSettings struct { // // Possible values: // "METHOD_UNSPECIFIED" - Reauthentication disabled. - // "LOGIN" - Mimicks the behavior as if the user had logged out and - // tried to log in again. Users with 2SV (step verification) enabled - // will see their 2SV challenges if they did not opt to have their - // second factor responses saved. Apps Core (GSuites) admins can - // configure settings to disable 2SV cookies and require 2-step - // verification for all Apps Core users in their domains. + // "LOGIN" - Mimics the behavior as if the user had logged out and + // tried to log in again. Users with 2SV (2-step verification) enabled + // see their 2SV challenges if they did not opt to have their second + // factor responses saved. Apps Core (GSuites) admins can configure + // settings to disable 2SV cookies and require 2SV for all Apps Core + // users in their domains. // "PASSWORD" - User must type their password. // "SECURE_KEY" - User must use their secure key 2nd factor device. Method string `json:"method,omitempty"` @@ -1146,8 +1146,7 @@ type ReauthSettings struct { // hierarchy to lower in the hierarchy. // // Possible values: - // "POLICY_TYPE_UNSPECIFIED" - Default value. This value is - // unused/invalid. + // "POLICY_TYPE_UNSPECIFIED" - Default value. This value is unused. // "MINIMUM" - This policy acts as a minimum to other policies, lower // in the hierarchy. Effective policy may only be the same or stricter. // "DEFAULT" - This policy acts as a default if no other reauth policy @@ -2622,9 +2621,9 @@ type ProjectsIapTunnelLocationsDestGroupsCreateCall struct { // Create: Creates a new TunnelDestGroup. // -// - parent: GCP Project number/id and location. In the following +// - parent: Google Cloud Project ID and location. In the following // format: -// projects/{project_number/id}/iap_tunnel/locations/{location}. +// `projects/{project_number/id}/iap_tunnel/locations/{location}`. func (r *ProjectsIapTunnelLocationsDestGroupsService) Create(parent string, tunneldestgroup *TunnelDestGroup) *ProjectsIapTunnelLocationsDestGroupsCreateCall { c := &ProjectsIapTunnelLocationsDestGroupsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent @@ -2633,9 +2632,9 @@ func (r *ProjectsIapTunnelLocationsDestGroupsService) Create(parent string, tunn } // TunnelDestGroupId sets the optional parameter "tunnelDestGroupId": -// Required. The ID to use for the TunnelDestGroup, which will become -// the final component of the resource name. This value should be 4-63 -// characters, and valid characters are /a-z-/. +// Required. The ID to use for the TunnelDestGroup, which becomes the +// final component of the resource name. This value must be 4-63 +// characters, and valid characters are `a-z-`. func (c *ProjectsIapTunnelLocationsDestGroupsCreateCall) TunnelDestGroupId(tunnelDestGroupId string) *ProjectsIapTunnelLocationsDestGroupsCreateCall { c.urlParams_.Set("tunnelDestGroupId", tunnelDestGroupId) return c @@ -2741,14 +2740,14 @@ func (c *ProjectsIapTunnelLocationsDestGroupsCreateCall) Do(opts ...googleapi.Ca // ], // "parameters": { // "parent": { - // "description": "Required. GCP Project number/id and location. In the following format: projects/{project_number/id}/iap_tunnel/locations/{location}.", + // "description": "Required. Google Cloud Project ID and location. In the following format: `projects/{project_number/id}/iap_tunnel/locations/{location}`.", // "location": "path", // "pattern": "^projects/[^/]+/iap_tunnel/locations/[^/]+$", // "required": true, // "type": "string" // }, // "tunnelDestGroupId": { - // "description": "Required. The ID to use for the TunnelDestGroup, which will become the final component of the resource name. This value should be 4-63 characters, and valid characters are /a-z-/.", + // "description": "Required. The ID to use for the TunnelDestGroup, which becomes the final component of the resource name. This value must be 4-63 characters, and valid characters are `a-z-`.", // "location": "query", // "type": "string" // } @@ -2779,10 +2778,10 @@ type ProjectsIapTunnelLocationsDestGroupsDeleteCall struct { // Delete: Deletes a TunnelDestGroup. // -// - name: Name of the TunnelDestGroup to be deleted. In the following +// - name: Name of the TunnelDestGroup to delete. In the following // format: -// projects/{project_number/id}/iap_tunnel/locations/{location}/destGro -// ups/{dest_group}. +// `projects/{project_number/id}/iap_tunnel/locations/{location}/destGr +// oups/{dest_group}`. func (r *ProjectsIapTunnelLocationsDestGroupsService) Delete(name string) *ProjectsIapTunnelLocationsDestGroupsDeleteCall { c := &ProjectsIapTunnelLocationsDestGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -2884,7 +2883,7 @@ func (c *ProjectsIapTunnelLocationsDestGroupsDeleteCall) Do(opts ...googleapi.Ca // ], // "parameters": { // "name": { - // "description": "Required. Name of the TunnelDestGroup to be deleted. In the following format: projects/{project_number/id}/iap_tunnel/locations/{location}/destGroups/{dest_group}.", + // "description": "Required. Name of the TunnelDestGroup to delete. In the following format: `projects/{project_number/id}/iap_tunnel/locations/{location}/destGroups/{dest_group}`.", // "location": "path", // "pattern": "^projects/[^/]+/iap_tunnel/locations/[^/]+/destGroups/[^/]+$", // "required": true, @@ -2917,8 +2916,8 @@ type ProjectsIapTunnelLocationsDestGroupsGetCall struct { // // - name: Name of the TunnelDestGroup to be fetched. In the following // format: -// projects/{project_number/id}/iap_tunnel/locations/{location}/destGro -// ups/{dest_group}. +// `projects/{project_number/id}/iap_tunnel/locations/{location}/destGr +// oups/{dest_group}`. func (r *ProjectsIapTunnelLocationsDestGroupsService) Get(name string) *ProjectsIapTunnelLocationsDestGroupsGetCall { c := &ProjectsIapTunnelLocationsDestGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -3033,7 +3032,7 @@ func (c *ProjectsIapTunnelLocationsDestGroupsGetCall) Do(opts ...googleapi.CallO // ], // "parameters": { // "name": { - // "description": "Required. Name of the TunnelDestGroup to be fetched. In the following format: projects/{project_number/id}/iap_tunnel/locations/{location}/destGroups/{dest_group}.", + // "description": "Required. Name of the TunnelDestGroup to be fetched. In the following format: `projects/{project_number/id}/iap_tunnel/locations/{location}/destGroups/{dest_group}`.", // "location": "path", // "pattern": "^projects/[^/]+/iap_tunnel/locations/[^/]+/destGroups/[^/]+$", // "required": true, @@ -3064,12 +3063,12 @@ type ProjectsIapTunnelLocationsDestGroupsListCall struct { // List: Lists the existing TunnelDestGroups. To group across all // locations, use a `-` as the location ID. For example: -// /v1/projects/123/iap_tunnel/locations/-/destGroups +// `/v1/projects/123/iap_tunnel/locations/-/destGroups` // -// - parent: GCP Project number/id and location. In the following +// - parent: Google Cloud Project ID and location. In the following // format: -// projects/{project_number/id}/iap_tunnel/locations/{location}. A `-` -// can be used for the location to group across all locations. +// `projects/{project_number/id}/iap_tunnel/locations/{location}`. A +// `-` can be used for the location to group across all locations. func (r *ProjectsIapTunnelLocationsDestGroupsService) List(parent string) *ProjectsIapTunnelLocationsDestGroupsListCall { c := &ProjectsIapTunnelLocationsDestGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent @@ -3077,9 +3076,9 @@ func (r *ProjectsIapTunnelLocationsDestGroupsService) List(parent string) *Proje } // PageSize sets the optional parameter "pageSize": The maximum number -// of groups to return. The service may return fewer than this value. If -// unspecified, at most 100 groups will be returned. The maximum value -// is 1000; values above 1000 will be coerced to 1000. +// of groups to return. The service might return fewer than this value. +// If unspecified, at most 100 groups are returned. The maximum value is +// 1000; values above 1000 are coerced to 1000. func (c *ProjectsIapTunnelLocationsDestGroupsListCall) PageSize(pageSize int64) *ProjectsIapTunnelLocationsDestGroupsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c @@ -3194,7 +3193,7 @@ func (c *ProjectsIapTunnelLocationsDestGroupsListCall) Do(opts ...googleapi.Call } return ret, nil // { - // "description": "Lists the existing TunnelDestGroups. To group across all locations, use a `-` as the location ID. For example: /v1/projects/123/iap_tunnel/locations/-/destGroups", + // "description": "Lists the existing TunnelDestGroups. To group across all locations, use a `-` as the location ID. For example: `/v1/projects/123/iap_tunnel/locations/-/destGroups`", // "flatPath": "v1/projects/{projectsId}/iap_tunnel/locations/{locationsId}/destGroups", // "httpMethod": "GET", // "id": "iap.projects.iap_tunnel.locations.destGroups.list", @@ -3203,7 +3202,7 @@ func (c *ProjectsIapTunnelLocationsDestGroupsListCall) Do(opts ...googleapi.Call // ], // "parameters": { // "pageSize": { - // "description": "The maximum number of groups to return. The service may return fewer than this value. If unspecified, at most 100 groups will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + // "description": "The maximum number of groups to return. The service might return fewer than this value. If unspecified, at most 100 groups are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", // "format": "int32", // "location": "query", // "type": "integer" @@ -3214,7 +3213,7 @@ func (c *ProjectsIapTunnelLocationsDestGroupsListCall) Do(opts ...googleapi.Call // "type": "string" // }, // "parent": { - // "description": "Required. GCP Project number/id and location. In the following format: projects/{project_number/id}/iap_tunnel/locations/{location}. A `-` can be used for the location to group across all locations.", + // "description": "Required. Google Cloud Project ID and location. In the following format: `projects/{project_number/id}/iap_tunnel/locations/{location}`. A `-` can be used for the location to group across all locations.", // "location": "path", // "pattern": "^projects/[^/]+/iap_tunnel/locations/[^/]+$", // "required": true, @@ -3275,9 +3274,9 @@ func (r *ProjectsIapTunnelLocationsDestGroupsService) Patch(name string, tunneld return c } -// UpdateMask sets the optional parameter "updateMask": The field mask -// specifying which IAP settings should be updated. If omitted, then all -// of the settings are updated. See +// UpdateMask sets the optional parameter "updateMask": A field mask +// that specifies which IAP settings to update. If omitted, then all of +// the settings are updated. See // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask func (c *ProjectsIapTunnelLocationsDestGroupsPatchCall) UpdateMask(updateMask string) *ProjectsIapTunnelLocationsDestGroupsPatchCall { c.urlParams_.Set("updateMask", updateMask) @@ -3391,7 +3390,7 @@ func (c *ProjectsIapTunnelLocationsDestGroupsPatchCall) Do(opts ...googleapi.Cal // "type": "string" // }, // "updateMask": { - // "description": "The field mask specifying which IAP settings should be updated. If omitted, then all of the settings are updated. See https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + // "description": "A field mask that specifies which IAP settings to update. If omitted, then all of the settings are updated. See https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", // "format": "google-fieldmask", // "location": "query", // "type": "string" diff --git a/managedidentities/v1/managedidentities-api.json b/managedidentities/v1/managedidentities-api.json index b018f825742..085dd358430 100644 --- a/managedidentities/v1/managedidentities-api.json +++ b/managedidentities/v1/managedidentities-api.json @@ -144,7 +144,7 @@ ], "parameters": { "filter": { - "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", "location": "query", "type": "string" }, @@ -1375,7 +1375,7 @@ } } }, - "revision": "20220216", + "revision": "20220331", "rootUrl": "https://managedidentities.googleapis.com/", "schemas": { "AttachTrustRequest": { @@ -1535,7 +1535,7 @@ "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., a credit card expiration date) Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", + "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": { @@ -1686,7 +1686,7 @@ "type": "object" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" @@ -1879,9 +1879,9 @@ }, "notificationParameters": { "additionalProperties": { - "type": "string" + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter" }, - "description": "Optional. notification_parameters are information that service producers may like to include that is not relevant to Rollout. This parameter will only be passed to Gamma and Cloud Logging for notification/logging purpose.", + "description": "Optional. notification_parameter are information that service producers may like to include that is not relevant to Rollout. This parameter will only be passed to Gamma and Cloud Logging for notification/logging purpose.", "type": "object" }, "producerMetadata": { @@ -2024,6 +2024,20 @@ }, "type": "object" }, + "GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter": { + "description": "Contains notification related data.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter", + "properties": { + "values": { + "description": "Optional. Array of string values. e.g. instance's replica information.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudSaasacceleratorManagementProvidersV1PerSliSloEligibility": { "description": "PerSliSloEligibility is a mapping from an SLI name to eligibility.", "id": "GoogleCloudSaasacceleratorManagementProvidersV1PerSliSloEligibility", diff --git a/managedidentities/v1/managedidentities-gen.go b/managedidentities/v1/managedidentities-gen.go index 36335eaa0a6..4e7f562aa28 100644 --- a/managedidentities/v1/managedidentities-gen.go +++ b/managedidentities/v1/managedidentities-gen.go @@ -480,11 +480,12 @@ func (s *DailyCycle) MarshalJSON() ([]byte, error) { // 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 (e.g., an anniversary) * A year on its own, with a zero -// month and a zero day * A year and month, with a zero day (e.g., a -// credit card expiration date) Related types: * google.type.TimeOfDay * -// google.type.DateTime * google.protobuf.Timestamp +// 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 @@ -699,8 +700,7 @@ func (s *Domain) MarshalJSON() ([]byte, error) { // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For // instance: service Foo { rpc Bar(google.protobuf.Empty) returns -// (google.protobuf.Empty); } The JSON representation for `Empty` is -// empty JSON object `{}`. +// (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the // server. @@ -957,11 +957,11 @@ type GoogleCloudSaasacceleratorManagementProvidersV1Instance struct { // used, but keep it consistent with other APIs (e.g. RescheduleUpdate) Name string `json:"name,omitempty"` - // NotificationParameters: Optional. notification_parameters are + // NotificationParameters: Optional. notification_parameter are // information that service producers may like to include that is not // relevant to Rollout. This parameter will only be passed to Gamma and // Cloud Logging for notification/logging purpose. - NotificationParameters map[string]string `json:"notificationParameters,omitempty"` + NotificationParameters map[string]GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter `json:"notificationParameters,omitempty"` // ProducerMetadata: Output only. Custom string attributes used // primarily to expose producer-specific information in monitoring @@ -1175,6 +1175,36 @@ func (s *GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata) Marshal return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter: +// Contains notification related data. +type GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter struct { + // Values: Optional. Array of string values. e.g. instance's replica + // information. + Values []string `json:"values,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Values") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Values") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudSaasacceleratorManagementProvidersV1PerSliSloEligibility: // PerSliSloEligibility is a mapping from an SLI name to eligibility. type GoogleCloudSaasacceleratorManagementProvidersV1PerSliSloEligibility struct { @@ -2828,8 +2858,8 @@ func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall // Filter sets the optional parameter "filter": A filter to narrow down // results to a preferred subset. The filtering language accepts strings -// like "displayName=tokyo", and is documented in more detail in AIP-160 -// (https://google.aip.dev/160). +// like "displayName=tokyo", and is documented in more detail in +// AIP-160 (https://google.aip.dev/160). func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall { c.urlParams_.Set("filter", filter) return c @@ -2958,7 +2988,7 @@ func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocat // ], // "parameters": { // "filter": { - // "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + // "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", // "location": "query", // "type": "string" // }, diff --git a/managedidentities/v1alpha1/managedidentities-api.json b/managedidentities/v1alpha1/managedidentities-api.json index 0bc1ef487c2..ab9976e4e2f 100644 --- a/managedidentities/v1alpha1/managedidentities-api.json +++ b/managedidentities/v1alpha1/managedidentities-api.json @@ -144,7 +144,7 @@ ], "parameters": { "filter": { - "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", "location": "query", "type": "string" }, @@ -1375,7 +1375,7 @@ } } }, - "revision": "20220216", + "revision": "20220331", "rootUrl": "https://managedidentities.googleapis.com/", "schemas": { "AttachTrustRequest": { @@ -1534,7 +1534,7 @@ "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., a credit card expiration date) Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", + "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": { @@ -1678,7 +1678,7 @@ "type": "object" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" @@ -1871,9 +1871,9 @@ }, "notificationParameters": { "additionalProperties": { - "type": "string" + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter" }, - "description": "Optional. notification_parameters are information that service producers may like to include that is not relevant to Rollout. This parameter will only be passed to Gamma and Cloud Logging for notification/logging purpose.", + "description": "Optional. notification_parameter are information that service producers may like to include that is not relevant to Rollout. This parameter will only be passed to Gamma and Cloud Logging for notification/logging purpose.", "type": "object" }, "producerMetadata": { @@ -2016,6 +2016,20 @@ }, "type": "object" }, + "GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter": { + "description": "Contains notification related data.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter", + "properties": { + "values": { + "description": "Optional. Array of string values. e.g. instance's replica information.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudSaasacceleratorManagementProvidersV1PerSliSloEligibility": { "description": "PerSliSloEligibility is a mapping from an SLI name to eligibility.", "id": "GoogleCloudSaasacceleratorManagementProvidersV1PerSliSloEligibility", diff --git a/managedidentities/v1alpha1/managedidentities-gen.go b/managedidentities/v1alpha1/managedidentities-gen.go index 6caadd49460..8908c622ba9 100644 --- a/managedidentities/v1alpha1/managedidentities-gen.go +++ b/managedidentities/v1alpha1/managedidentities-gen.go @@ -479,11 +479,12 @@ func (s *DailyCycle) MarshalJSON() ([]byte, error) { // 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 (e.g., an anniversary) * A year on its own, with a zero -// month and a zero day * A year and month, with a zero day (e.g., a -// credit card expiration date) Related types: * google.type.TimeOfDay * -// google.type.DateTime * google.protobuf.Timestamp +// 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 @@ -702,8 +703,7 @@ func (s *Domain) MarshalJSON() ([]byte, error) { // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For // instance: service Foo { rpc Bar(google.protobuf.Empty) returns -// (google.protobuf.Empty); } The JSON representation for `Empty` is -// empty JSON object `{}`. +// (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the // server. @@ -960,11 +960,11 @@ type GoogleCloudSaasacceleratorManagementProvidersV1Instance struct { // used, but keep it consistent with other APIs (e.g. RescheduleUpdate) Name string `json:"name,omitempty"` - // NotificationParameters: Optional. notification_parameters are + // NotificationParameters: Optional. notification_parameter are // information that service producers may like to include that is not // relevant to Rollout. This parameter will only be passed to Gamma and // Cloud Logging for notification/logging purpose. - NotificationParameters map[string]string `json:"notificationParameters,omitempty"` + NotificationParameters map[string]GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter `json:"notificationParameters,omitempty"` // ProducerMetadata: Output only. Custom string attributes used // primarily to expose producer-specific information in monitoring @@ -1178,6 +1178,36 @@ func (s *GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata) Marshal return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter: +// Contains notification related data. +type GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter struct { + // Values: Optional. Array of string values. e.g. instance's replica + // information. + Values []string `json:"values,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Values") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Values") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudSaasacceleratorManagementProvidersV1PerSliSloEligibility: // PerSliSloEligibility is a mapping from an SLI name to eligibility. type GoogleCloudSaasacceleratorManagementProvidersV1PerSliSloEligibility struct { @@ -2819,8 +2849,8 @@ func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall // Filter sets the optional parameter "filter": A filter to narrow down // results to a preferred subset. The filtering language accepts strings -// like "displayName=tokyo", and is documented in more detail in AIP-160 -// (https://google.aip.dev/160). +// like "displayName=tokyo", and is documented in more detail in +// AIP-160 (https://google.aip.dev/160). func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall { c.urlParams_.Set("filter", filter) return c @@ -2949,7 +2979,7 @@ func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocat // ], // "parameters": { // "filter": { - // "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + // "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", // "location": "query", // "type": "string" // }, diff --git a/managedidentities/v1beta1/managedidentities-api.json b/managedidentities/v1beta1/managedidentities-api.json index 6031576d2a1..d7b5311b416 100644 --- a/managedidentities/v1beta1/managedidentities-api.json +++ b/managedidentities/v1beta1/managedidentities-api.json @@ -144,7 +144,7 @@ ], "parameters": { "filter": { - "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", "location": "query", "type": "string" }, @@ -1375,7 +1375,7 @@ } } }, - "revision": "20220216", + "revision": "20220331", "rootUrl": "https://managedidentities.googleapis.com/", "schemas": { "AttachTrustRequest": { @@ -1535,7 +1535,7 @@ "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 (e.g., an anniversary) * A year on its own, with a zero month and a zero day * A year and month, with a zero day (e.g., a credit card expiration date) Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", + "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": { @@ -1687,7 +1687,7 @@ "type": "object" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" @@ -1880,9 +1880,9 @@ }, "notificationParameters": { "additionalProperties": { - "type": "string" + "$ref": "GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter" }, - "description": "Optional. notification_parameters are information that service producers may like to include that is not relevant to Rollout. This parameter will only be passed to Gamma and Cloud Logging for notification/logging purpose.", + "description": "Optional. notification_parameter are information that service producers may like to include that is not relevant to Rollout. This parameter will only be passed to Gamma and Cloud Logging for notification/logging purpose.", "type": "object" }, "producerMetadata": { @@ -2025,6 +2025,20 @@ }, "type": "object" }, + "GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter": { + "description": "Contains notification related data.", + "id": "GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter", + "properties": { + "values": { + "description": "Optional. Array of string values. e.g. instance's replica information.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudSaasacceleratorManagementProvidersV1PerSliSloEligibility": { "description": "PerSliSloEligibility is a mapping from an SLI name to eligibility.", "id": "GoogleCloudSaasacceleratorManagementProvidersV1PerSliSloEligibility", diff --git a/managedidentities/v1beta1/managedidentities-gen.go b/managedidentities/v1beta1/managedidentities-gen.go index 62af106a573..d186688d914 100644 --- a/managedidentities/v1beta1/managedidentities-gen.go +++ b/managedidentities/v1beta1/managedidentities-gen.go @@ -480,11 +480,12 @@ func (s *DailyCycle) MarshalJSON() ([]byte, error) { // 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 (e.g., an anniversary) * A year on its own, with a zero -// month and a zero day * A year and month, with a zero day (e.g., a -// credit card expiration date) Related types: * google.type.TimeOfDay * -// google.type.DateTime * google.protobuf.Timestamp +// 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 @@ -699,8 +700,7 @@ func (s *Domain) MarshalJSON() ([]byte, error) { // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For // instance: service Foo { rpc Bar(google.protobuf.Empty) returns -// (google.protobuf.Empty); } The JSON representation for `Empty` is -// empty JSON object `{}`. +// (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the // server. @@ -957,11 +957,11 @@ type GoogleCloudSaasacceleratorManagementProvidersV1Instance struct { // used, but keep it consistent with other APIs (e.g. RescheduleUpdate) Name string `json:"name,omitempty"` - // NotificationParameters: Optional. notification_parameters are + // NotificationParameters: Optional. notification_parameter are // information that service producers may like to include that is not // relevant to Rollout. This parameter will only be passed to Gamma and // Cloud Logging for notification/logging purpose. - NotificationParameters map[string]string `json:"notificationParameters,omitempty"` + NotificationParameters map[string]GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter `json:"notificationParameters,omitempty"` // ProducerMetadata: Output only. Custom string attributes used // primarily to expose producer-specific information in monitoring @@ -1175,6 +1175,36 @@ func (s *GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata) Marshal return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter: +// Contains notification related data. +type GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter struct { + // Values: Optional. Array of string values. e.g. instance's replica + // information. + Values []string `json:"values,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Values") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Values") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudSaasacceleratorManagementProvidersV1NotificationParameter + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudSaasacceleratorManagementProvidersV1PerSliSloEligibility: // PerSliSloEligibility is a mapping from an SLI name to eligibility. type GoogleCloudSaasacceleratorManagementProvidersV1PerSliSloEligibility struct { @@ -2822,8 +2852,8 @@ func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall // Filter sets the optional parameter "filter": A filter to narrow down // results to a preferred subset. The filtering language accepts strings -// like "displayName=tokyo", and is documented in more detail in AIP-160 -// (https://google.aip.dev/160). +// like "displayName=tokyo", and is documented in more detail in +// AIP-160 (https://google.aip.dev/160). func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall { c.urlParams_.Set("filter", filter) return c @@ -2952,7 +2982,7 @@ func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocat // ], // "parameters": { // "filter": { - // "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + // "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", // "location": "query", // "type": "string" // }, diff --git a/memcache/v1/memcache-api.json b/memcache/v1/memcache-api.json index 39e146778e2..9ad464b361b 100644 --- a/memcache/v1/memcache-api.json +++ b/memcache/v1/memcache-api.json @@ -144,7 +144,7 @@ ], "parameters": { "filter": { - "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", "location": "query", "type": "string" }, @@ -370,6 +370,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "rescheduleMaintenance": { + "description": "Reschedules upcoming maintenance event.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:rescheduleMaintenance", + "httpMethod": "POST", + "id": "memcache.projects.locations.instances.rescheduleMaintenance", + "parameterOrder": [ + "instance" + ], + "parameters": { + "instance": { + "description": "Required. Memcache instance resource name using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` where `location_id` refers to a GCP region.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+instance}:rescheduleMaintenance", + "request": { + "$ref": "RescheduleMaintenanceRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "updateParameters": { "description": "Updates the defined Memcached parameters for an existing instance. This method only stages the parameters, it must be followed by `ApplyParameters` to apply the parameters to nodes of the Memcached instance.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:updateParameters", @@ -528,7 +556,7 @@ } } }, - "revision": "20220404", + "revision": "20220419", "rootUrl": "https://memcache.googleapis.com/", "schemas": { "ApplyParametersRequest": { @@ -613,7 +641,7 @@ "type": "object" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" @@ -726,7 +754,7 @@ "type": "string" }, "instanceType": { - "description": "Optional. The instance_type of this instance of format: projects/{project_id}/locations/{location_id}/instanceTypes/{instance_type_id}. Instance Type represents a high-level tier or SKU of the service that this instance belong to. When enabled(eg: Maintenance Rollout), Rollout uses 'instance_type' along with 'software_versions' to determine whether instance needs an update or not.", + "description": "Optional. The instance_type of this instance of format: projects/{project_number}/locations/{location_id}/instanceTypes/{instance_type_id}. Instance Type represents a high-level tier or SKU of the service that this instance belong to. When enabled(eg: Maintenance Rollout), Rollout uses 'instance_type' along with 'software_versions' to determine whether instance needs an update or not.", "type": "string" }, "labels": { @@ -755,7 +783,7 @@ "description": "Optional. The MaintenanceSettings associated with instance." }, "name": { - "description": "Unique name of the resource. It uses the form: `projects/{project_id|project_number}/locations/{location_id}/instances/{instance_id}` Note: Either project_id or project_number can be used, but keep it consistent with other APIs (e.g. RescheduleUpdate)", + "description": "Unique name of the resource. It uses the form: `projects/{project_number}/locations/{location_id}/instances/{instance_id}` Note: This name is passed, stored and logged across the rollout system. So use of consumer project_id or any other consumer PII in the name is strongly discouraged for wipeout (go/wipeout) compliance. See go/elysium/project_ids#storage-guidance for more details.", "type": "string" }, "notificationParameters": { @@ -1496,6 +1524,34 @@ }, "type": "object" }, + "RescheduleMaintenanceRequest": { + "description": "Request for RescheduleMaintenance.", + "id": "RescheduleMaintenanceRequest", + "properties": { + "rescheduleType": { + "description": "Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well.", + "enum": [ + "RESCHEDULE_TYPE_UNSPECIFIED", + "IMMEDIATE", + "NEXT_AVAILABLE_WINDOW", + "SPECIFIC_TIME" + ], + "enumDescriptions": [ + "Not set.", + "If the user wants to schedule the maintenance to happen now.", + "If the user wants to use the existing maintenance policy to find the next available window.", + "If the user wants to reschedule the maintenance to a specific time." + ], + "type": "string" + }, + "scheduleTime": { + "description": "Timestamp when the maintenance shall be rescheduled to if reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for example `2012-11-15T16:19:00.094Z`.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "Schedule": { "description": "Configure the schedule.", "id": "Schedule", diff --git a/memcache/v1/memcache-gen.go b/memcache/v1/memcache-gen.go index 4db25c2929b..ebb283dba7b 100644 --- a/memcache/v1/memcache-gen.go +++ b/memcache/v1/memcache-gen.go @@ -349,8 +349,7 @@ func (s *DenyMaintenancePeriod) MarshalJSON() ([]byte, error) { // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For // instance: service Foo { rpc Bar(google.protobuf.Empty) returns -// (google.protobuf.Empty); } The JSON representation for `Empty` is -// empty JSON object `{}`. +// (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the // server. @@ -499,11 +498,12 @@ type GoogleCloudSaasacceleratorManagementProvidersV1Instance struct { CreateTime string `json:"createTime,omitempty"` // InstanceType: Optional. The instance_type of this instance of format: - // projects/{project_id}/locations/{location_id}/instanceTypes/{instance_ - // type_id}. Instance Type represents a high-level tier or SKU of the - // service that this instance belong to. When enabled(eg: Maintenance - // Rollout), Rollout uses 'instance_type' along with 'software_versions' - // to determine whether instance needs an update or not. + // projects/{project_number}/locations/{location_id}/instanceTypes/{insta + // nce_type_id}. Instance Type represents a high-level tier or SKU of + // the service that this instance belong to. When enabled(eg: + // Maintenance Rollout), Rollout uses 'instance_type' along with + // 'software_versions' to determine whether instance needs an update or + // not. InstanceType string `json:"instanceType,omitempty"` // Labels: Optional. Resource labels to represent user provided @@ -528,9 +528,11 @@ type GoogleCloudSaasacceleratorManagementProvidersV1Instance struct { MaintenanceSettings *GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings `json:"maintenanceSettings,omitempty"` // Name: Unique name of the resource. It uses the form: - // `projects/{project_id|project_number}/locations/{location_id}/instance - // s/{instance_id}` Note: Either project_id or project_number can be - // used, but keep it consistent with other APIs (e.g. RescheduleUpdate) + // `projects/{project_number}/locations/{location_id}/instances/{instance + // _id}` Note: This name is passed, stored and logged across the rollout + // system. So use of consumer project_id or any other consumer PII in + // the name is strongly discouraged for wipeout (go/wipeout) compliance. + // See go/elysium/project_ids#storage-guidance for more details. Name string `json:"name,omitempty"` // NotificationParameters: Optional. notification_parameter are @@ -1663,6 +1665,50 @@ func (s *OperationMetadata) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RescheduleMaintenanceRequest: Request for RescheduleMaintenance. +type RescheduleMaintenanceRequest struct { + // RescheduleType: Required. If reschedule type is SPECIFIC_TIME, must + // set up schedule_time as well. + // + // Possible values: + // "RESCHEDULE_TYPE_UNSPECIFIED" - Not set. + // "IMMEDIATE" - If the user wants to schedule the maintenance to + // happen now. + // "NEXT_AVAILABLE_WINDOW" - If the user wants to use the existing + // maintenance policy to find the next available window. + // "SPECIFIC_TIME" - If the user wants to reschedule the maintenance + // to a specific time. + RescheduleType string `json:"rescheduleType,omitempty"` + + // ScheduleTime: Timestamp when the maintenance shall be rescheduled to + // if reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for example + // `2012-11-15T16:19:00.094Z`. + ScheduleTime string `json:"scheduleTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "RescheduleType") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "RescheduleType") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *RescheduleMaintenanceRequest) MarshalJSON() ([]byte, error) { + type NoMethod RescheduleMaintenanceRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Schedule: Configure the schedule. type Schedule struct { // Day: Allows to define schedule that runs specified day of the week. @@ -2117,8 +2163,8 @@ func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall // Filter sets the optional parameter "filter": A filter to narrow down // results to a preferred subset. The filtering language accepts strings -// like "displayName=tokyo", and is documented in more detail in AIP-160 -// (https://google.aip.dev/160). +// like "displayName=tokyo", and is documented in more detail in +// AIP-160 (https://google.aip.dev/160). func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall { c.urlParams_.Set("filter", filter) return c @@ -2247,7 +2293,7 @@ func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocat // ], // "parameters": { // "filter": { - // "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + // "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", // "location": "query", // "type": "string" // }, @@ -3276,6 +3322,150 @@ func (c *ProjectsLocationsInstancesPatchCall) Do(opts ...googleapi.CallOption) ( } +// method id "memcache.projects.locations.instances.rescheduleMaintenance": + +type ProjectsLocationsInstancesRescheduleMaintenanceCall struct { + s *Service + instance string + reschedulemaintenancerequest *RescheduleMaintenanceRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// RescheduleMaintenance: Reschedules upcoming maintenance event. +// +// - instance: Memcache instance resource name using the form: +// `projects/{project_id}/locations/{location_id}/instances/{instance_i +// d}` where `location_id` refers to a GCP region. +func (r *ProjectsLocationsInstancesService) RescheduleMaintenance(instance string, reschedulemaintenancerequest *RescheduleMaintenanceRequest) *ProjectsLocationsInstancesRescheduleMaintenanceCall { + c := &ProjectsLocationsInstancesRescheduleMaintenanceCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.instance = instance + c.reschedulemaintenancerequest = reschedulemaintenancerequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsInstancesRescheduleMaintenanceCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesRescheduleMaintenanceCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsInstancesRescheduleMaintenanceCall) Context(ctx context.Context) *ProjectsLocationsInstancesRescheduleMaintenanceCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsInstancesRescheduleMaintenanceCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsInstancesRescheduleMaintenanceCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.reschedulemaintenancerequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+instance}:rescheduleMaintenance") + 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{ + "instance": c.instance, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "memcache.projects.locations.instances.rescheduleMaintenance" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsInstancesRescheduleMaintenanceCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Reschedules upcoming maintenance event.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:rescheduleMaintenance", + // "httpMethod": "POST", + // "id": "memcache.projects.locations.instances.rescheduleMaintenance", + // "parameterOrder": [ + // "instance" + // ], + // "parameters": { + // "instance": { + // "description": "Required. Memcache instance resource name using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` where `location_id` refers to a GCP region.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+instance}:rescheduleMaintenance", + // "request": { + // "$ref": "RescheduleMaintenanceRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "memcache.projects.locations.instances.updateParameters": type ProjectsLocationsInstancesUpdateParametersCall struct { diff --git a/memcache/v1beta2/memcache-api.json b/memcache/v1beta2/memcache-api.json index e95363046a9..168314c78ad 100644 --- a/memcache/v1beta2/memcache-api.json +++ b/memcache/v1beta2/memcache-api.json @@ -144,7 +144,7 @@ ], "parameters": { "filter": { - "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", "location": "query", "type": "string" }, @@ -398,6 +398,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "rescheduleMaintenance": { + "description": "Performs the apply phase of the RescheduleMaintenance verb.", + "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:rescheduleMaintenance", + "httpMethod": "POST", + "id": "memcache.projects.locations.instances.rescheduleMaintenance", + "parameterOrder": [ + "instance" + ], + "parameters": { + "instance": { + "description": "Required. Memcache instance resource name using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` where `location_id` refers to a GCP region.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta2/{+instance}:rescheduleMaintenance", + "request": { + "$ref": "RescheduleMaintenanceRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "updateParameters": { "description": "Updates the defined Memcached parameters for an existing instance. This method only stages the parameters, it must be followed by `ApplyParameters` to apply the parameters to nodes of the Memcached instance.", "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:updateParameters", @@ -556,7 +584,7 @@ } } }, - "revision": "20220404", + "revision": "20220419", "rootUrl": "https://memcache.googleapis.com/", "schemas": { "ApplyParametersRequest": { @@ -659,7 +687,7 @@ "type": "object" }, "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" @@ -772,7 +800,7 @@ "type": "string" }, "instanceType": { - "description": "Optional. The instance_type of this instance of format: projects/{project_id}/locations/{location_id}/instanceTypes/{instance_type_id}. Instance Type represents a high-level tier or SKU of the service that this instance belong to. When enabled(eg: Maintenance Rollout), Rollout uses 'instance_type' along with 'software_versions' to determine whether instance needs an update or not.", + "description": "Optional. The instance_type of this instance of format: projects/{project_number}/locations/{location_id}/instanceTypes/{instance_type_id}. Instance Type represents a high-level tier or SKU of the service that this instance belong to. When enabled(eg: Maintenance Rollout), Rollout uses 'instance_type' along with 'software_versions' to determine whether instance needs an update or not.", "type": "string" }, "labels": { @@ -801,7 +829,7 @@ "description": "Optional. The MaintenanceSettings associated with instance." }, "name": { - "description": "Unique name of the resource. It uses the form: `projects/{project_id|project_number}/locations/{location_id}/instances/{instance_id}` Note: Either project_id or project_number can be used, but keep it consistent with other APIs (e.g. RescheduleUpdate)", + "description": "Unique name of the resource. It uses the form: `projects/{project_number}/locations/{location_id}/instances/{instance_id}` Note: This name is passed, stored and logged across the rollout system. So use of consumer project_id or any other consumer PII in the name is strongly discouraged for wipeout (go/wipeout) compliance. See go/elysium/project_ids#storage-guidance for more details.", "type": "string" }, "notificationParameters": { @@ -1552,6 +1580,34 @@ }, "type": "object" }, + "RescheduleMaintenanceRequest": { + "description": "Request for RescheduleMaintenance.", + "id": "RescheduleMaintenanceRequest", + "properties": { + "rescheduleType": { + "description": "Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well.", + "enum": [ + "RESCHEDULE_TYPE_UNSPECIFIED", + "IMMEDIATE", + "NEXT_AVAILABLE_WINDOW", + "SPECIFIC_TIME" + ], + "enumDescriptions": [ + "Not set.", + "If the user wants to schedule the maintenance to happen now.", + "If the user wants to use the existing maintenance policy to find the next available window.", + "If the user wants to reschedule the maintenance to a specific time." + ], + "type": "string" + }, + "scheduleTime": { + "description": "Timestamp when the maintenance shall be rescheduled to if reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for example `2012-11-15T16:19:00.094Z`.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "Schedule": { "description": "Configure the schedule.", "id": "Schedule", diff --git a/memcache/v1beta2/memcache-gen.go b/memcache/v1beta2/memcache-gen.go index 294b8e8b5a9..8415362dafe 100644 --- a/memcache/v1beta2/memcache-gen.go +++ b/memcache/v1beta2/memcache-gen.go @@ -383,8 +383,7 @@ func (s *DenyMaintenancePeriod) MarshalJSON() ([]byte, error) { // duplicated empty messages in your APIs. A typical example is to use // it as the request or the response type of an API method. For // instance: service Foo { rpc Bar(google.protobuf.Empty) returns -// (google.protobuf.Empty); } The JSON representation for `Empty` is -// empty JSON object `{}`. +// (google.protobuf.Empty); } type Empty struct { // ServerResponse contains the HTTP response code and headers from the // server. @@ -533,11 +532,12 @@ type GoogleCloudSaasacceleratorManagementProvidersV1Instance struct { CreateTime string `json:"createTime,omitempty"` // InstanceType: Optional. The instance_type of this instance of format: - // projects/{project_id}/locations/{location_id}/instanceTypes/{instance_ - // type_id}. Instance Type represents a high-level tier or SKU of the - // service that this instance belong to. When enabled(eg: Maintenance - // Rollout), Rollout uses 'instance_type' along with 'software_versions' - // to determine whether instance needs an update or not. + // projects/{project_number}/locations/{location_id}/instanceTypes/{insta + // nce_type_id}. Instance Type represents a high-level tier or SKU of + // the service that this instance belong to. When enabled(eg: + // Maintenance Rollout), Rollout uses 'instance_type' along with + // 'software_versions' to determine whether instance needs an update or + // not. InstanceType string `json:"instanceType,omitempty"` // Labels: Optional. Resource labels to represent user provided @@ -562,9 +562,11 @@ type GoogleCloudSaasacceleratorManagementProvidersV1Instance struct { MaintenanceSettings *GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings `json:"maintenanceSettings,omitempty"` // Name: Unique name of the resource. It uses the form: - // `projects/{project_id|project_number}/locations/{location_id}/instance - // s/{instance_id}` Note: Either project_id or project_number can be - // used, but keep it consistent with other APIs (e.g. RescheduleUpdate) + // `projects/{project_number}/locations/{location_id}/instances/{instance + // _id}` Note: This name is passed, stored and logged across the rollout + // system. So use of consumer project_id or any other consumer PII in + // the name is strongly discouraged for wipeout (go/wipeout) compliance. + // See go/elysium/project_ids#storage-guidance for more details. Name string `json:"name,omitempty"` // NotificationParameters: Optional. notification_parameter are @@ -1704,6 +1706,50 @@ func (s *OperationMetadata) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RescheduleMaintenanceRequest: Request for RescheduleMaintenance. +type RescheduleMaintenanceRequest struct { + // RescheduleType: Required. If reschedule type is SPECIFIC_TIME, must + // set up schedule_time as well. + // + // Possible values: + // "RESCHEDULE_TYPE_UNSPECIFIED" - Not set. + // "IMMEDIATE" - If the user wants to schedule the maintenance to + // happen now. + // "NEXT_AVAILABLE_WINDOW" - If the user wants to use the existing + // maintenance policy to find the next available window. + // "SPECIFIC_TIME" - If the user wants to reschedule the maintenance + // to a specific time. + RescheduleType string `json:"rescheduleType,omitempty"` + + // ScheduleTime: Timestamp when the maintenance shall be rescheduled to + // if reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for example + // `2012-11-15T16:19:00.094Z`. + ScheduleTime string `json:"scheduleTime,omitempty"` + + // ForceSendFields is a list of field names (e.g. "RescheduleType") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "RescheduleType") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *RescheduleMaintenanceRequest) MarshalJSON() ([]byte, error) { + type NoMethod RescheduleMaintenanceRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Schedule: Configure the schedule. type Schedule struct { // Day: Allows to define schedule that runs specified day of the week. @@ -2158,8 +2204,8 @@ func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall // Filter sets the optional parameter "filter": A filter to narrow down // results to a preferred subset. The filtering language accepts strings -// like "displayName=tokyo", and is documented in more detail in AIP-160 -// (https://google.aip.dev/160). +// like "displayName=tokyo", and is documented in more detail in +// AIP-160 (https://google.aip.dev/160). func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall { c.urlParams_.Set("filter", filter) return c @@ -2288,7 +2334,7 @@ func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocat // ], // "parameters": { // "filter": { - // "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like \"displayName=tokyo\", and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + // "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", // "location": "query", // "type": "string" // }, @@ -3461,6 +3507,151 @@ func (c *ProjectsLocationsInstancesPatchCall) Do(opts ...googleapi.CallOption) ( } +// method id "memcache.projects.locations.instances.rescheduleMaintenance": + +type ProjectsLocationsInstancesRescheduleMaintenanceCall struct { + s *Service + instance string + reschedulemaintenancerequest *RescheduleMaintenanceRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// RescheduleMaintenance: Performs the apply phase of the +// RescheduleMaintenance verb. +// +// - instance: Memcache instance resource name using the form: +// `projects/{project_id}/locations/{location_id}/instances/{instance_i +// d}` where `location_id` refers to a GCP region. +func (r *ProjectsLocationsInstancesService) RescheduleMaintenance(instance string, reschedulemaintenancerequest *RescheduleMaintenanceRequest) *ProjectsLocationsInstancesRescheduleMaintenanceCall { + c := &ProjectsLocationsInstancesRescheduleMaintenanceCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.instance = instance + c.reschedulemaintenancerequest = reschedulemaintenancerequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsInstancesRescheduleMaintenanceCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesRescheduleMaintenanceCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsInstancesRescheduleMaintenanceCall) Context(ctx context.Context) *ProjectsLocationsInstancesRescheduleMaintenanceCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsInstancesRescheduleMaintenanceCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsInstancesRescheduleMaintenanceCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.reschedulemaintenancerequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+instance}:rescheduleMaintenance") + 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{ + "instance": c.instance, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "memcache.projects.locations.instances.rescheduleMaintenance" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsInstancesRescheduleMaintenanceCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Performs the apply phase of the RescheduleMaintenance verb.", + // "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:rescheduleMaintenance", + // "httpMethod": "POST", + // "id": "memcache.projects.locations.instances.rescheduleMaintenance", + // "parameterOrder": [ + // "instance" + // ], + // "parameters": { + // "instance": { + // "description": "Required. Memcache instance resource name using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` where `location_id` refers to a GCP region.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1beta2/{+instance}:rescheduleMaintenance", + // "request": { + // "$ref": "RescheduleMaintenanceRequest" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "memcache.projects.locations.instances.updateParameters": type ProjectsLocationsInstancesUpdateParametersCall struct { diff --git a/metastore/v1alpha/metastore-api.json b/metastore/v1alpha/metastore-api.json index c46166b2a76..2b2698ab126 100644 --- a/metastore/v1alpha/metastore-api.json +++ b/metastore/v1alpha/metastore-api.json @@ -177,6 +177,275 @@ } }, "resources": { + "federations": { + "methods": { + "create": { + "description": "Creates a metastore federation in a project and location.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/federations", + "httpMethod": "POST", + "id": "metastore.projects.locations.federations.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "federationId": { + "description": "Required. The ID of the metastore federation, which is used as the final component of the metastore federation's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The relative resource name of the location in which to create a federation service, in the following form:projects/{project_number}/locations/{location_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+parent}/federations", + "request": { + "$ref": "Federation" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single federation.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/federations/{federationsId}", + "httpMethod": "DELETE", + "id": "metastore.projects.locations.federations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the metastore federation to delete, in the following form:projects/{project_number}/locations/{location_id}/federations/{federation_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/federations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the details of a single federation.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/federations/{federationsId}", + "httpMethod": "GET", + "id": "metastore.projects.locations.federations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the metastore federation to retrieve, in the following form:projects/{project_number}/locations/{location_id}/federations/{federation_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/federations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "Federation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/federations/{federationsId}:getIamPolicy", + "httpMethod": "GET", + "id": "metastore.projects.locations.federations.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset.The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/federations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists federations in a project and location.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/federations", + "httpMethod": "GET", + "id": "metastore.projects.locations.federations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter to apply to list results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specify the ordering of results as described in Sorting Order (https://cloud.google.com/apis/design/design_patterns#sorting_order). If not specified, the results will be sorted in the default order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of federations to return. The response may contain less than the maximum number. If unspecified, no more than 500 services are returned. The maximum value is 1000; values above 1000 are changed to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous ListFederationServices call. Provide this token to retrieve the subsequent page.To retrieve the first page, supply an empty page token.When paginating, other parameters provided to ListFederationServices must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The relative resource name of the location of metastore federations to list, in the following form: projects/{project_number}/locations/{location_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/federations", + "response": { + "$ref": "ListFederationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the fields of a federation.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/federations/{federationsId}", + "httpMethod": "PATCH", + "id": "metastore.projects.locations.federations.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. The relative resource name of the federation, of the form: projects/{project_number}/locations/{location_id}/federations/{federation_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/federations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. A field mask used to specify the fields to be overwritten in the metastore federation resource by the update. Fields specified in the update_mask are relative to the resource (not to the full request). A field is overwritten if it is in the mask.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "request": { + "$ref": "Federation" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/federations/{federationsId}:setIamPolicy", + "httpMethod": "POST", + "id": "metastore.projects.locations.federations.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/federations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/federations/{federationsId}:testIamPermissions", + "httpMethod": "POST", + "id": "metastore.projects.locations.federations.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/federations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "operations": { "methods": { "delete": { @@ -1198,7 +1467,7 @@ } } }, - "revision": "20220407", + "revision": "20220426", "rootUrl": "https://metastore.googleapis.com/", "schemas": { "AuditConfig": { @@ -1272,6 +1541,33 @@ }, "type": "object" }, + "BackendMetastore": { + "description": "Represents a backend metastore for the federation.", + "id": "BackendMetastore", + "properties": { + "metastoreType": { + "description": "The type of the backend metastore.", + "enum": [ + "METASTORE_TYPE_UNSPECIFIED", + "DATAPLEX", + "BIGQUERY", + "DATAPROC_METASTORE" + ], + "enumDescriptions": [ + "The metastore type is not set.", + "The backend metastore is Dataplex.", + "The backend metastore is BigQuery.", + "The backend metastore is Dataproc Metastore." + ], + "type": "string" + }, + "name": { + "description": "The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: Dataplex: projects/{project_id}/locations/{location}/lakes/{lake_id} BigQuery: projects/{project_id} Dataproc Metastore: projects/{project_id}/locations/{location}/services/{service_id}", + "type": "string" + } + }, + "type": "object" + }, "Backup": { "description": "The details of a backup resource.", "id": "Backup", @@ -1506,6 +1802,83 @@ }, "type": "object" }, + "Federation": { + "description": "Represents a federation of multiple backend metastores.", + "id": "Federation", + "properties": { + "backendMetastores": { + "additionalProperties": { + "$ref": "BackendMetastore" + }, + "description": "A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key is an integer that represents the order in which BackendMetastores should be evaluated to resolve database names at query time. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number.", + "type": "object" + }, + "createTime": { + "description": "Output only. The time when the metastore federation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endpointUri": { + "description": "Output only. The federation endpoint.", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "User-defined labels for the metastore federation.", + "type": "object" + }, + "name": { + "description": "Immutable. The relative resource name of the federation, of the form: projects/{project_number}/locations/{location_id}/federations/{federation_id}`.", + "type": "string" + }, + "state": { + "description": "Output only. The current state of the federation.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING", + "ERROR" + ], + "enumDescriptions": [ + "The state of the metastore federation is unknown.", + "The metastore federation is in the process of being created.", + "The metastore federation is running and ready to serve queries.", + "The metastore federation is being updated. It remains usable but cannot accept additional update requests or be deleted at this time.", + "The metastore federation is undergoing deletion. It cannot be used.", + "The metastore federation has encountered an error and cannot be used. The metastore federation should be deleted." + ], + "readOnly": true, + "type": "string" + }, + "stateMessage": { + "description": "Output only. Additional information about the current state of the metastore federation, if available.", + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. The globally unique resource identifier of the metastore federation.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time when the metastore federation was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "version": { + "description": "Immutable. The Apache Hive metastore version of the federation. All backend metastore versions must be compatible with the federation version.", + "type": "string" + } + }, + "type": "object" + }, "HiveMetastoreConfig": { "description": "Specifies configuration information specific to running Hive metastore software as the metastore service.", "id": "HiveMetastoreConfig", @@ -1619,6 +1992,31 @@ }, "type": "object" }, + "ListFederationsResponse": { + "description": "Response message for ListFederations", + "id": "ListFederationsResponse", + "properties": { + "federations": { + "description": "The services in the specified location.", + "items": { + "$ref": "Federation" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListLocationsResponse": { "description": "The response message for Locations.ListLocations.", "id": "ListLocationsResponse", diff --git a/metastore/v1alpha/metastore-gen.go b/metastore/v1alpha/metastore-gen.go index c1d9c489978..2b84bf9260a 100644 --- a/metastore/v1alpha/metastore-gen.go +++ b/metastore/v1alpha/metastore-gen.go @@ -151,6 +151,7 @@ type ProjectsService struct { func NewProjectsLocationsService(s *APIService) *ProjectsLocationsService { rs := &ProjectsLocationsService{s: s} + rs.Federations = NewProjectsLocationsFederationsService(s) rs.Operations = NewProjectsLocationsOperationsService(s) rs.Services = NewProjectsLocationsServicesService(s) return rs @@ -159,11 +160,22 @@ func NewProjectsLocationsService(s *APIService) *ProjectsLocationsService { type ProjectsLocationsService struct { s *APIService + Federations *ProjectsLocationsFederationsService + Operations *ProjectsLocationsOperationsService Services *ProjectsLocationsServicesService } +func NewProjectsLocationsFederationsService(s *APIService) *ProjectsLocationsFederationsService { + rs := &ProjectsLocationsFederationsService{s: s} + return rs +} + +type ProjectsLocationsFederationsService struct { + s *APIService +} + func NewProjectsLocationsOperationsService(s *APIService) *ProjectsLocationsOperationsService { rs := &ProjectsLocationsOperationsService{s: s} return rs @@ -370,6 +382,48 @@ func (s *AuxiliaryVersionConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// BackendMetastore: Represents a backend metastore for the federation. +type BackendMetastore struct { + // MetastoreType: The type of the backend metastore. + // + // Possible values: + // "METASTORE_TYPE_UNSPECIFIED" - The metastore type is not set. + // "DATAPLEX" - The backend metastore is Dataplex. + // "BIGQUERY" - The backend metastore is BigQuery. + // "DATAPROC_METASTORE" - The backend metastore is Dataproc Metastore. + MetastoreType string `json:"metastoreType,omitempty"` + + // Name: The relative resource name of the metastore that is being + // federated. The formats of the relative resource names for the + // currently supported metastores are listed below: Dataplex: + // projects/{project_id}/locations/{location}/lakes/{lake_id} BigQuery: + // projects/{project_id} Dataproc Metastore: + // projects/{project_id}/locations/{location}/services/{service_id} + Name string `json:"name,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MetastoreType") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "MetastoreType") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *BackendMetastore) MarshalJSON() ([]byte, error) { + type NoMethod BackendMetastore + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Backup: The details of a backup resource. type Backup struct { // CreateTime: Output only. The time when the backup was started. @@ -812,6 +866,95 @@ func (s *Expr) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Federation: Represents a federation of multiple backend metastores. +type Federation struct { + // BackendMetastores: A map from BackendMetastore rank to + // BackendMetastores from which the federation service serves metadata + // at query time. The map key is an integer that represents the order in + // which BackendMetastores should be evaluated to resolve database names + // at query time. A BackendMetastore with a lower number will be + // evaluated before a BackendMetastore with a higher number. + BackendMetastores map[string]BackendMetastore `json:"backendMetastores,omitempty"` + + // CreateTime: Output only. The time when the metastore federation was + // created. + CreateTime string `json:"createTime,omitempty"` + + // EndpointUri: Output only. The federation endpoint. + EndpointUri string `json:"endpointUri,omitempty"` + + // Labels: User-defined labels for the metastore federation. + Labels map[string]string `json:"labels,omitempty"` + + // Name: Immutable. The relative resource name of the federation, of the + // form: + // projects/{project_number}/locations/{location_id}/federations/{federat + // ion_id}`. + Name string `json:"name,omitempty"` + + // State: Output only. The current state of the federation. + // + // Possible values: + // "STATE_UNSPECIFIED" - The state of the metastore federation is + // unknown. + // "CREATING" - The metastore federation is in the process of being + // created. + // "ACTIVE" - The metastore federation is running and ready to serve + // queries. + // "UPDATING" - The metastore federation is being updated. It remains + // usable but cannot accept additional update requests or be deleted at + // this time. + // "DELETING" - The metastore federation is undergoing deletion. It + // cannot be used. + // "ERROR" - The metastore federation has encountered an error and + // cannot be used. The metastore federation should be deleted. + State string `json:"state,omitempty"` + + // StateMessage: Output only. Additional information about the current + // state of the metastore federation, if available. + StateMessage string `json:"stateMessage,omitempty"` + + // Uid: Output only. The globally unique resource identifier of the + // metastore federation. + Uid string `json:"uid,omitempty"` + + // UpdateTime: Output only. The time when the metastore federation was + // last updated. + UpdateTime string `json:"updateTime,omitempty"` + + // Version: Immutable. The Apache Hive metastore version of the + // federation. All backend metastore versions must be compatible with + // the federation version. + Version string `json:"version,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "BackendMetastores") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BackendMetastores") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Federation) MarshalJSON() ([]byte, error) { + type NoMethod Federation + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // HiveMetastoreConfig: Specifies configuration information specific to // running Hive metastore software as the metastore service. type HiveMetastoreConfig struct { @@ -1022,6 +1165,45 @@ func (s *ListBackupsResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ListFederationsResponse: Response message for ListFederations +type ListFederationsResponse struct { + // Federations: The services in the specified location. + Federations []*Federation `json:"federations,omitempty"` + + // NextPageToken: A token that can be sent as page_token to retrieve the + // next page. If this field is omitted, there are no subsequent pages. + NextPageToken string `json:"nextPageToken,omitempty"` + + // Unreachable: Locations that could not be reached. + Unreachable []string `json:"unreachable,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Federations") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Federations") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ListFederationsResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListFederationsResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ListLocationsResponse: The response message for // Locations.ListLocations. type ListLocationsResponse struct { @@ -2578,6 +2760,1367 @@ func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocat } } +// method id "metastore.projects.locations.federations.create": + +type ProjectsLocationsFederationsCreateCall struct { + s *APIService + parent string + federation *Federation + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a metastore federation in a project and location. +// +// - parent: The relative resource name of the location in which to +// create a federation service, in the following +// form:projects/{project_number}/locations/{location_id}. +func (r *ProjectsLocationsFederationsService) Create(parent string, federation *Federation) *ProjectsLocationsFederationsCreateCall { + c := &ProjectsLocationsFederationsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.federation = federation + return c +} + +// FederationId sets the optional parameter "federationId": Required. +// The ID of the metastore federation, which is used as the final +// component of the metastore federation's name.This value must be +// between 2 and 63 characters long inclusive, begin with a letter, end +// with a letter or number, and consist of alpha-numeric ASCII +// characters or hyphens. +func (c *ProjectsLocationsFederationsCreateCall) FederationId(federationId string) *ProjectsLocationsFederationsCreateCall { + c.urlParams_.Set("federationId", federationId) + return c +} + +// RequestId sets the optional parameter "requestId": A request ID. +// Specify a unique request ID to allow the server to ignore the request +// if it has completed. The server will ignore subsequent requests that +// provide a duplicate request ID for at least 60 minutes after the +// first request.For example, if an initial request times out, followed +// by another request with the same request ID, the server ignores the +// second request to prevent the creation of duplicate commitments.The +// request ID must be a valid UUID +// (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) +// A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. +func (c *ProjectsLocationsFederationsCreateCall) RequestId(requestId string) *ProjectsLocationsFederationsCreateCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsFederationsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFederationsCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsFederationsCreateCall) Context(ctx context.Context) *ProjectsLocationsFederationsCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsFederationsCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsFederationsCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.federation) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/federations") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "metastore.projects.locations.federations.create" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsFederationsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Creates a metastore federation in a project and location.", + // "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/federations", + // "httpMethod": "POST", + // "id": "metastore.projects.locations.federations.create", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "federationId": { + // "description": "Required. The ID of the metastore federation, which is used as the final component of the metastore federation's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required. The relative resource name of the location in which to create a federation service, in the following form:projects/{project_number}/locations/{location_id}.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "requestId": { + // "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1alpha/{+parent}/federations", + // "request": { + // "$ref": "Federation" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "metastore.projects.locations.federations.delete": + +type ProjectsLocationsFederationsDeleteCall struct { + s *APIService + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a single federation. +// +// - name: The relative resource name of the metastore federation to +// delete, in the following +// form:projects/{project_number}/locations/{location_id}/federations/{ +// federation_id}. +func (r *ProjectsLocationsFederationsService) Delete(name string) *ProjectsLocationsFederationsDeleteCall { + c := &ProjectsLocationsFederationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// RequestId sets the optional parameter "requestId": A request ID. +// Specify a unique request ID to allow the server to ignore the request +// if it has completed. The server will ignore subsequent requests that +// provide a duplicate request ID for at least 60 minutes after the +// first request.For example, if an initial request times out, followed +// by another request with the same request ID, the server ignores the +// second request to prevent the creation of duplicate commitments.The +// request ID must be a valid UUID +// (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) +// A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. +func (c *ProjectsLocationsFederationsDeleteCall) RequestId(requestId string) *ProjectsLocationsFederationsDeleteCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsFederationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsFederationsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsFederationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsFederationsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsFederationsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsFederationsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("DELETE", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "metastore.projects.locations.federations.delete" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsFederationsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes a single federation.", + // "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/federations/{federationsId}", + // "httpMethod": "DELETE", + // "id": "metastore.projects.locations.federations.delete", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The relative resource name of the metastore federation to delete, in the following form:projects/{project_number}/locations/{location_id}/federations/{federation_id}.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/federations/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "requestId": { + // "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1alpha/{+name}", + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "metastore.projects.locations.federations.get": + +type ProjectsLocationsFederationsGetCall struct { + s *APIService + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the details of a single federation. +// +// - name: The relative resource name of the metastore federation to +// retrieve, in the following +// form:projects/{project_number}/locations/{location_id}/federations/{ +// federation_id}. +func (r *ProjectsLocationsFederationsService) Get(name string) *ProjectsLocationsFederationsGetCall { + c := &ProjectsLocationsFederationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsFederationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFederationsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsFederationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsFederationsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsFederationsGetCall) Context(ctx context.Context) *ProjectsLocationsFederationsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsFederationsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsFederationsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "metastore.projects.locations.federations.get" call. +// Exactly one of *Federation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Federation.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 *ProjectsLocationsFederationsGetCall) Do(opts ...googleapi.CallOption) (*Federation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &Federation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the details of a single federation.", + // "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/federations/{federationsId}", + // "httpMethod": "GET", + // "id": "metastore.projects.locations.federations.get", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The relative resource name of the metastore federation to retrieve, in the following form:projects/{project_number}/locations/{location_id}/federations/{federation_id}.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/federations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1alpha/{+name}", + // "response": { + // "$ref": "Federation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "metastore.projects.locations.federations.getIamPolicy": + +type ProjectsLocationsFederationsGetIamPolicyCall struct { + s *APIService + resource string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// GetIamPolicy: Gets the access control policy for a resource. Returns +// an empty policy if the resource exists and does not have a policy +// set. +// +// - resource: REQUIRED: The resource for which the policy is being +// requested. See the operation documentation for the appropriate +// value for this field. +func (r *ProjectsLocationsFederationsService) GetIamPolicy(resource string) *ProjectsLocationsFederationsGetIamPolicyCall { + c := &ProjectsLocationsFederationsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + return c +} + +// OptionsRequestedPolicyVersion sets the optional parameter +// "options.requestedPolicyVersion": The maximum policy version that +// will be used to format the policy.Valid values are 0, 1, and 3. +// Requests specifying an invalid value will be rejected.Requests for +// policies with any conditional role bindings must specify version 3. +// Policies with no conditional role bindings may specify any valid +// value or leave the field unset.The policy in the response might use +// the policy version that you specified, or it might use a lower policy +// version. For example, if you specify version 3, but the policy has no +// conditional role bindings, the response uses version 1.To learn which +// resources support conditions in their IAM policies, see the IAM +// documentation +// (https://cloud.google.com/iam/help/conditions/resource-policies). +func (c *ProjectsLocationsFederationsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsFederationsGetIamPolicyCall { + c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsFederationsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsFederationsGetIamPolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsFederationsGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsFederationsGetIamPolicyCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsFederationsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsFederationsGetIamPolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsFederationsGetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsFederationsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+resource}:getIamPolicy") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "metastore.projects.locations.federations.getIamPolicy" call. +// Exactly one of *Policy or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Policy.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsFederationsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &Policy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + // "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/federations/{federationsId}:getIamPolicy", + // "httpMethod": "GET", + // "id": "metastore.projects.locations.federations.getIamPolicy", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "options.requestedPolicyVersion": { + // "description": "Optional. The maximum policy version that will be used to format the policy.Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset.The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies).", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/federations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1alpha/{+resource}:getIamPolicy", + // "response": { + // "$ref": "Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "metastore.projects.locations.federations.list": + +type ProjectsLocationsFederationsListCall struct { + s *APIService + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists federations in a project and location. +// +// - parent: The relative resource name of the location of metastore +// federations to list, in the following form: +// projects/{project_number}/locations/{location_id}. +func (r *ProjectsLocationsFederationsService) List(parent string) *ProjectsLocationsFederationsListCall { + c := &ProjectsLocationsFederationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// Filter sets the optional parameter "filter": The filter to apply to +// list results. +func (c *ProjectsLocationsFederationsListCall) Filter(filter string) *ProjectsLocationsFederationsListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// OrderBy sets the optional parameter "orderBy": Specify the ordering +// of results as described in Sorting Order +// (https://cloud.google.com/apis/design/design_patterns#sorting_order). +// If not specified, the results will be sorted in the default order. +func (c *ProjectsLocationsFederationsListCall) OrderBy(orderBy string) *ProjectsLocationsFederationsListCall { + c.urlParams_.Set("orderBy", orderBy) + return c +} + +// PageSize sets the optional parameter "pageSize": The maximum number +// of federations to return. The response may contain less than the +// maximum number. If unspecified, no more than 500 services are +// returned. The maximum value is 1000; values above 1000 are changed to +// 1000. +func (c *ProjectsLocationsFederationsListCall) PageSize(pageSize int64) *ProjectsLocationsFederationsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": A page token, +// received from a previous ListFederationServices call. Provide this +// token to retrieve the subsequent page.To retrieve the first page, +// supply an empty page token.When paginating, other parameters provided +// to ListFederationServices must match the call that provided the page +// token. +func (c *ProjectsLocationsFederationsListCall) PageToken(pageToken string) *ProjectsLocationsFederationsListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsFederationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFederationsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsFederationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsFederationsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsFederationsListCall) Context(ctx context.Context) *ProjectsLocationsFederationsListCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsFederationsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsFederationsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+parent}/federations") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "metastore.projects.locations.federations.list" call. +// Exactly one of *ListFederationsResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListFederationsResponse.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 *ProjectsLocationsFederationsListCall) Do(opts ...googleapi.CallOption) (*ListFederationsResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &ListFederationsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Lists federations in a project and location.", + // "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/federations", + // "httpMethod": "GET", + // "id": "metastore.projects.locations.federations.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "filter": { + // "description": "Optional. The filter to apply to list results.", + // "location": "query", + // "type": "string" + // }, + // "orderBy": { + // "description": "Optional. Specify the ordering of results as described in Sorting Order (https://cloud.google.com/apis/design/design_patterns#sorting_order). If not specified, the results will be sorted in the default order.", + // "location": "query", + // "type": "string" + // }, + // "pageSize": { + // "description": "Optional. The maximum number of federations to return. The response may contain less than the maximum number. If unspecified, no more than 500 services are returned. The maximum value is 1000; values above 1000 are changed to 1000.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "Optional. A page token, received from a previous ListFederationServices call. Provide this token to retrieve the subsequent page.To retrieve the first page, supply an empty page token.When paginating, other parameters provided to ListFederationServices must match the call that provided the page token.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required. The relative resource name of the location of metastore federations to list, in the following form: projects/{project_number}/locations/{location_id}.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1alpha/{+parent}/federations", + // "response": { + // "$ref": "ListFederationsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// Pages invokes f for each page of results. +// A non-nil error returned from f will halt the iteration. +// The provided context supersedes any context provided to the Context method. +func (c *ProjectsLocationsFederationsListCall) Pages(ctx context.Context, f func(*ListFederationsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + +// method id "metastore.projects.locations.federations.patch": + +type ProjectsLocationsFederationsPatchCall struct { + s *APIService + name string + federation *Federation + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates the fields of a federation. +// +// - name: Immutable. The relative resource name of the federation, of +// the form: +// projects/{project_number}/locations/{location_id}/federations/{feder +// ation_id}`. +func (r *ProjectsLocationsFederationsService) Patch(name string, federation *Federation) *ProjectsLocationsFederationsPatchCall { + c := &ProjectsLocationsFederationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.federation = federation + return c +} + +// RequestId sets the optional parameter "requestId": A request ID. +// Specify a unique request ID to allow the server to ignore the request +// if it has completed. The server will ignore subsequent requests that +// provide a duplicate request ID for at least 60 minutes after the +// first request.For example, if an initial request times out, followed +// by another request with the same request ID, the server ignores the +// second request to prevent the creation of duplicate commitments.The +// request ID must be a valid UUID +// (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) +// A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. +func (c *ProjectsLocationsFederationsPatchCall) RequestId(requestId string) *ProjectsLocationsFederationsPatchCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// UpdateMask sets the optional parameter "updateMask": Required. A +// field mask used to specify the fields to be overwritten in the +// metastore federation resource by the update. Fields specified in the +// update_mask are relative to the resource (not to the full request). A +// field is overwritten if it is in the mask. +func (c *ProjectsLocationsFederationsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsFederationsPatchCall { + 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 information. +func (c *ProjectsLocationsFederationsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsFederationsPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsFederationsPatchCall) Context(ctx context.Context) *ProjectsLocationsFederationsPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsFederationsPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsFederationsPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.federation) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("PATCH", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "metastore.projects.locations.federations.patch" call. +// Exactly one of *Operation or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified +// to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsFederationsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates the fields of a federation.", + // "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/federations/{federationsId}", + // "httpMethod": "PATCH", + // "id": "metastore.projects.locations.federations.patch", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Immutable. The relative resource name of the federation, of the form: projects/{project_number}/locations/{location_id}/federations/{federation_id}`.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/federations/[^/]+$", + // "required": true, + // "type": "string" + // }, + // "requestId": { + // "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + // "location": "query", + // "type": "string" + // }, + // "updateMask": { + // "description": "Required. A field mask used to specify the fields to be overwritten in the metastore federation resource by the update. Fields specified in the update_mask are relative to the resource (not to the full request). A field is overwritten if it is in the mask.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" + // } + // }, + // "path": "v1alpha/{+name}", + // "request": { + // "$ref": "Federation" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "metastore.projects.locations.federations.setIamPolicy": + +type ProjectsLocationsFederationsSetIamPolicyCall struct { + s *APIService + resource string + setiampolicyrequest *SetIamPolicyRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// SetIamPolicy: Sets the access control policy on the specified +// resource. Replaces any existing policy.Can return NOT_FOUND, +// INVALID_ARGUMENT, and PERMISSION_DENIED errors. +// +// - resource: REQUIRED: The resource for which the policy is being +// specified. See the operation documentation for the appropriate +// value for this field. +func (r *ProjectsLocationsFederationsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsFederationsSetIamPolicyCall { + c := &ProjectsLocationsFederationsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.setiampolicyrequest = setiampolicyrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsFederationsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsFederationsSetIamPolicyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsFederationsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsFederationsSetIamPolicyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsFederationsSetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsFederationsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+resource}:setIamPolicy") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "metastore.projects.locations.federations.setIamPolicy" call. +// Exactly one of *Policy or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Policy.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsFederationsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &Policy{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", + // "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/federations/{federationsId}:setIamPolicy", + // "httpMethod": "POST", + // "id": "metastore.projects.locations.federations.setIamPolicy", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/federations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1alpha/{+resource}:setIamPolicy", + // "request": { + // "$ref": "SetIamPolicyRequest" + // }, + // "response": { + // "$ref": "Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "metastore.projects.locations.federations.testIamPermissions": + +type ProjectsLocationsFederationsTestIamPermissionsCall struct { + s *APIService + resource string + testiampermissionsrequest *TestIamPermissionsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// TestIamPermissions: Returns permissions that a caller has on the +// specified resource. If the resource does not exist, this will return +// an empty set of permissions, not a NOT_FOUND error.Note: This +// operation is designed to be used for building permission-aware UIs +// and command-line tools, not for authorization checking. This +// operation may "fail open" without warning. +// +// - resource: REQUIRED: The resource for which the policy detail is +// being requested. See the operation documentation for the +// appropriate value for this field. +func (r *ProjectsLocationsFederationsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsFederationsTestIamPermissionsCall { + c := &ProjectsLocationsFederationsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.testiampermissionsrequest = testiampermissionsrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ProjectsLocationsFederationsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsFederationsTestIamPermissionsCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ProjectsLocationsFederationsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsFederationsTestIamPermissionsCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ProjectsLocationsFederationsTestIamPermissionsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsFederationsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+resource}:testIamPermissions") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "resource": c.resource, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "metastore.projects.locations.federations.testIamPermissions" call. +// Exactly one of *TestIamPermissionsResponse or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *TestIamPermissionsResponse.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsFederationsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &TestIamPermissionsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + // "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/federations/{federationsId}:testIamPermissions", + // "httpMethod": "POST", + // "id": "metastore.projects.locations.federations.testIamPermissions", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/federations/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1alpha/{+resource}:testIamPermissions", + // "request": { + // "$ref": "TestIamPermissionsRequest" + // }, + // "response": { + // "$ref": "TestIamPermissionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "metastore.projects.locations.operations.delete": type ProjectsLocationsOperationsDeleteCall struct { diff --git a/networkconnectivity/v1alpha1/networkconnectivity-api.json b/networkconnectivity/v1alpha1/networkconnectivity-api.json index 1a2727a6088..b4a5ab452e1 100644 --- a/networkconnectivity/v1alpha1/networkconnectivity-api.json +++ b/networkconnectivity/v1alpha1/networkconnectivity-api.json @@ -177,6 +177,97 @@ } }, "resources": { + "connectionPolicies": { + "methods": { + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/connectionPolicies/{connectionPoliciesId}:getIamPolicy", + "httpMethod": "GET", + "id": "networkconnectivity.projects.locations.connectionPolicies.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connectionPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/connectionPolicies/{connectionPoliciesId}:setIamPolicy", + "httpMethod": "POST", + "id": "networkconnectivity.projects.locations.connectionPolicies.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connectionPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/connectionPolicies/{connectionPoliciesId}:testIamPermissions", + "httpMethod": "POST", + "id": "networkconnectivity.projects.locations.connectionPolicies.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connectionPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "global": { "resources": { "hubs": { @@ -664,97 +755,6 @@ } } }, - "serviceConnectPolicies": { - "methods": { - "getIamPolicy": { - "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", - "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/serviceConnectPolicies/{serviceConnectPoliciesId}:getIamPolicy", - "httpMethod": "GET", - "id": "networkconnectivity.projects.locations.serviceConnectPolicies.getIamPolicy", - "parameterOrder": [ - "resource" - ], - "parameters": { - "options.requestedPolicyVersion": { - "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "format": "int32", - "location": "query", - "type": "integer" - }, - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/serviceConnectPolicies/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha1/{+resource}:getIamPolicy", - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", - "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/serviceConnectPolicies/{serviceConnectPoliciesId}:setIamPolicy", - "httpMethod": "POST", - "id": "networkconnectivity.projects.locations.serviceConnectPolicies.setIamPolicy", - "parameterOrder": [ - "resource" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/serviceConnectPolicies/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha1/{+resource}:setIamPolicy", - "request": { - "$ref": "SetIamPolicyRequest" - }, - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", - "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/serviceConnectPolicies/{serviceConnectPoliciesId}:testIamPermissions", - "httpMethod": "POST", - "id": "networkconnectivity.projects.locations.serviceConnectPolicies.testIamPermissions", - "parameterOrder": [ - "resource" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/serviceConnectPolicies/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha1/{+resource}:testIamPermissions", - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - }, "serviceInstances": { "methods": { "getIamPolicy": { @@ -1120,7 +1120,7 @@ } } }, - "revision": "20220404", + "revision": "20220426", "rootUrl": "https://networkconnectivity.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/networkconnectivity/v1alpha1/networkconnectivity-gen.go b/networkconnectivity/v1alpha1/networkconnectivity-gen.go index 1fa45fd1910..007a9bedeba 100644 --- a/networkconnectivity/v1alpha1/networkconnectivity-gen.go +++ b/networkconnectivity/v1alpha1/networkconnectivity-gen.go @@ -151,10 +151,10 @@ type ProjectsService struct { func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { rs := &ProjectsLocationsService{s: s} + rs.ConnectionPolicies = NewProjectsLocationsConnectionPoliciesService(s) rs.Global = NewProjectsLocationsGlobalService(s) rs.InternalRanges = NewProjectsLocationsInternalRangesService(s) rs.Operations = NewProjectsLocationsOperationsService(s) - rs.ServiceConnectPolicies = NewProjectsLocationsServiceConnectPoliciesService(s) rs.ServiceInstances = NewProjectsLocationsServiceInstancesService(s) rs.Spokes = NewProjectsLocationsSpokesService(s) return rs @@ -163,19 +163,28 @@ func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { type ProjectsLocationsService struct { s *Service + ConnectionPolicies *ProjectsLocationsConnectionPoliciesService + Global *ProjectsLocationsGlobalService InternalRanges *ProjectsLocationsInternalRangesService Operations *ProjectsLocationsOperationsService - ServiceConnectPolicies *ProjectsLocationsServiceConnectPoliciesService - ServiceInstances *ProjectsLocationsServiceInstancesService Spokes *ProjectsLocationsSpokesService } +func NewProjectsLocationsConnectionPoliciesService(s *Service) *ProjectsLocationsConnectionPoliciesService { + rs := &ProjectsLocationsConnectionPoliciesService{s: s} + return rs +} + +type ProjectsLocationsConnectionPoliciesService struct { + s *Service +} + func NewProjectsLocationsGlobalService(s *Service) *ProjectsLocationsGlobalService { rs := &ProjectsLocationsGlobalService{s: s} rs.Hubs = NewProjectsLocationsGlobalHubsService(s) @@ -215,15 +224,6 @@ type ProjectsLocationsOperationsService struct { s *Service } -func NewProjectsLocationsServiceConnectPoliciesService(s *Service) *ProjectsLocationsServiceConnectPoliciesService { - rs := &ProjectsLocationsServiceConnectPoliciesService{s: s} - return rs -} - -type ProjectsLocationsServiceConnectPoliciesService struct { - s *Service -} - func NewProjectsLocationsServiceInstancesService(s *Service) *ProjectsLocationsServiceInstancesService { rs := &ProjectsLocationsServiceInstancesService{s: s} return rs @@ -1595,113 +1595,117 @@ func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocat } } -// method id "networkconnectivity.projects.locations.global.hubs.create": +// method id "networkconnectivity.projects.locations.connectionPolicies.getIamPolicy": -type ProjectsLocationsGlobalHubsCreateCall struct { - s *Service - parent string - hub *Hub - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header +type ProjectsLocationsConnectionPoliciesGetIamPolicyCall struct { + s *Service + resource string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header } -// Create: Creates a new Hub in a given project and location. +// GetIamPolicy: Gets the access control policy for a resource. Returns +// an empty policy if the resource exists and does not have a policy +// set. // -// - parent: The parent resource's name of the Hub. -func (r *ProjectsLocationsGlobalHubsService) Create(parent string, hub *Hub) *ProjectsLocationsGlobalHubsCreateCall { - c := &ProjectsLocationsGlobalHubsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.parent = parent - c.hub = hub - return c -} - -// HubId sets the optional parameter "hubId": Unique id for the Hub to -// create. -func (c *ProjectsLocationsGlobalHubsCreateCall) HubId(hubId string) *ProjectsLocationsGlobalHubsCreateCall { - c.urlParams_.Set("hubId", hubId) +// - resource: REQUIRED: The resource for which the policy is being +// requested. See the operation documentation for the appropriate +// value for this field. +func (r *ProjectsLocationsConnectionPoliciesService) GetIamPolicy(resource string) *ProjectsLocationsConnectionPoliciesGetIamPolicyCall { + c := &ProjectsLocationsConnectionPoliciesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource 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. The server will guarantee -// that for at least 60 minutes since the first request. For example, -// consider a situation where you make an initial request and t he -// request times out. If you make the request again with the same -// request ID, the server can check if original operation with the same -// request ID was received, and if so, will ignore the second request. -// This prevents clients from accidentally creating duplicate -// commitments. The request ID must be a valid UUID with the exception -// that zero UUID is not supported -// (00000000-0000-0000-0000-000000000000). -func (c *ProjectsLocationsGlobalHubsCreateCall) RequestId(requestId string) *ProjectsLocationsGlobalHubsCreateCall { - c.urlParams_.Set("requestId", requestId) +// OptionsRequestedPolicyVersion sets the optional parameter +// "options.requestedPolicyVersion": The maximum policy version that +// will be used to format the policy. Valid values are 0, 1, and 3. +// Requests specifying an invalid value will be rejected. Requests for +// policies with any conditional role bindings must specify version 3. +// Policies with no conditional role bindings may specify any valid +// value or leave the field unset. The policy in the response might use +// the policy version that you specified, or it might use a lower policy +// version. For example, if you specify version 3, but the policy has no +// conditional role bindings, the response uses version 1. To learn +// which resources support conditions in their IAM policies, see the IAM +// documentation +// (https://cloud.google.com/iam/help/conditions/resource-policies). +func (c *ProjectsLocationsConnectionPoliciesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsConnectionPoliciesGetIamPolicyCall { + c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsLocationsGlobalHubsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalHubsCreateCall { +func (c *ProjectsLocationsConnectionPoliciesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionPoliciesGetIamPolicyCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsConnectionPoliciesGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsConnectionPoliciesGetIamPolicyCall { + c.ifNoneMatch_ = entityTag + return c +} + // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsLocationsGlobalHubsCreateCall) Context(ctx context.Context) *ProjectsLocationsGlobalHubsCreateCall { +func (c *ProjectsLocationsConnectionPoliciesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsConnectionPoliciesGetIamPolicyCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsLocationsGlobalHubsCreateCall) Header() http.Header { +func (c *ProjectsLocationsConnectionPoliciesGetIamPolicyCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsGlobalHubsCreateCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsConnectionPoliciesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.hub) - if err != nil { - return nil, err + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } - reqHeaders.Set("Content-Type", "application/json") + var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+parent}/hubs") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+resource}:getIamPolicy") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("POST", urls, body) + req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "parent": c.parent, + "resource": c.resource, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "networkconnectivity.projects.locations.global.hubs.create" call. -// Exactly one of *GoogleLongrunningOperation or error will be non-nil. -// Any non-2xx status code is an error. Response headers are in either -// *GoogleLongrunningOperation.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 *ProjectsLocationsGlobalHubsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { +// Do executes the "networkconnectivity.projects.locations.connectionPolicies.getIamPolicy" call. +// Exactly one of *Policy or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Policy.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsConnectionPoliciesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -1720,7 +1724,7 @@ func (c *ProjectsLocationsGlobalHubsCreateCall) Do(opts ...googleapi.CallOption) if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &GoogleLongrunningOperation{ + ret := &Policy{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -1732,38 +1736,31 @@ func (c *ProjectsLocationsGlobalHubsCreateCall) Do(opts ...googleapi.CallOption) } return ret, nil // { - // "description": "Creates a new Hub in a given project and location.", - // "flatPath": "v1alpha1/projects/{projectsId}/locations/global/hubs", - // "httpMethod": "POST", - // "id": "networkconnectivity.projects.locations.global.hubs.create", + // "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + // "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/connectionPolicies/{connectionPoliciesId}:getIamPolicy", + // "httpMethod": "GET", + // "id": "networkconnectivity.projects.locations.connectionPolicies.getIamPolicy", // "parameterOrder": [ - // "parent" + // "resource" // ], // "parameters": { - // "hubId": { - // "description": "Optional. Unique id for the Hub to create.", + // "options.requestedPolicyVersion": { + // "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + // "format": "int32", // "location": "query", - // "type": "string" + // "type": "integer" // }, - // "parent": { - // "description": "Required. The parent resource's name of the Hub.", + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/global$", + // "pattern": "^projects/[^/]+/locations/[^/]+/connectionPolicies/[^/]+$", // "required": true, // "type": "string" - // }, - // "requestId": { - // "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", - // "location": "query", - // "type": "string" // } // }, - // "path": "v1alpha1/{+parent}/hubs", - // "request": { - // "$ref": "Hub" - // }, + // "path": "v1alpha1/{+resource}:getIamPolicy", // "response": { - // "$ref": "GoogleLongrunningOperation" + // "$ref": "Policy" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -1772,47 +1769,35 @@ func (c *ProjectsLocationsGlobalHubsCreateCall) Do(opts ...googleapi.CallOption) } -// method id "networkconnectivity.projects.locations.global.hubs.delete": +// method id "networkconnectivity.projects.locations.connectionPolicies.setIamPolicy": -type ProjectsLocationsGlobalHubsDeleteCall struct { - s *Service - name string - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header +type ProjectsLocationsConnectionPoliciesSetIamPolicyCall struct { + s *Service + resource string + setiampolicyrequest *SetIamPolicyRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// Delete: Deletes a single Hub. +// SetIamPolicy: Sets the access control policy on the specified +// resource. Replaces any existing policy. Can return `NOT_FOUND`, +// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. // -// - name: The name of the Hub to delete. -func (r *ProjectsLocationsGlobalHubsService) Delete(name string) *ProjectsLocationsGlobalHubsDeleteCall { - c := &ProjectsLocationsGlobalHubsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name - 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. The server will guarantee -// that for at least 60 minutes after the first request. For example, -// consider a situation where you make an initial request and t he -// request times out. If you make the request again with the same -// request ID, the server can check if original operation with the same -// request ID was received, and if so, will ignore the second request. -// This prevents clients from accidentally creating duplicate -// commitments. The request ID must be a valid UUID with the exception -// that zero UUID is not supported -// (00000000-0000-0000-0000-000000000000). -func (c *ProjectsLocationsGlobalHubsDeleteCall) RequestId(requestId string) *ProjectsLocationsGlobalHubsDeleteCall { - c.urlParams_.Set("requestId", requestId) +// - resource: REQUIRED: The resource for which the policy is being +// specified. See the operation documentation for the appropriate +// value for this field. +func (r *ProjectsLocationsConnectionPoliciesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsConnectionPoliciesSetIamPolicyCall { + c := &ProjectsLocationsConnectionPoliciesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.setiampolicyrequest = setiampolicyrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsLocationsGlobalHubsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalHubsDeleteCall { +func (c *ProjectsLocationsConnectionPoliciesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionPoliciesSetIamPolicyCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } @@ -1820,21 +1805,21 @@ func (c *ProjectsLocationsGlobalHubsDeleteCall) Fields(s ...googleapi.Field) *Pr // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsLocationsGlobalHubsDeleteCall) Context(ctx context.Context) *ProjectsLocationsGlobalHubsDeleteCall { +func (c *ProjectsLocationsConnectionPoliciesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsConnectionPoliciesSetIamPolicyCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsLocationsGlobalHubsDeleteCall) Header() http.Header { +func (c *ProjectsLocationsConnectionPoliciesSetIamPolicyCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsGlobalHubsDeleteCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsConnectionPoliciesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { @@ -1842,29 +1827,34 @@ func (c *ProjectsLocationsGlobalHubsDeleteCall) doRequest(alt string) (*http.Res } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+name}") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+resource}:setIamPolicy") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("DELETE", urls, body) + req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "name": c.name, + "resource": c.resource, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "networkconnectivity.projects.locations.global.hubs.delete" call. -// Exactly one of *GoogleLongrunningOperation or error will be non-nil. -// Any non-2xx status code is an error. Response headers are in either -// *GoogleLongrunningOperation.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 *ProjectsLocationsGlobalHubsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { +// Do executes the "networkconnectivity.projects.locations.connectionPolicies.setIamPolicy" call. +// Exactly one of *Policy or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Policy.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsConnectionPoliciesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -1883,7 +1873,7 @@ func (c *ProjectsLocationsGlobalHubsDeleteCall) Do(opts ...googleapi.CallOption) if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &GoogleLongrunningOperation{ + ret := &Policy{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -1895,30 +1885,28 @@ func (c *ProjectsLocationsGlobalHubsDeleteCall) Do(opts ...googleapi.CallOption) } return ret, nil // { - // "description": "Deletes a single Hub.", - // "flatPath": "v1alpha1/projects/{projectsId}/locations/global/hubs/{hubsId}", - // "httpMethod": "DELETE", - // "id": "networkconnectivity.projects.locations.global.hubs.delete", + // "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + // "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/connectionPolicies/{connectionPoliciesId}:setIamPolicy", + // "httpMethod": "POST", + // "id": "networkconnectivity.projects.locations.connectionPolicies.setIamPolicy", // "parameterOrder": [ - // "name" + // "resource" // ], // "parameters": { - // "name": { - // "description": "Required. The name of the Hub to delete.", + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/global/hubs/[^/]+$", + // "pattern": "^projects/[^/]+/locations/[^/]+/connectionPolicies/[^/]+$", // "required": true, // "type": "string" - // }, - // "requestId": { - // "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", - // "location": "query", - // "type": "string" // } // }, - // "path": "v1alpha1/{+name}", + // "path": "v1alpha1/{+resource}:setIamPolicy", + // "request": { + // "$ref": "SetIamPolicyRequest" + // }, // "response": { - // "$ref": "GoogleLongrunningOperation" + // "$ref": "Policy" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -1927,95 +1915,95 @@ func (c *ProjectsLocationsGlobalHubsDeleteCall) Do(opts ...googleapi.CallOption) } -// method id "networkconnectivity.projects.locations.global.hubs.get": +// method id "networkconnectivity.projects.locations.connectionPolicies.testIamPermissions": -type ProjectsLocationsGlobalHubsGetCall struct { - s *Service - name string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header +type ProjectsLocationsConnectionPoliciesTestIamPermissionsCall struct { + s *Service + resource string + testiampermissionsrequest *TestIamPermissionsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// Get: Gets details of a single Hub. +// TestIamPermissions: Returns permissions that a caller has on the +// specified resource. If the resource does not exist, this will return +// an empty set of permissions, not a `NOT_FOUND` error. Note: This +// operation is designed to be used for building permission-aware UIs +// and command-line tools, not for authorization checking. This +// operation may "fail open" without warning. // -// - name: Name of the Hub resource to get. -func (r *ProjectsLocationsGlobalHubsService) Get(name string) *ProjectsLocationsGlobalHubsGetCall { - c := &ProjectsLocationsGlobalHubsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name +// - resource: REQUIRED: The resource for which the policy detail is +// being requested. See the operation documentation for the +// appropriate value for this field. +func (r *ProjectsLocationsConnectionPoliciesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsConnectionPoliciesTestIamPermissionsCall { + c := &ProjectsLocationsConnectionPoliciesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.testiampermissionsrequest = testiampermissionsrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsLocationsGlobalHubsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalHubsGetCall { +func (c *ProjectsLocationsConnectionPoliciesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionPoliciesTestIamPermissionsCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } -// IfNoneMatch sets the optional parameter which makes the operation -// fail if the object's ETag matches the given value. This is useful for -// getting updates only after the object has changed since the last -// request. Use googleapi.IsNotModified to check whether the response -// error from Do is the result of In-None-Match. -func (c *ProjectsLocationsGlobalHubsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGlobalHubsGetCall { - c.ifNoneMatch_ = entityTag - return c -} - // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsLocationsGlobalHubsGetCall) Context(ctx context.Context) *ProjectsLocationsGlobalHubsGetCall { +func (c *ProjectsLocationsConnectionPoliciesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsConnectionPoliciesTestIamPermissionsCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsLocationsGlobalHubsGetCall) Header() http.Header { +func (c *ProjectsLocationsConnectionPoliciesTestIamPermissionsCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsGlobalHubsGetCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsConnectionPoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+name}") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+resource}:testIamPermissions") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("GET", urls, body) + req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "name": c.name, + "resource": c.resource, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "networkconnectivity.projects.locations.global.hubs.get" call. -// Exactly one of *Hub or error will be non-nil. Any non-2xx status code -// is an error. Response headers are in either -// *Hub.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 *ProjectsLocationsGlobalHubsGetCall) Do(opts ...googleapi.CallOption) (*Hub, error) { +// Do executes the "networkconnectivity.projects.locations.connectionPolicies.testIamPermissions" call. +// Exactly one of *TestIamPermissionsResponse or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *TestIamPermissionsResponse.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsConnectionPoliciesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -2034,7 +2022,7 @@ func (c *ProjectsLocationsGlobalHubsGetCall) Do(opts ...googleapi.CallOption) (* if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &Hub{ + ret := &TestIamPermissionsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -2046,25 +2034,28 @@ func (c *ProjectsLocationsGlobalHubsGetCall) Do(opts ...googleapi.CallOption) (* } return ret, nil // { - // "description": "Gets details of a single Hub.", - // "flatPath": "v1alpha1/projects/{projectsId}/locations/global/hubs/{hubsId}", - // "httpMethod": "GET", - // "id": "networkconnectivity.projects.locations.global.hubs.get", + // "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + // "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/connectionPolicies/{connectionPoliciesId}:testIamPermissions", + // "httpMethod": "POST", + // "id": "networkconnectivity.projects.locations.connectionPolicies.testIamPermissions", // "parameterOrder": [ - // "name" + // "resource" // ], // "parameters": { - // "name": { - // "description": "Required. Name of the Hub resource to get.", + // "resource": { + // "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/global/hubs/[^/]+$", + // "pattern": "^projects/[^/]+/locations/[^/]+/connectionPolicies/[^/]+$", // "required": true, // "type": "string" // } // }, - // "path": "v1alpha1/{+name}", + // "path": "v1alpha1/{+resource}:testIamPermissions", + // "request": { + // "$ref": "TestIamPermissionsRequest" + // }, // "response": { - // "$ref": "Hub" + // "$ref": "TestIamPermissionsResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -2073,117 +2064,113 @@ func (c *ProjectsLocationsGlobalHubsGetCall) Do(opts ...googleapi.CallOption) (* } -// method id "networkconnectivity.projects.locations.global.hubs.getIamPolicy": +// method id "networkconnectivity.projects.locations.global.hubs.create": -type ProjectsLocationsGlobalHubsGetIamPolicyCall struct { - s *Service - resource string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header +type ProjectsLocationsGlobalHubsCreateCall struct { + s *Service + parent string + hub *Hub + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// GetIamPolicy: Gets the access control policy for a resource. Returns -// an empty policy if the resource exists and does not have a policy -// set. +// Create: Creates a new Hub in a given project and location. // -// - resource: REQUIRED: The resource for which the policy is being -// requested. See the operation documentation for the appropriate -// value for this field. -func (r *ProjectsLocationsGlobalHubsService) GetIamPolicy(resource string) *ProjectsLocationsGlobalHubsGetIamPolicyCall { - c := &ProjectsLocationsGlobalHubsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.resource = resource +// - parent: The parent resource's name of the Hub. +func (r *ProjectsLocationsGlobalHubsService) Create(parent string, hub *Hub) *ProjectsLocationsGlobalHubsCreateCall { + c := &ProjectsLocationsGlobalHubsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.hub = hub return c } -// OptionsRequestedPolicyVersion sets the optional parameter -// "options.requestedPolicyVersion": The maximum policy version that -// will be used to format the policy. Valid values are 0, 1, and 3. -// Requests specifying an invalid value will be rejected. Requests for -// policies with any conditional role bindings must specify version 3. -// Policies with no conditional role bindings may specify any valid -// value or leave the field unset. The policy in the response might use -// the policy version that you specified, or it might use a lower policy -// version. For example, if you specify version 3, but the policy has no -// conditional role bindings, the response uses version 1. To learn -// which resources support conditions in their IAM policies, see the IAM -// documentation -// (https://cloud.google.com/iam/help/conditions/resource-policies). -func (c *ProjectsLocationsGlobalHubsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsGlobalHubsGetIamPolicyCall { - c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion)) +// HubId sets the optional parameter "hubId": Unique id for the Hub to +// create. +func (c *ProjectsLocationsGlobalHubsCreateCall) HubId(hubId string) *ProjectsLocationsGlobalHubsCreateCall { + c.urlParams_.Set("hubId", hubId) + 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. The server will guarantee +// that for at least 60 minutes since the first request. For example, +// consider a situation where you make an initial request and t he +// request times out. If you make the request again with the same +// request ID, the server can check if original operation with the same +// request ID was received, and if so, will ignore the second request. +// This prevents clients from accidentally creating duplicate +// commitments. The request ID must be a valid UUID with the exception +// that zero UUID is not supported +// (00000000-0000-0000-0000-000000000000). +func (c *ProjectsLocationsGlobalHubsCreateCall) RequestId(requestId string) *ProjectsLocationsGlobalHubsCreateCall { + c.urlParams_.Set("requestId", requestId) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsLocationsGlobalHubsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalHubsGetIamPolicyCall { +func (c *ProjectsLocationsGlobalHubsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalHubsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } -// IfNoneMatch sets the optional parameter which makes the operation -// fail if the object's ETag matches the given value. This is useful for -// getting updates only after the object has changed since the last -// request. Use googleapi.IsNotModified to check whether the response -// error from Do is the result of In-None-Match. -func (c *ProjectsLocationsGlobalHubsGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsGlobalHubsGetIamPolicyCall { - c.ifNoneMatch_ = entityTag - return c -} - // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsLocationsGlobalHubsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsGlobalHubsGetIamPolicyCall { +func (c *ProjectsLocationsGlobalHubsCreateCall) Context(ctx context.Context) *ProjectsLocationsGlobalHubsCreateCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsLocationsGlobalHubsGetIamPolicyCall) Header() http.Header { +func (c *ProjectsLocationsGlobalHubsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsGlobalHubsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsGlobalHubsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.hub) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+resource}:getIamPolicy") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+parent}/hubs") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("GET", urls, body) + req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "resource": c.resource, + "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "networkconnectivity.projects.locations.global.hubs.getIamPolicy" call. -// Exactly one of *Policy or error will be non-nil. Any non-2xx status -// code is an error. Response headers are in either -// *Policy.ServerResponse.Header or (if a response was returned at all) -// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to -// check whether the returned error was because http.StatusNotModified -// was returned. -func (c *ProjectsLocationsGlobalHubsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { +// Do executes the "networkconnectivity.projects.locations.global.hubs.create" call. +// Exactly one of *GoogleLongrunningOperation or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleLongrunningOperation.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 *ProjectsLocationsGlobalHubsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -2202,7 +2189,7 @@ func (c *ProjectsLocationsGlobalHubsGetIamPolicyCall) Do(opts ...googleapi.CallO if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &Policy{ + ret := &GoogleLongrunningOperation{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -2214,31 +2201,38 @@ func (c *ProjectsLocationsGlobalHubsGetIamPolicyCall) Do(opts ...googleapi.CallO } return ret, nil // { - // "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", - // "flatPath": "v1alpha1/projects/{projectsId}/locations/global/hubs/{hubsId}:getIamPolicy", - // "httpMethod": "GET", - // "id": "networkconnectivity.projects.locations.global.hubs.getIamPolicy", + // "description": "Creates a new Hub in a given project and location.", + // "flatPath": "v1alpha1/projects/{projectsId}/locations/global/hubs", + // "httpMethod": "POST", + // "id": "networkconnectivity.projects.locations.global.hubs.create", // "parameterOrder": [ - // "resource" + // "parent" // ], // "parameters": { - // "options.requestedPolicyVersion": { - // "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - // "format": "int32", + // "hubId": { + // "description": "Optional. Unique id for the Hub to create.", // "location": "query", - // "type": "integer" + // "type": "string" // }, - // "resource": { - // "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.", + // "parent": { + // "description": "Required. The parent resource's name of the Hub.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/global/hubs/[^/]+$", + // "pattern": "^projects/[^/]+/locations/global$", // "required": true, // "type": "string" + // }, + // "requestId": { + // "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" // } // }, - // "path": "v1alpha1/{+resource}:getIamPolicy", + // "path": "v1alpha1/{+parent}/hubs", + // "request": { + // "$ref": "Hub" + // }, // "response": { - // "$ref": "Policy" + // "$ref": "GoogleLongrunningOperation" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -2247,122 +2241,99 @@ func (c *ProjectsLocationsGlobalHubsGetIamPolicyCall) Do(opts ...googleapi.CallO } -// method id "networkconnectivity.projects.locations.global.hubs.list": - -type ProjectsLocationsGlobalHubsListCall struct { - s *Service - parent string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header -} +// method id "networkconnectivity.projects.locations.global.hubs.delete": -// List: Lists Hubs in a given project and location. -// -// - parent: The parent resource's name. -func (r *ProjectsLocationsGlobalHubsService) List(parent string) *ProjectsLocationsGlobalHubsListCall { - c := &ProjectsLocationsGlobalHubsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.parent = parent - return c -} - -// Filter sets the optional parameter "filter": A filter expression that -// filters the results listed in the response. -func (c *ProjectsLocationsGlobalHubsListCall) Filter(filter string) *ProjectsLocationsGlobalHubsListCall { - c.urlParams_.Set("filter", filter) - return c -} - -// OrderBy sets the optional parameter "orderBy": Sort the results by a -// certain order. -func (c *ProjectsLocationsGlobalHubsListCall) OrderBy(orderBy string) *ProjectsLocationsGlobalHubsListCall { - c.urlParams_.Set("orderBy", orderBy) - return c +type ProjectsLocationsGlobalHubsDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// PageSize sets the optional parameter "pageSize": The maximum number -// of results per page that should be returned. -func (c *ProjectsLocationsGlobalHubsListCall) PageSize(pageSize int64) *ProjectsLocationsGlobalHubsListCall { - c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) +// Delete: Deletes a single Hub. +// +// - name: The name of the Hub to delete. +func (r *ProjectsLocationsGlobalHubsService) Delete(name string) *ProjectsLocationsGlobalHubsDeleteCall { + c := &ProjectsLocationsGlobalHubsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name return c } -// PageToken sets the optional parameter "pageToken": The page token. -func (c *ProjectsLocationsGlobalHubsListCall) PageToken(pageToken string) *ProjectsLocationsGlobalHubsListCall { - c.urlParams_.Set("pageToken", pageToken) +// 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. The server will guarantee +// that for at least 60 minutes after the first request. For example, +// consider a situation where you make an initial request and t he +// request times out. If you make the request again with the same +// request ID, the server can check if original operation with the same +// request ID was received, and if so, will ignore the second request. +// This prevents clients from accidentally creating duplicate +// commitments. The request ID must be a valid UUID with the exception +// that zero UUID is not supported +// (00000000-0000-0000-0000-000000000000). +func (c *ProjectsLocationsGlobalHubsDeleteCall) RequestId(requestId string) *ProjectsLocationsGlobalHubsDeleteCall { + c.urlParams_.Set("requestId", requestId) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsLocationsGlobalHubsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalHubsListCall { +func (c *ProjectsLocationsGlobalHubsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalHubsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } -// IfNoneMatch sets the optional parameter which makes the operation -// fail if the object's ETag matches the given value. This is useful for -// getting updates only after the object has changed since the last -// request. Use googleapi.IsNotModified to check whether the response -// error from Do is the result of In-None-Match. -func (c *ProjectsLocationsGlobalHubsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsGlobalHubsListCall { - c.ifNoneMatch_ = entityTag - return c -} - // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsLocationsGlobalHubsListCall) Context(ctx context.Context) *ProjectsLocationsGlobalHubsListCall { +func (c *ProjectsLocationsGlobalHubsDeleteCall) Context(ctx context.Context) *ProjectsLocationsGlobalHubsDeleteCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsLocationsGlobalHubsListCall) Header() http.Header { +func (c *ProjectsLocationsGlobalHubsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsGlobalHubsListCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsGlobalHubsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+parent}/hubs") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+name}") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("GET", urls, body) + req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "parent": c.parent, + "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "networkconnectivity.projects.locations.global.hubs.list" call. -// Exactly one of *ListHubsResponse or error will be non-nil. Any -// non-2xx status code is an error. Response headers are in either -// *ListHubsResponse.ServerResponse.Header or (if a response was -// returned at all) in error.(*googleapi.Error).Header. Use +// Do executes the "networkconnectivity.projects.locations.global.hubs.delete" call. +// Exactly one of *GoogleLongrunningOperation or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleLongrunningOperation.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 *ProjectsLocationsGlobalHubsListCall) Do(opts ...googleapi.CallOption) (*ListHubsResponse, error) { +func (c *ProjectsLocationsGlobalHubsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -2381,7 +2352,7 @@ func (c *ProjectsLocationsGlobalHubsListCall) Do(opts ...googleapi.CallOption) ( if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &ListHubsResponse{ + ret := &GoogleLongrunningOperation{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -2393,46 +2364,30 @@ func (c *ProjectsLocationsGlobalHubsListCall) Do(opts ...googleapi.CallOption) ( } return ret, nil // { - // "description": "Lists Hubs in a given project and location.", - // "flatPath": "v1alpha1/projects/{projectsId}/locations/global/hubs", - // "httpMethod": "GET", - // "id": "networkconnectivity.projects.locations.global.hubs.list", + // "description": "Deletes a single Hub.", + // "flatPath": "v1alpha1/projects/{projectsId}/locations/global/hubs/{hubsId}", + // "httpMethod": "DELETE", + // "id": "networkconnectivity.projects.locations.global.hubs.delete", // "parameterOrder": [ - // "parent" + // "name" // ], // "parameters": { - // "filter": { - // "description": "A filter expression that filters the results listed in the response.", - // "location": "query", - // "type": "string" - // }, - // "orderBy": { - // "description": "Sort the results by a certain order.", - // "location": "query", + // "name": { + // "description": "Required. The name of the Hub to delete.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/global/hubs/[^/]+$", + // "required": true, // "type": "string" // }, - // "pageSize": { - // "description": "The maximum number of results per page that should be returned.", - // "format": "int32", - // "location": "query", - // "type": "integer" - // }, - // "pageToken": { - // "description": "The page token.", + // "requestId": { + // "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", // "location": "query", // "type": "string" - // }, - // "parent": { - // "description": "Required. The parent resource's name.", - // "location": "path", - // "pattern": "^projects/[^/]+/locations/global$", - // "required": true, - // "type": "string" // } // }, - // "path": "v1alpha1/{+parent}/hubs", + // "path": "v1alpha1/{+name}", // "response": { - // "$ref": "ListHubsResponse" + // "$ref": "GoogleLongrunningOperation" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -2441,120 +2396,77 @@ func (c *ProjectsLocationsGlobalHubsListCall) Do(opts ...googleapi.CallOption) ( } -// Pages invokes f for each page of results. -// A non-nil error returned from f will halt the iteration. -// The provided context supersedes any context provided to the Context method. -func (c *ProjectsLocationsGlobalHubsListCall) Pages(ctx context.Context, f func(*ListHubsResponse) error) error { - c.ctx_ = ctx - defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point - for { - x, err := c.Do() - if err != nil { - return err - } - if err := f(x); err != nil { - return err - } - if x.NextPageToken == "" { - return nil - } - c.PageToken(x.NextPageToken) - } -} - -// method id "networkconnectivity.projects.locations.global.hubs.patch": +// method id "networkconnectivity.projects.locations.global.hubs.get": -type ProjectsLocationsGlobalHubsPatchCall struct { - s *Service - name string - hub *Hub - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header +type ProjectsLocationsGlobalHubsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header } -// Patch: Updates the parameters of a single Hub. +// Get: Gets details of a single Hub. // -// - name: Immutable. The name of a Hub resource. -func (r *ProjectsLocationsGlobalHubsService) Patch(name string, hub *Hub) *ProjectsLocationsGlobalHubsPatchCall { - c := &ProjectsLocationsGlobalHubsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} +// - name: Name of the Hub resource to get. +func (r *ProjectsLocationsGlobalHubsService) Get(name string) *ProjectsLocationsGlobalHubsGetCall { + c := &ProjectsLocationsGlobalHubsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name - c.hub = hub - 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. The server will guarantee -// that for at least 60 minutes since the first request. For example, -// consider a situation where you make an initial request and t he -// request times out. If you make the request again with the same -// request ID, the server can check if original operation with the same -// request ID was received, and if so, will ignore the second request. -// This prevents clients from accidentally creating duplicate -// commitments. The request ID must be a valid UUID with the exception -// that zero UUID is not supported -// (00000000-0000-0000-0000-000000000000). -func (c *ProjectsLocationsGlobalHubsPatchCall) RequestId(requestId string) *ProjectsLocationsGlobalHubsPatchCall { - c.urlParams_.Set("requestId", requestId) - return c -} - -// UpdateMask sets the optional parameter "updateMask": Field mask is -// used to specify the fields to be overwritten in the Hub resource by -// the update. The fields specified in the update_mask are relative to -// the resource, not the full request. A field will be overwritten if it -// is in the mask. If the user does not provide a mask then all fields -// will be overwritten. -func (c *ProjectsLocationsGlobalHubsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsGlobalHubsPatchCall { - 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 information. -func (c *ProjectsLocationsGlobalHubsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalHubsPatchCall { +func (c *ProjectsLocationsGlobalHubsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalHubsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsGlobalHubsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGlobalHubsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsLocationsGlobalHubsPatchCall) Context(ctx context.Context) *ProjectsLocationsGlobalHubsPatchCall { +func (c *ProjectsLocationsGlobalHubsGetCall) Context(ctx context.Context) *ProjectsLocationsGlobalHubsGetCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsLocationsGlobalHubsPatchCall) Header() http.Header { +func (c *ProjectsLocationsGlobalHubsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsGlobalHubsPatchCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsGlobalHubsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.hub) - if err != nil { - return nil, err + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } - reqHeaders.Set("Content-Type", "application/json") + var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+name}") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("PATCH", urls, body) + req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } @@ -2565,14 +2477,14 @@ func (c *ProjectsLocationsGlobalHubsPatchCall) doRequest(alt string) (*http.Resp return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "networkconnectivity.projects.locations.global.hubs.patch" call. -// Exactly one of *GoogleLongrunningOperation or error will be non-nil. -// Any non-2xx status code is an error. Response headers are in either -// *GoogleLongrunningOperation.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 *ProjectsLocationsGlobalHubsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { +// Do executes the "networkconnectivity.projects.locations.global.hubs.get" call. +// Exactly one of *Hub or error will be non-nil. Any non-2xx status code +// is an error. Response headers are in either +// *Hub.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 *ProjectsLocationsGlobalHubsGetCall) Do(opts ...googleapi.CallOption) (*Hub, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -2591,7 +2503,7 @@ func (c *ProjectsLocationsGlobalHubsPatchCall) Do(opts ...googleapi.CallOption) if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &GoogleLongrunningOperation{ + ret := &Hub{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -2603,39 +2515,25 @@ func (c *ProjectsLocationsGlobalHubsPatchCall) Do(opts ...googleapi.CallOption) } return ret, nil // { - // "description": "Updates the parameters of a single Hub.", + // "description": "Gets details of a single Hub.", // "flatPath": "v1alpha1/projects/{projectsId}/locations/global/hubs/{hubsId}", - // "httpMethod": "PATCH", - // "id": "networkconnectivity.projects.locations.global.hubs.patch", + // "httpMethod": "GET", + // "id": "networkconnectivity.projects.locations.global.hubs.get", // "parameterOrder": [ // "name" // ], // "parameters": { // "name": { - // "description": "Immutable. The name of a Hub resource.", + // "description": "Required. Name of the Hub resource to get.", // "location": "path", // "pattern": "^projects/[^/]+/locations/global/hubs/[^/]+$", // "required": true, // "type": "string" - // }, - // "requestId": { - // "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", - // "location": "query", - // "type": "string" - // }, - // "updateMask": { - // "description": "Optional. Field mask is used to specify the fields to be overwritten in the Hub resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", - // "format": "google-fieldmask", - // "location": "query", - // "type": "string" // } // }, // "path": "v1alpha1/{+name}", - // "request": { - // "$ref": "Hub" - // }, // "response": { - // "$ref": "GoogleLongrunningOperation" + // "$ref": "Hub" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -2644,74 +2542,99 @@ func (c *ProjectsLocationsGlobalHubsPatchCall) Do(opts ...googleapi.CallOption) } -// method id "networkconnectivity.projects.locations.global.hubs.setIamPolicy": +// method id "networkconnectivity.projects.locations.global.hubs.getIamPolicy": -type ProjectsLocationsGlobalHubsSetIamPolicyCall struct { - s *Service - resource string - setiampolicyrequest *SetIamPolicyRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header +type ProjectsLocationsGlobalHubsGetIamPolicyCall struct { + s *Service + resource string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header } -// SetIamPolicy: Sets the access control policy on the specified -// resource. Replaces any existing policy. Can return `NOT_FOUND`, -// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. +// GetIamPolicy: Gets the access control policy for a resource. Returns +// an empty policy if the resource exists and does not have a policy +// set. // // - resource: REQUIRED: The resource for which the policy is being -// specified. See the operation documentation for the appropriate +// requested. See the operation documentation for the appropriate // value for this field. -func (r *ProjectsLocationsGlobalHubsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsGlobalHubsSetIamPolicyCall { - c := &ProjectsLocationsGlobalHubsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} +func (r *ProjectsLocationsGlobalHubsService) GetIamPolicy(resource string) *ProjectsLocationsGlobalHubsGetIamPolicyCall { + c := &ProjectsLocationsGlobalHubsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.resource = resource - c.setiampolicyrequest = setiampolicyrequest + return c +} + +// OptionsRequestedPolicyVersion sets the optional parameter +// "options.requestedPolicyVersion": The maximum policy version that +// will be used to format the policy. Valid values are 0, 1, and 3. +// Requests specifying an invalid value will be rejected. Requests for +// policies with any conditional role bindings must specify version 3. +// Policies with no conditional role bindings may specify any valid +// value or leave the field unset. The policy in the response might use +// the policy version that you specified, or it might use a lower policy +// version. For example, if you specify version 3, but the policy has no +// conditional role bindings, the response uses version 1. To learn +// which resources support conditions in their IAM policies, see the IAM +// documentation +// (https://cloud.google.com/iam/help/conditions/resource-policies). +func (c *ProjectsLocationsGlobalHubsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsGlobalHubsGetIamPolicyCall { + c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsLocationsGlobalHubsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalHubsSetIamPolicyCall { +func (c *ProjectsLocationsGlobalHubsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalHubsGetIamPolicyCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsGlobalHubsGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsGlobalHubsGetIamPolicyCall { + c.ifNoneMatch_ = entityTag + return c +} + // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsLocationsGlobalHubsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsGlobalHubsSetIamPolicyCall { +func (c *ProjectsLocationsGlobalHubsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsGlobalHubsGetIamPolicyCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsLocationsGlobalHubsSetIamPolicyCall) Header() http.Header { +func (c *ProjectsLocationsGlobalHubsGetIamPolicyCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsGlobalHubsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsGlobalHubsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest) - if err != nil { - return nil, err + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } - reqHeaders.Set("Content-Type", "application/json") + var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+resource}:setIamPolicy") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+resource}:getIamPolicy") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("POST", urls, body) + req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } @@ -2722,14 +2645,14 @@ func (c *ProjectsLocationsGlobalHubsSetIamPolicyCall) doRequest(alt string) (*ht return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "networkconnectivity.projects.locations.global.hubs.setIamPolicy" call. +// Do executes the "networkconnectivity.projects.locations.global.hubs.getIamPolicy" call. // Exactly one of *Policy or error will be non-nil. Any non-2xx status // code is an error. Response headers are in either // *Policy.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified // was returned. -func (c *ProjectsLocationsGlobalHubsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { +func (c *ProjectsLocationsGlobalHubsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -2760,26 +2683,29 @@ func (c *ProjectsLocationsGlobalHubsSetIamPolicyCall) Do(opts ...googleapi.CallO } return ret, nil // { - // "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", - // "flatPath": "v1alpha1/projects/{projectsId}/locations/global/hubs/{hubsId}:setIamPolicy", - // "httpMethod": "POST", - // "id": "networkconnectivity.projects.locations.global.hubs.setIamPolicy", + // "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + // "flatPath": "v1alpha1/projects/{projectsId}/locations/global/hubs/{hubsId}:getIamPolicy", + // "httpMethod": "GET", + // "id": "networkconnectivity.projects.locations.global.hubs.getIamPolicy", // "parameterOrder": [ // "resource" // ], // "parameters": { + // "options.requestedPolicyVersion": { + // "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, // "resource": { - // "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.", + // "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.", // "location": "path", // "pattern": "^projects/[^/]+/locations/global/hubs/[^/]+$", // "required": true, // "type": "string" // } // }, - // "path": "v1alpha1/{+resource}:setIamPolicy", - // "request": { - // "$ref": "SetIamPolicyRequest" - // }, + // "path": "v1alpha1/{+resource}:getIamPolicy", // "response": { // "$ref": "Policy" // }, @@ -2790,95 +2716,122 @@ func (c *ProjectsLocationsGlobalHubsSetIamPolicyCall) Do(opts ...googleapi.CallO } -// method id "networkconnectivity.projects.locations.global.hubs.testIamPermissions": +// method id "networkconnectivity.projects.locations.global.hubs.list": -type ProjectsLocationsGlobalHubsTestIamPermissionsCall struct { - s *Service - resource string - testiampermissionsrequest *TestIamPermissionsRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header +type ProjectsLocationsGlobalHubsListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header } -// TestIamPermissions: Returns permissions that a caller has on the -// specified resource. If the resource does not exist, this will return -// an empty set of permissions, not a `NOT_FOUND` error. Note: This -// operation is designed to be used for building permission-aware UIs -// and command-line tools, not for authorization checking. This -// operation may "fail open" without warning. +// List: Lists Hubs in a given project and location. // -// - resource: REQUIRED: The resource for which the policy detail is -// being requested. See the operation documentation for the -// appropriate value for this field. -func (r *ProjectsLocationsGlobalHubsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsGlobalHubsTestIamPermissionsCall { - c := &ProjectsLocationsGlobalHubsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.resource = resource - c.testiampermissionsrequest = testiampermissionsrequest +// - parent: The parent resource's name. +func (r *ProjectsLocationsGlobalHubsService) List(parent string) *ProjectsLocationsGlobalHubsListCall { + c := &ProjectsLocationsGlobalHubsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// Filter sets the optional parameter "filter": A filter expression that +// filters the results listed in the response. +func (c *ProjectsLocationsGlobalHubsListCall) Filter(filter string) *ProjectsLocationsGlobalHubsListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// OrderBy sets the optional parameter "orderBy": Sort the results by a +// certain order. +func (c *ProjectsLocationsGlobalHubsListCall) OrderBy(orderBy string) *ProjectsLocationsGlobalHubsListCall { + c.urlParams_.Set("orderBy", orderBy) + return c +} + +// PageSize sets the optional parameter "pageSize": The maximum number +// of results per page that should be returned. +func (c *ProjectsLocationsGlobalHubsListCall) PageSize(pageSize int64) *ProjectsLocationsGlobalHubsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The page token. +func (c *ProjectsLocationsGlobalHubsListCall) PageToken(pageToken string) *ProjectsLocationsGlobalHubsListCall { + c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsLocationsGlobalHubsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalHubsTestIamPermissionsCall { +func (c *ProjectsLocationsGlobalHubsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalHubsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsGlobalHubsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsGlobalHubsListCall { + c.ifNoneMatch_ = entityTag + return c +} + // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsLocationsGlobalHubsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsGlobalHubsTestIamPermissionsCall { +func (c *ProjectsLocationsGlobalHubsListCall) Context(ctx context.Context) *ProjectsLocationsGlobalHubsListCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsLocationsGlobalHubsTestIamPermissionsCall) Header() http.Header { +func (c *ProjectsLocationsGlobalHubsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsGlobalHubsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsGlobalHubsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest) - if err != nil { - return nil, err + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } - reqHeaders.Set("Content-Type", "application/json") + var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+resource}:testIamPermissions") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+parent}/hubs") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("POST", urls, body) + req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "resource": c.resource, + "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "networkconnectivity.projects.locations.global.hubs.testIamPermissions" call. -// Exactly one of *TestIamPermissionsResponse or error will be non-nil. -// Any non-2xx status code is an error. Response headers are in either -// *TestIamPermissionsResponse.ServerResponse.Header or (if a response -// was returned at all) in error.(*googleapi.Error).Header. Use +// Do executes the "networkconnectivity.projects.locations.global.hubs.list" call. +// Exactly one of *ListHubsResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListHubsResponse.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 *ProjectsLocationsGlobalHubsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) { +func (c *ProjectsLocationsGlobalHubsListCall) Do(opts ...googleapi.CallOption) (*ListHubsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -2897,7 +2850,7 @@ func (c *ProjectsLocationsGlobalHubsTestIamPermissionsCall) Do(opts ...googleapi if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &TestIamPermissionsResponse{ + ret := &ListHubsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -2909,28 +2862,46 @@ func (c *ProjectsLocationsGlobalHubsTestIamPermissionsCall) Do(opts ...googleapi } return ret, nil // { - // "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", - // "flatPath": "v1alpha1/projects/{projectsId}/locations/global/hubs/{hubsId}:testIamPermissions", - // "httpMethod": "POST", - // "id": "networkconnectivity.projects.locations.global.hubs.testIamPermissions", + // "description": "Lists Hubs in a given project and location.", + // "flatPath": "v1alpha1/projects/{projectsId}/locations/global/hubs", + // "httpMethod": "GET", + // "id": "networkconnectivity.projects.locations.global.hubs.list", // "parameterOrder": [ - // "resource" + // "parent" // ], // "parameters": { - // "resource": { - // "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.", + // "filter": { + // "description": "A filter expression that filters the results listed in the response.", + // "location": "query", + // "type": "string" + // }, + // "orderBy": { + // "description": "Sort the results by a certain order.", + // "location": "query", + // "type": "string" + // }, + // "pageSize": { + // "description": "The maximum number of results per page that should be returned.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "The page token.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required. The parent resource's name.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/global/hubs/[^/]+$", + // "pattern": "^projects/[^/]+/locations/global$", // "required": true, // "type": "string" // } // }, - // "path": "v1alpha1/{+resource}:testIamPermissions", - // "request": { - // "$ref": "TestIamPermissionsRequest" - // }, + // "path": "v1alpha1/{+parent}/hubs", // "response": { - // "$ref": "TestIamPermissionsResponse" + // "$ref": "ListHubsResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -2939,117 +2910,138 @@ func (c *ProjectsLocationsGlobalHubsTestIamPermissionsCall) Do(opts ...googleapi } -// method id "networkconnectivity.projects.locations.internalRanges.getIamPolicy": +// 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 *ProjectsLocationsGlobalHubsListCall) Pages(ctx context.Context, f func(*ListHubsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} -type ProjectsLocationsInternalRangesGetIamPolicyCall struct { - s *Service - resource string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header +// method id "networkconnectivity.projects.locations.global.hubs.patch": + +type ProjectsLocationsGlobalHubsPatchCall struct { + s *Service + name string + hub *Hub + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// GetIamPolicy: Gets the access control policy for a resource. Returns -// an empty policy if the resource exists and does not have a policy -// set. +// Patch: Updates the parameters of a single Hub. // -// - resource: REQUIRED: The resource for which the policy is being -// requested. See the operation documentation for the appropriate -// value for this field. -func (r *ProjectsLocationsInternalRangesService) GetIamPolicy(resource string) *ProjectsLocationsInternalRangesGetIamPolicyCall { - c := &ProjectsLocationsInternalRangesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.resource = resource +// - name: Immutable. The name of a Hub resource. +func (r *ProjectsLocationsGlobalHubsService) Patch(name string, hub *Hub) *ProjectsLocationsGlobalHubsPatchCall { + c := &ProjectsLocationsGlobalHubsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.hub = hub return c } -// OptionsRequestedPolicyVersion sets the optional parameter -// "options.requestedPolicyVersion": The maximum policy version that -// will be used to format the policy. Valid values are 0, 1, and 3. -// Requests specifying an invalid value will be rejected. Requests for -// policies with any conditional role bindings must specify version 3. -// Policies with no conditional role bindings may specify any valid -// value or leave the field unset. The policy in the response might use -// the policy version that you specified, or it might use a lower policy -// version. For example, if you specify version 3, but the policy has no -// conditional role bindings, the response uses version 1. To learn -// which resources support conditions in their IAM policies, see the IAM -// documentation -// (https://cloud.google.com/iam/help/conditions/resource-policies). -func (c *ProjectsLocationsInternalRangesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsInternalRangesGetIamPolicyCall { - c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion)) +// 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. The server will guarantee +// that for at least 60 minutes since the first request. For example, +// consider a situation where you make an initial request and t he +// request times out. If you make the request again with the same +// request ID, the server can check if original operation with the same +// request ID was received, and if so, will ignore the second request. +// This prevents clients from accidentally creating duplicate +// commitments. The request ID must be a valid UUID with the exception +// that zero UUID is not supported +// (00000000-0000-0000-0000-000000000000). +func (c *ProjectsLocationsGlobalHubsPatchCall) RequestId(requestId string) *ProjectsLocationsGlobalHubsPatchCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// UpdateMask sets the optional parameter "updateMask": Field mask is +// used to specify the fields to be overwritten in the Hub resource by +// the update. The fields specified in the update_mask are relative to +// the resource, not the full request. A field will be overwritten if it +// is in the mask. If the user does not provide a mask then all fields +// will be overwritten. +func (c *ProjectsLocationsGlobalHubsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsGlobalHubsPatchCall { + 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 information. -func (c *ProjectsLocationsInternalRangesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsInternalRangesGetIamPolicyCall { +func (c *ProjectsLocationsGlobalHubsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalHubsPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } -// IfNoneMatch sets the optional parameter which makes the operation -// fail if the object's ETag matches the given value. This is useful for -// getting updates only after the object has changed since the last -// request. Use googleapi.IsNotModified to check whether the response -// error from Do is the result of In-None-Match. -func (c *ProjectsLocationsInternalRangesGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsInternalRangesGetIamPolicyCall { - c.ifNoneMatch_ = entityTag - return c -} - // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsLocationsInternalRangesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsInternalRangesGetIamPolicyCall { +func (c *ProjectsLocationsGlobalHubsPatchCall) Context(ctx context.Context) *ProjectsLocationsGlobalHubsPatchCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsLocationsInternalRangesGetIamPolicyCall) Header() http.Header { +func (c *ProjectsLocationsGlobalHubsPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsInternalRangesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsGlobalHubsPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.hub) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+resource}:getIamPolicy") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+name}") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("GET", urls, body) + req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "resource": c.resource, + "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "networkconnectivity.projects.locations.internalRanges.getIamPolicy" call. -// Exactly one of *Policy or error will be non-nil. Any non-2xx status -// code is an error. Response headers are in either -// *Policy.ServerResponse.Header or (if a response was returned at all) -// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to -// check whether the returned error was because http.StatusNotModified -// was returned. -func (c *ProjectsLocationsInternalRangesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { +// Do executes the "networkconnectivity.projects.locations.global.hubs.patch" call. +// Exactly one of *GoogleLongrunningOperation or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleLongrunningOperation.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 *ProjectsLocationsGlobalHubsPatchCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -3068,7 +3060,7 @@ func (c *ProjectsLocationsInternalRangesGetIamPolicyCall) Do(opts ...googleapi.C if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &Policy{ + ret := &GoogleLongrunningOperation{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -3080,31 +3072,39 @@ func (c *ProjectsLocationsInternalRangesGetIamPolicyCall) Do(opts ...googleapi.C } return ret, nil // { - // "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", - // "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/internalRanges/{internalRangesId}:getIamPolicy", - // "httpMethod": "GET", - // "id": "networkconnectivity.projects.locations.internalRanges.getIamPolicy", + // "description": "Updates the parameters of a single Hub.", + // "flatPath": "v1alpha1/projects/{projectsId}/locations/global/hubs/{hubsId}", + // "httpMethod": "PATCH", + // "id": "networkconnectivity.projects.locations.global.hubs.patch", // "parameterOrder": [ - // "resource" + // "name" // ], // "parameters": { - // "options.requestedPolicyVersion": { - // "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - // "format": "int32", - // "location": "query", - // "type": "integer" - // }, - // "resource": { - // "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.", + // "name": { + // "description": "Immutable. The name of a Hub resource.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+/internalRanges/[^/]+$", + // "pattern": "^projects/[^/]+/locations/global/hubs/[^/]+$", // "required": true, // "type": "string" + // }, + // "requestId": { + // "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, + // "updateMask": { + // "description": "Optional. Field mask is used to specify the fields to be overwritten in the Hub resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + // "format": "google-fieldmask", + // "location": "query", + // "type": "string" // } // }, - // "path": "v1alpha1/{+resource}:getIamPolicy", + // "path": "v1alpha1/{+name}", + // "request": { + // "$ref": "Hub" + // }, // "response": { - // "$ref": "Policy" + // "$ref": "GoogleLongrunningOperation" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -3113,9 +3113,9 @@ func (c *ProjectsLocationsInternalRangesGetIamPolicyCall) Do(opts ...googleapi.C } -// method id "networkconnectivity.projects.locations.internalRanges.setIamPolicy": +// method id "networkconnectivity.projects.locations.global.hubs.setIamPolicy": -type ProjectsLocationsInternalRangesSetIamPolicyCall struct { +type ProjectsLocationsGlobalHubsSetIamPolicyCall struct { s *Service resource string setiampolicyrequest *SetIamPolicyRequest @@ -3131,8 +3131,8 @@ type ProjectsLocationsInternalRangesSetIamPolicyCall struct { // - resource: REQUIRED: The resource for which the policy is being // specified. See the operation documentation for the appropriate // value for this field. -func (r *ProjectsLocationsInternalRangesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsInternalRangesSetIamPolicyCall { - c := &ProjectsLocationsInternalRangesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} +func (r *ProjectsLocationsGlobalHubsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsGlobalHubsSetIamPolicyCall { + c := &ProjectsLocationsGlobalHubsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.resource = resource c.setiampolicyrequest = setiampolicyrequest return c @@ -3141,7 +3141,7 @@ func (r *ProjectsLocationsInternalRangesService) SetIamPolicy(resource string, s // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsLocationsInternalRangesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsInternalRangesSetIamPolicyCall { +func (c *ProjectsLocationsGlobalHubsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalHubsSetIamPolicyCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } @@ -3149,21 +3149,21 @@ func (c *ProjectsLocationsInternalRangesSetIamPolicyCall) Fields(s ...googleapi. // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsLocationsInternalRangesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsInternalRangesSetIamPolicyCall { +func (c *ProjectsLocationsGlobalHubsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsGlobalHubsSetIamPolicyCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsLocationsInternalRangesSetIamPolicyCall) Header() http.Header { +func (c *ProjectsLocationsGlobalHubsSetIamPolicyCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsInternalRangesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsGlobalHubsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { @@ -3191,14 +3191,14 @@ func (c *ProjectsLocationsInternalRangesSetIamPolicyCall) doRequest(alt string) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "networkconnectivity.projects.locations.internalRanges.setIamPolicy" call. +// Do executes the "networkconnectivity.projects.locations.global.hubs.setIamPolicy" call. // Exactly one of *Policy or error will be non-nil. Any non-2xx status // code is an error. Response headers are in either // *Policy.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified // was returned. -func (c *ProjectsLocationsInternalRangesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { +func (c *ProjectsLocationsGlobalHubsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -3230,9 +3230,9 @@ func (c *ProjectsLocationsInternalRangesSetIamPolicyCall) Do(opts ...googleapi.C return ret, nil // { // "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", - // "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/internalRanges/{internalRangesId}:setIamPolicy", + // "flatPath": "v1alpha1/projects/{projectsId}/locations/global/hubs/{hubsId}:setIamPolicy", // "httpMethod": "POST", - // "id": "networkconnectivity.projects.locations.internalRanges.setIamPolicy", + // "id": "networkconnectivity.projects.locations.global.hubs.setIamPolicy", // "parameterOrder": [ // "resource" // ], @@ -3240,7 +3240,7 @@ func (c *ProjectsLocationsInternalRangesSetIamPolicyCall) Do(opts ...googleapi.C // "resource": { // "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+/internalRanges/[^/]+$", + // "pattern": "^projects/[^/]+/locations/global/hubs/[^/]+$", // "required": true, // "type": "string" // } @@ -3259,9 +3259,9 @@ func (c *ProjectsLocationsInternalRangesSetIamPolicyCall) Do(opts ...googleapi.C } -// method id "networkconnectivity.projects.locations.internalRanges.testIamPermissions": +// method id "networkconnectivity.projects.locations.global.hubs.testIamPermissions": -type ProjectsLocationsInternalRangesTestIamPermissionsCall struct { +type ProjectsLocationsGlobalHubsTestIamPermissionsCall struct { s *Service resource string testiampermissionsrequest *TestIamPermissionsRequest @@ -3280,8 +3280,8 @@ type ProjectsLocationsInternalRangesTestIamPermissionsCall struct { // - resource: REQUIRED: The resource for which the policy detail is // being requested. See the operation documentation for the // appropriate value for this field. -func (r *ProjectsLocationsInternalRangesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsInternalRangesTestIamPermissionsCall { - c := &ProjectsLocationsInternalRangesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} +func (r *ProjectsLocationsGlobalHubsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsGlobalHubsTestIamPermissionsCall { + c := &ProjectsLocationsGlobalHubsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.resource = resource c.testiampermissionsrequest = testiampermissionsrequest return c @@ -3290,7 +3290,7 @@ func (r *ProjectsLocationsInternalRangesService) TestIamPermissions(resource str // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsLocationsInternalRangesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsInternalRangesTestIamPermissionsCall { +func (c *ProjectsLocationsGlobalHubsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalHubsTestIamPermissionsCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } @@ -3298,21 +3298,21 @@ func (c *ProjectsLocationsInternalRangesTestIamPermissionsCall) Fields(s ...goog // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsLocationsInternalRangesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsInternalRangesTestIamPermissionsCall { +func (c *ProjectsLocationsGlobalHubsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsGlobalHubsTestIamPermissionsCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsLocationsInternalRangesTestIamPermissionsCall) Header() http.Header { +func (c *ProjectsLocationsGlobalHubsTestIamPermissionsCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsInternalRangesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsGlobalHubsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { @@ -3340,14 +3340,14 @@ func (c *ProjectsLocationsInternalRangesTestIamPermissionsCall) doRequest(alt st return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "networkconnectivity.projects.locations.internalRanges.testIamPermissions" call. +// Do executes the "networkconnectivity.projects.locations.global.hubs.testIamPermissions" call. // Exactly one of *TestIamPermissionsResponse or error will be non-nil. // Any non-2xx status code is an error. Response headers are in either // *TestIamPermissionsResponse.ServerResponse.Header or (if a response // was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was // because http.StatusNotModified was returned. -func (c *ProjectsLocationsInternalRangesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) { +func (c *ProjectsLocationsGlobalHubsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -3379,9 +3379,9 @@ func (c *ProjectsLocationsInternalRangesTestIamPermissionsCall) Do(opts ...googl return ret, nil // { // "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", - // "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/internalRanges/{internalRangesId}:testIamPermissions", + // "flatPath": "v1alpha1/projects/{projectsId}/locations/global/hubs/{hubsId}:testIamPermissions", // "httpMethod": "POST", - // "id": "networkconnectivity.projects.locations.internalRanges.testIamPermissions", + // "id": "networkconnectivity.projects.locations.global.hubs.testIamPermissions", // "parameterOrder": [ // "resource" // ], @@ -3389,7 +3389,7 @@ func (c *ProjectsLocationsInternalRangesTestIamPermissionsCall) Do(opts ...googl // "resource": { // "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+/internalRanges/[^/]+$", + // "pattern": "^projects/[^/]+/locations/global/hubs/[^/]+$", // "required": true, // "type": "string" // } @@ -3408,97 +3408,117 @@ func (c *ProjectsLocationsInternalRangesTestIamPermissionsCall) Do(opts ...googl } -// method id "networkconnectivity.projects.locations.operations.cancel": +// method id "networkconnectivity.projects.locations.internalRanges.getIamPolicy": -type ProjectsLocationsOperationsCancelCall struct { - s *Service - name string - googlelongrunningcanceloperationrequest *GoogleLongrunningCancelOperationRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header +type ProjectsLocationsInternalRangesGetIamPolicyCall struct { + s *Service + resource string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header } -// Cancel: Starts asynchronous cancellation on a long-running operation. -// The server makes a best effort to cancel the operation, but success -// is not guaranteed. If the server doesn't support this method, it -// returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use -// Operations.GetOperation or other methods to check whether the -// cancellation succeeded or whether the operation completed despite -// cancellation. On successful cancellation, the operation is not -// deleted; instead, it becomes an operation with an Operation.error -// value with a google.rpc.Status.code of 1, corresponding to -// `Code.CANCELLED`. +// GetIamPolicy: Gets the access control policy for a resource. Returns +// an empty policy if the resource exists and does not have a policy +// set. // -// - name: The name of the operation resource to be cancelled. -func (r *ProjectsLocationsOperationsService) Cancel(name string, googlelongrunningcanceloperationrequest *GoogleLongrunningCancelOperationRequest) *ProjectsLocationsOperationsCancelCall { - c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name - c.googlelongrunningcanceloperationrequest = googlelongrunningcanceloperationrequest +// - resource: REQUIRED: The resource for which the policy is being +// requested. See the operation documentation for the appropriate +// value for this field. +func (r *ProjectsLocationsInternalRangesService) GetIamPolicy(resource string) *ProjectsLocationsInternalRangesGetIamPolicyCall { + c := &ProjectsLocationsInternalRangesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + return c +} + +// OptionsRequestedPolicyVersion sets the optional parameter +// "options.requestedPolicyVersion": The maximum policy version that +// will be used to format the policy. Valid values are 0, 1, and 3. +// Requests specifying an invalid value will be rejected. Requests for +// policies with any conditional role bindings must specify version 3. +// Policies with no conditional role bindings may specify any valid +// value or leave the field unset. The policy in the response might use +// the policy version that you specified, or it might use a lower policy +// version. For example, if you specify version 3, but the policy has no +// conditional role bindings, the response uses version 1. To learn +// which resources support conditions in their IAM policies, see the IAM +// documentation +// (https://cloud.google.com/iam/help/conditions/resource-policies). +func (c *ProjectsLocationsInternalRangesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsInternalRangesGetIamPolicyCall { + c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall { +func (c *ProjectsLocationsInternalRangesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsInternalRangesGetIamPolicyCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsInternalRangesGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsInternalRangesGetIamPolicyCall { + c.ifNoneMatch_ = entityTag + return c +} + // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall { +func (c *ProjectsLocationsInternalRangesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsInternalRangesGetIamPolicyCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsLocationsOperationsCancelCall) Header() http.Header { +func (c *ProjectsLocationsInternalRangesGetIamPolicyCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsInternalRangesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlelongrunningcanceloperationrequest) - if err != nil { - return nil, err + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } - reqHeaders.Set("Content-Type", "application/json") + var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+name}:cancel") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+resource}:getIamPolicy") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("POST", urls, body) + req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "name": c.name, + "resource": c.resource, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "networkconnectivity.projects.locations.operations.cancel" call. -// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// Do executes the "networkconnectivity.projects.locations.internalRanges.getIamPolicy" call. +// Exactly one of *Policy or error will be non-nil. Any non-2xx status // code is an error. Response headers are in either -// *Empty.ServerResponse.Header or (if a response was returned at all) +// *Policy.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified // was returned. -func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) { +func (c *ProjectsLocationsInternalRangesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -3517,7 +3537,7 @@ func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &Empty{ + ret := &Policy{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -3529,28 +3549,31 @@ func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) } return ret, nil // { - // "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", - // "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", - // "httpMethod": "POST", - // "id": "networkconnectivity.projects.locations.operations.cancel", + // "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + // "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/internalRanges/{internalRangesId}:getIamPolicy", + // "httpMethod": "GET", + // "id": "networkconnectivity.projects.locations.internalRanges.getIamPolicy", // "parameterOrder": [ - // "name" + // "resource" // ], // "parameters": { - // "name": { - // "description": "The name of the operation resource to be cancelled.", + // "options.requestedPolicyVersion": { + // "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + // "pattern": "^projects/[^/]+/locations/[^/]+/internalRanges/[^/]+$", // "required": true, // "type": "string" // } // }, - // "path": "v1alpha1/{+name}:cancel", - // "request": { - // "$ref": "GoogleLongrunningCancelOperationRequest" - // }, + // "path": "v1alpha1/{+resource}:getIamPolicy", // "response": { - // "$ref": "Empty" + // "$ref": "Policy" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -3559,32 +3582,35 @@ func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) } -// method id "networkconnectivity.projects.locations.operations.delete": +// method id "networkconnectivity.projects.locations.internalRanges.setIamPolicy": -type ProjectsLocationsOperationsDeleteCall struct { - s *Service - name string - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header +type ProjectsLocationsInternalRangesSetIamPolicyCall struct { + s *Service + resource string + setiampolicyrequest *SetIamPolicyRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// Delete: Deletes a long-running operation. This method indicates that -// the client is no longer interested in the operation result. It does -// not cancel the operation. If the server doesn't support this method, -// it returns `google.rpc.Code.UNIMPLEMENTED`. +// SetIamPolicy: Sets the access control policy on the specified +// resource. Replaces any existing policy. Can return `NOT_FOUND`, +// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. // -// - name: The name of the operation resource to be deleted. -func (r *ProjectsLocationsOperationsService) Delete(name string) *ProjectsLocationsOperationsDeleteCall { - c := &ProjectsLocationsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name +// - resource: REQUIRED: The resource for which the policy is being +// specified. See the operation documentation for the appropriate +// value for this field. +func (r *ProjectsLocationsInternalRangesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsInternalRangesSetIamPolicyCall { + c := &ProjectsLocationsInternalRangesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.setiampolicyrequest = setiampolicyrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsLocationsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsDeleteCall { +func (c *ProjectsLocationsInternalRangesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsInternalRangesSetIamPolicyCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } @@ -3592,21 +3618,21 @@ func (c *ProjectsLocationsOperationsDeleteCall) Fields(s ...googleapi.Field) *Pr // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsLocationsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsOperationsDeleteCall { +func (c *ProjectsLocationsInternalRangesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsInternalRangesSetIamPolicyCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsLocationsOperationsDeleteCall) Header() http.Header { +func (c *ProjectsLocationsInternalRangesSetIamPolicyCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsInternalRangesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { @@ -3614,29 +3640,34 @@ func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Res } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+name}") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+resource}:setIamPolicy") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("DELETE", urls, body) + req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "name": c.name, + "resource": c.resource, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "networkconnectivity.projects.locations.operations.delete" call. -// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// Do executes the "networkconnectivity.projects.locations.internalRanges.setIamPolicy" call. +// Exactly one of *Policy or error will be non-nil. Any non-2xx status // code is an error. Response headers are in either -// *Empty.ServerResponse.Header or (if a response was returned at all) +// *Policy.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified // was returned. -func (c *ProjectsLocationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { +func (c *ProjectsLocationsInternalRangesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -3655,7 +3686,7 @@ func (c *ProjectsLocationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &Empty{ + ret := &Policy{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -3667,25 +3698,28 @@ func (c *ProjectsLocationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) } return ret, nil // { - // "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", - // "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", - // "httpMethod": "DELETE", - // "id": "networkconnectivity.projects.locations.operations.delete", + // "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + // "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/internalRanges/{internalRangesId}:setIamPolicy", + // "httpMethod": "POST", + // "id": "networkconnectivity.projects.locations.internalRanges.setIamPolicy", // "parameterOrder": [ - // "name" + // "resource" // ], // "parameters": { - // "name": { - // "description": "The name of the operation resource to be deleted.", + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + // "pattern": "^projects/[^/]+/locations/[^/]+/internalRanges/[^/]+$", // "required": true, // "type": "string" // } // }, - // "path": "v1alpha1/{+name}", + // "path": "v1alpha1/{+resource}:setIamPolicy", + // "request": { + // "$ref": "SetIamPolicyRequest" + // }, // "response": { - // "$ref": "Empty" + // "$ref": "Policy" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -3694,97 +3728,95 @@ func (c *ProjectsLocationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) } -// method id "networkconnectivity.projects.locations.operations.get": +// method id "networkconnectivity.projects.locations.internalRanges.testIamPermissions": -type ProjectsLocationsOperationsGetCall struct { - s *Service - name string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header +type ProjectsLocationsInternalRangesTestIamPermissionsCall struct { + s *Service + resource string + testiampermissionsrequest *TestIamPermissionsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// Get: Gets the latest state of a long-running operation. Clients can -// use this method to poll the operation result at intervals as -// recommended by the API service. +// TestIamPermissions: Returns permissions that a caller has on the +// specified resource. If the resource does not exist, this will return +// an empty set of permissions, not a `NOT_FOUND` error. Note: This +// operation is designed to be used for building permission-aware UIs +// and command-line tools, not for authorization checking. This +// operation may "fail open" without warning. // -// - name: The name of the operation resource. -func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall { - c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name +// - resource: REQUIRED: The resource for which the policy detail is +// being requested. See the operation documentation for the +// appropriate value for this field. +func (r *ProjectsLocationsInternalRangesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsInternalRangesTestIamPermissionsCall { + c := &ProjectsLocationsInternalRangesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.testiampermissionsrequest = testiampermissionsrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall { +func (c *ProjectsLocationsInternalRangesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsInternalRangesTestIamPermissionsCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } -// IfNoneMatch sets the optional parameter which makes the operation -// fail if the object's ETag matches the given value. This is useful for -// getting updates only after the object has changed since the last -// request. Use googleapi.IsNotModified to check whether the response -// error from Do is the result of In-None-Match. -func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall { - c.ifNoneMatch_ = entityTag - return c -} - // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall { +func (c *ProjectsLocationsInternalRangesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsInternalRangesTestIamPermissionsCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsLocationsOperationsGetCall) Header() http.Header { +func (c *ProjectsLocationsInternalRangesTestIamPermissionsCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsInternalRangesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+name}") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+resource}:testIamPermissions") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("GET", urls, body) + req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "name": c.name, + "resource": c.resource, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "networkconnectivity.projects.locations.operations.get" call. -// Exactly one of *GoogleLongrunningOperation or error will be non-nil. +// Do executes the "networkconnectivity.projects.locations.internalRanges.testIamPermissions" call. +// Exactly one of *TestIamPermissionsResponse or error will be non-nil. // Any non-2xx status code is an error. Response headers are in either -// *GoogleLongrunningOperation.ServerResponse.Header or (if a response +// *TestIamPermissionsResponse.ServerResponse.Header or (if a response // was returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was // because http.StatusNotModified was returned. -func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { +func (c *ProjectsLocationsInternalRangesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -3803,7 +3835,7 @@ func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (* if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &GoogleLongrunningOperation{ + ret := &TestIamPermissionsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -3815,134 +3847,109 @@ func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (* } return ret, nil // { - // "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", - // "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", - // "httpMethod": "GET", - // "id": "networkconnectivity.projects.locations.operations.get", + // "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + // "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/internalRanges/{internalRangesId}:testIamPermissions", + // "httpMethod": "POST", + // "id": "networkconnectivity.projects.locations.internalRanges.testIamPermissions", // "parameterOrder": [ - // "name" + // "resource" // ], // "parameters": { - // "name": { - // "description": "The name of the operation resource.", + // "resource": { + // "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + // "pattern": "^projects/[^/]+/locations/[^/]+/internalRanges/[^/]+$", // "required": true, // "type": "string" // } // }, - // "path": "v1alpha1/{+name}", + // "path": "v1alpha1/{+resource}:testIamPermissions", + // "request": { + // "$ref": "TestIamPermissionsRequest" + // }, // "response": { - // "$ref": "GoogleLongrunningOperation" + // "$ref": "TestIamPermissionsResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" // ] - // } - -} - -// method id "networkconnectivity.projects.locations.operations.list": - -type ProjectsLocationsOperationsListCall struct { - s *Service - name string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header -} + // } -// List: Lists operations that match the specified filter in the -// request. If the server doesn't support this method, it returns -// `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to -// override the binding to use different resource name schemes, such as -// `users/*/operations`. To override the binding, API services can add a -// binding such as "/v1/{name=users/*}/operations" to their service -// configuration. For backwards compatibility, the default name includes -// the operations collection id, however overriding users must ensure -// the name binding is the parent resource, without the operations -// collection id. -// -// - name: The name of the operation's parent resource. -func (r *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall { - c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name - return c } -// Filter sets the optional parameter "filter": The standard list -// filter. -func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall { - c.urlParams_.Set("filter", filter) - return c -} +// method id "networkconnectivity.projects.locations.operations.cancel": -// PageSize sets the optional parameter "pageSize": The standard list -// page size. -func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall { - c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) - return c +type ProjectsLocationsOperationsCancelCall struct { + s *Service + name string + googlelongrunningcanceloperationrequest *GoogleLongrunningCancelOperationRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// PageToken sets the optional parameter "pageToken": The standard list -// page token. -func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall { - c.urlParams_.Set("pageToken", pageToken) +// Cancel: Starts asynchronous cancellation on a long-running operation. +// The server makes a best effort to cancel the operation, but success +// is not guaranteed. If the server doesn't support this method, it +// returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use +// Operations.GetOperation or other methods to check whether the +// cancellation succeeded or whether the operation completed despite +// cancellation. On successful cancellation, the operation is not +// deleted; instead, it becomes an operation with an Operation.error +// value with a google.rpc.Status.code of 1, corresponding to +// `Code.CANCELLED`. +// +// - name: The name of the operation resource to be cancelled. +func (r *ProjectsLocationsOperationsService) Cancel(name string, googlelongrunningcanceloperationrequest *GoogleLongrunningCancelOperationRequest) *ProjectsLocationsOperationsCancelCall { + c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.googlelongrunningcanceloperationrequest = googlelongrunningcanceloperationrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall { +func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } -// IfNoneMatch sets the optional parameter which makes the operation -// fail if the object's ETag matches the given value. This is useful for -// getting updates only after the object has changed since the last -// request. Use googleapi.IsNotModified to check whether the response -// error from Do is the result of In-None-Match. -func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall { - c.ifNoneMatch_ = entityTag - return c -} - // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall { +func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsLocationsOperationsListCall) Header() http.Header { +func (c *ProjectsLocationsOperationsCancelCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlelongrunningcanceloperationrequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+name}/operations") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+name}:cancel") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("GET", urls, body) + req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } @@ -3953,15 +3960,14 @@ func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Respo return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "networkconnectivity.projects.locations.operations.list" call. -// Exactly one of *GoogleLongrunningListOperationsResponse or error will -// be non-nil. Any non-2xx status code is an error. Response headers are -// in either -// *GoogleLongrunningListOperationsResponse.ServerResponse.Header or (if -// a response was returned at all) in error.(*googleapi.Error).Header. -// Use googleapi.IsNotModified to check whether the returned error was -// because http.StatusNotModified was returned. -func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) { +// Do executes the "networkconnectivity.projects.locations.operations.cancel" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status +// code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) +// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified +// was returned. +func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -3980,7 +3986,7 @@ func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) ( if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &GoogleLongrunningListOperationsResponse{ + ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -3992,41 +3998,28 @@ func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) ( } return ret, nil // { - // "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.", - // "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/operations", - // "httpMethod": "GET", - // "id": "networkconnectivity.projects.locations.operations.list", + // "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + // "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + // "httpMethod": "POST", + // "id": "networkconnectivity.projects.locations.operations.cancel", // "parameterOrder": [ // "name" // ], // "parameters": { - // "filter": { - // "description": "The standard list filter.", - // "location": "query", - // "type": "string" - // }, // "name": { - // "description": "The name of the operation's parent resource.", + // "description": "The name of the operation resource to be cancelled.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+$", + // "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", // "required": true, // "type": "string" - // }, - // "pageSize": { - // "description": "The standard list page size.", - // "format": "int32", - // "location": "query", - // "type": "integer" - // }, - // "pageToken": { - // "description": "The standard list page token.", - // "location": "query", - // "type": "string" // } // }, - // "path": "v1alpha1/{+name}/operations", + // "path": "v1alpha1/{+name}:cancel", + // "request": { + // "$ref": "GoogleLongrunningCancelOperationRequest" + // }, // "response": { - // "$ref": "GoogleLongrunningListOperationsResponse" + // "$ref": "Empty" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -4035,138 +4028,84 @@ func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) ( } -// Pages invokes f for each page of results. -// A non-nil error returned from f will halt the iteration. -// The provided context supersedes any context provided to the Context method. -func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error { - c.ctx_ = ctx - defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point - for { - x, err := c.Do() - if err != nil { - return err - } - if err := f(x); err != nil { - return err - } - if x.NextPageToken == "" { - return nil - } - c.PageToken(x.NextPageToken) - } -} - -// method id "networkconnectivity.projects.locations.serviceConnectPolicies.getIamPolicy": +// method id "networkconnectivity.projects.locations.operations.delete": -type ProjectsLocationsServiceConnectPoliciesGetIamPolicyCall struct { - s *Service - resource string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header +type ProjectsLocationsOperationsDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// GetIamPolicy: Gets the access control policy for a resource. Returns -// an empty policy if the resource exists and does not have a policy -// set. +// Delete: Deletes a long-running operation. This method indicates that +// the client is no longer interested in the operation result. It does +// not cancel the operation. If the server doesn't support this method, +// it returns `google.rpc.Code.UNIMPLEMENTED`. // -// - resource: REQUIRED: The resource for which the policy is being -// requested. See the operation documentation for the appropriate -// value for this field. -func (r *ProjectsLocationsServiceConnectPoliciesService) GetIamPolicy(resource string) *ProjectsLocationsServiceConnectPoliciesGetIamPolicyCall { - c := &ProjectsLocationsServiceConnectPoliciesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.resource = resource - return c -} - -// OptionsRequestedPolicyVersion sets the optional parameter -// "options.requestedPolicyVersion": The maximum policy version that -// will be used to format the policy. Valid values are 0, 1, and 3. -// Requests specifying an invalid value will be rejected. Requests for -// policies with any conditional role bindings must specify version 3. -// Policies with no conditional role bindings may specify any valid -// value or leave the field unset. The policy in the response might use -// the policy version that you specified, or it might use a lower policy -// version. For example, if you specify version 3, but the policy has no -// conditional role bindings, the response uses version 1. To learn -// which resources support conditions in their IAM policies, see the IAM -// documentation -// (https://cloud.google.com/iam/help/conditions/resource-policies). -func (c *ProjectsLocationsServiceConnectPoliciesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsServiceConnectPoliciesGetIamPolicyCall { - c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion)) +// - name: The name of the operation resource to be deleted. +func (r *ProjectsLocationsOperationsService) Delete(name string) *ProjectsLocationsOperationsDeleteCall { + c := &ProjectsLocationsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsLocationsServiceConnectPoliciesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsServiceConnectPoliciesGetIamPolicyCall { +func (c *ProjectsLocationsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } -// IfNoneMatch sets the optional parameter which makes the operation -// fail if the object's ETag matches the given value. This is useful for -// getting updates only after the object has changed since the last -// request. Use googleapi.IsNotModified to check whether the response -// error from Do is the result of In-None-Match. -func (c *ProjectsLocationsServiceConnectPoliciesGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsServiceConnectPoliciesGetIamPolicyCall { - c.ifNoneMatch_ = entityTag - return c -} - // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsLocationsServiceConnectPoliciesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsServiceConnectPoliciesGetIamPolicyCall { +func (c *ProjectsLocationsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsOperationsDeleteCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsLocationsServiceConnectPoliciesGetIamPolicyCall) Header() http.Header { +func (c *ProjectsLocationsOperationsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsServiceConnectPoliciesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+resource}:getIamPolicy") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+name}") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("GET", urls, body) + req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "resource": c.resource, + "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "networkconnectivity.projects.locations.serviceConnectPolicies.getIamPolicy" call. -// Exactly one of *Policy or error will be non-nil. Any non-2xx status +// Do executes the "networkconnectivity.projects.locations.operations.delete" call. +// Exactly one of *Empty or error will be non-nil. Any non-2xx status // code is an error. Response headers are in either -// *Policy.ServerResponse.Header or (if a response was returned at all) +// *Empty.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified // was returned. -func (c *ProjectsLocationsServiceConnectPoliciesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { +func (c *ProjectsLocationsOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -4185,7 +4124,7 @@ func (c *ProjectsLocationsServiceConnectPoliciesGetIamPolicyCall) Do(opts ...goo if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &Policy{ + ret := &Empty{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -4197,31 +4136,25 @@ func (c *ProjectsLocationsServiceConnectPoliciesGetIamPolicyCall) Do(opts ...goo } return ret, nil // { - // "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", - // "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/serviceConnectPolicies/{serviceConnectPoliciesId}:getIamPolicy", - // "httpMethod": "GET", - // "id": "networkconnectivity.projects.locations.serviceConnectPolicies.getIamPolicy", + // "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", + // "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + // "httpMethod": "DELETE", + // "id": "networkconnectivity.projects.locations.operations.delete", // "parameterOrder": [ - // "resource" + // "name" // ], // "parameters": { - // "options.requestedPolicyVersion": { - // "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - // "format": "int32", - // "location": "query", - // "type": "integer" - // }, - // "resource": { - // "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.", + // "name": { + // "description": "The name of the operation resource to be deleted.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+/serviceConnectPolicies/[^/]+$", + // "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", // "required": true, // "type": "string" // } // }, - // "path": "v1alpha1/{+resource}:getIamPolicy", + // "path": "v1alpha1/{+name}", // "response": { - // "$ref": "Policy" + // "$ref": "Empty" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -4230,92 +4163,97 @@ func (c *ProjectsLocationsServiceConnectPoliciesGetIamPolicyCall) Do(opts ...goo } -// method id "networkconnectivity.projects.locations.serviceConnectPolicies.setIamPolicy": +// method id "networkconnectivity.projects.locations.operations.get": -type ProjectsLocationsServiceConnectPoliciesSetIamPolicyCall struct { - s *Service - resource string - setiampolicyrequest *SetIamPolicyRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header +type ProjectsLocationsOperationsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header } -// SetIamPolicy: Sets the access control policy on the specified -// resource. Replaces any existing policy. Can return `NOT_FOUND`, -// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. +// Get: Gets the latest state of a long-running operation. Clients can +// use this method to poll the operation result at intervals as +// recommended by the API service. // -// - resource: REQUIRED: The resource for which the policy is being -// specified. See the operation documentation for the appropriate -// value for this field. -func (r *ProjectsLocationsServiceConnectPoliciesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsServiceConnectPoliciesSetIamPolicyCall { - c := &ProjectsLocationsServiceConnectPoliciesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.resource = resource - c.setiampolicyrequest = setiampolicyrequest +// - name: The name of the operation resource. +func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall { + c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsLocationsServiceConnectPoliciesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsServiceConnectPoliciesSetIamPolicyCall { +func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsLocationsServiceConnectPoliciesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsServiceConnectPoliciesSetIamPolicyCall { +func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsLocationsServiceConnectPoliciesSetIamPolicyCall) Header() http.Header { +func (c *ProjectsLocationsOperationsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsServiceConnectPoliciesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest) - if err != nil { - return nil, err + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } - reqHeaders.Set("Content-Type", "application/json") + var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+resource}:setIamPolicy") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+name}") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("POST", urls, body) + req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "resource": c.resource, + "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "networkconnectivity.projects.locations.serviceConnectPolicies.setIamPolicy" call. -// Exactly one of *Policy or error will be non-nil. Any non-2xx status -// code is an error. Response headers are in either -// *Policy.ServerResponse.Header or (if a response was returned at all) -// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to -// check whether the returned error was because http.StatusNotModified -// was returned. -func (c *ProjectsLocationsServiceConnectPoliciesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { +// Do executes the "networkconnectivity.projects.locations.operations.get" call. +// Exactly one of *GoogleLongrunningOperation or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleLongrunningOperation.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was +// because http.StatusNotModified was returned. +func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -4334,7 +4272,7 @@ func (c *ProjectsLocationsServiceConnectPoliciesSetIamPolicyCall) Do(opts ...goo if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &Policy{ + ret := &GoogleLongrunningOperation{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -4346,28 +4284,25 @@ func (c *ProjectsLocationsServiceConnectPoliciesSetIamPolicyCall) Do(opts ...goo } return ret, nil // { - // "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", - // "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/serviceConnectPolicies/{serviceConnectPoliciesId}:setIamPolicy", - // "httpMethod": "POST", - // "id": "networkconnectivity.projects.locations.serviceConnectPolicies.setIamPolicy", + // "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + // "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + // "httpMethod": "GET", + // "id": "networkconnectivity.projects.locations.operations.get", // "parameterOrder": [ - // "resource" + // "name" // ], // "parameters": { - // "resource": { - // "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.", + // "name": { + // "description": "The name of the operation resource.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+/serviceConnectPolicies/[^/]+$", + // "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", // "required": true, // "type": "string" // } // }, - // "path": "v1alpha1/{+resource}:setIamPolicy", - // "request": { - // "$ref": "SetIamPolicyRequest" - // }, + // "path": "v1alpha1/{+name}", // "response": { - // "$ref": "Policy" + // "$ref": "GoogleLongrunningOperation" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -4376,95 +4311,126 @@ func (c *ProjectsLocationsServiceConnectPoliciesSetIamPolicyCall) Do(opts ...goo } -// method id "networkconnectivity.projects.locations.serviceConnectPolicies.testIamPermissions": +// method id "networkconnectivity.projects.locations.operations.list": -type ProjectsLocationsServiceConnectPoliciesTestIamPermissionsCall struct { - s *Service - resource string - testiampermissionsrequest *TestIamPermissionsRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header +type ProjectsLocationsOperationsListCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header } -// TestIamPermissions: Returns permissions that a caller has on the -// specified resource. If the resource does not exist, this will return -// an empty set of permissions, not a `NOT_FOUND` error. Note: This -// operation is designed to be used for building permission-aware UIs -// and command-line tools, not for authorization checking. This -// operation may "fail open" without warning. +// List: Lists operations that match the specified filter in the +// request. If the server doesn't support this method, it returns +// `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to +// override the binding to use different resource name schemes, such as +// `users/*/operations`. To override the binding, API services can add a +// binding such as "/v1/{name=users/*}/operations" to their service +// configuration. For backwards compatibility, the default name includes +// the operations collection id, however overriding users must ensure +// the name binding is the parent resource, without the operations +// collection id. // -// - resource: REQUIRED: The resource for which the policy detail is -// being requested. See the operation documentation for the -// appropriate value for this field. -func (r *ProjectsLocationsServiceConnectPoliciesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsServiceConnectPoliciesTestIamPermissionsCall { - c := &ProjectsLocationsServiceConnectPoliciesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.resource = resource - c.testiampermissionsrequest = testiampermissionsrequest +// - name: The name of the operation's parent resource. +func (r *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall { + c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Filter sets the optional parameter "filter": The standard list +// filter. +func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// PageSize sets the optional parameter "pageSize": The standard list +// page size. +func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The standard list +// page token. +func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall { + c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. -func (c *ProjectsLocationsServiceConnectPoliciesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsServiceConnectPoliciesTestIamPermissionsCall { +func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } +// IfNoneMatch sets the optional parameter which makes the operation +// fail if the object's ETag matches the given value. This is useful for +// getting updates only after the object has changed since the last +// request. Use googleapi.IsNotModified to check whether the response +// error from Do is the result of In-None-Match. +func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall { + c.ifNoneMatch_ = entityTag + return c +} + // Context sets the context to be used in this call's Do method. Any // pending HTTP request will be aborted if the provided context is // canceled. -func (c *ProjectsLocationsServiceConnectPoliciesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsServiceConnectPoliciesTestIamPermissionsCall { +func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall { c.ctx_ = ctx return c } // Header returns an http.Header that can be modified by the caller to // add HTTP headers to the request. -func (c *ProjectsLocationsServiceConnectPoliciesTestIamPermissionsCall) Header() http.Header { +func (c *ProjectsLocationsOperationsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsServiceConnectPoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest) - if err != nil { - return nil, err + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } - reqHeaders.Set("Content-Type", "application/json") + var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+resource}:testIamPermissions") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha1/{+name}/operations") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("POST", urls, body) + req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "resource": c.resource, + "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "networkconnectivity.projects.locations.serviceConnectPolicies.testIamPermissions" call. -// Exactly one of *TestIamPermissionsResponse or error will be non-nil. -// Any non-2xx status code is an error. Response headers are in either -// *TestIamPermissionsResponse.ServerResponse.Header or (if a response -// was returned at all) in error.(*googleapi.Error).Header. Use -// googleapi.IsNotModified to check whether the returned error was +// Do executes the "networkconnectivity.projects.locations.operations.list" call. +// Exactly one of *GoogleLongrunningListOperationsResponse or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *GoogleLongrunningListOperationsResponse.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 *ProjectsLocationsServiceConnectPoliciesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) { +func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -4483,7 +4449,7 @@ func (c *ProjectsLocationsServiceConnectPoliciesTestIamPermissionsCall) Do(opts if err := googleapi.CheckResponse(res); err != nil { return nil, err } - ret := &TestIamPermissionsResponse{ + ret := &GoogleLongrunningListOperationsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -4495,28 +4461,41 @@ func (c *ProjectsLocationsServiceConnectPoliciesTestIamPermissionsCall) Do(opts } return ret, nil // { - // "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", - // "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/serviceConnectPolicies/{serviceConnectPoliciesId}:testIamPermissions", - // "httpMethod": "POST", - // "id": "networkconnectivity.projects.locations.serviceConnectPolicies.testIamPermissions", + // "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.", + // "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/operations", + // "httpMethod": "GET", + // "id": "networkconnectivity.projects.locations.operations.list", // "parameterOrder": [ - // "resource" + // "name" // ], // "parameters": { - // "resource": { - // "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.", + // "filter": { + // "description": "The standard list filter.", + // "location": "query", + // "type": "string" + // }, + // "name": { + // "description": "The name of the operation's parent resource.", // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+/serviceConnectPolicies/[^/]+$", + // "pattern": "^projects/[^/]+/locations/[^/]+$", // "required": true, // "type": "string" + // }, + // "pageSize": { + // "description": "The standard list page size.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "The standard list page token.", + // "location": "query", + // "type": "string" // } // }, - // "path": "v1alpha1/{+resource}:testIamPermissions", - // "request": { - // "$ref": "TestIamPermissionsRequest" - // }, + // "path": "v1alpha1/{+name}/operations", // "response": { - // "$ref": "TestIamPermissionsResponse" + // "$ref": "GoogleLongrunningListOperationsResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/cloud-platform" @@ -4525,6 +4504,27 @@ func (c *ProjectsLocationsServiceConnectPoliciesTestIamPermissionsCall) Do(opts } +// Pages invokes f for each page of results. +// A non-nil error returned from f will halt the iteration. +// The provided context supersedes any context provided to the Context method. +func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + // method id "networkconnectivity.projects.locations.serviceInstances.getIamPolicy": type ProjectsLocationsServiceInstancesGetIamPolicyCall struct { diff --git a/networkservices/v1beta1/networkservices-api.json b/networkservices/v1beta1/networkservices-api.json index a70fd30aeb9..ca2aa48eac3 100644 --- a/networkservices/v1beta1/networkservices-api.json +++ b/networkservices/v1beta1/networkservices-api.json @@ -1875,7 +1875,7 @@ } } }, - "revision": "20220404", + "revision": "20220422", "rootUrl": "https://networkservices.googleapis.com/", "schemas": { "AuditConfig": { @@ -3414,13 +3414,6 @@ "description": "Optional. A free-text description of the resource. Max length 1024 characters.", "type": "string" }, - "gateways": { - "description": "Optional. Gateways defines a list of gateways this TcpRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: `projects/*/locations/global/gateways/`", - "items": { - "type": "string" - }, - "type": "array" - }, "labels": { "additionalProperties": { "type": "string" diff --git a/networkservices/v1beta1/networkservices-gen.go b/networkservices/v1beta1/networkservices-gen.go index 8b80e26e447..e0224348285 100644 --- a/networkservices/v1beta1/networkservices-gen.go +++ b/networkservices/v1beta1/networkservices-gen.go @@ -3002,12 +3002,6 @@ type TcpRoute struct { // length 1024 characters. Description string `json:"description,omitempty"` - // Gateways: Optional. Gateways defines a list of gateways this TcpRoute - // is attached to, as one of the routing rules to route the requests - // served by the gateway. Each gateway reference should match the - // pattern: `projects/*/locations/global/gateways/` - Gateways []string `json:"gateways,omitempty"` - // Labels: Optional. Set of label tags associated with the TcpRoute // resource. Labels map[string]string `json:"labels,omitempty"` diff --git a/ondemandscanning/v1/ondemandscanning-api.json b/ondemandscanning/v1/ondemandscanning-api.json index 08a81656484..9b756065208 100644 --- a/ondemandscanning/v1/ondemandscanning-api.json +++ b/ondemandscanning/v1/ondemandscanning-api.json @@ -339,7 +339,7 @@ } } }, - "revision": "20220415", + "revision": "20220425", "rootUrl": "https://ondemandscanning.googleapis.com/", "schemas": { "AliasContext": { @@ -1036,6 +1036,17 @@ }, "type": "object" }, + "FileLocation": { + "description": "Indicates the location at which a package was found.", + "id": "FileLocation", + "properties": { + "filePath": { + "description": "For jars that are contained inside .war files, this filepath can indicate the path to war file combined with the path to jar file.", + "type": "string" + } + }, + "type": "object" + }, "Fingerprint": { "description": "A set of properties that uniquely identify a given Docker image.", "id": "Fingerprint", @@ -1498,6 +1509,17 @@ "description": "The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/) in which the vulnerability may manifest. Examples include distro or storage location for vulnerable jar.", "type": "string" }, + "fileLocation": { + "description": "The path to the jar file / go binary file.", + "items": { + "$ref": "FileLocation" + }, + "type": "array" + }, + "hashDigest": { + "description": "HashDigest stores the SHA512 hash digest of the jar file if the package is of type Maven. This field will be unset for non Maven packages.", + "type": "string" + }, "os": { "description": "The OS affected by a vulnerability This field is deprecated and the information is in cpe_uri", "type": "string" @@ -1528,13 +1550,6 @@ ], "type": "string" }, - "pathToFile": { - "description": "The path to the jar file / go binary file. The same jar file can be in multiple locations - all of them will be listed.", - "items": { - "type": "string" - }, - "type": "array" - }, "unused": { "type": "string" }, diff --git a/ondemandscanning/v1/ondemandscanning-gen.go b/ondemandscanning/v1/ondemandscanning-gen.go index 1985d9070e5..8d576269e6f 100644 --- a/ondemandscanning/v1/ondemandscanning-gen.go +++ b/ondemandscanning/v1/ondemandscanning-gen.go @@ -1196,6 +1196,36 @@ func (s *FileHashes) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// FileLocation: Indicates the location at which a package was found. +type FileLocation struct { + // FilePath: For jars that are contained inside .war files, this + // filepath can indicate the path to war file combined with the path to + // jar file. + FilePath string `json:"filePath,omitempty"` + + // ForceSendFields is a list of field names (e.g. "FilePath") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "FilePath") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FileLocation) MarshalJSON() ([]byte, error) { + type NoMethod FileLocation + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Fingerprint: A set of properties that uniquely identify a given // Docker image. type Fingerprint struct { @@ -1959,6 +1989,14 @@ type PackageData struct { // jar. CpeUri string `json:"cpeUri,omitempty"` + // FileLocation: The path to the jar file / go binary file. + FileLocation []*FileLocation `json:"fileLocation,omitempty"` + + // HashDigest: HashDigest stores the SHA512 hash digest of the jar file + // if the package is of type Maven. This field will be unset for non + // Maven packages. + HashDigest string `json:"hashDigest,omitempty"` + // Os: The OS affected by a vulnerability This field is deprecated and // the information is in cpe_uri Os string `json:"os,omitempty"` @@ -1980,10 +2018,6 @@ type PackageData struct { // "GO_STDLIB" - Go toolchain + standard library packages. PackageType string `json:"packageType,omitempty"` - // PathToFile: The path to the jar file / go binary file. The same jar - // file can be in multiple locations - all of them will be listed. - PathToFile []string `json:"pathToFile,omitempty"` - Unused string `json:"unused,omitempty"` // Version: The version of the package being analysed diff --git a/ondemandscanning/v1beta1/ondemandscanning-api.json b/ondemandscanning/v1beta1/ondemandscanning-api.json index 95245089ade..17ee3e905e8 100644 --- a/ondemandscanning/v1beta1/ondemandscanning-api.json +++ b/ondemandscanning/v1beta1/ondemandscanning-api.json @@ -339,7 +339,7 @@ } } }, - "revision": "20220415", + "revision": "20220425", "rootUrl": "https://ondemandscanning.googleapis.com/", "schemas": { "AliasContext": { @@ -1032,6 +1032,17 @@ }, "type": "object" }, + "FileLocation": { + "description": "Indicates the location at which a package was found.", + "id": "FileLocation", + "properties": { + "filePath": { + "description": "For jars that are contained inside .war files, this filepath can indicate the path to war file combined with the path to jar file.", + "type": "string" + } + }, + "type": "object" + }, "Fingerprint": { "description": "A set of properties that uniquely identify a given Docker image.", "id": "Fingerprint", @@ -1494,6 +1505,17 @@ "description": "The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/) in which the vulnerability may manifest. Examples include distro or storage location for vulnerable jar.", "type": "string" }, + "fileLocation": { + "description": "The path to the jar file / go binary file.", + "items": { + "$ref": "FileLocation" + }, + "type": "array" + }, + "hashDigest": { + "description": "HashDigest stores the SHA512 hash digest of the jar file if the package is of type Maven. This field will be unset for non Maven packages.", + "type": "string" + }, "os": { "description": "The OS affected by a vulnerability This field is deprecated and the information is in cpe_uri", "type": "string" @@ -1524,13 +1546,6 @@ ], "type": "string" }, - "pathToFile": { - "description": "The path to the jar file / go binary file. The same jar file can be in multiple locations - all of them will be listed.", - "items": { - "type": "string" - }, - "type": "array" - }, "unused": { "type": "string" }, diff --git a/ondemandscanning/v1beta1/ondemandscanning-gen.go b/ondemandscanning/v1beta1/ondemandscanning-gen.go index 1b2c5f271c2..20752fc5ca4 100644 --- a/ondemandscanning/v1beta1/ondemandscanning-gen.go +++ b/ondemandscanning/v1beta1/ondemandscanning-gen.go @@ -1190,6 +1190,36 @@ func (s *FileHashes) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// FileLocation: Indicates the location at which a package was found. +type FileLocation struct { + // FilePath: For jars that are contained inside .war files, this + // filepath can indicate the path to war file combined with the path to + // jar file. + FilePath string `json:"filePath,omitempty"` + + // ForceSendFields is a list of field names (e.g. "FilePath") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "FilePath") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *FileLocation) MarshalJSON() ([]byte, error) { + type NoMethod FileLocation + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Fingerprint: A set of properties that uniquely identify a given // Docker image. type Fingerprint struct { @@ -1953,6 +1983,14 @@ type PackageData struct { // jar. CpeUri string `json:"cpeUri,omitempty"` + // FileLocation: The path to the jar file / go binary file. + FileLocation []*FileLocation `json:"fileLocation,omitempty"` + + // HashDigest: HashDigest stores the SHA512 hash digest of the jar file + // if the package is of type Maven. This field will be unset for non + // Maven packages. + HashDigest string `json:"hashDigest,omitempty"` + // Os: The OS affected by a vulnerability This field is deprecated and // the information is in cpe_uri Os string `json:"os,omitempty"` @@ -1974,10 +2012,6 @@ type PackageData struct { // "GO_STDLIB" - Go toolchain + standard library packages. PackageType string `json:"packageType,omitempty"` - // PathToFile: The path to the jar file / go binary file. The same jar - // file can be in multiple locations - all of them will be listed. - PathToFile []string `json:"pathToFile,omitempty"` - Unused string `json:"unused,omitempty"` // Version: The version of the package being analysed diff --git a/pubsub/v1/pubsub-api.json b/pubsub/v1/pubsub-api.json index ade428d5b95..d802ed8677c 100644 --- a/pubsub/v1/pubsub-api.json +++ b/pubsub/v1/pubsub-api.json @@ -472,7 +472,7 @@ ] }, "get": { - "description": "Gets the configuration details of a snapshot. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.", + "description": "Gets the configuration details of a snapshot. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.", "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", "httpMethod": "GET", "id": "pubsub.projects.snapshots.get", @@ -567,7 +567,7 @@ ] }, "patch": { - "description": "Updates an existing snapshot. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.", + "description": "Updates an existing snapshot. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.", "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", "httpMethod": "PATCH", "id": "pubsub.projects.snapshots.patch", @@ -1424,7 +1424,7 @@ } } }, - "revision": "20220404", + "revision": "20220421", "rootUrl": "https://pubsub.googleapis.com/", "schemas": { "AcknowledgeRequest": { @@ -1697,7 +1697,7 @@ "type": "object" }, "OidcToken": { - "description": "Contains information needed for generating an [OpenID Connect token](https://developers.google.com/identity/protocols/OpenIDConnect).", + "description": "Contains information needed for generating an [OpenID Connect token](https://developers.google.com/identity/protocols/OpenIDConnect). [Service account email](https://cloud.google.com/iam/docs/service-accounts) used for generating the OIDC token. For more information on setting up authentication, see [Push subscriptions](https://cloud.google.com/pubsub/docs/push).", "id": "OidcToken", "properties": { "audience": { @@ -1705,7 +1705,6 @@ "type": "string" }, "serviceAccountEmail": { - "description": "[Service account email](https://cloud.google.com/iam/docs/service-accounts) to be used for generating the OIDC token. See [Setting up push authentication](/pubsub/docs/push#setting_up_for_push_authentication) for more details.", "type": "string" } }, @@ -1784,7 +1783,7 @@ "type": "string" }, "orderingKey": { - "description": "If non-empty, identifies related messages for which publish order should be respected. If a `Subscription` has `enable_message_ordering` set to `true`, messages published with the same non-empty `ordering_key` value will be delivered to subscribers in the order in which they are received by the Pub/Sub system. All `PubsubMessage`s published in a given `PublishRequest` must specify the same `ordering_key` value.", + "description": "If non-empty, identifies related messages for which publish order should be respected. If a `Subscription` has `enable_message_ordering` set to `true`, messages published with the same non-empty `ordering_key` value will be delivered to subscribers in the order in which they are received by the Pub/Sub system. All `PubsubMessage`s published in a given `PublishRequest` must specify the same `ordering_key` value. For more information, see [ordering messages](https://cloud.google.com/pubsub/docs/ordering).", "type": "string" }, "publishTime": { diff --git a/pubsub/v1/pubsub-gen.go b/pubsub/v1/pubsub-gen.go index 096e6ac5f5e..2f01cea90f9 100644 --- a/pubsub/v1/pubsub-gen.go +++ b/pubsub/v1/pubsub-gen.go @@ -869,6 +869,11 @@ func (s *ModifyPushConfigRequest) MarshalJSON() ([]byte, error) { // OidcToken: Contains information needed for generating an OpenID // Connect token // (https://developers.google.com/identity/protocols/OpenIDConnect). +// Service account email +// (https://cloud.google.com/iam/docs/service-accounts) used for +// generating the OIDC token. For more information on setting up +// authentication, see Push subscriptions +// (https://cloud.google.com/pubsub/docs/push). type OidcToken struct { // Audience: Audience to be used when generating OIDC token. The // audience claim identifies the recipients that the JWT is intended @@ -879,11 +884,6 @@ type OidcToken struct { // specified, the Push endpoint URL will be used. Audience string `json:"audience,omitempty"` - // ServiceAccountEmail: Service account email - // (https://cloud.google.com/iam/docs/service-accounts) to be used for - // generating the OIDC token. See Setting up push authentication - // (/pubsub/docs/push#setting_up_for_push_authentication) for more - // details. ServiceAccountEmail string `json:"serviceAccountEmail,omitempty"` // ForceSendFields is a list of field names (e.g. "Audience") to @@ -1109,7 +1109,8 @@ type PubsubMessage struct { // same non-empty `ordering_key` value will be delivered to subscribers // in the order in which they are received by the Pub/Sub system. All // `PubsubMessage`s published in a given `PublishRequest` must specify - // the same `ordering_key` value. + // the same `ordering_key` value. For more information, see ordering + // messages (https://cloud.google.com/pubsub/docs/ordering). OrderingKey string `json:"orderingKey,omitempty"` // PublishTime: The time at which the message was published, populated @@ -3856,9 +3857,10 @@ type ProjectsSnapshotsGetCall struct { } // Get: Gets the configuration details of a snapshot. Snapshots are used -// in Seek operations, which allow you to manage message acknowledgments -// in bulk. That is, you can set the acknowledgment state of messages in -// an existing subscription to the state captured by a snapshot. +// in Seek (https://cloud.google.com/pubsub/docs/replay-overview) +// operations, which allow you to manage message acknowledgments in +// bulk. That is, you can set the acknowledgment state of messages in an +// existing subscription to the state captured by a snapshot. // // - snapshot: The name of the snapshot to get. Format is // `projects/{project}/snapshots/{snap}`. @@ -3967,7 +3969,7 @@ func (c *ProjectsSnapshotsGetCall) Do(opts ...googleapi.CallOption) (*Snapshot, } return ret, nil // { - // "description": "Gets the configuration details of a snapshot. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.", + // "description": "Gets the configuration details of a snapshot. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.", // "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", // "httpMethod": "GET", // "id": "pubsub.projects.snapshots.get", @@ -4382,9 +4384,10 @@ type ProjectsSnapshotsPatchCall struct { } // Patch: Updates an existing snapshot. Snapshots are used in Seek -// operations, which allow you to manage message acknowledgments in -// bulk. That is, you can set the acknowledgment state of messages in an -// existing subscription to the state captured by a snapshot. +// (https://cloud.google.com/pubsub/docs/replay-overview) operations, +// which allow you to manage message acknowledgments in bulk. That is, +// you can set the acknowledgment state of messages in an existing +// subscription to the state captured by a snapshot. // // - name: The name of the snapshot. func (r *ProjectsSnapshotsService) Patch(name string, updatesnapshotrequest *UpdateSnapshotRequest) *ProjectsSnapshotsPatchCall { @@ -4485,7 +4488,7 @@ func (c *ProjectsSnapshotsPatchCall) Do(opts ...googleapi.CallOption) (*Snapshot } return ret, nil // { - // "description": "Updates an existing snapshot. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.", + // "description": "Updates an existing snapshot. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.", // "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}", // "httpMethod": "PATCH", // "id": "pubsub.projects.snapshots.patch", diff --git a/retail/v2/retail-api.json b/retail/v2/retail-api.json index a863f3e2ee3..1497ee23c9f 100644 --- a/retail/v2/retail-api.json +++ b/retail/v2/retail-api.json @@ -781,7 +781,7 @@ ], "parameters": { "placement": { - "description": "Required. Full resource name of the format: {name=projects/*/locations/global/catalogs/default_catalog/servingConfigs/*} or {name=projects/*/locations/global/catalogs/default_catalog/placements/*}. We recommend using the `servingConfigs` resource. `placements` is a legacy resource. The ID of the Recommendations AI serving config or placement. Before you can request predictions from your model, you must create at least one serving config or placement for it. For more information, see [Managing serving configurations] (https://cloud.google.com/retail/docs/manage-configs). The full list of available serving configs can be seen at https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs", + "description": "Required. Full resource name of the format: {name=projects/*/locations/global/catalogs/default_catalog/placements/*} The ID of the Recommendations AI placement. Before you can request predictions from your model, you must create at least one placement for it. For more information, see [Managing placements](https://cloud.google.com/retail/recommendations-ai/docs/manage-placements). The full list of available placements can be seen at https://console.cloud.google.com/recommendation/catalogs/default_catalog/placements", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/placements/[^/]+$", "required": true, @@ -809,7 +809,7 @@ ], "parameters": { "placement": { - "description": "Required. The resource name of the Retail Search serving config, such as `projects/*/locations/global/catalogs/default_catalog/servingConfigs/default_serving_config` or the name of the legacy placement resource, such as `projects/*/locations/global/catalogs/default_catalog/placements/default_search`. This field is used to identify the serving configuration name and the set of models that will be used to make the search.", + "description": "Required. The resource name of the search engine placement, such as `projects/*/locations/global/catalogs/default_catalog/placements/default_search`. This field is used to identify the serving configuration name and the set of models that will be used to make the search.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/placements/[^/]+$", "required": true, @@ -829,66 +829,6 @@ } } }, - "servingConfigs": { - "methods": { - "predict": { - "description": "Makes a recommendation prediction.", - "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/servingConfigs/{servingConfigsId}:predict", - "httpMethod": "POST", - "id": "retail.projects.locations.catalogs.servingConfigs.predict", - "parameterOrder": [ - "placement" - ], - "parameters": { - "placement": { - "description": "Required. Full resource name of the format: {name=projects/*/locations/global/catalogs/default_catalog/servingConfigs/*} or {name=projects/*/locations/global/catalogs/default_catalog/placements/*}. We recommend using the `servingConfigs` resource. `placements` is a legacy resource. The ID of the Recommendations AI serving config or placement. Before you can request predictions from your model, you must create at least one serving config or placement for it. For more information, see [Managing serving configurations] (https://cloud.google.com/retail/docs/manage-configs). The full list of available serving configs can be seen at https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/servingConfigs/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v2/{+placement}:predict", - "request": { - "$ref": "GoogleCloudRetailV2PredictRequest" - }, - "response": { - "$ref": "GoogleCloudRetailV2PredictResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "search": { - "description": "Performs a search. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", - "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/servingConfigs/{servingConfigsId}:search", - "httpMethod": "POST", - "id": "retail.projects.locations.catalogs.servingConfigs.search", - "parameterOrder": [ - "placement" - ], - "parameters": { - "placement": { - "description": "Required. The resource name of the Retail Search serving config, such as `projects/*/locations/global/catalogs/default_catalog/servingConfigs/default_serving_config` or the name of the legacy placement resource, such as `projects/*/locations/global/catalogs/default_catalog/placements/default_search`. This field is used to identify the serving configuration name and the set of models that will be used to make the search.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/servingConfigs/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v2/{+placement}:search", - "request": { - "$ref": "GoogleCloudRetailV2SearchRequest" - }, - "response": { - "$ref": "GoogleCloudRetailV2SearchResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - }, "userEvents": { "methods": { "collect": { @@ -1193,7 +1133,7 @@ } } }, - "revision": "20220414", + "revision": "20220421", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -1607,7 +1547,7 @@ "id": "GoogleCloudRetailV2CustomAttribute", "properties": { "indexable": { - "description": "This field will only be used when AttributesConfig.attribute_config_level of the Catalog is 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG', if true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.", + "description": "This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. You may learn more on [configuration mode] (https://cloud.google.com/retail/docs/attribute-config#config-modes). if true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.", "type": "boolean" }, "numbers": { @@ -1619,7 +1559,7 @@ "type": "array" }, "searchable": { - "description": "This field will only be used when AttributesConfig.attribute_config_level of the Catalog is 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG', if true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned.", + "description": "This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. You may learn more on [configuration mode] (https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned.", "type": "boolean" }, "text": { @@ -2903,7 +2843,7 @@ "type": "string" }, "correctedQuery": { - "description": "If spell correction applies, the corrected query. Otherwise, empty.", + "description": "Contains the spell corrected query, if found. If the spell correction type is AUTOMATIC, then the search results will be based on corrected_query, otherwise the original query will be used for search.", "type": "string" }, "facets": { @@ -3160,7 +3100,7 @@ "type": "string" }, "productDetails": { - "description": "The main product details related to the event. This field is required for the following event types: * `add-to-cart` * `detail-page-view` * `purchase-complete` * `search` In a `search` event, this field represents the products returned to the end user on the current page (the end user may have not finished browsing the whole page yet). When a new page is returned to the end user, after pagination/filtering/ordering even for the same query, a new `search` event with different product_details is desired. The end user may have not finished browsing the whole page yet.", + "description": "The main product details related to the event. This field is optional except for the following event types: * `add-to-cart` * `detail-page-view` * `purchase-complete` In a `search` event, this field represents the products returned to the end user on the current page (the end user may have not finished browsing the whole page yet). When a new page is returned to the end user, after pagination/filtering/ordering even for the same query, a new `search` event with different product_details is desired. The end user may have not finished browsing the whole page yet.", "items": { "$ref": "GoogleCloudRetailV2ProductDetail" }, diff --git a/retail/v2/retail-gen.go b/retail/v2/retail-gen.go index e14e1213a0b..6943999725f 100644 --- a/retail/v2/retail-gen.go +++ b/retail/v2/retail-gen.go @@ -173,7 +173,6 @@ func NewProjectsLocationsCatalogsService(s *Service) *ProjectsLocationsCatalogsS rs.CompletionData = NewProjectsLocationsCatalogsCompletionDataService(s) rs.Operations = NewProjectsLocationsCatalogsOperationsService(s) rs.Placements = NewProjectsLocationsCatalogsPlacementsService(s) - rs.ServingConfigs = NewProjectsLocationsCatalogsServingConfigsService(s) rs.UserEvents = NewProjectsLocationsCatalogsUserEventsService(s) return rs } @@ -189,8 +188,6 @@ type ProjectsLocationsCatalogsService struct { Placements *ProjectsLocationsCatalogsPlacementsService - ServingConfigs *ProjectsLocationsCatalogsServingConfigsService - UserEvents *ProjectsLocationsCatalogsUserEventsService } @@ -254,15 +251,6 @@ type ProjectsLocationsCatalogsPlacementsService struct { s *Service } -func NewProjectsLocationsCatalogsServingConfigsService(s *Service) *ProjectsLocationsCatalogsServingConfigsService { - rs := &ProjectsLocationsCatalogsServingConfigsService{s: s} - return rs -} - -type ProjectsLocationsCatalogsServingConfigsService struct { - s *Service -} - func NewProjectsLocationsCatalogsUserEventsService(s *Service) *ProjectsLocationsCatalogsUserEventsService { rs := &ProjectsLocationsCatalogsUserEventsService{s: s} return rs @@ -1121,13 +1109,16 @@ func (s *GoogleCloudRetailV2CompletionDetail) MarshalJSON() ([]byte, error) { // GoogleCloudRetailV2CustomAttribute: A custom attribute that is not // explicitly modeled in Product. type GoogleCloudRetailV2CustomAttribute struct { - // Indexable: This field will only be used when - // AttributesConfig.attribute_config_level of the Catalog is - // 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG', if true, custom attribute values - // are indexed, so that it can be filtered, faceted or boosted in - // SearchService.Search. This field is ignored in a UserEvent. See - // SearchRequest.filter, SearchRequest.facet_specs and - // SearchRequest.boost_spec for more details. + // Indexable: This field is normally ignored unless + // AttributesConfig.attribute_config_level of the Catalog is set to the + // deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. You may learn more + // on [configuration mode] + // (https://cloud.google.com/retail/docs/attribute-config#config-modes). + // if true, custom attribute values are indexed, so that it can be + // filtered, faceted or boosted in SearchService.Search. This field is + // ignored in a UserEvent. See SearchRequest.filter, + // SearchRequest.facet_specs and SearchRequest.boost_spec for more + // details. Indexable bool `json:"indexable,omitempty"` // Numbers: The numerical values of this custom attribute. For example, @@ -1136,12 +1127,14 @@ type GoogleCloudRetailV2CustomAttribute struct { // returned. Numbers []float64 `json:"numbers,omitempty"` - // Searchable: This field will only be used when - // AttributesConfig.attribute_config_level of the Catalog is - // 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG', if true, custom attribute values - // are searchable by text queries in SearchService.Search. This field is - // ignored in a UserEvent. Only set if type text is set. Otherwise, a - // INVALID_ARGUMENT error is returned. + // Searchable: This field is normally ignored unless + // AttributesConfig.attribute_config_level of the Catalog is set to the + // deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. You may learn more + // on [configuration mode] + // (https://cloud.google.com/retail/docs/attribute-config#config-modes). + // If true, custom attribute values are searchable by text queries in + // SearchService.Search. This field is ignored in a UserEvent. Only set + // if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. Searchable bool `json:"searchable,omitempty"` // Text: The textual values of this custom attribute. For example, @@ -3755,8 +3748,10 @@ type GoogleCloudRetailV2SearchResponse struct { // attribution of search model performance. AttributionToken string `json:"attributionToken,omitempty"` - // CorrectedQuery: If spell correction applies, the corrected query. - // Otherwise, empty. + // CorrectedQuery: Contains the spell corrected query, if found. If the + // spell correction type is AUTOMATIC, then the search results will be + // based on corrected_query, otherwise the original query will be used + // for search. CorrectedQuery string `json:"correctedQuery,omitempty"` // Facets: Results of facets requested by user. @@ -4240,14 +4235,14 @@ type GoogleCloudRetailV2UserEvent struct { PageViewId string `json:"pageViewId,omitempty"` // ProductDetails: The main product details related to the event. This - // field is required for the following event types: * `add-to-cart` * - // `detail-page-view` * `purchase-complete` * `search` In a `search` - // event, this field represents the products returned to the end user on - // the current page (the end user may have not finished browsing the - // whole page yet). When a new page is returned to the end user, after - // pagination/filtering/ordering even for the same query, a new `search` - // event with different product_details is desired. The end user may - // have not finished browsing the whole page yet. + // field is optional except for the following event types: * + // `add-to-cart` * `detail-page-view` * `purchase-complete` In a + // `search` event, this field represents the products returned to the + // end user on the current page (the end user may have not finished + // browsing the whole page yet). When a new page is returned to the end + // user, after pagination/filtering/ordering even for the same query, a + // new `search` event with different product_details is desired. The end + // user may have not finished browsing the whole page yet. ProductDetails []*GoogleCloudRetailV2ProductDetail `json:"productDetails,omitempty"` // PurchaseTransaction: A transaction represents the entire purchase @@ -9196,18 +9191,13 @@ type ProjectsLocationsCatalogsPlacementsPredictCall struct { // Predict: Makes a recommendation prediction. // // - placement: Full resource name of the format: -// {name=projects/*/locations/global/catalogs/default_catalog/servingCo -// nfigs/*} or // {name=projects/*/locations/global/catalogs/default_catalog/placement -// s/*}. We recommend using the `servingConfigs` resource. -// `placements` is a legacy resource. The ID of the Recommendations AI -// serving config or placement. Before you can request predictions -// from your model, you must create at least one serving config or -// placement for it. For more information, see [Managing serving -// configurations] -// (https://cloud.google.com/retail/docs/manage-configs). The full -// list of available serving configs can be seen at -// https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs. +// s/*} The ID of the Recommendations AI placement. Before you can +// request predictions from your model, you must create at least one +// placement for it. For more information, see Managing placements +// (https://cloud.google.com/retail/recommendations-ai/docs/manage-placements). +// The full list of available placements can be seen at +// https://console.cloud.google.com/recommendation/catalogs/default_catalog/placements. func (r *ProjectsLocationsCatalogsPlacementsService) Predict(placement string, googlecloudretailv2predictrequest *GoogleCloudRetailV2PredictRequest) *ProjectsLocationsCatalogsPlacementsPredictCall { c := &ProjectsLocationsCatalogsPlacementsPredictCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.placement = placement @@ -9316,7 +9306,7 @@ func (c *ProjectsLocationsCatalogsPlacementsPredictCall) Do(opts ...googleapi.Ca // ], // "parameters": { // "placement": { - // "description": "Required. Full resource name of the format: {name=projects/*/locations/global/catalogs/default_catalog/servingConfigs/*} or {name=projects/*/locations/global/catalogs/default_catalog/placements/*}. We recommend using the `servingConfigs` resource. `placements` is a legacy resource. The ID of the Recommendations AI serving config or placement. Before you can request predictions from your model, you must create at least one serving config or placement for it. For more information, see [Managing serving configurations] (https://cloud.google.com/retail/docs/manage-configs). The full list of available serving configs can be seen at https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs", + // "description": "Required. Full resource name of the format: {name=projects/*/locations/global/catalogs/default_catalog/placements/*} The ID of the Recommendations AI placement. Before you can request predictions from your model, you must create at least one placement for it. For more information, see [Managing placements](https://cloud.google.com/retail/recommendations-ai/docs/manage-placements). The full list of available placements can be seen at https://console.cloud.google.com/recommendation/catalogs/default_catalog/placements", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/placements/[^/]+$", // "required": true, @@ -9352,11 +9342,8 @@ type ProjectsLocationsCatalogsPlacementsSearchCall struct { // who have Retail Search enabled. Please enable Retail Search on Cloud // Console before using this feature. // -// - placement: The resource name of the Retail Search serving config, -// such as -// `projects/*/locations/global/catalogs/default_catalog/servingConfigs -// /default_serving_config` or the name of the legacy placement -// resource, such as +// - placement: The resource name of the search engine placement, such +// as // `projects/*/locations/global/catalogs/default_catalog/placements/def // ault_search`. This field is used to identify the serving // configuration name and the set of models that will be used to make @@ -9469,7 +9456,7 @@ func (c *ProjectsLocationsCatalogsPlacementsSearchCall) Do(opts ...googleapi.Cal // ], // "parameters": { // "placement": { - // "description": "Required. The resource name of the Retail Search serving config, such as `projects/*/locations/global/catalogs/default_catalog/servingConfigs/default_serving_config` or the name of the legacy placement resource, such as `projects/*/locations/global/catalogs/default_catalog/placements/default_search`. This field is used to identify the serving configuration name and the set of models that will be used to make the search.", + // "description": "Required. The resource name of the search engine placement, such as `projects/*/locations/global/catalogs/default_catalog/placements/default_search`. This field is used to identify the serving configuration name and the set of models that will be used to make the search.", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/placements/[^/]+$", // "required": true, @@ -9511,335 +9498,6 @@ func (c *ProjectsLocationsCatalogsPlacementsSearchCall) Pages(ctx context.Contex } } -// method id "retail.projects.locations.catalogs.servingConfigs.predict": - -type ProjectsLocationsCatalogsServingConfigsPredictCall struct { - s *Service - placement string - googlecloudretailv2predictrequest *GoogleCloudRetailV2PredictRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// Predict: Makes a recommendation prediction. -// -// - placement: Full resource name of the format: -// {name=projects/*/locations/global/catalogs/default_catalog/servingCo -// nfigs/*} or -// {name=projects/*/locations/global/catalogs/default_catalog/placement -// s/*}. We recommend using the `servingConfigs` resource. -// `placements` is a legacy resource. The ID of the Recommendations AI -// serving config or placement. Before you can request predictions -// from your model, you must create at least one serving config or -// placement for it. For more information, see [Managing serving -// configurations] -// (https://cloud.google.com/retail/docs/manage-configs). The full -// list of available serving configs can be seen at -// https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs. -func (r *ProjectsLocationsCatalogsServingConfigsService) Predict(placement string, googlecloudretailv2predictrequest *GoogleCloudRetailV2PredictRequest) *ProjectsLocationsCatalogsServingConfigsPredictCall { - c := &ProjectsLocationsCatalogsServingConfigsPredictCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.placement = placement - c.googlecloudretailv2predictrequest = googlecloudretailv2predictrequest - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsLocationsCatalogsServingConfigsPredictCall) Fields(s ...googleapi.Field) *ProjectsLocationsCatalogsServingConfigsPredictCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsLocationsCatalogsServingConfigsPredictCall) Context(ctx context.Context) *ProjectsLocationsCatalogsServingConfigsPredictCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsLocationsCatalogsServingConfigsPredictCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsLocationsCatalogsServingConfigsPredictCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudretailv2predictrequest) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+placement}:predict") - 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{ - "placement": c.placement, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "retail.projects.locations.catalogs.servingConfigs.predict" call. -// Exactly one of *GoogleCloudRetailV2PredictResponse or error will be -// non-nil. Any non-2xx status code is an error. Response headers are in -// either *GoogleCloudRetailV2PredictResponse.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 *ProjectsLocationsCatalogsServingConfigsPredictCall) Do(opts ...googleapi.CallOption) (*GoogleCloudRetailV2PredictResponse, error) { - gensupport.SetOptions(c.urlParams_, opts...) - res, err := c.doRequest("json") - if res != nil && res.StatusCode == http.StatusNotModified { - if res.Body != nil { - res.Body.Close() - } - return nil, &googleapi.Error{ - Code: res.StatusCode, - Header: res.Header, - } - } - if err != nil { - return nil, err - } - defer googleapi.CloseBody(res) - if err := googleapi.CheckResponse(res); err != nil { - return nil, err - } - ret := &GoogleCloudRetailV2PredictResponse{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := gensupport.DecodeResponse(target, res); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Makes a recommendation prediction.", - // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/servingConfigs/{servingConfigsId}:predict", - // "httpMethod": "POST", - // "id": "retail.projects.locations.catalogs.servingConfigs.predict", - // "parameterOrder": [ - // "placement" - // ], - // "parameters": { - // "placement": { - // "description": "Required. Full resource name of the format: {name=projects/*/locations/global/catalogs/default_catalog/servingConfigs/*} or {name=projects/*/locations/global/catalogs/default_catalog/placements/*}. We recommend using the `servingConfigs` resource. `placements` is a legacy resource. The ID of the Recommendations AI serving config or placement. Before you can request predictions from your model, you must create at least one serving config or placement for it. For more information, see [Managing serving configurations] (https://cloud.google.com/retail/docs/manage-configs). The full list of available serving configs can be seen at https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs", - // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/servingConfigs/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v2/{+placement}:predict", - // "request": { - // "$ref": "GoogleCloudRetailV2PredictRequest" - // }, - // "response": { - // "$ref": "GoogleCloudRetailV2PredictResponse" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// method id "retail.projects.locations.catalogs.servingConfigs.search": - -type ProjectsLocationsCatalogsServingConfigsSearchCall struct { - s *Service - placement string - googlecloudretailv2searchrequest *GoogleCloudRetailV2SearchRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// Search: Performs a search. This feature is only available for users -// who have Retail Search enabled. Please enable Retail Search on Cloud -// Console before using this feature. -// -// - placement: The resource name of the Retail Search serving config, -// such as -// `projects/*/locations/global/catalogs/default_catalog/servingConfigs -// /default_serving_config` or the name of the legacy placement -// resource, such as -// `projects/*/locations/global/catalogs/default_catalog/placements/def -// ault_search`. This field is used to identify the serving -// configuration name and the set of models that will be used to make -// the search. -func (r *ProjectsLocationsCatalogsServingConfigsService) Search(placement string, googlecloudretailv2searchrequest *GoogleCloudRetailV2SearchRequest) *ProjectsLocationsCatalogsServingConfigsSearchCall { - c := &ProjectsLocationsCatalogsServingConfigsSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.placement = placement - c.googlecloudretailv2searchrequest = googlecloudretailv2searchrequest - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsLocationsCatalogsServingConfigsSearchCall) Fields(s ...googleapi.Field) *ProjectsLocationsCatalogsServingConfigsSearchCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsLocationsCatalogsServingConfigsSearchCall) Context(ctx context.Context) *ProjectsLocationsCatalogsServingConfigsSearchCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsLocationsCatalogsServingConfigsSearchCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsLocationsCatalogsServingConfigsSearchCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudretailv2searchrequest) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+placement}:search") - 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{ - "placement": c.placement, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "retail.projects.locations.catalogs.servingConfigs.search" call. -// Exactly one of *GoogleCloudRetailV2SearchResponse or error will be -// non-nil. Any non-2xx status code is an error. Response headers are in -// either *GoogleCloudRetailV2SearchResponse.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 *ProjectsLocationsCatalogsServingConfigsSearchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudRetailV2SearchResponse, error) { - gensupport.SetOptions(c.urlParams_, opts...) - res, err := c.doRequest("json") - if res != nil && res.StatusCode == http.StatusNotModified { - if res.Body != nil { - res.Body.Close() - } - return nil, &googleapi.Error{ - Code: res.StatusCode, - Header: res.Header, - } - } - if err != nil { - return nil, err - } - defer googleapi.CloseBody(res) - if err := googleapi.CheckResponse(res); err != nil { - return nil, err - } - ret := &GoogleCloudRetailV2SearchResponse{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := gensupport.DecodeResponse(target, res); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Performs a search. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", - // "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/servingConfigs/{servingConfigsId}:search", - // "httpMethod": "POST", - // "id": "retail.projects.locations.catalogs.servingConfigs.search", - // "parameterOrder": [ - // "placement" - // ], - // "parameters": { - // "placement": { - // "description": "Required. The resource name of the Retail Search serving config, such as `projects/*/locations/global/catalogs/default_catalog/servingConfigs/default_serving_config` or the name of the legacy placement resource, such as `projects/*/locations/global/catalogs/default_catalog/placements/default_search`. This field is used to identify the serving configuration name and the set of models that will be used to make the search.", - // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/servingConfigs/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v2/{+placement}:search", - // "request": { - // "$ref": "GoogleCloudRetailV2SearchRequest" - // }, - // "response": { - // "$ref": "GoogleCloudRetailV2SearchResponse" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// Pages invokes f for each page of results. -// A non-nil error returned from f will halt the iteration. -// The provided context supersedes any context provided to the Context method. -func (c *ProjectsLocationsCatalogsServingConfigsSearchCall) Pages(ctx context.Context, f func(*GoogleCloudRetailV2SearchResponse) error) error { - c.ctx_ = ctx - defer func(pt string) { c.googlecloudretailv2searchrequest.PageToken = pt }(c.googlecloudretailv2searchrequest.PageToken) // reset paging to original point - for { - x, err := c.Do() - if err != nil { - return err - } - if err := f(x); err != nil { - return err - } - if x.NextPageToken == "" { - return nil - } - c.googlecloudretailv2searchrequest.PageToken = x.NextPageToken - } -} - // method id "retail.projects.locations.catalogs.userEvents.collect": type ProjectsLocationsCatalogsUserEventsCollectCall struct { diff --git a/retail/v2alpha/retail-api.json b/retail/v2alpha/retail-api.json index c9d2117faad..95a6551a66e 100644 --- a/retail/v2alpha/retail-api.json +++ b/retail/v2alpha/retail-api.json @@ -1182,7 +1182,7 @@ ], "parameters": { "placement": { - "description": "Required. Full resource name of the format: {name=projects/*/locations/global/catalogs/default_catalog/servingConfigs/*} or {name=projects/*/locations/global/catalogs/default_catalog/placements/*}. We recommend using the `servingConfigs` resource. `placements` is a legacy resource. The ID of the Recommendations AI serving config or placement. Before you can request predictions from your model, you must create at least one serving config or placement for it. For more information, see [Managing serving configurations] (https://cloud.google.com/retail/docs/manage-configs). The full list of available serving configs can be seen at https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs", + "description": "Required. Full resource name of the format: {name=projects/*/locations/global/catalogs/default_catalog/placements/*} The ID of the Recommendations AI placement. Before you can request predictions from your model, you must create at least one placement for it. For more information, see [Managing placements](https://cloud.google.com/retail/recommendations-ai/docs/manage-placements). The full list of available placements can be seen at https://console.cloud.google.com/recommendation/catalogs/default_catalog/placements", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/placements/[^/]+$", "required": true, @@ -1210,7 +1210,7 @@ ], "parameters": { "placement": { - "description": "Required. The resource name of the Retail Search serving config, such as `projects/*/locations/global/catalogs/default_catalog/servingConfigs/default_serving_config` or the name of the legacy placement resource, such as `projects/*/locations/global/catalogs/default_catalog/placements/default_search`. This field is used to identify the serving configuration name and the set of models that will be used to make the search.", + "description": "Required. The resource name of the search engine placement, such as `projects/*/locations/global/catalogs/default_catalog/placements/default_search`. This field is used to identify the serving configuration name and the set of models that will be used to make the search.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/placements/[^/]+$", "required": true, @@ -1413,34 +1413,6 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, - "predict": { - "description": "Makes a recommendation prediction.", - "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/servingConfigs/{servingConfigsId}:predict", - "httpMethod": "POST", - "id": "retail.projects.locations.catalogs.servingConfigs.predict", - "parameterOrder": [ - "placement" - ], - "parameters": { - "placement": { - "description": "Required. Full resource name of the format: {name=projects/*/locations/global/catalogs/default_catalog/servingConfigs/*} or {name=projects/*/locations/global/catalogs/default_catalog/placements/*}. We recommend using the `servingConfigs` resource. `placements` is a legacy resource. The ID of the Recommendations AI serving config or placement. Before you can request predictions from your model, you must create at least one serving config or placement for it. For more information, see [Managing serving configurations] (https://cloud.google.com/retail/docs/manage-configs). The full list of available serving configs can be seen at https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/servingConfigs/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v2alpha/{+placement}:predict", - "request": { - "$ref": "GoogleCloudRetailV2alphaPredictRequest" - }, - "response": { - "$ref": "GoogleCloudRetailV2alphaPredictResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, "removeControl": { "description": "Disables a Control on the specified ServingConfig. The control is removed from the ServingConfig. Returns a NOT_FOUND error if the Control is not enabled for the ServingConfig.", "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/servingConfigs/{servingConfigsId}:removeControl", @@ -1468,34 +1440,6 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] - }, - "search": { - "description": "Performs a search. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", - "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/servingConfigs/{servingConfigsId}:search", - "httpMethod": "POST", - "id": "retail.projects.locations.catalogs.servingConfigs.search", - "parameterOrder": [ - "placement" - ], - "parameters": { - "placement": { - "description": "Required. The resource name of the Retail Search serving config, such as `projects/*/locations/global/catalogs/default_catalog/servingConfigs/default_serving_config` or the name of the legacy placement resource, such as `projects/*/locations/global/catalogs/default_catalog/placements/default_search`. This field is used to identify the serving configuration name and the set of models that will be used to make the search.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/servingConfigs/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v2alpha/{+placement}:search", - "request": { - "$ref": "GoogleCloudRetailV2alphaSearchRequest" - }, - "response": { - "$ref": "GoogleCloudRetailV2alphaSearchResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] } } }, @@ -1803,7 +1747,7 @@ } } }, - "revision": "20220414", + "revision": "20220421", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -2722,7 +2666,7 @@ "id": "GoogleCloudRetailV2alphaCustomAttribute", "properties": { "indexable": { - "description": "This field will only be used when AttributesConfig.attribute_config_level of the Catalog is 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG', if true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.", + "description": "This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. You may learn more on [configuration mode] (https://cloud.google.com/retail/docs/attribute-config#config-modes). if true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.", "type": "boolean" }, "numbers": { @@ -2734,7 +2678,7 @@ "type": "array" }, "searchable": { - "description": "This field will only be used when AttributesConfig.attribute_config_level of the Catalog is 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG', if true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned.", + "description": "This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. You may learn more on [configuration mode] (https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned.", "type": "boolean" }, "text": { @@ -4476,7 +4420,7 @@ "type": "string" }, "correctedQuery": { - "description": "If spell correction applies, the corrected query. Otherwise, empty.", + "description": "Contains the spell corrected query, if found. If the spell correction type is AUTOMATIC, then the search results will be based on corrected_query, otherwise the original query will be used for search.", "type": "string" }, "facets": { @@ -4848,7 +4792,7 @@ "type": "string" }, "productDetails": { - "description": "The main product details related to the event. This field is required for the following event types: * `add-to-cart` * `detail-page-view` * `purchase-complete` * `search` In a `search` event, this field represents the products returned to the end user on the current page (the end user may have not finished browsing the whole page yet). When a new page is returned to the end user, after pagination/filtering/ordering even for the same query, a new `search` event with different product_details is desired. The end user may have not finished browsing the whole page yet.", + "description": "The main product details related to the event. This field is optional except for the following event types: * `add-to-cart` * `detail-page-view` * `purchase-complete` In a `search` event, this field represents the products returned to the end user on the current page (the end user may have not finished browsing the whole page yet). When a new page is returned to the end user, after pagination/filtering/ordering even for the same query, a new `search` event with different product_details is desired. The end user may have not finished browsing the whole page yet.", "items": { "$ref": "GoogleCloudRetailV2alphaProductDetail" }, diff --git a/retail/v2alpha/retail-gen.go b/retail/v2alpha/retail-gen.go index 80e93c4a9df..34cda95efb9 100644 --- a/retail/v2alpha/retail-gen.go +++ b/retail/v2alpha/retail-gen.go @@ -2011,13 +2011,16 @@ func (s *GoogleCloudRetailV2alphaControl) MarshalJSON() ([]byte, error) { // GoogleCloudRetailV2alphaCustomAttribute: A custom attribute that is // not explicitly modeled in Product. type GoogleCloudRetailV2alphaCustomAttribute struct { - // Indexable: This field will only be used when - // AttributesConfig.attribute_config_level of the Catalog is - // 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG', if true, custom attribute values - // are indexed, so that it can be filtered, faceted or boosted in - // SearchService.Search. This field is ignored in a UserEvent. See - // SearchRequest.filter, SearchRequest.facet_specs and - // SearchRequest.boost_spec for more details. + // Indexable: This field is normally ignored unless + // AttributesConfig.attribute_config_level of the Catalog is set to the + // deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. You may learn more + // on [configuration mode] + // (https://cloud.google.com/retail/docs/attribute-config#config-modes). + // if true, custom attribute values are indexed, so that it can be + // filtered, faceted or boosted in SearchService.Search. This field is + // ignored in a UserEvent. See SearchRequest.filter, + // SearchRequest.facet_specs and SearchRequest.boost_spec for more + // details. Indexable bool `json:"indexable,omitempty"` // Numbers: The numerical values of this custom attribute. For example, @@ -2026,12 +2029,14 @@ type GoogleCloudRetailV2alphaCustomAttribute struct { // returned. Numbers []float64 `json:"numbers,omitempty"` - // Searchable: This field will only be used when - // AttributesConfig.attribute_config_level of the Catalog is - // 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG', if true, custom attribute values - // are searchable by text queries in SearchService.Search. This field is - // ignored in a UserEvent. Only set if type text is set. Otherwise, a - // INVALID_ARGUMENT error is returned. + // Searchable: This field is normally ignored unless + // AttributesConfig.attribute_config_level of the Catalog is set to the + // deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. You may learn more + // on [configuration mode] + // (https://cloud.google.com/retail/docs/attribute-config#config-modes). + // If true, custom attribute values are searchable by text queries in + // SearchService.Search. This field is ignored in a UserEvent. Only set + // if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. Searchable bool `json:"searchable,omitempty"` // Text: The textual values of this custom attribute. For example, @@ -5584,8 +5589,10 @@ type GoogleCloudRetailV2alphaSearchResponse struct { // attribution of search model performance. AttributionToken string `json:"attributionToken,omitempty"` - // CorrectedQuery: If spell correction applies, the corrected query. - // Otherwise, empty. + // CorrectedQuery: Contains the spell corrected query, if found. If the + // spell correction type is AUTOMATIC, then the search results will be + // based on corrected_query, otherwise the original query will be used + // for search. CorrectedQuery string `json:"correctedQuery,omitempty"` // Facets: Results of facets requested by user. @@ -6235,14 +6242,14 @@ type GoogleCloudRetailV2alphaUserEvent struct { PageViewId string `json:"pageViewId,omitempty"` // ProductDetails: The main product details related to the event. This - // field is required for the following event types: * `add-to-cart` * - // `detail-page-view` * `purchase-complete` * `search` In a `search` - // event, this field represents the products returned to the end user on - // the current page (the end user may have not finished browsing the - // whole page yet). When a new page is returned to the end user, after - // pagination/filtering/ordering even for the same query, a new `search` - // event with different product_details is desired. The end user may - // have not finished browsing the whole page yet. + // field is optional except for the following event types: * + // `add-to-cart` * `detail-page-view` * `purchase-complete` In a + // `search` event, this field represents the products returned to the + // end user on the current page (the end user may have not finished + // browsing the whole page yet). When a new page is returned to the end + // user, after pagination/filtering/ordering even for the same query, a + // new `search` event with different product_details is desired. The end + // user may have not finished browsing the whole page yet. ProductDetails []*GoogleCloudRetailV2alphaProductDetail `json:"productDetails,omitempty"` // PurchaseTransaction: A transaction represents the entire purchase @@ -12660,18 +12667,13 @@ type ProjectsLocationsCatalogsPlacementsPredictCall struct { // Predict: Makes a recommendation prediction. // // - placement: Full resource name of the format: -// {name=projects/*/locations/global/catalogs/default_catalog/servingCo -// nfigs/*} or // {name=projects/*/locations/global/catalogs/default_catalog/placement -// s/*}. We recommend using the `servingConfigs` resource. -// `placements` is a legacy resource. The ID of the Recommendations AI -// serving config or placement. Before you can request predictions -// from your model, you must create at least one serving config or -// placement for it. For more information, see [Managing serving -// configurations] -// (https://cloud.google.com/retail/docs/manage-configs). The full -// list of available serving configs can be seen at -// https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs. +// s/*} The ID of the Recommendations AI placement. Before you can +// request predictions from your model, you must create at least one +// placement for it. For more information, see Managing placements +// (https://cloud.google.com/retail/recommendations-ai/docs/manage-placements). +// The full list of available placements can be seen at +// https://console.cloud.google.com/recommendation/catalogs/default_catalog/placements. func (r *ProjectsLocationsCatalogsPlacementsService) Predict(placement string, googlecloudretailv2alphapredictrequest *GoogleCloudRetailV2alphaPredictRequest) *ProjectsLocationsCatalogsPlacementsPredictCall { c := &ProjectsLocationsCatalogsPlacementsPredictCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.placement = placement @@ -12780,7 +12782,7 @@ func (c *ProjectsLocationsCatalogsPlacementsPredictCall) Do(opts ...googleapi.Ca // ], // "parameters": { // "placement": { - // "description": "Required. Full resource name of the format: {name=projects/*/locations/global/catalogs/default_catalog/servingConfigs/*} or {name=projects/*/locations/global/catalogs/default_catalog/placements/*}. We recommend using the `servingConfigs` resource. `placements` is a legacy resource. The ID of the Recommendations AI serving config or placement. Before you can request predictions from your model, you must create at least one serving config or placement for it. For more information, see [Managing serving configurations] (https://cloud.google.com/retail/docs/manage-configs). The full list of available serving configs can be seen at https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs", + // "description": "Required. Full resource name of the format: {name=projects/*/locations/global/catalogs/default_catalog/placements/*} The ID of the Recommendations AI placement. Before you can request predictions from your model, you must create at least one placement for it. For more information, see [Managing placements](https://cloud.google.com/retail/recommendations-ai/docs/manage-placements). The full list of available placements can be seen at https://console.cloud.google.com/recommendation/catalogs/default_catalog/placements", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/placements/[^/]+$", // "required": true, @@ -12816,11 +12818,8 @@ type ProjectsLocationsCatalogsPlacementsSearchCall struct { // who have Retail Search enabled. Please enable Retail Search on Cloud // Console before using this feature. // -// - placement: The resource name of the Retail Search serving config, -// such as -// `projects/*/locations/global/catalogs/default_catalog/servingConfigs -// /default_serving_config` or the name of the legacy placement -// resource, such as +// - placement: The resource name of the search engine placement, such +// as // `projects/*/locations/global/catalogs/default_catalog/placements/def // ault_search`. This field is used to identify the serving // configuration name and the set of models that will be used to make @@ -12933,7 +12932,7 @@ func (c *ProjectsLocationsCatalogsPlacementsSearchCall) Do(opts ...googleapi.Cal // ], // "parameters": { // "placement": { - // "description": "Required. The resource name of the Retail Search serving config, such as `projects/*/locations/global/catalogs/default_catalog/servingConfigs/default_serving_config` or the name of the legacy placement resource, such as `projects/*/locations/global/catalogs/default_catalog/placements/default_search`. This field is used to identify the serving configuration name and the set of models that will be used to make the search.", + // "description": "Required. The resource name of the search engine placement, such as `projects/*/locations/global/catalogs/default_catalog/placements/default_search`. This field is used to identify the serving configuration name and the set of models that will be used to make the search.", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/placements/[^/]+$", // "required": true, @@ -13929,161 +13928,6 @@ func (c *ProjectsLocationsCatalogsServingConfigsPatchCall) Do(opts ...googleapi. } -// method id "retail.projects.locations.catalogs.servingConfigs.predict": - -type ProjectsLocationsCatalogsServingConfigsPredictCall struct { - s *Service - placement string - googlecloudretailv2alphapredictrequest *GoogleCloudRetailV2alphaPredictRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// Predict: Makes a recommendation prediction. -// -// - placement: Full resource name of the format: -// {name=projects/*/locations/global/catalogs/default_catalog/servingCo -// nfigs/*} or -// {name=projects/*/locations/global/catalogs/default_catalog/placement -// s/*}. We recommend using the `servingConfigs` resource. -// `placements` is a legacy resource. The ID of the Recommendations AI -// serving config or placement. Before you can request predictions -// from your model, you must create at least one serving config or -// placement for it. For more information, see [Managing serving -// configurations] -// (https://cloud.google.com/retail/docs/manage-configs). The full -// list of available serving configs can be seen at -// https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs. -func (r *ProjectsLocationsCatalogsServingConfigsService) Predict(placement string, googlecloudretailv2alphapredictrequest *GoogleCloudRetailV2alphaPredictRequest) *ProjectsLocationsCatalogsServingConfigsPredictCall { - c := &ProjectsLocationsCatalogsServingConfigsPredictCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.placement = placement - c.googlecloudretailv2alphapredictrequest = googlecloudretailv2alphapredictrequest - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsLocationsCatalogsServingConfigsPredictCall) Fields(s ...googleapi.Field) *ProjectsLocationsCatalogsServingConfigsPredictCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsLocationsCatalogsServingConfigsPredictCall) Context(ctx context.Context) *ProjectsLocationsCatalogsServingConfigsPredictCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsLocationsCatalogsServingConfigsPredictCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsLocationsCatalogsServingConfigsPredictCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudretailv2alphapredictrequest) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v2alpha/{+placement}:predict") - 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{ - "placement": c.placement, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "retail.projects.locations.catalogs.servingConfigs.predict" call. -// Exactly one of *GoogleCloudRetailV2alphaPredictResponse or error will -// be non-nil. Any non-2xx status code is an error. Response headers are -// in either -// *GoogleCloudRetailV2alphaPredictResponse.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 *ProjectsLocationsCatalogsServingConfigsPredictCall) Do(opts ...googleapi.CallOption) (*GoogleCloudRetailV2alphaPredictResponse, error) { - gensupport.SetOptions(c.urlParams_, opts...) - res, err := c.doRequest("json") - if res != nil && res.StatusCode == http.StatusNotModified { - if res.Body != nil { - res.Body.Close() - } - return nil, &googleapi.Error{ - Code: res.StatusCode, - Header: res.Header, - } - } - if err != nil { - return nil, err - } - defer googleapi.CloseBody(res) - if err := googleapi.CheckResponse(res); err != nil { - return nil, err - } - ret := &GoogleCloudRetailV2alphaPredictResponse{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := gensupport.DecodeResponse(target, res); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Makes a recommendation prediction.", - // "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/servingConfigs/{servingConfigsId}:predict", - // "httpMethod": "POST", - // "id": "retail.projects.locations.catalogs.servingConfigs.predict", - // "parameterOrder": [ - // "placement" - // ], - // "parameters": { - // "placement": { - // "description": "Required. Full resource name of the format: {name=projects/*/locations/global/catalogs/default_catalog/servingConfigs/*} or {name=projects/*/locations/global/catalogs/default_catalog/placements/*}. We recommend using the `servingConfigs` resource. `placements` is a legacy resource. The ID of the Recommendations AI serving config or placement. Before you can request predictions from your model, you must create at least one serving config or placement for it. For more information, see [Managing serving configurations] (https://cloud.google.com/retail/docs/manage-configs). The full list of available serving configs can be seen at https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs", - // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/servingConfigs/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v2alpha/{+placement}:predict", - // "request": { - // "$ref": "GoogleCloudRetailV2alphaPredictRequest" - // }, - // "response": { - // "$ref": "GoogleCloudRetailV2alphaPredictResponse" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - // method id "retail.projects.locations.catalogs.servingConfigs.removeControl": type ProjectsLocationsCatalogsServingConfigsRemoveControlCall struct { @@ -14231,180 +14075,6 @@ func (c *ProjectsLocationsCatalogsServingConfigsRemoveControlCall) Do(opts ...go } -// method id "retail.projects.locations.catalogs.servingConfigs.search": - -type ProjectsLocationsCatalogsServingConfigsSearchCall struct { - s *Service - placement string - googlecloudretailv2alphasearchrequest *GoogleCloudRetailV2alphaSearchRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// Search: Performs a search. This feature is only available for users -// who have Retail Search enabled. Please enable Retail Search on Cloud -// Console before using this feature. -// -// - placement: The resource name of the Retail Search serving config, -// such as -// `projects/*/locations/global/catalogs/default_catalog/servingConfigs -// /default_serving_config` or the name of the legacy placement -// resource, such as -// `projects/*/locations/global/catalogs/default_catalog/placements/def -// ault_search`. This field is used to identify the serving -// configuration name and the set of models that will be used to make -// the search. -func (r *ProjectsLocationsCatalogsServingConfigsService) Search(placement string, googlecloudretailv2alphasearchrequest *GoogleCloudRetailV2alphaSearchRequest) *ProjectsLocationsCatalogsServingConfigsSearchCall { - c := &ProjectsLocationsCatalogsServingConfigsSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.placement = placement - c.googlecloudretailv2alphasearchrequest = googlecloudretailv2alphasearchrequest - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsLocationsCatalogsServingConfigsSearchCall) Fields(s ...googleapi.Field) *ProjectsLocationsCatalogsServingConfigsSearchCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsLocationsCatalogsServingConfigsSearchCall) Context(ctx context.Context) *ProjectsLocationsCatalogsServingConfigsSearchCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsLocationsCatalogsServingConfigsSearchCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsLocationsCatalogsServingConfigsSearchCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudretailv2alphasearchrequest) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v2alpha/{+placement}:search") - 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{ - "placement": c.placement, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "retail.projects.locations.catalogs.servingConfigs.search" call. -// Exactly one of *GoogleCloudRetailV2alphaSearchResponse or error will -// be non-nil. Any non-2xx status code is an error. Response headers are -// in either -// *GoogleCloudRetailV2alphaSearchResponse.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 *ProjectsLocationsCatalogsServingConfigsSearchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudRetailV2alphaSearchResponse, error) { - gensupport.SetOptions(c.urlParams_, opts...) - res, err := c.doRequest("json") - if res != nil && res.StatusCode == http.StatusNotModified { - if res.Body != nil { - res.Body.Close() - } - return nil, &googleapi.Error{ - Code: res.StatusCode, - Header: res.Header, - } - } - if err != nil { - return nil, err - } - defer googleapi.CloseBody(res) - if err := googleapi.CheckResponse(res); err != nil { - return nil, err - } - ret := &GoogleCloudRetailV2alphaSearchResponse{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := gensupport.DecodeResponse(target, res); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Performs a search. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", - // "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/servingConfigs/{servingConfigsId}:search", - // "httpMethod": "POST", - // "id": "retail.projects.locations.catalogs.servingConfigs.search", - // "parameterOrder": [ - // "placement" - // ], - // "parameters": { - // "placement": { - // "description": "Required. The resource name of the Retail Search serving config, such as `projects/*/locations/global/catalogs/default_catalog/servingConfigs/default_serving_config` or the name of the legacy placement resource, such as `projects/*/locations/global/catalogs/default_catalog/placements/default_search`. This field is used to identify the serving configuration name and the set of models that will be used to make the search.", - // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/servingConfigs/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v2alpha/{+placement}:search", - // "request": { - // "$ref": "GoogleCloudRetailV2alphaSearchRequest" - // }, - // "response": { - // "$ref": "GoogleCloudRetailV2alphaSearchResponse" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// Pages invokes f for each page of results. -// A non-nil error returned from f will halt the iteration. -// The provided context supersedes any context provided to the Context method. -func (c *ProjectsLocationsCatalogsServingConfigsSearchCall) Pages(ctx context.Context, f func(*GoogleCloudRetailV2alphaSearchResponse) error) error { - c.ctx_ = ctx - defer func(pt string) { c.googlecloudretailv2alphasearchrequest.PageToken = pt }(c.googlecloudretailv2alphasearchrequest.PageToken) // reset paging to original point - for { - x, err := c.Do() - if err != nil { - return err - } - if err := f(x); err != nil { - return err - } - if x.NextPageToken == "" { - return nil - } - c.googlecloudretailv2alphasearchrequest.PageToken = x.NextPageToken - } -} - // method id "retail.projects.locations.catalogs.userEvents.collect": type ProjectsLocationsCatalogsUserEventsCollectCall struct { diff --git a/retail/v2beta/retail-api.json b/retail/v2beta/retail-api.json index 17145e07c91..04bf534ccd5 100644 --- a/retail/v2beta/retail-api.json +++ b/retail/v2beta/retail-api.json @@ -1149,7 +1149,7 @@ ], "parameters": { "placement": { - "description": "Required. Full resource name of the format: {name=projects/*/locations/global/catalogs/default_catalog/servingConfigs/*} or {name=projects/*/locations/global/catalogs/default_catalog/placements/*}. We recommend using the `servingConfigs` resource. `placements` is a legacy resource. The ID of the Recommendations AI serving config or placement. Before you can request predictions from your model, you must create at least one serving config or placement for it. For more information, see [Managing serving configurations] (https://cloud.google.com/retail/docs/manage-configs). The full list of available serving configs can be seen at https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs", + "description": "Required. Full resource name of the format: {name=projects/*/locations/global/catalogs/default_catalog/placements/*} The ID of the Recommendations AI placement. Before you can request predictions from your model, you must create at least one placement for it. For more information, see [Managing placements](https://cloud.google.com/retail/recommendations-ai/docs/manage-placements). The full list of available placements can be seen at https://console.cloud.google.com/recommendation/catalogs/default_catalog/placements", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/placements/[^/]+$", "required": true, @@ -1177,7 +1177,7 @@ ], "parameters": { "placement": { - "description": "Required. The resource name of the Retail Search serving config, such as `projects/*/locations/global/catalogs/default_catalog/servingConfigs/default_serving_config` or the name of the legacy placement resource, such as `projects/*/locations/global/catalogs/default_catalog/placements/default_search`. This field is used to identify the serving configuration name and the set of models that will be used to make the search.", + "description": "Required. The resource name of the search engine placement, such as `projects/*/locations/global/catalogs/default_catalog/placements/default_search`. This field is used to identify the serving configuration name and the set of models that will be used to make the search.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/placements/[^/]+$", "required": true, @@ -1380,34 +1380,6 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, - "predict": { - "description": "Makes a recommendation prediction.", - "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/servingConfigs/{servingConfigsId}:predict", - "httpMethod": "POST", - "id": "retail.projects.locations.catalogs.servingConfigs.predict", - "parameterOrder": [ - "placement" - ], - "parameters": { - "placement": { - "description": "Required. Full resource name of the format: {name=projects/*/locations/global/catalogs/default_catalog/servingConfigs/*} or {name=projects/*/locations/global/catalogs/default_catalog/placements/*}. We recommend using the `servingConfigs` resource. `placements` is a legacy resource. The ID of the Recommendations AI serving config or placement. Before you can request predictions from your model, you must create at least one serving config or placement for it. For more information, see [Managing serving configurations] (https://cloud.google.com/retail/docs/manage-configs). The full list of available serving configs can be seen at https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/servingConfigs/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v2beta/{+placement}:predict", - "request": { - "$ref": "GoogleCloudRetailV2betaPredictRequest" - }, - "response": { - "$ref": "GoogleCloudRetailV2betaPredictResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, "removeControl": { "description": "Disables a Control on the specified ServingConfig. The control is removed from the ServingConfig. Returns a NOT_FOUND error if the Control is not enabled for the ServingConfig.", "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/servingConfigs/{servingConfigsId}:removeControl", @@ -1435,34 +1407,6 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] - }, - "search": { - "description": "Performs a search. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", - "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/servingConfigs/{servingConfigsId}:search", - "httpMethod": "POST", - "id": "retail.projects.locations.catalogs.servingConfigs.search", - "parameterOrder": [ - "placement" - ], - "parameters": { - "placement": { - "description": "Required. The resource name of the Retail Search serving config, such as `projects/*/locations/global/catalogs/default_catalog/servingConfigs/default_serving_config` or the name of the legacy placement resource, such as `projects/*/locations/global/catalogs/default_catalog/placements/default_search`. This field is used to identify the serving configuration name and the set of models that will be used to make the search.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/servingConfigs/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v2beta/{+placement}:search", - "request": { - "$ref": "GoogleCloudRetailV2betaSearchRequest" - }, - "response": { - "$ref": "GoogleCloudRetailV2betaSearchResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] } } }, @@ -1770,7 +1714,7 @@ } } }, - "revision": "20220414", + "revision": "20220421", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -3012,7 +2956,7 @@ "id": "GoogleCloudRetailV2betaCustomAttribute", "properties": { "indexable": { - "description": "This field will only be used when AttributesConfig.attribute_config_level of the Catalog is 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG', if true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.", + "description": "This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. You may learn more on [configuration mode] (https://cloud.google.com/retail/docs/attribute-config#config-modes). if true, custom attribute values are indexed, so that it can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details.", "type": "boolean" }, "numbers": { @@ -3024,7 +2968,7 @@ "type": "array" }, "searchable": { - "description": "This field will only be used when AttributesConfig.attribute_config_level of the Catalog is 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG', if true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned.", + "description": "This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. You may learn more on [configuration mode] (https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned.", "type": "boolean" }, "text": { @@ -4678,7 +4622,7 @@ "type": "string" }, "correctedQuery": { - "description": "If spell correction applies, the corrected query. Otherwise, empty.", + "description": "Contains the spell corrected query, if found. If the spell correction type is AUTOMATIC, then the search results will be based on corrected_query, otherwise the original query will be used for search.", "type": "string" }, "facets": { @@ -5050,7 +4994,7 @@ "type": "string" }, "productDetails": { - "description": "The main product details related to the event. This field is required for the following event types: * `add-to-cart` * `detail-page-view` * `purchase-complete` * `search` In a `search` event, this field represents the products returned to the end user on the current page (the end user may have not finished browsing the whole page yet). When a new page is returned to the end user, after pagination/filtering/ordering even for the same query, a new `search` event with different product_details is desired. The end user may have not finished browsing the whole page yet.", + "description": "The main product details related to the event. This field is optional except for the following event types: * `add-to-cart` * `detail-page-view` * `purchase-complete` In a `search` event, this field represents the products returned to the end user on the current page (the end user may have not finished browsing the whole page yet). When a new page is returned to the end user, after pagination/filtering/ordering even for the same query, a new `search` event with different product_details is desired. The end user may have not finished browsing the whole page yet.", "items": { "$ref": "GoogleCloudRetailV2betaProductDetail" }, diff --git a/retail/v2beta/retail-gen.go b/retail/v2beta/retail-gen.go index 3dd2459acca..c6cebe26be2 100644 --- a/retail/v2beta/retail-gen.go +++ b/retail/v2beta/retail-gen.go @@ -2598,13 +2598,16 @@ func (s *GoogleCloudRetailV2betaControl) MarshalJSON() ([]byte, error) { // GoogleCloudRetailV2betaCustomAttribute: A custom attribute that is // not explicitly modeled in Product. type GoogleCloudRetailV2betaCustomAttribute struct { - // Indexable: This field will only be used when - // AttributesConfig.attribute_config_level of the Catalog is - // 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG', if true, custom attribute values - // are indexed, so that it can be filtered, faceted or boosted in - // SearchService.Search. This field is ignored in a UserEvent. See - // SearchRequest.filter, SearchRequest.facet_specs and - // SearchRequest.boost_spec for more details. + // Indexable: This field is normally ignored unless + // AttributesConfig.attribute_config_level of the Catalog is set to the + // deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. You may learn more + // on [configuration mode] + // (https://cloud.google.com/retail/docs/attribute-config#config-modes). + // if true, custom attribute values are indexed, so that it can be + // filtered, faceted or boosted in SearchService.Search. This field is + // ignored in a UserEvent. See SearchRequest.filter, + // SearchRequest.facet_specs and SearchRequest.boost_spec for more + // details. Indexable bool `json:"indexable,omitempty"` // Numbers: The numerical values of this custom attribute. For example, @@ -2613,12 +2616,14 @@ type GoogleCloudRetailV2betaCustomAttribute struct { // returned. Numbers []float64 `json:"numbers,omitempty"` - // Searchable: This field will only be used when - // AttributesConfig.attribute_config_level of the Catalog is - // 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG', if true, custom attribute values - // are searchable by text queries in SearchService.Search. This field is - // ignored in a UserEvent. Only set if type text is set. Otherwise, a - // INVALID_ARGUMENT error is returned. + // Searchable: This field is normally ignored unless + // AttributesConfig.attribute_config_level of the Catalog is set to the + // deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. You may learn more + // on [configuration mode] + // (https://cloud.google.com/retail/docs/attribute-config#config-modes). + // If true, custom attribute values are searchable by text queries in + // SearchService.Search. This field is ignored in a UserEvent. Only set + // if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. Searchable bool `json:"searchable,omitempty"` // Text: The textual values of this custom attribute. For example, @@ -6012,8 +6017,10 @@ type GoogleCloudRetailV2betaSearchResponse struct { // attribution of search model performance. AttributionToken string `json:"attributionToken,omitempty"` - // CorrectedQuery: If spell correction applies, the corrected query. - // Otherwise, empty. + // CorrectedQuery: Contains the spell corrected query, if found. If the + // spell correction type is AUTOMATIC, then the search results will be + // based on corrected_query, otherwise the original query will be used + // for search. CorrectedQuery string `json:"correctedQuery,omitempty"` // Facets: Results of facets requested by user. @@ -6663,14 +6670,14 @@ type GoogleCloudRetailV2betaUserEvent struct { PageViewId string `json:"pageViewId,omitempty"` // ProductDetails: The main product details related to the event. This - // field is required for the following event types: * `add-to-cart` * - // `detail-page-view` * `purchase-complete` * `search` In a `search` - // event, this field represents the products returned to the end user on - // the current page (the end user may have not finished browsing the - // whole page yet). When a new page is returned to the end user, after - // pagination/filtering/ordering even for the same query, a new `search` - // event with different product_details is desired. The end user may - // have not finished browsing the whole page yet. + // field is optional except for the following event types: * + // `add-to-cart` * `detail-page-view` * `purchase-complete` In a + // `search` event, this field represents the products returned to the + // end user on the current page (the end user may have not finished + // browsing the whole page yet). When a new page is returned to the end + // user, after pagination/filtering/ordering even for the same query, a + // new `search` event with different product_details is desired. The end + // user may have not finished browsing the whole page yet. ProductDetails []*GoogleCloudRetailV2betaProductDetail `json:"productDetails,omitempty"` // PurchaseTransaction: A transaction represents the entire purchase @@ -12405,18 +12412,13 @@ type ProjectsLocationsCatalogsPlacementsPredictCall struct { // Predict: Makes a recommendation prediction. // // - placement: Full resource name of the format: -// {name=projects/*/locations/global/catalogs/default_catalog/servingCo -// nfigs/*} or // {name=projects/*/locations/global/catalogs/default_catalog/placement -// s/*}. We recommend using the `servingConfigs` resource. -// `placements` is a legacy resource. The ID of the Recommendations AI -// serving config or placement. Before you can request predictions -// from your model, you must create at least one serving config or -// placement for it. For more information, see [Managing serving -// configurations] -// (https://cloud.google.com/retail/docs/manage-configs). The full -// list of available serving configs can be seen at -// https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs. +// s/*} The ID of the Recommendations AI placement. Before you can +// request predictions from your model, you must create at least one +// placement for it. For more information, see Managing placements +// (https://cloud.google.com/retail/recommendations-ai/docs/manage-placements). +// The full list of available placements can be seen at +// https://console.cloud.google.com/recommendation/catalogs/default_catalog/placements. func (r *ProjectsLocationsCatalogsPlacementsService) Predict(placement string, googlecloudretailv2betapredictrequest *GoogleCloudRetailV2betaPredictRequest) *ProjectsLocationsCatalogsPlacementsPredictCall { c := &ProjectsLocationsCatalogsPlacementsPredictCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.placement = placement @@ -12525,7 +12527,7 @@ func (c *ProjectsLocationsCatalogsPlacementsPredictCall) Do(opts ...googleapi.Ca // ], // "parameters": { // "placement": { - // "description": "Required. Full resource name of the format: {name=projects/*/locations/global/catalogs/default_catalog/servingConfigs/*} or {name=projects/*/locations/global/catalogs/default_catalog/placements/*}. We recommend using the `servingConfigs` resource. `placements` is a legacy resource. The ID of the Recommendations AI serving config or placement. Before you can request predictions from your model, you must create at least one serving config or placement for it. For more information, see [Managing serving configurations] (https://cloud.google.com/retail/docs/manage-configs). The full list of available serving configs can be seen at https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs", + // "description": "Required. Full resource name of the format: {name=projects/*/locations/global/catalogs/default_catalog/placements/*} The ID of the Recommendations AI placement. Before you can request predictions from your model, you must create at least one placement for it. For more information, see [Managing placements](https://cloud.google.com/retail/recommendations-ai/docs/manage-placements). The full list of available placements can be seen at https://console.cloud.google.com/recommendation/catalogs/default_catalog/placements", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/placements/[^/]+$", // "required": true, @@ -12561,11 +12563,8 @@ type ProjectsLocationsCatalogsPlacementsSearchCall struct { // who have Retail Search enabled. Please enable Retail Search on Cloud // Console before using this feature. // -// - placement: The resource name of the Retail Search serving config, -// such as -// `projects/*/locations/global/catalogs/default_catalog/servingConfigs -// /default_serving_config` or the name of the legacy placement -// resource, such as +// - placement: The resource name of the search engine placement, such +// as // `projects/*/locations/global/catalogs/default_catalog/placements/def // ault_search`. This field is used to identify the serving // configuration name and the set of models that will be used to make @@ -12678,7 +12677,7 @@ func (c *ProjectsLocationsCatalogsPlacementsSearchCall) Do(opts ...googleapi.Cal // ], // "parameters": { // "placement": { - // "description": "Required. The resource name of the Retail Search serving config, such as `projects/*/locations/global/catalogs/default_catalog/servingConfigs/default_serving_config` or the name of the legacy placement resource, such as `projects/*/locations/global/catalogs/default_catalog/placements/default_search`. This field is used to identify the serving configuration name and the set of models that will be used to make the search.", + // "description": "Required. The resource name of the search engine placement, such as `projects/*/locations/global/catalogs/default_catalog/placements/default_search`. This field is used to identify the serving configuration name and the set of models that will be used to make the search.", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/placements/[^/]+$", // "required": true, @@ -13674,161 +13673,6 @@ func (c *ProjectsLocationsCatalogsServingConfigsPatchCall) Do(opts ...googleapi. } -// method id "retail.projects.locations.catalogs.servingConfigs.predict": - -type ProjectsLocationsCatalogsServingConfigsPredictCall struct { - s *Service - placement string - googlecloudretailv2betapredictrequest *GoogleCloudRetailV2betaPredictRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// Predict: Makes a recommendation prediction. -// -// - placement: Full resource name of the format: -// {name=projects/*/locations/global/catalogs/default_catalog/servingCo -// nfigs/*} or -// {name=projects/*/locations/global/catalogs/default_catalog/placement -// s/*}. We recommend using the `servingConfigs` resource. -// `placements` is a legacy resource. The ID of the Recommendations AI -// serving config or placement. Before you can request predictions -// from your model, you must create at least one serving config or -// placement for it. For more information, see [Managing serving -// configurations] -// (https://cloud.google.com/retail/docs/manage-configs). The full -// list of available serving configs can be seen at -// https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs. -func (r *ProjectsLocationsCatalogsServingConfigsService) Predict(placement string, googlecloudretailv2betapredictrequest *GoogleCloudRetailV2betaPredictRequest) *ProjectsLocationsCatalogsServingConfigsPredictCall { - c := &ProjectsLocationsCatalogsServingConfigsPredictCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.placement = placement - c.googlecloudretailv2betapredictrequest = googlecloudretailv2betapredictrequest - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsLocationsCatalogsServingConfigsPredictCall) Fields(s ...googleapi.Field) *ProjectsLocationsCatalogsServingConfigsPredictCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsLocationsCatalogsServingConfigsPredictCall) Context(ctx context.Context) *ProjectsLocationsCatalogsServingConfigsPredictCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsLocationsCatalogsServingConfigsPredictCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsLocationsCatalogsServingConfigsPredictCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudretailv2betapredictrequest) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta/{+placement}:predict") - 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{ - "placement": c.placement, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "retail.projects.locations.catalogs.servingConfigs.predict" call. -// Exactly one of *GoogleCloudRetailV2betaPredictResponse or error will -// be non-nil. Any non-2xx status code is an error. Response headers are -// in either -// *GoogleCloudRetailV2betaPredictResponse.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 *ProjectsLocationsCatalogsServingConfigsPredictCall) Do(opts ...googleapi.CallOption) (*GoogleCloudRetailV2betaPredictResponse, error) { - gensupport.SetOptions(c.urlParams_, opts...) - res, err := c.doRequest("json") - if res != nil && res.StatusCode == http.StatusNotModified { - if res.Body != nil { - res.Body.Close() - } - return nil, &googleapi.Error{ - Code: res.StatusCode, - Header: res.Header, - } - } - if err != nil { - return nil, err - } - defer googleapi.CloseBody(res) - if err := googleapi.CheckResponse(res); err != nil { - return nil, err - } - ret := &GoogleCloudRetailV2betaPredictResponse{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := gensupport.DecodeResponse(target, res); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Makes a recommendation prediction.", - // "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/servingConfigs/{servingConfigsId}:predict", - // "httpMethod": "POST", - // "id": "retail.projects.locations.catalogs.servingConfigs.predict", - // "parameterOrder": [ - // "placement" - // ], - // "parameters": { - // "placement": { - // "description": "Required. Full resource name of the format: {name=projects/*/locations/global/catalogs/default_catalog/servingConfigs/*} or {name=projects/*/locations/global/catalogs/default_catalog/placements/*}. We recommend using the `servingConfigs` resource. `placements` is a legacy resource. The ID of the Recommendations AI serving config or placement. Before you can request predictions from your model, you must create at least one serving config or placement for it. For more information, see [Managing serving configurations] (https://cloud.google.com/retail/docs/manage-configs). The full list of available serving configs can be seen at https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs", - // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/servingConfigs/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v2beta/{+placement}:predict", - // "request": { - // "$ref": "GoogleCloudRetailV2betaPredictRequest" - // }, - // "response": { - // "$ref": "GoogleCloudRetailV2betaPredictResponse" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - // method id "retail.projects.locations.catalogs.servingConfigs.removeControl": type ProjectsLocationsCatalogsServingConfigsRemoveControlCall struct { @@ -13976,180 +13820,6 @@ func (c *ProjectsLocationsCatalogsServingConfigsRemoveControlCall) Do(opts ...go } -// method id "retail.projects.locations.catalogs.servingConfigs.search": - -type ProjectsLocationsCatalogsServingConfigsSearchCall struct { - s *Service - placement string - googlecloudretailv2betasearchrequest *GoogleCloudRetailV2betaSearchRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// Search: Performs a search. This feature is only available for users -// who have Retail Search enabled. Please enable Retail Search on Cloud -// Console before using this feature. -// -// - placement: The resource name of the Retail Search serving config, -// such as -// `projects/*/locations/global/catalogs/default_catalog/servingConfigs -// /default_serving_config` or the name of the legacy placement -// resource, such as -// `projects/*/locations/global/catalogs/default_catalog/placements/def -// ault_search`. This field is used to identify the serving -// configuration name and the set of models that will be used to make -// the search. -func (r *ProjectsLocationsCatalogsServingConfigsService) Search(placement string, googlecloudretailv2betasearchrequest *GoogleCloudRetailV2betaSearchRequest) *ProjectsLocationsCatalogsServingConfigsSearchCall { - c := &ProjectsLocationsCatalogsServingConfigsSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.placement = placement - c.googlecloudretailv2betasearchrequest = googlecloudretailv2betasearchrequest - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse -// for more information. -func (c *ProjectsLocationsCatalogsServingConfigsSearchCall) Fields(s ...googleapi.Field) *ProjectsLocationsCatalogsServingConfigsSearchCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. Any -// pending HTTP request will be aborted if the provided context is -// canceled. -func (c *ProjectsLocationsCatalogsServingConfigsSearchCall) Context(ctx context.Context) *ProjectsLocationsCatalogsServingConfigsSearchCall { - c.ctx_ = ctx - return c -} - -// Header returns an http.Header that can be modified by the caller to -// add HTTP headers to the request. -func (c *ProjectsLocationsCatalogsServingConfigsSearchCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsLocationsCatalogsServingConfigsSearchCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := make(http.Header) - reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) - for k, v := range c.header_ { - reqHeaders[k] = v - } - reqHeaders.Set("User-Agent", c.s.userAgent()) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudretailv2betasearchrequest) - if err != nil { - return nil, err - } - reqHeaders.Set("Content-Type", "application/json") - c.urlParams_.Set("alt", alt) - c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta/{+placement}:search") - 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{ - "placement": c.placement, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "retail.projects.locations.catalogs.servingConfigs.search" call. -// Exactly one of *GoogleCloudRetailV2betaSearchResponse or error will -// be non-nil. Any non-2xx status code is an error. Response headers are -// in either -// *GoogleCloudRetailV2betaSearchResponse.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 *ProjectsLocationsCatalogsServingConfigsSearchCall) Do(opts ...googleapi.CallOption) (*GoogleCloudRetailV2betaSearchResponse, error) { - gensupport.SetOptions(c.urlParams_, opts...) - res, err := c.doRequest("json") - if res != nil && res.StatusCode == http.StatusNotModified { - if res.Body != nil { - res.Body.Close() - } - return nil, &googleapi.Error{ - Code: res.StatusCode, - Header: res.Header, - } - } - if err != nil { - return nil, err - } - defer googleapi.CloseBody(res) - if err := googleapi.CheckResponse(res); err != nil { - return nil, err - } - ret := &GoogleCloudRetailV2betaSearchResponse{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := gensupport.DecodeResponse(target, res); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Performs a search. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.", - // "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/servingConfigs/{servingConfigsId}:search", - // "httpMethod": "POST", - // "id": "retail.projects.locations.catalogs.servingConfigs.search", - // "parameterOrder": [ - // "placement" - // ], - // "parameters": { - // "placement": { - // "description": "Required. The resource name of the Retail Search serving config, such as `projects/*/locations/global/catalogs/default_catalog/servingConfigs/default_serving_config` or the name of the legacy placement resource, such as `projects/*/locations/global/catalogs/default_catalog/placements/default_search`. This field is used to identify the serving configuration name and the set of models that will be used to make the search.", - // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/servingConfigs/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v2beta/{+placement}:search", - // "request": { - // "$ref": "GoogleCloudRetailV2betaSearchRequest" - // }, - // "response": { - // "$ref": "GoogleCloudRetailV2betaSearchResponse" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - -// Pages invokes f for each page of results. -// A non-nil error returned from f will halt the iteration. -// The provided context supersedes any context provided to the Context method. -func (c *ProjectsLocationsCatalogsServingConfigsSearchCall) Pages(ctx context.Context, f func(*GoogleCloudRetailV2betaSearchResponse) error) error { - c.ctx_ = ctx - defer func(pt string) { c.googlecloudretailv2betasearchrequest.PageToken = pt }(c.googlecloudretailv2betasearchrequest.PageToken) // reset paging to original point - for { - x, err := c.Do() - if err != nil { - return err - } - if err := f(x); err != nil { - return err - } - if x.NextPageToken == "" { - return nil - } - c.googlecloudretailv2betasearchrequest.PageToken = x.NextPageToken - } -} - // method id "retail.projects.locations.catalogs.userEvents.collect": type ProjectsLocationsCatalogsUserEventsCollectCall struct { diff --git a/run/v1/run-api.json b/run/v1/run-api.json index 5a5ed029480..ca43b62d400 100644 --- a/run/v1/run-api.json +++ b/run/v1/run-api.json @@ -986,7 +986,7 @@ ], "parameters": { "dryRun": { - "description": "Indicates that the server should validate the request and populate default values without persisting the request. Supported values: `all` LINT.ThenChange(//depot/google3/google/cloud/serverless/v1/internal_service.proto:create_internal_service_request)", + "description": "Indicates that the server should validate the request and populate default values without persisting the request. Supported values: `all` LINT.ThenChange(//depot/google3/google/cloud/serverless/internal/internal_service.proto:create_internal_service_request)", "location": "query", "type": "string" }, @@ -1150,7 +1150,7 @@ ], "parameters": { "dryRun": { - "description": "Indicates that the server should validate the request and populate default values without persisting the request. Supported values: `all` LINT.ThenChange(//depot/google3/google/cloud/serverless/v1/internal_service.proto:replace_internal_service_request)", + "description": "Indicates that the server should validate the request and populate default values without persisting the request. Supported values: `all` LINT.ThenChange(//depot/google3/google/cloud/serverless/internal/internal_service.proto:replace_internal_service_request)", "location": "query", "type": "string" }, @@ -1980,7 +1980,7 @@ ], "parameters": { "dryRun": { - "description": "Indicates that the server should validate the request and populate default values without persisting the request. Supported values: `all` LINT.ThenChange(//depot/google3/google/cloud/serverless/v1/internal_service.proto:create_internal_service_request)", + "description": "Indicates that the server should validate the request and populate default values without persisting the request. Supported values: `all` LINT.ThenChange(//depot/google3/google/cloud/serverless/internal/internal_service.proto:create_internal_service_request)", "location": "query", "type": "string" }, @@ -2175,7 +2175,7 @@ ], "parameters": { "dryRun": { - "description": "Indicates that the server should validate the request and populate default values without persisting the request. Supported values: `all` LINT.ThenChange(//depot/google3/google/cloud/serverless/v1/internal_service.proto:replace_internal_service_request)", + "description": "Indicates that the server should validate the request and populate default values without persisting the request. Supported values: `all` LINT.ThenChange(//depot/google3/google/cloud/serverless/internal/internal_service.proto:replace_internal_service_request)", "location": "query", "type": "string" }, @@ -2261,7 +2261,7 @@ } } }, - "revision": "20220408", + "revision": "20220422", "rootUrl": "https://run.googleapis.com/", "schemas": { "Addressable": { diff --git a/run/v1/run-gen.go b/run/v1/run-gen.go index 34196213232..76d778c9620 100644 --- a/run/v1/run-gen.go +++ b/run/v1/run-gen.go @@ -8384,8 +8384,8 @@ func (r *NamespacesServicesService) Create(parent string, service *Service) *Nam // DryRun sets the optional parameter "dryRun": Indicates that the // server should validate the request and populate default values // without persisting the request. Supported values: `all` -// LINT.ThenChange(//depot/google3/google/cloud/serverless/v1/internal_se -// rvice.proto:create_internal_service_request) +// LINT.ThenChange(//depot/google3/google/cloud/serverless/internal/inter +// nal_service.proto:create_internal_service_request) func (c *NamespacesServicesCreateCall) DryRun(dryRun string) *NamespacesServicesCreateCall { c.urlParams_.Set("dryRun", dryRun) return c @@ -8491,7 +8491,7 @@ func (c *NamespacesServicesCreateCall) Do(opts ...googleapi.CallOption) (*Servic // ], // "parameters": { // "dryRun": { - // "description": "Indicates that the server should validate the request and populate default values without persisting the request. Supported values: `all` LINT.ThenChange(//depot/google3/google/cloud/serverless/v1/internal_service.proto:create_internal_service_request)", + // "description": "Indicates that the server should validate the request and populate default values without persisting the request. Supported values: `all` LINT.ThenChange(//depot/google3/google/cloud/serverless/internal/internal_service.proto:create_internal_service_request)", // "location": "query", // "type": "string" // }, @@ -9125,8 +9125,8 @@ func (r *NamespacesServicesService) ReplaceService(name string, service *Service // DryRun sets the optional parameter "dryRun": Indicates that the // server should validate the request and populate default values // without persisting the request. Supported values: `all` -// LINT.ThenChange(//depot/google3/google/cloud/serverless/v1/internal_se -// rvice.proto:replace_internal_service_request) +// LINT.ThenChange(//depot/google3/google/cloud/serverless/internal/inter +// nal_service.proto:replace_internal_service_request) func (c *NamespacesServicesReplaceServiceCall) DryRun(dryRun string) *NamespacesServicesReplaceServiceCall { c.urlParams_.Set("dryRun", dryRun) return c @@ -9232,7 +9232,7 @@ func (c *NamespacesServicesReplaceServiceCall) Do(opts ...googleapi.CallOption) // ], // "parameters": { // "dryRun": { - // "description": "Indicates that the server should validate the request and populate default values without persisting the request. Supported values: `all` LINT.ThenChange(//depot/google3/google/cloud/serverless/v1/internal_service.proto:replace_internal_service_request)", + // "description": "Indicates that the server should validate the request and populate default values without persisting the request. Supported values: `all` LINT.ThenChange(//depot/google3/google/cloud/serverless/internal/internal_service.proto:replace_internal_service_request)", // "location": "query", // "type": "string" // }, @@ -12813,8 +12813,8 @@ func (r *ProjectsLocationsServicesService) Create(parent string, service *Servic // DryRun sets the optional parameter "dryRun": Indicates that the // server should validate the request and populate default values // without persisting the request. Supported values: `all` -// LINT.ThenChange(//depot/google3/google/cloud/serverless/v1/internal_se -// rvice.proto:create_internal_service_request) +// LINT.ThenChange(//depot/google3/google/cloud/serverless/internal/inter +// nal_service.proto:create_internal_service_request) func (c *ProjectsLocationsServicesCreateCall) DryRun(dryRun string) *ProjectsLocationsServicesCreateCall { c.urlParams_.Set("dryRun", dryRun) return c @@ -12920,7 +12920,7 @@ func (c *ProjectsLocationsServicesCreateCall) Do(opts ...googleapi.CallOption) ( // ], // "parameters": { // "dryRun": { - // "description": "Indicates that the server should validate the request and populate default values without persisting the request. Supported values: `all` LINT.ThenChange(//depot/google3/google/cloud/serverless/v1/internal_service.proto:create_internal_service_request)", + // "description": "Indicates that the server should validate the request and populate default values without persisting the request. Supported values: `all` LINT.ThenChange(//depot/google3/google/cloud/serverless/internal/internal_service.proto:create_internal_service_request)", // "location": "query", // "type": "string" // }, @@ -13728,8 +13728,8 @@ func (r *ProjectsLocationsServicesService) ReplaceService(name string, service * // DryRun sets the optional parameter "dryRun": Indicates that the // server should validate the request and populate default values // without persisting the request. Supported values: `all` -// LINT.ThenChange(//depot/google3/google/cloud/serverless/v1/internal_se -// rvice.proto:replace_internal_service_request) +// LINT.ThenChange(//depot/google3/google/cloud/serverless/internal/inter +// nal_service.proto:replace_internal_service_request) func (c *ProjectsLocationsServicesReplaceServiceCall) DryRun(dryRun string) *ProjectsLocationsServicesReplaceServiceCall { c.urlParams_.Set("dryRun", dryRun) return c @@ -13835,7 +13835,7 @@ func (c *ProjectsLocationsServicesReplaceServiceCall) Do(opts ...googleapi.CallO // ], // "parameters": { // "dryRun": { - // "description": "Indicates that the server should validate the request and populate default values without persisting the request. Supported values: `all` LINT.ThenChange(//depot/google3/google/cloud/serverless/v1/internal_service.proto:replace_internal_service_request)", + // "description": "Indicates that the server should validate the request and populate default values without persisting the request. Supported values: `all` LINT.ThenChange(//depot/google3/google/cloud/serverless/internal/internal_service.proto:replace_internal_service_request)", // "location": "query", // "type": "string" // }, diff --git a/run/v2/run-api.json b/run/v2/run-api.json index 6ba9dc2cace..1859b915f2c 100644 --- a/run/v2/run-api.json +++ b/run/v2/run-api.json @@ -307,12 +307,6 @@ "required": true, "type": "string" }, - "updateMask": { - "description": "The list of fields to be updated.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - }, "validateOnly": { "description": "Indicates that the request should be validated and default values populated, without persisting the request or updating any resources.", "location": "query", @@ -883,12 +877,6 @@ "required": true, "type": "string" }, - "updateMask": { - "description": "The list of fields to be updated.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - }, "validateOnly": { "description": "Indicates that the request should be validated and default values populated, without persisting the request or updating any resources.", "location": "query", @@ -1076,7 +1064,7 @@ } } }, - "revision": "20220415", + "revision": "20220422", "rootUrl": "https://run.googleapis.com/", "schemas": { "GoogleCloudRunV2BinaryAuthorization": { @@ -1087,10 +1075,6 @@ "description": "If present, indicates to use Breakglass using this justification. If use_default is False, then it must be empty. For more information on breakglass, see https://cloud.google.com/binary-authorization/docs/using-breakglass", "type": "string" }, - "policy": { - "description": "The path to a binary authorization policy. Format: projects/{project}/platforms/cloudRun/{policy-name}", - "type": "string" - }, "useDefault": { "description": "If True, indicates to use the default project's binary authorization policy. If False, binary authorization will be disabled.", "type": "boolean" diff --git a/run/v2/run-gen.go b/run/v2/run-gen.go index 80a1471a0bb..6edaead3dc6 100644 --- a/run/v2/run-gen.go +++ b/run/v2/run-gen.go @@ -239,10 +239,6 @@ type GoogleCloudRunV2BinaryAuthorization struct { // https://cloud.google.com/binary-authorization/docs/using-breakglass BreakglassJustification string `json:"breakglassJustification,omitempty"` - // Policy: The path to a binary authorization policy. Format: - // projects/{project}/platforms/cloudRun/{policy-name} - Policy string `json:"policy,omitempty"` - // UseDefault: If True, indicates to use the default project's binary // authorization policy. If False, binary authorization will be // disabled. @@ -4101,13 +4097,6 @@ func (c *ProjectsLocationsJobsPatchCall) AllowMissing(allowMissing bool) *Projec return c } -// UpdateMask sets the optional parameter "updateMask": The list of -// fields to be updated. -func (c *ProjectsLocationsJobsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsJobsPatchCall { - c.urlParams_.Set("updateMask", updateMask) - return c -} - // ValidateOnly sets the optional parameter "validateOnly": Indicates // that the request should be validated and default values populated, // without persisting the request or updating any resources. @@ -4227,12 +4216,6 @@ func (c *ProjectsLocationsJobsPatchCall) Do(opts ...googleapi.CallOption) (*Goog // "required": true, // "type": "string" // }, - // "updateMask": { - // "description": "The list of fields to be updated.", - // "format": "google-fieldmask", - // "location": "query", - // "type": "string" - // }, // "validateOnly": { // "description": "Indicates that the request should be validated and default values populated, without persisting the request or updating any resources.", // "location": "query", @@ -6958,13 +6941,6 @@ func (c *ProjectsLocationsServicesPatchCall) AllowMissing(allowMissing bool) *Pr return c } -// UpdateMask sets the optional parameter "updateMask": The list of -// fields to be updated. -func (c *ProjectsLocationsServicesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsServicesPatchCall { - c.urlParams_.Set("updateMask", updateMask) - return c -} - // ValidateOnly sets the optional parameter "validateOnly": Indicates // that the request should be validated and default values populated, // without persisting the request or updating any resources. @@ -7084,12 +7060,6 @@ func (c *ProjectsLocationsServicesPatchCall) Do(opts ...googleapi.CallOption) (* // "required": true, // "type": "string" // }, - // "updateMask": { - // "description": "The list of fields to be updated.", - // "format": "google-fieldmask", - // "location": "query", - // "type": "string" - // }, // "validateOnly": { // "description": "Indicates that the request should be validated and default values populated, without persisting the request or updating any resources.", // "location": "query", diff --git a/servicemanagement/v1/servicemanagement-api.json b/servicemanagement/v1/servicemanagement-api.json index 92e6ab8dbae..131a2202028 100644 --- a/servicemanagement/v1/servicemanagement-api.json +++ b/servicemanagement/v1/servicemanagement-api.json @@ -829,7 +829,7 @@ } } }, - "revision": "20220415", + "revision": "20220422", "rootUrl": "https://servicemanagement.googleapis.com/", "schemas": { "Advice": { @@ -2050,7 +2050,7 @@ "type": "string" }, "serviceName": { - "description": "The name of the service. See the [overview](https://cloud.google.com/service-management/overview) for naming requirements.", + "description": "The name of the service. See the [overview](https://cloud.google.com/service-infrastructure/docs/overview) for naming requirements.", "type": "string" } }, diff --git a/servicemanagement/v1/servicemanagement-gen.go b/servicemanagement/v1/servicemanagement-gen.go index 3aaef1a0cc5..44c5d5e7212 100644 --- a/servicemanagement/v1/servicemanagement-gen.go +++ b/servicemanagement/v1/servicemanagement-gen.go @@ -2662,8 +2662,8 @@ type ManagedService struct { ProducerProjectId string `json:"producerProjectId,omitempty"` // ServiceName: The name of the service. See the overview - // (https://cloud.google.com/service-management/overview) for naming - // requirements. + // (https://cloud.google.com/service-infrastructure/docs/overview) for + // naming requirements. ServiceName string `json:"serviceName,omitempty"` // ServerResponse contains the HTTP response code and headers from the diff --git a/servicenetworking/v1/servicenetworking-api.json b/servicenetworking/v1/servicenetworking-api.json index 6b50143aa52..346b9eea602 100644 --- a/servicenetworking/v1/servicenetworking-api.json +++ b/servicenetworking/v1/servicenetworking-api.json @@ -685,6 +685,11 @@ "name" ], "parameters": { + "includeUsedIpRanges": { + "description": "Optional. When true, include the used IP ranges as part of the GetConsumerConfig output. This includes routes created inside the service networking network, consumer network, peers of the consumer network, and reserved ranges inside the service networking network. By default, this is false", + "location": "query", + "type": "boolean" + }, "name": { "description": "Required. Name of the consumer config to retrieve in the format: `services/{service}/projects/{project}/global/networks/{network}`. {service} is the peering service that is managing connectivity for the service producer's organization. For Google services that support this functionality, this value is `servicenetworking.googleapis.com`. {project} is a project number e.g. `12345` that contains the service consumer's VPC network. {network} is the name of the service consumer's VPC network.", "location": "path", @@ -860,7 +865,7 @@ } } }, - "revision": "20220406", + "revision": "20220427", "rootUrl": "https://servicenetworking.googleapis.com/", "schemas": { "AddDnsRecordSetMetadata": { @@ -1366,6 +1371,14 @@ "readOnly": true, "type": "array" }, + "usedIpRanges": { + "description": "Output only. The IP ranges already in use by consumer or producer", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, "vpcScReferenceArchitectureEnabled": { "description": "Output only. Indicates whether the VPC Service Controls reference architecture is configured for the producer VPC host network.", "readOnly": true, diff --git a/servicenetworking/v1/servicenetworking-gen.go b/servicenetworking/v1/servicenetworking-gen.go index 9989de93fd3..6da0c99d945 100644 --- a/servicenetworking/v1/servicenetworking-gen.go +++ b/servicenetworking/v1/servicenetworking-gen.go @@ -1202,6 +1202,10 @@ type ConsumerConfig struct { // private service access connection. ReservedRanges []*GoogleCloudServicenetworkingV1ConsumerConfigReservedRange `json:"reservedRanges,omitempty"` + // UsedIpRanges: Output only. The IP ranges already in use by consumer + // or producer + UsedIpRanges []string `json:"usedIpRanges,omitempty"` + // VpcScReferenceArchitectureEnabled: Output only. Indicates whether the // VPC Service Controls reference architecture is configured for the // producer VPC host network. @@ -7782,6 +7786,17 @@ func (r *ServicesProjectsGlobalNetworksService) Get(name string) *ServicesProjec return c } +// IncludeUsedIpRanges sets the optional parameter +// "includeUsedIpRanges": When true, include the used IP ranges as part +// of the GetConsumerConfig output. This includes routes created inside +// the service networking network, consumer network, peers of the +// consumer network, and reserved ranges inside the service networking +// network. By default, this is false +func (c *ServicesProjectsGlobalNetworksGetCall) IncludeUsedIpRanges(includeUsedIpRanges bool) *ServicesProjectsGlobalNetworksGetCall { + c.urlParams_.Set("includeUsedIpRanges", fmt.Sprint(includeUsedIpRanges)) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse // for more information. @@ -7889,6 +7904,11 @@ func (c *ServicesProjectsGlobalNetworksGetCall) Do(opts ...googleapi.CallOption) // "name" // ], // "parameters": { + // "includeUsedIpRanges": { + // "description": "Optional. When true, include the used IP ranges as part of the GetConsumerConfig output. This includes routes created inside the service networking network, consumer network, peers of the consumer network, and reserved ranges inside the service networking network. By default, this is false", + // "location": "query", + // "type": "boolean" + // }, // "name": { // "description": "Required. Name of the consumer config to retrieve in the format: `services/{service}/projects/{project}/global/networks/{network}`. {service} is the peering service that is managing connectivity for the service producer's organization. For Google services that support this functionality, this value is `servicenetworking.googleapis.com`. {project} is a project number e.g. `12345` that contains the service consumer's VPC network. {network} is the name of the service consumer's VPC network.", // "location": "path", diff --git a/servicenetworking/v1beta/servicenetworking-api.json b/servicenetworking/v1beta/servicenetworking-api.json index 231593b63d7..b7e4b5d9cc6 100644 --- a/servicenetworking/v1beta/servicenetworking-api.json +++ b/servicenetworking/v1beta/servicenetworking-api.json @@ -307,7 +307,7 @@ } } }, - "revision": "20220406", + "revision": "20220427", "rootUrl": "https://servicenetworking.googleapis.com/", "schemas": { "AddDnsRecordSetMetadata": { @@ -721,6 +721,14 @@ "readOnly": true, "type": "array" }, + "usedIpRanges": { + "description": "Output only. The IP ranges already in use by consumer or producer", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, "vpcScReferenceArchitectureEnabled": { "description": "Output only. Indicates whether the VPC Service Controls reference architecture is configured for the producer VPC host network.", "readOnly": true, diff --git a/servicenetworking/v1beta/servicenetworking-gen.go b/servicenetworking/v1beta/servicenetworking-gen.go index e3468953b84..a8efbc24ea2 100644 --- a/servicenetworking/v1beta/servicenetworking-gen.go +++ b/servicenetworking/v1beta/servicenetworking-gen.go @@ -952,6 +952,10 @@ type ConsumerConfig struct { // private service access connection. ReservedRanges []*GoogleCloudServicenetworkingV1ConsumerConfigReservedRange `json:"reservedRanges,omitempty"` + // UsedIpRanges: Output only. The IP ranges already in use by consumer + // or producer + UsedIpRanges []string `json:"usedIpRanges,omitempty"` + // VpcScReferenceArchitectureEnabled: Output only. Indicates whether the // VPC Service Controls reference architecture is configured for the // producer VPC host network. diff --git a/sts/v1/sts-api.json b/sts/v1/sts-api.json index 8eacdc09f86..6f2d7aa5b05 100644 --- a/sts/v1/sts-api.json +++ b/sts/v1/sts-api.json @@ -131,7 +131,7 @@ } } }, - "revision": "20220402", + "revision": "20220422", "rootUrl": "https://sts.googleapis.com/", "schemas": { "GoogleIamV1Binding": { @@ -217,11 +217,11 @@ "type": "string" }, "subjectToken": { - "description": "Required. The input token. This token is either an external credential issued by a workload identity pool provider, or a short-lived access token issued by Google. If the token is an OIDC JWT, it must use the JWT format defined in [RFC 7523](https://tools.ietf.org/html/rfc7523), and the `subject_token_type` must be either `urn:ietf:params:oauth:token-type:jwt` or `urn:ietf:params:oauth:token-type:id_token`. The following headers are required: - `kid`: The identifier of the signing key securing the JWT. - `alg`: The cryptographic algorithm securing the JWT. Must be `RS256` or `ES256`. The following payload fields are required. For more information, see [RFC 7523, Section 3](https://tools.ietf.org/html/rfc7523#section-3): - `iss`: The issuer of the token. The issuer must provide a discovery document at the URL `/.well-known/openid-configuration`, where `` is the value of this field. The document must be formatted according to section 4.2 of the [OIDC 1.0 Discovery specification](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationResponse). - `iat`: The issue time, in seconds, since the Unix epoch. Must be in the past. - `exp`: The expiration time, in seconds, since the Unix epoch. Must be less than 48 hours after `iat`. Shorter expiration times are more secure. If possible, we recommend setting an expiration time less than 6 hours. - `sub`: The identity asserted in the JWT. - `aud`: For workload identity pools, this must be a value specified in the allowed audiences for the workload identity pool provider, or one of the audiences allowed by default if no audiences were specified. See https://cloud.google.com/iam/docs/reference/rest/v1/projects.locations.workloadIdentityPools.providers#oidc Example header: ``` { \"alg\": \"RS256\", \"kid\": \"us-east-11\" } ``` Example payload: ``` { \"iss\": \"https://accounts.google.com\", \"iat\": 1517963104, \"exp\": 1517966704, \"aud\": \"//iam.googleapis.com/projects/1234567890123/locations/global/workloadIdentityPools/my-pool/providers/my-provider\", \"sub\": \"113475438248934895348\", \"my_claims\": { \"additional_claim\": \"value\" } } ``` If `subject_token` is for AWS, it must be a serialized `GetCallerIdentity` token. This token contains the same information as a request to the AWS [`GetCallerIdentity()`](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity) method, as well as the AWS [signature](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) for the request information. Use Signature Version 4. Format the request as URL-encoded JSON, and set the `subject_token_type` parameter to `urn:ietf:params:aws:token-type:aws4_request`. The following parameters are required: - `url`: The URL of the AWS STS endpoint for `GetCallerIdentity()`, such as `https://sts.amazonaws.com?Action=GetCallerIdentity\u0026Version=2011-06-15`. Regional endpoints are also supported. - `method`: The HTTP request method: `POST`. - `headers`: The HTTP request headers, which must include: - `Authorization`: The request signature. - `x-amz-date`: The time you will send the request, formatted as an [ISO8601 Basic](https://docs.aws.amazon.com/general/latest/gr/sigv4_elements.html#sigv4_elements_date) string. This value is typically set to the current time and is used to help prevent replay attacks. - `host`: The hostname of the `url` field; for example, `sts.amazonaws.com`. - `x-goog-cloud-target-resource`: The full, canonical resource name of the workload identity pool provider, with or without an `https:` prefix. To help ensure data integrity, we recommend including this header in the `SignedHeaders` field of the signed request. For example: //iam.googleapis.com/projects//locations/global/workloadIdentityPools//providers/ https://iam.googleapis.com/projects//locations/global/workloadIdentityPools//providers/ If you are using temporary security credentials provided by AWS, you must also include the header `x-amz-security-token`, with the value set to the session token. The following example shows a `GetCallerIdentity` token: ``` { \"headers\": [ {\"key\": \"x-amz-date\", \"value\": \"20200815T015049Z\"}, {\"key\": \"Authorization\", \"value\": \"AWS4-HMAC-SHA256+Credential=$credential,+SignedHeaders=host;x-amz-date;x-goog-cloud-target-resource,+Signature=$signature\"}, {\"key\": \"x-goog-cloud-target-resource\", \"value\": \"//iam.googleapis.com/projects//locations/global/workloadIdentityPools//providers/\"}, {\"key\": \"host\", \"value\": \"sts.amazonaws.com\"} . ], \"method\": \"POST\", \"url\": \"https://sts.amazonaws.com?Action=GetCallerIdentity\u0026Version=2011-06-15\" } ``` You can also use a Google-issued OAuth 2.0 access token with this field to obtain an access token with new security attributes applied, such as a Credential Access Boundary. In this case, set `subject_token_type` to `urn:ietf:params:oauth:token-type:access_token`. If an access token already contains security attributes, you cannot apply additional security attributes.", + "description": "Required. The input token. This token is either an external credential issued by a workload identity pool provider, or a short-lived access token issued by Google. If the token is an OIDC JWT, it must use the JWT format defined in [RFC 7523](https://tools.ietf.org/html/rfc7523), and the `subject_token_type` must be either `urn:ietf:params:oauth:token-type:jwt` or `urn:ietf:params:oauth:token-type:id_token`. The following headers are required: - `kid`: The identifier of the signing key securing the JWT. - `alg`: The cryptographic algorithm securing the JWT. Must be `RS256` or `ES256`. The following payload fields are required. For more information, see [RFC 7523, Section 3](https://tools.ietf.org/html/rfc7523#section-3): - `iss`: The issuer of the token. The issuer must provide a discovery document at the URL `/.well-known/openid-configuration`, where `` is the value of this field. The document must be formatted according to section 4.2 of the [OIDC 1.0 Discovery specification](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationResponse). - `iat`: The issue time, in seconds, since the Unix epoch. Must be in the past. - `exp`: The expiration time, in seconds, since the Unix epoch. Must be less than 48 hours after `iat`. Shorter expiration times are more secure. If possible, we recommend setting an expiration time less than 6 hours. - `sub`: The identity asserted in the JWT. - `aud`: For workload identity pools, this must be a value specified in the allowed audiences for the workload identity pool provider, or one of the audiences allowed by default if no audiences were specified. See https://cloud.google.com/iam/docs/reference/rest/v1/projects.locations.workloadIdentityPools.providers#oidc Example header: ``` { \"alg\": \"RS256\", \"kid\": \"us-east-11\" } ``` Example payload: ``` { \"iss\": \"https://accounts.google.com\", \"iat\": 1517963104, \"exp\": 1517966704, \"aud\": \"//iam.googleapis.com/projects/1234567890123/locations/global/workloadIdentityPools/my-pool/providers/my-provider\", \"sub\": \"113475438248934895348\", \"my_claims\": { \"additional_claim\": \"value\" } } ``` If `subject_token` is for AWS, it must be a serialized `GetCallerIdentity` token. This token contains the same information as a request to the AWS [`GetCallerIdentity()`](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity) method, as well as the AWS [signature](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) for the request information. Use Signature Version 4. Format the request as URL-encoded JSON, and set the `subject_token_type` parameter to `urn:ietf:params:aws:token-type:aws4_request`. The following parameters are required: - `url`: The URL of the AWS STS endpoint for `GetCallerIdentity()`, such as `https://sts.amazonaws.com?Action=GetCallerIdentity\u0026Version=2011-06-15`. Regional endpoints are also supported. - `method`: The HTTP request method: `POST`. - `headers`: The HTTP request headers, which must include: - `Authorization`: The request signature. - `x-amz-date`: The time you will send the request, formatted as an [ISO8601 Basic](https://docs.aws.amazon.com/general/latest/gr/sigv4_elements.html#sigv4_elements_date) string. This value is typically set to the current time and is used to help prevent replay attacks. - `host`: The hostname of the `url` field; for example, `sts.amazonaws.com`. - `x-goog-cloud-target-resource`: The full, canonical resource name of the workload identity pool provider, with or without an `https:` prefix. To help ensure data integrity, we recommend including this header in the `SignedHeaders` field of the signed request. For example: //iam.googleapis.com/projects//locations/global/workloadIdentityPools//providers/ https://iam.googleapis.com/projects//locations/global/workloadIdentityPools//providers/ If you are using temporary security credentials provided by AWS, you must also include the header `x-amz-security-token`, with the value set to the session token. The following example shows a `GetCallerIdentity` token: ``` { \"headers\": [ {\"key\": \"x-amz-date\", \"value\": \"20200815T015049Z\"}, {\"key\": \"Authorization\", \"value\": \"AWS4-HMAC-SHA256+Credential=$credential,+SignedHeaders=host;x-amz-date;x-goog-cloud-target-resource,+Signature=$signature\"}, {\"key\": \"x-goog-cloud-target-resource\", \"value\": \"//iam.googleapis.com/projects//locations/global/workloadIdentityPools//providers/\"}, {\"key\": \"host\", \"value\": \"sts.amazonaws.com\"} . ], \"method\": \"POST\", \"url\": \"https://sts.amazonaws.com?Action=GetCallerIdentity\u0026Version=2011-06-15\" } ``` If the token is a SAML 2.0 assertion, it must use the format defined in [the SAML 2.0 spec](https://www.oasis-open.org/committees/download.php/56776/sstc-saml-core-errata-2.0-wd-07.pdf), and the `subject_token_type` must be `urn:ietf:params:oauth:token-type:saml2`. See [Verification of external credentials](https://cloud.google.com/iam/docs/using-workload-identity-federation#verification_of_external_credentials) for details on how SAML 2.0 assertions are validated during token exchanges. You can also use a Google-issued OAuth 2.0 access token with this field to obtain an access token with new security attributes applied, such as a Credential Access Boundary. In this case, set `subject_token_type` to `urn:ietf:params:oauth:token-type:access_token`. If an access token already contains security attributes, you cannot apply additional security attributes.", "type": "string" }, "subjectTokenType": { - "description": "Required. An identifier that indicates the type of the security token in the `subject_token` parameter. Supported values are `urn:ietf:params:oauth:token-type:jwt`, `urn:ietf:params:oauth:token-type:id_token`, `urn:ietf:params:aws:token-type:aws4_request`, and `urn:ietf:params:oauth:token-type:access_token`.", + "description": "Required. An identifier that indicates the type of the security token in the `subject_token` parameter. Supported values are `urn:ietf:params:oauth:token-type:jwt`, `urn:ietf:params:oauth:token-type:id_token`, `urn:ietf:params:aws:token-type:aws4_request`, `urn:ietf:params:oauth:token-type:access_token`, and `urn:ietf:params:oauth:token-type:saml2`.", "type": "string" } }, diff --git a/sts/v1/sts-gen.go b/sts/v1/sts-gen.go index 404a71aed68..f89d3a68d0f 100644 --- a/sts/v1/sts-gen.go +++ b/sts/v1/sts-gen.go @@ -406,10 +406,18 @@ type GoogleIdentityStsV1ExchangeTokenRequest struct { // //providers/"}, {"key": "host", "value": "sts.amazonaws.com"} . ], // "method": "POST", "url": // "https://sts.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15 - // " } ``` You can also use a Google-issued OAuth 2.0 access token with - // this field to obtain an access token with new security attributes - // applied, such as a Credential Access Boundary. In this case, set - // `subject_token_type` to + // " } ``` If the token is a SAML 2.0 assertion, it must use the format + // defined in the SAML 2.0 spec + // (https://www.oasis-open.org/committees/download.php/56776/sstc-saml-core-errata-2.0-wd-07.pdf), + // and the `subject_token_type` must be + // `urn:ietf:params:oauth:token-type:saml2`. See Verification of + // external credentials + // (https://cloud.google.com/iam/docs/using-workload-identity-federation#verification_of_external_credentials) + // for details on how SAML 2.0 assertions are validated during token + // exchanges. You can also use a Google-issued OAuth 2.0 access token + // with this field to obtain an access token with new security + // attributes applied, such as a Credential Access Boundary. In this + // case, set `subject_token_type` to // `urn:ietf:params:oauth:token-type:access_token`. If an access token // already contains security attributes, you cannot apply additional // security attributes. @@ -419,8 +427,9 @@ type GoogleIdentityStsV1ExchangeTokenRequest struct { // the security token in the `subject_token` parameter. Supported values // are `urn:ietf:params:oauth:token-type:jwt`, // `urn:ietf:params:oauth:token-type:id_token`, - // `urn:ietf:params:aws:token-type:aws4_request`, and - // `urn:ietf:params:oauth:token-type:access_token`. + // `urn:ietf:params:aws:token-type:aws4_request`, + // `urn:ietf:params:oauth:token-type:access_token`, and + // `urn:ietf:params:oauth:token-type:saml2`. SubjectTokenType string `json:"subjectTokenType,omitempty"` // ForceSendFields is a list of field names (e.g. "Audience") to diff --git a/testing/v1/testing-api.json b/testing/v1/testing-api.json index 8adf344c5e6..504ada739ca 100644 --- a/testing/v1/testing-api.json +++ b/testing/v1/testing-api.json @@ -282,7 +282,7 @@ } } }, - "revision": "20220329", + "revision": "20220419", "rootUrl": "https://testing.googleapis.com/", "schemas": { "Account": { @@ -546,7 +546,7 @@ "type": "array" }, "thumbnailUrl": { - "description": "URL of a thumbnail image (photo) of the device. e.g. https://lh3.googleusercontent.com/90WcauuJiCYABEl8U0lcZeuS5STUbf2yW...", + "description": "URL of a thumbnail image (photo) of the device.", "type": "string" } }, @@ -1598,7 +1598,7 @@ }, "testTargetsForShard": { "$ref": "TestTargetsForShard", - "description": "Output only. Test targets for each shard." + "description": "Output only. Test targets for each shard. Only set for manual sharding." } }, "type": "object" diff --git a/testing/v1/testing-gen.go b/testing/v1/testing-gen.go index b8e6f5a1a01..2500848352e 100644 --- a/testing/v1/testing-gen.go +++ b/testing/v1/testing-gen.go @@ -536,8 +536,7 @@ type AndroidModel struct { // "deprecated". Tags []string `json:"tags,omitempty"` - // ThumbnailUrl: URL of a thumbnail image (photo) of the device. e.g. - // https://lh3.googleusercontent.com/90WcauuJiCYABEl8U0lcZeuS5STUbf2yW... + // ThumbnailUrl: URL of a thumbnail image (photo) of the device. ThumbnailUrl string `json:"thumbnailUrl,omitempty"` // ForceSendFields is a list of field names (e.g. "Brand") to @@ -2352,7 +2351,8 @@ type Shard struct { // ShardIndex: Output only. The index of the shard among all the shards. ShardIndex int64 `json:"shardIndex,omitempty"` - // TestTargetsForShard: Output only. Test targets for each shard. + // TestTargetsForShard: Output only. Test targets for each shard. Only + // set for manual sharding. TestTargetsForShard *TestTargetsForShard `json:"testTargetsForShard,omitempty"` // ForceSendFields is a list of field names (e.g. "NumShards") to diff --git a/vault/v1/vault-api.json b/vault/v1/vault-api.json index 8c1dac39997..0306f12359a 100644 --- a/vault/v1/vault-api.json +++ b/vault/v1/vault-api.json @@ -1193,7 +1193,7 @@ } } }, - "revision": "20220331", + "revision": "20220423", "rootUrl": "https://vault.googleapis.com/", "schemas": { "AccountCount": { @@ -2329,6 +2329,7 @@ "TEAM_DRIVE", "ENTIRE_ORG", "ROOM", + "SITES_URL", "SHARED_DRIVE" ], "enumDescriptions": [ @@ -2338,6 +2339,7 @@ "Search the data in the Team Drive specified in **team_drive_info**.", "Search the data of all accounts in the organization. Supported only for Gmail. When specified, you don't need to specify **AccountInfo** or **OrgUnitInfo**.", "Search messages in the Chat spaces specified in [HangoutsChatInfo](https://developers.google.com/vault/reference/rest/v1/Query#hangoutschatinfo).", + "Search for sites by the published site URLs specified in [SitesUrlInfo](https://developers.google.com/vault/reference/rest/v1/Query#sitesurlinfo).", "Search the files in the shared drives specified in [SharedDriveInfo](https://developers.google.com/vault/reference/rest/v1/Query#shareddriveinfo)." ], "type": "string" @@ -2355,6 +2357,7 @@ "TEAM_DRIVE", "ENTIRE_ORG", "ROOM", + "SITES_URL", "SHARED_DRIVE" ], "enumDescriptions": [ @@ -2364,6 +2367,7 @@ "Search the data in the Team Drive specified in **team_drive_info**.", "Search the data of all accounts in the organization. Supported only for Gmail. When specified, you don't need to specify **AccountInfo** or **OrgUnitInfo**.", "Search messages in the Chat spaces specified in [HangoutsChatInfo](https://developers.google.com/vault/reference/rest/v1/Query#hangoutschatinfo).", + "Search for sites by the published site URLs specified in [SitesUrlInfo](https://developers.google.com/vault/reference/rest/v1/Query#sitesurlinfo).", "Search the files in the shared drives specified in [SharedDriveInfo](https://developers.google.com/vault/reference/rest/v1/Query#shareddriveinfo)." ], "type": "string" @@ -2372,6 +2376,10 @@ "$ref": "SharedDriveInfo", "description": "Required when **SearchMethod** is **SHARED_DRIVE**." }, + "sitesUrlInfo": { + "$ref": "SitesUrlInfo", + "description": "Required when **SearchMethod** is **SITES_URL**." + }, "startTime": { "description": "The start time for the search query. Specify in GMT. The value is rounded to 12 AM on the specified date.", "format": "google-datetime", @@ -2494,6 +2502,20 @@ }, "type": "object" }, + "SitesUrlInfo": { + "description": "The published site URLs of new Google Sites to search", + "id": "SitesUrlInfo", + "properties": { + "urls": { + "description": "A list of published site URLs.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", "id": "Status", diff --git a/vault/v1/vault-gen.go b/vault/v1/vault-gen.go index 13ba184a1a5..ddeeb36acee 100644 --- a/vault/v1/vault-gen.go +++ b/vault/v1/vault-gen.go @@ -2086,6 +2086,10 @@ type Query struct { // "ROOM" - Search messages in the Chat spaces specified in // [HangoutsChatInfo](https://developers.google.com/vault/reference/rest/ // v1/Query#hangoutschatinfo). + // "SITES_URL" - Search for sites by the published site URLs specified + // in + // [SitesUrlInfo](https://developers.google.com/vault/reference/rest/v1/Q + // uery#sitesurlinfo). // "SHARED_DRIVE" - Search the files in the shared drives specified in // [SharedDriveInfo](https://developers.google.com/vault/reference/rest/v // 1/Query#shareddriveinfo). @@ -2114,6 +2118,10 @@ type Query struct { // "ROOM" - Search messages in the Chat spaces specified in // [HangoutsChatInfo](https://developers.google.com/vault/reference/rest/ // v1/Query#hangoutschatinfo). + // "SITES_URL" - Search for sites by the published site URLs specified + // in + // [SitesUrlInfo](https://developers.google.com/vault/reference/rest/v1/Q + // uery#sitesurlinfo). // "SHARED_DRIVE" - Search the files in the shared drives specified in // [SharedDriveInfo](https://developers.google.com/vault/reference/rest/v // 1/Query#shareddriveinfo). @@ -2122,6 +2130,9 @@ type Query struct { // SharedDriveInfo: Required when **SearchMethod** is **SHARED_DRIVE**. SharedDriveInfo *SharedDriveInfo `json:"sharedDriveInfo,omitempty"` + // SitesUrlInfo: Required when **SearchMethod** is **SITES_URL**. + SitesUrlInfo *SitesUrlInfo `json:"sitesUrlInfo,omitempty"` + // StartTime: The start time for the search query. Specify in GMT. The // value is rounded to 12 AM on the specified date. StartTime string `json:"startTime,omitempty"` @@ -2375,6 +2386,34 @@ func (s *SharedDriveInfo) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SitesUrlInfo: The published site URLs of new Google Sites to search +type SitesUrlInfo struct { + // Urls: A list of published site URLs. + Urls []string `json:"urls,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Urls") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Urls") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SitesUrlInfo) MarshalJSON() ([]byte, error) { + type NoMethod SitesUrlInfo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // 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 diff --git a/verifiedaccess/v2/verifiedaccess-api.json b/verifiedaccess/v2/verifiedaccess-api.json new file mode 100644 index 00000000000..5b2af611f8c --- /dev/null +++ b/verifiedaccess/v2/verifiedaccess-api.json @@ -0,0 +1,233 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/verifiedaccess": { + "description": "Verify your enterprise credentials" + } + } + } + }, + "basePath": "", + "baseUrl": "https://verifiedaccess.googleapis.com/", + "batchPath": "batch", + "canonicalName": "verifiedaccess", + "description": "API for Verified Access chrome extension to provide credential verification for chrome devices connecting to an enterprise network", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/chrome/verified-access", + "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": "verifiedaccess:v2", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://verifiedaccess.mtls.googleapis.com/", + "name": "verifiedaccess", + "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": { + "challenge": { + "methods": { + "generate": { + "description": "Generates a new challenge.", + "flatPath": "v2/challenge:generate", + "httpMethod": "POST", + "id": "verifiedaccess.challenge.generate", + "parameterOrder": [], + "parameters": {}, + "path": "v2/challenge:generate", + "request": { + "$ref": "Empty" + }, + "response": { + "$ref": "Challenge" + }, + "scopes": [ + "https://www.googleapis.com/auth/verifiedaccess" + ] + }, + "verify": { + "description": "Verifies the challenge response.", + "flatPath": "v2/challenge:verify", + "httpMethod": "POST", + "id": "verifiedaccess.challenge.verify", + "parameterOrder": [], + "parameters": {}, + "path": "v2/challenge:verify", + "request": { + "$ref": "VerifyChallengeResponseRequest" + }, + "response": { + "$ref": "VerifyChallengeResponseResult" + }, + "scopes": [ + "https://www.googleapis.com/auth/verifiedaccess" + ] + } + } + } + }, + "revision": "20220215", + "rootUrl": "https://verifiedaccess.googleapis.com/", + "schemas": { + "Challenge": { + "description": "Result message for VerifiedAccess.CreateChallenge.", + "id": "Challenge", + "properties": { + "alternativeChallenge": { + "description": "Challenge generated with the old signing key, the bytes representation of SignedData (this will only be present during key rotation).", + "format": "byte", + "type": "string" + }, + "challenge": { + "description": "Generated challenge, the bytes representation of SignedData.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "VerifyChallengeResponseRequest": { + "description": "Signed ChallengeResponse.", + "id": "VerifyChallengeResponseRequest", + "properties": { + "challengeResponse": { + "description": "Required. The generated response to the challenge, the bytes representation of SignedData.", + "format": "byte", + "type": "string" + }, + "expectedIdentity": { + "description": "Optional. Service can optionally provide identity information about the device or user associated with the key. For an EMK, this value is the enrolled domain. For an EUK, this value is the user's email address. If present, this value will be checked against contents of the response, and verification will fail if there is no match.", + "type": "string" + } + }, + "type": "object" + }, + "VerifyChallengeResponseResult": { + "description": "Result message for VerifiedAccess.VerifyChallengeResponse.", + "id": "VerifyChallengeResponseResult", + "properties": { + "devicePermanentId": { + "description": "Device permanent id is returned in this field (for the machine response only).", + "type": "string" + }, + "deviceSignal": { + "description": "Device signal in json string representation.", + "type": "string" + }, + "keyTrustLevel": { + "description": "Device attested key trust level.", + "enum": [ + "KEY_TRUST_LEVEL_UNSPECIFIED", + "CHROME_OS_VERIFIED_MODE", + "CHROME_OS_DEVELOPER_MODE", + "CHROME_BROWSER_TPM_KEY", + "CHROME_BROWSER_OS_KEY" + ], + "enumDescriptions": [ + "UNSPECIFIED.", + "ChromeOS device in verified mode.", + "ChromeOS device in developer mode.", + "Chrome Browser with the key stored in TPM.", + "Chrome Browser with the key stored at OS level." + ], + "type": "string" + }, + "signedPublicKeyAndChallenge": { + "description": "Certificate Signing Request (in the SPKAC format, base64 encoded) is returned in this field. This field will be set only if device has included CSR in its challenge response. (the option to include CSR is now available for both user and machine responses)", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Chrome Verified Access API", + "version": "v2", + "version_module": true +} \ No newline at end of file diff --git a/verifiedaccess/v2/verifiedaccess-gen.go b/verifiedaccess/v2/verifiedaccess-gen.go new file mode 100644 index 00000000000..60e214e93a5 --- /dev/null +++ b/verifiedaccess/v2/verifiedaccess-gen.go @@ -0,0 +1,540 @@ +// Copyright 2022 Google LLC. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated file. DO NOT EDIT. + +// Package verifiedaccess provides access to the Chrome Verified Access API. +// +// For product documentation, see: https://developers.google.com/chrome/verified-access +// +// Creating a client +// +// Usage example: +// +// import "google.golang.org/api/verifiedaccess/v2" +// ... +// ctx := context.Background() +// verifiedaccessService, err := verifiedaccess.NewService(ctx) +// +// In this example, Google Application Default Credentials are used for authentication. +// +// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. +// +// Other authentication options +// +// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey: +// +// verifiedaccessService, err := verifiedaccess.NewService(ctx, option.WithAPIKey("AIza...")) +// +// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource: +// +// config := &oauth2.Config{...} +// // ... +// token, err := config.Exchange(ctx, ...) +// verifiedaccessService, err := verifiedaccess.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) +// +// See https://godoc.org/google.golang.org/api/option/ for details on options. +package verifiedaccess // import "google.golang.org/api/verifiedaccess/v2" + +import ( + "bytes" + "context" + "encoding/json" + "errors" + "fmt" + "io" + "net/http" + "net/url" + "strconv" + "strings" + + googleapi "google.golang.org/api/googleapi" + internal "google.golang.org/api/internal" + gensupport "google.golang.org/api/internal/gensupport" + option "google.golang.org/api/option" + internaloption "google.golang.org/api/option/internaloption" + htransport "google.golang.org/api/transport/http" +) + +// Always reference these packages, just in case the auto-generated code +// below doesn't. +var _ = bytes.NewBuffer +var _ = strconv.Itoa +var _ = fmt.Sprintf +var _ = json.NewDecoder +var _ = io.Copy +var _ = url.Parse +var _ = gensupport.MarshalJSON +var _ = googleapi.Version +var _ = errors.New +var _ = strings.Replace +var _ = context.Canceled +var _ = internaloption.WithDefaultEndpoint + +const apiId = "verifiedaccess:v2" +const apiName = "verifiedaccess" +const apiVersion = "v2" +const basePath = "https://verifiedaccess.googleapis.com/" +const mtlsBasePath = "https://verifiedaccess.mtls.googleapis.com/" + +// OAuth2 scopes used by this API. +const ( + // Verify your enterprise credentials + VerifiedaccessScope = "https://www.googleapis.com/auth/verifiedaccess" +) + +// NewService creates a new Service. +func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { + scopesOption := internaloption.WithDefaultScopes( + "https://www.googleapis.com/auth/verifiedaccess", + ) + // NOTE: prepend, so we don't override user-specified scopes. + opts = append([]option.ClientOption{scopesOption}, opts...) + opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) + opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) + client, endpoint, err := htransport.NewClient(ctx, opts...) + if err != nil { + return nil, err + } + s, err := New(client) + if err != nil { + return nil, err + } + if endpoint != "" { + s.BasePath = endpoint + } + return s, nil +} + +// New creates a new Service. It uses the provided http.Client for requests. +// +// Deprecated: please use NewService instead. +// To provide a custom HTTP client, use option.WithHTTPClient. +// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. +func New(client *http.Client) (*Service, error) { + if client == nil { + return nil, errors.New("client is nil") + } + s := &Service{client: client, BasePath: basePath} + s.Challenge = NewChallengeService(s) + return s, nil +} + +type Service struct { + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + + Challenge *ChallengeService +} + +func (s *Service) userAgent() string { + if s.UserAgent == "" { + return googleapi.UserAgent + } + return googleapi.UserAgent + " " + s.UserAgent +} + +func NewChallengeService(s *Service) *ChallengeService { + rs := &ChallengeService{s: s} + return rs +} + +type ChallengeService struct { + s *Service +} + +// Challenge: Result message for VerifiedAccess.CreateChallenge. +type Challenge struct { + // AlternativeChallenge: Challenge generated with the old signing key, + // the bytes representation of SignedData (this will only be present + // during key rotation). + AlternativeChallenge string `json:"alternativeChallenge,omitempty"` + + // Challenge: Generated challenge, the bytes representation of + // SignedData. + Challenge string `json:"challenge,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. + // "AlternativeChallenge") to unconditionally include in API requests. + // By default, fields with empty or default values are omitted from API + // requests. However, any non-pointer, non-interface field appearing in + // ForceSendFields will be sent to the server regardless of whether the + // field is empty or not. This may be used to include empty fields in + // Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "AlternativeChallenge") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *Challenge) MarshalJSON() ([]byte, error) { + type NoMethod Challenge + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Empty: A generic empty message that you can re-use to avoid defining +// duplicated empty messages in your APIs. A typical example is to use +// it as the request or the response type of an API method. For +// instance: service Foo { rpc Bar(google.protobuf.Empty) returns +// (google.protobuf.Empty); } The JSON representation for `Empty` is +// empty JSON object `{}`. +type Empty struct { +} + +// VerifyChallengeResponseRequest: Signed ChallengeResponse. +type VerifyChallengeResponseRequest struct { + // ChallengeResponse: Required. The generated response to the challenge, + // the bytes representation of SignedData. + ChallengeResponse string `json:"challengeResponse,omitempty"` + + // ExpectedIdentity: Optional. Service can optionally provide identity + // information about the device or user associated with the key. For an + // EMK, this value is the enrolled domain. For an EUK, this value is the + // user's email address. If present, this value will be checked against + // contents of the response, and verification will fail if there is no + // match. + ExpectedIdentity string `json:"expectedIdentity,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ChallengeResponse") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ChallengeResponse") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *VerifyChallengeResponseRequest) MarshalJSON() ([]byte, error) { + type NoMethod VerifyChallengeResponseRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// VerifyChallengeResponseResult: Result message for +// VerifiedAccess.VerifyChallengeResponse. +type VerifyChallengeResponseResult struct { + // DevicePermanentId: Device permanent id is returned in this field (for + // the machine response only). + DevicePermanentId string `json:"devicePermanentId,omitempty"` + + // DeviceSignal: Device signal in json string representation. + DeviceSignal string `json:"deviceSignal,omitempty"` + + // KeyTrustLevel: Device attested key trust level. + // + // Possible values: + // "KEY_TRUST_LEVEL_UNSPECIFIED" - UNSPECIFIED. + // "CHROME_OS_VERIFIED_MODE" - ChromeOS device in verified mode. + // "CHROME_OS_DEVELOPER_MODE" - ChromeOS device in developer mode. + // "CHROME_BROWSER_TPM_KEY" - Chrome Browser with the key stored in + // TPM. + // "CHROME_BROWSER_OS_KEY" - Chrome Browser with the key stored at OS + // level. + KeyTrustLevel string `json:"keyTrustLevel,omitempty"` + + // SignedPublicKeyAndChallenge: Certificate Signing Request (in the + // SPKAC format, base64 encoded) is returned in this field. This field + // will be set only if device has included CSR in its challenge + // response. (the option to include CSR is now available for both user + // and machine responses) + SignedPublicKeyAndChallenge string `json:"signedPublicKeyAndChallenge,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "DevicePermanentId") + // to unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "DevicePermanentId") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *VerifyChallengeResponseResult) MarshalJSON() ([]byte, error) { + type NoMethod VerifyChallengeResponseResult + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// method id "verifiedaccess.challenge.generate": + +type ChallengeGenerateCall struct { + s *Service + empty *Empty + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Generate: Generates a new challenge. +func (r *ChallengeService) Generate(empty *Empty) *ChallengeGenerateCall { + c := &ChallengeGenerateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.empty = empty + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ChallengeGenerateCall) Fields(s ...googleapi.Field) *ChallengeGenerateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ChallengeGenerateCall) Context(ctx context.Context) *ChallengeGenerateCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ChallengeGenerateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ChallengeGenerateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.empty) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/challenge:generate") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "verifiedaccess.challenge.generate" call. +// Exactly one of *Challenge or error will be non-nil. Any non-2xx +// status code is an error. Response headers are in either +// *Challenge.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 *ChallengeGenerateCall) Do(opts ...googleapi.CallOption) (*Challenge, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &Challenge{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Generates a new challenge.", + // "flatPath": "v2/challenge:generate", + // "httpMethod": "POST", + // "id": "verifiedaccess.challenge.generate", + // "parameterOrder": [], + // "parameters": {}, + // "path": "v2/challenge:generate", + // "request": { + // "$ref": "Empty" + // }, + // "response": { + // "$ref": "Challenge" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/verifiedaccess" + // ] + // } + +} + +// method id "verifiedaccess.challenge.verify": + +type ChallengeVerifyCall struct { + s *Service + verifychallengeresponserequest *VerifyChallengeResponseRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Verify: Verifies the challenge response. +func (r *ChallengeService) Verify(verifychallengeresponserequest *VerifyChallengeResponseRequest) *ChallengeVerifyCall { + c := &ChallengeVerifyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.verifychallengeresponserequest = verifychallengeresponserequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse +// for more information. +func (c *ChallengeVerifyCall) Fields(s ...googleapi.Field) *ChallengeVerifyCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. Any +// pending HTTP request will be aborted if the provided context is +// canceled. +func (c *ChallengeVerifyCall) Context(ctx context.Context) *ChallengeVerifyCall { + c.ctx_ = ctx + return c +} + +// Header returns an http.Header that can be modified by the caller to +// add HTTP headers to the request. +func (c *ChallengeVerifyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ChallengeVerifyCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := make(http.Header) + reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version) + for k, v := range c.header_ { + reqHeaders[k] = v + } + reqHeaders.Set("User-Agent", c.s.userAgent()) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.verifychallengeresponserequest) + if err != nil { + return nil, err + } + reqHeaders.Set("Content-Type", "application/json") + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/challenge:verify") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "verifiedaccess.challenge.verify" call. +// Exactly one of *VerifyChallengeResponseResult or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *VerifyChallengeResponseResult.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 *ChallengeVerifyCall) Do(opts ...googleapi.CallOption) (*VerifyChallengeResponseResult, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, &googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + } + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, err + } + ret := &VerifyChallengeResponseResult{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Verifies the challenge response.", + // "flatPath": "v2/challenge:verify", + // "httpMethod": "POST", + // "id": "verifiedaccess.challenge.verify", + // "parameterOrder": [], + // "parameters": {}, + // "path": "v2/challenge:verify", + // "request": { + // "$ref": "VerifyChallengeResponseRequest" + // }, + // "response": { + // "$ref": "VerifyChallengeResponseResult" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/verifiedaccess" + // ] + // } + +}