diff --git a/.github/renovate.json b/.github/renovate.json index 9466f15e052..db85633ae96 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -12,7 +12,8 @@ "commitMessageAction": "update", "groupName": "all", "ignoreDeps": [ - "google.golang.org/appengine" + "google.golang.org/appengine", + "google.golang.org/grpc" ], "force": { "constraints": { diff --git a/CHANGES.md b/CHANGES.md index bef8576750d..bf5a0678c6b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,16 @@ # Changes +## [0.140.0](https://github.com/googleapis/google-api-go-client/compare/v0.139.0...v0.140.0) (2023-09-11) + + +### Features + +* **all:** Auto-regenerate discovery clients ([#2144](https://github.com/googleapis/google-api-go-client/issues/2144)) ([aded622](https://github.com/googleapis/google-api-go-client/commit/aded622e1588af20443988563f91a493322e3b02)) +* **all:** Auto-regenerate discovery clients ([#2148](https://github.com/googleapis/google-api-go-client/issues/2148)) ([b6072d6](https://github.com/googleapis/google-api-go-client/commit/b6072d62905abf4b0f2386ce81ea85db4a51f7a2)) +* **all:** Auto-regenerate discovery clients ([#2149](https://github.com/googleapis/google-api-go-client/issues/2149)) ([161e093](https://github.com/googleapis/google-api-go-client/commit/161e093a56763c64c9e0b16ee1940dc6969d1ead)) +* **all:** Auto-regenerate discovery clients ([#2150](https://github.com/googleapis/google-api-go-client/issues/2150)) ([1038447](https://github.com/googleapis/google-api-go-client/commit/1038447595fb8c1e1db8cb526084163a8dd786db)) +* **all:** Auto-regenerate discovery clients ([#2152](https://github.com/googleapis/google-api-go-client/issues/2152)) ([1183ccf](https://github.com/googleapis/google-api-go-client/commit/1183ccf873b0f4e09e896d31a4d8ec7ad6f2ef1b)) + ## [0.139.0](https://github.com/googleapis/google-api-go-client/compare/v0.138.0...v0.139.0) (2023-09-08) diff --git a/artifactregistry/v1/artifactregistry-api.json b/artifactregistry/v1/artifactregistry-api.json index 2b993e25db9..36e3c166b6e 100644 --- a/artifactregistry/v1/artifactregistry-api.json +++ b/artifactregistry/v1/artifactregistry-api.json @@ -1661,7 +1661,7 @@ } } }, - "revision": "20230809", + "revision": "20230905", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "AptArtifact": { @@ -3069,10 +3069,6 @@ "readOnly": true, "type": "boolean" }, - "sbomConfig": { - "$ref": "SbomConfig", - "description": "Optional. Config and state for sbom generation for resources within this Repository." - }, "sizeBytes": { "description": "Output only. The size, in bytes, of all artifact storage in this repository. Repositories that are generally available or in public preview use this to calculate storage costs.", "format": "int64", @@ -3092,33 +3088,6 @@ }, "type": "object" }, - "SbomConfig": { - "description": "Config for whether to generate SBOMs for resources in this repository, as well as output fields describing current state.", - "id": "SbomConfig", - "properties": { - "enablementConfig": { - "description": "Optional. Config for whether this repository has sbom generation disabled.", - "enum": [ - "ENABLEMENT_CONFIG_UNSPECIFIED", - "INHERITED", - "DISABLED" - ], - "enumDescriptions": [ - "Unspecified config was not set. This will be interpreted as DISABLED.", - "Inherited indicates the repository is allowed for SBOM generation, however the actual state will be inherited from the API enablement state.", - "Disabled indicates the repository will not generate SBOMs." - ], - "type": "string" - }, - "lastEnableTime": { - "description": "Output only. The last time this repository config was set to INHERITED.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, "SetIamPolicyRequest": { "description": "Request message for `SetIamPolicy` method.", "id": "SetIamPolicyRequest", @@ -3360,7 +3329,7 @@ "id": "UploadYumArtifactResponse", "properties": { "yumArtifacts": { - "description": "The Apt artifacts updated.", + "description": "The Yum artifacts updated.", "items": { "$ref": "YumArtifact" }, diff --git a/artifactregistry/v1/artifactregistry-gen.go b/artifactregistry/v1/artifactregistry-gen.go index 16374b51fca..ad2a0b346b5 100644 --- a/artifactregistry/v1/artifactregistry-gen.go +++ b/artifactregistry/v1/artifactregistry-gen.go @@ -2732,10 +2732,6 @@ type Repository struct { // zone separation. SatisfiesPzs bool `json:"satisfiesPzs,omitempty"` - // SbomConfig: Optional. Config and state for sbom generation for - // resources within this Repository. - SbomConfig *SbomConfig `json:"sbomConfig,omitempty"` - // SizeBytes: Output only. The size, in bytes, of all artifact storage // in this repository. Repositories that are generally available or in // public preview use this to calculate storage costs. @@ -2777,50 +2773,6 @@ func (s *Repository) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// SbomConfig: Config for whether to generate SBOMs for resources in -// this repository, as well as output fields describing current state. -type SbomConfig struct { - // EnablementConfig: Optional. Config for whether this repository has - // sbom generation disabled. - // - // Possible values: - // "ENABLEMENT_CONFIG_UNSPECIFIED" - Unspecified config was not set. - // This will be interpreted as DISABLED. - // "INHERITED" - Inherited indicates the repository is allowed for - // SBOM generation, however the actual state will be inherited from the - // API enablement state. - // "DISABLED" - Disabled indicates the repository will not generate - // SBOMs. - EnablementConfig string `json:"enablementConfig,omitempty"` - - // LastEnableTime: Output only. The last time this repository config was - // set to INHERITED. - LastEnableTime string `json:"lastEnableTime,omitempty"` - - // ForceSendFields is a list of field names (e.g. "EnablementConfig") 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. "EnablementConfig") 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 *SbomConfig) MarshalJSON() ([]byte, error) { - type NoMethod SbomConfig - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // SetIamPolicyRequest: Request message for `SetIamPolicy` method. type SetIamPolicyRequest struct { // Policy: REQUIRED: The complete policy to be applied to the @@ -3303,7 +3255,7 @@ type UploadYumArtifactRequest struct { // upload operation. This response is contained in the Operation and // available to users. type UploadYumArtifactResponse struct { - // YumArtifacts: The Apt artifacts updated. + // YumArtifacts: The Yum artifacts updated. YumArtifacts []*YumArtifact `json:"yumArtifacts,omitempty"` // ForceSendFields is a list of field names (e.g. "YumArtifacts") to diff --git a/artifactregistry/v1beta2/artifactregistry-api.json b/artifactregistry/v1beta2/artifactregistry-api.json index a97a59f46c4..fa50a3d4618 100644 --- a/artifactregistry/v1beta2/artifactregistry-api.json +++ b/artifactregistry/v1beta2/artifactregistry-api.json @@ -1135,7 +1135,7 @@ } } }, - "revision": "20230803", + "revision": "20230905", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "AptArtifact": { @@ -1957,7 +1957,7 @@ "id": "UploadYumArtifactResponse", "properties": { "yumArtifacts": { - "description": "The Apt artifacts updated.", + "description": "The Yum artifacts updated.", "items": { "$ref": "YumArtifact" }, diff --git a/artifactregistry/v1beta2/artifactregistry-gen.go b/artifactregistry/v1beta2/artifactregistry-gen.go index 460a95c5916..f93dc398ec0 100644 --- a/artifactregistry/v1beta2/artifactregistry-gen.go +++ b/artifactregistry/v1beta2/artifactregistry-gen.go @@ -1792,7 +1792,7 @@ type UploadYumArtifactRequest struct { // upload operation. This response is contained in the Operation and // available to users. type UploadYumArtifactResponse struct { - // YumArtifacts: The Apt artifacts updated. + // YumArtifacts: The Yum artifacts updated. YumArtifacts []*YumArtifact `json:"yumArtifacts,omitempty"` // ForceSendFields is a list of field names (e.g. "YumArtifacts") to diff --git a/beyondcorp/v1/beyondcorp-api.json b/beyondcorp/v1/beyondcorp-api.json index 0db407900c2..36749036447 100644 --- a/beyondcorp/v1/beyondcorp-api.json +++ b/beyondcorp/v1/beyondcorp-api.json @@ -109,6 +109,194 @@ "resources": { "locations": { "resources": { + "global": { + "resources": { + "partnerTenants": { + "methods": { + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1/organizations/{organizationsId}/locations/global/partnerTenants/{partnerTenantsId}:getIamPolicy", + "httpMethod": "GET", + "id": "beyondcorp.organizations.locations.global.partnerTenants.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/global/partnerTenants/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/organizations/{organizationsId}/locations/global/partnerTenants/{partnerTenantsId}:setIamPolicy", + "httpMethod": "POST", + "id": "beyondcorp.organizations.locations.global.partnerTenants.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/global/partnerTenants/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/organizations/{organizationsId}/locations/global/partnerTenants/{partnerTenantsId}:testIamPermissions", + "httpMethod": "POST", + "id": "beyondcorp.organizations.locations.global.partnerTenants.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/global/partnerTenants/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "proxyConfigs": { + "methods": { + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1/organizations/{organizationsId}/locations/global/partnerTenants/{partnerTenantsId}/proxyConfigs/{proxyConfigsId}:getIamPolicy", + "httpMethod": "GET", + "id": "beyondcorp.organizations.locations.global.partnerTenants.proxyConfigs.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/global/partnerTenants/[^/]+/proxyConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/organizations/{organizationsId}/locations/global/partnerTenants/{partnerTenantsId}/proxyConfigs/{proxyConfigsId}:setIamPolicy", + "httpMethod": "POST", + "id": "beyondcorp.organizations.locations.global.partnerTenants.proxyConfigs.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/global/partnerTenants/[^/]+/proxyConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/organizations/{organizationsId}/locations/global/partnerTenants/{partnerTenantsId}/proxyConfigs/{proxyConfigsId}:testIamPermissions", + "httpMethod": "POST", + "id": "beyondcorp.organizations.locations.global.partnerTenants.proxyConfigs.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/global/partnerTenants/[^/]+/proxyConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + }, "operations": { "methods": { "cancel": { @@ -1525,7 +1713,7 @@ } } }, - "revision": "20230802", + "revision": "20230823", "rootUrl": "https://beyondcorp.googleapis.com/", "schemas": { "AllocatedConnection": { diff --git a/beyondcorp/v1/beyondcorp-gen.go b/beyondcorp/v1/beyondcorp-gen.go index f2ebed1ae0f..bb206e7afeb 100644 --- a/beyondcorp/v1/beyondcorp-gen.go +++ b/beyondcorp/v1/beyondcorp-gen.go @@ -168,6 +168,7 @@ type OrganizationsService struct { func NewOrganizationsLocationsService(s *Service) *OrganizationsLocationsService { rs := &OrganizationsLocationsService{s: s} + rs.Global = NewOrganizationsLocationsGlobalService(s) rs.Operations = NewOrganizationsLocationsOperationsService(s) return rs } @@ -175,9 +176,44 @@ func NewOrganizationsLocationsService(s *Service) *OrganizationsLocationsService type OrganizationsLocationsService struct { s *Service + Global *OrganizationsLocationsGlobalService + Operations *OrganizationsLocationsOperationsService } +func NewOrganizationsLocationsGlobalService(s *Service) *OrganizationsLocationsGlobalService { + rs := &OrganizationsLocationsGlobalService{s: s} + rs.PartnerTenants = NewOrganizationsLocationsGlobalPartnerTenantsService(s) + return rs +} + +type OrganizationsLocationsGlobalService struct { + s *Service + + PartnerTenants *OrganizationsLocationsGlobalPartnerTenantsService +} + +func NewOrganizationsLocationsGlobalPartnerTenantsService(s *Service) *OrganizationsLocationsGlobalPartnerTenantsService { + rs := &OrganizationsLocationsGlobalPartnerTenantsService{s: s} + rs.ProxyConfigs = NewOrganizationsLocationsGlobalPartnerTenantsProxyConfigsService(s) + return rs +} + +type OrganizationsLocationsGlobalPartnerTenantsService struct { + s *Service + + ProxyConfigs *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsService +} + +func NewOrganizationsLocationsGlobalPartnerTenantsProxyConfigsService(s *Service) *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsService { + rs := &OrganizationsLocationsGlobalPartnerTenantsProxyConfigsService{s: s} + return rs +} + +type OrganizationsLocationsGlobalPartnerTenantsProxyConfigsService struct { + s *Service +} + func NewOrganizationsLocationsOperationsService(s *Service) *OrganizationsLocationsOperationsService { rs := &OrganizationsLocationsOperationsService{s: s} return rs @@ -2756,6 +2792,952 @@ func (s *Tunnelv1ProtoTunnelerInfo) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// method id "beyondcorp.organizations.locations.global.partnerTenants.getIamPolicy": + +type OrganizationsLocationsGlobalPartnerTenantsGetIamPolicyCall struct { + s *Service + 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 Resource names +// (https://cloud.google.com/apis/design/resource_names) for the +// appropriate value for this field. +func (r *OrganizationsLocationsGlobalPartnerTenantsService) GetIamPolicy(resource string) *OrganizationsLocationsGlobalPartnerTenantsGetIamPolicyCall { + c := &OrganizationsLocationsGlobalPartnerTenantsGetIamPolicyCall{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 *OrganizationsLocationsGlobalPartnerTenantsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *OrganizationsLocationsGlobalPartnerTenantsGetIamPolicyCall { + 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 *OrganizationsLocationsGlobalPartnerTenantsGetIamPolicyCall) Fields(s ...googleapi.Field) *OrganizationsLocationsGlobalPartnerTenantsGetIamPolicyCall { + 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 *OrganizationsLocationsGlobalPartnerTenantsGetIamPolicyCall) IfNoneMatch(entityTag string) *OrganizationsLocationsGlobalPartnerTenantsGetIamPolicyCall { + 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 *OrganizationsLocationsGlobalPartnerTenantsGetIamPolicyCall) Context(ctx context.Context) *OrganizationsLocationsGlobalPartnerTenantsGetIamPolicyCall { + 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 *OrganizationsLocationsGlobalPartnerTenantsGetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsLocationsGlobalPartnerTenantsGetIamPolicyCall) 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/{+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 "beyondcorp.organizations.locations.global.partnerTenants.getIamPolicy" call. +// Exactly one of *GoogleIamV1Policy or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *GoogleIamV1Policy.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 *OrganizationsLocationsGlobalPartnerTenantsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1Policy, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &GoogleIamV1Policy{ + 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": "v1/organizations/{organizationsId}/locations/global/partnerTenants/{partnerTenantsId}:getIamPolicy", + // "httpMethod": "GET", + // "id": "beyondcorp.organizations.locations.global.partnerTenants.getIamPolicy", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "options.requestedPolicyVersion": { + // "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + // "location": "path", + // "pattern": "^organizations/[^/]+/locations/global/partnerTenants/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+resource}:getIamPolicy", + // "response": { + // "$ref": "GoogleIamV1Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "beyondcorp.organizations.locations.global.partnerTenants.setIamPolicy": + +type OrganizationsLocationsGlobalPartnerTenantsSetIamPolicyCall struct { + s *Service + resource string + googleiamv1setiampolicyrequest *GoogleIamV1SetIamPolicyRequest + 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 Resource names +// (https://cloud.google.com/apis/design/resource_names) for the +// appropriate value for this field. +func (r *OrganizationsLocationsGlobalPartnerTenantsService) SetIamPolicy(resource string, googleiamv1setiampolicyrequest *GoogleIamV1SetIamPolicyRequest) *OrganizationsLocationsGlobalPartnerTenantsSetIamPolicyCall { + c := &OrganizationsLocationsGlobalPartnerTenantsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.googleiamv1setiampolicyrequest = googleiamv1setiampolicyrequest + 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 *OrganizationsLocationsGlobalPartnerTenantsSetIamPolicyCall) Fields(s ...googleapi.Field) *OrganizationsLocationsGlobalPartnerTenantsSetIamPolicyCall { + 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 *OrganizationsLocationsGlobalPartnerTenantsSetIamPolicyCall) Context(ctx context.Context) *OrganizationsLocationsGlobalPartnerTenantsSetIamPolicyCall { + 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 *OrganizationsLocationsGlobalPartnerTenantsSetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsLocationsGlobalPartnerTenantsSetIamPolicyCall) 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.googleiamv1setiampolicyrequest) + 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/{+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 "beyondcorp.organizations.locations.global.partnerTenants.setIamPolicy" call. +// Exactly one of *GoogleIamV1Policy or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *GoogleIamV1Policy.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 *OrganizationsLocationsGlobalPartnerTenantsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1Policy, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &GoogleIamV1Policy{ + 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": "v1/organizations/{organizationsId}/locations/global/partnerTenants/{partnerTenantsId}:setIamPolicy", + // "httpMethod": "POST", + // "id": "beyondcorp.organizations.locations.global.partnerTenants.setIamPolicy", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + // "location": "path", + // "pattern": "^organizations/[^/]+/locations/global/partnerTenants/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+resource}:setIamPolicy", + // "request": { + // "$ref": "GoogleIamV1SetIamPolicyRequest" + // }, + // "response": { + // "$ref": "GoogleIamV1Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "beyondcorp.organizations.locations.global.partnerTenants.testIamPermissions": + +type OrganizationsLocationsGlobalPartnerTenantsTestIamPermissionsCall struct { + s *Service + resource string + googleiamv1testiampermissionsrequest *GoogleIamV1TestIamPermissionsRequest + 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 Resource names +// (https://cloud.google.com/apis/design/resource_names) for the +// appropriate value for this field. +func (r *OrganizationsLocationsGlobalPartnerTenantsService) TestIamPermissions(resource string, googleiamv1testiampermissionsrequest *GoogleIamV1TestIamPermissionsRequest) *OrganizationsLocationsGlobalPartnerTenantsTestIamPermissionsCall { + c := &OrganizationsLocationsGlobalPartnerTenantsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.googleiamv1testiampermissionsrequest = googleiamv1testiampermissionsrequest + 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 *OrganizationsLocationsGlobalPartnerTenantsTestIamPermissionsCall) Fields(s ...googleapi.Field) *OrganizationsLocationsGlobalPartnerTenantsTestIamPermissionsCall { + 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 *OrganizationsLocationsGlobalPartnerTenantsTestIamPermissionsCall) Context(ctx context.Context) *OrganizationsLocationsGlobalPartnerTenantsTestIamPermissionsCall { + 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 *OrganizationsLocationsGlobalPartnerTenantsTestIamPermissionsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsLocationsGlobalPartnerTenantsTestIamPermissionsCall) 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.googleiamv1testiampermissionsrequest) + 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/{+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 "beyondcorp.organizations.locations.global.partnerTenants.testIamPermissions" call. +// Exactly one of *GoogleIamV1TestIamPermissionsResponse or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *GoogleIamV1TestIamPermissionsResponse.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 *OrganizationsLocationsGlobalPartnerTenantsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1TestIamPermissionsResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &GoogleIamV1TestIamPermissionsResponse{ + 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": "v1/organizations/{organizationsId}/locations/global/partnerTenants/{partnerTenantsId}:testIamPermissions", + // "httpMethod": "POST", + // "id": "beyondcorp.organizations.locations.global.partnerTenants.testIamPermissions", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + // "location": "path", + // "pattern": "^organizations/[^/]+/locations/global/partnerTenants/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+resource}:testIamPermissions", + // "request": { + // "$ref": "GoogleIamV1TestIamPermissionsRequest" + // }, + // "response": { + // "$ref": "GoogleIamV1TestIamPermissionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "beyondcorp.organizations.locations.global.partnerTenants.proxyConfigs.getIamPolicy": + +type OrganizationsLocationsGlobalPartnerTenantsProxyConfigsGetIamPolicyCall struct { + s *Service + 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 Resource names +// (https://cloud.google.com/apis/design/resource_names) for the +// appropriate value for this field. +func (r *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsService) GetIamPolicy(resource string) *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsGetIamPolicyCall { + c := &OrganizationsLocationsGlobalPartnerTenantsProxyConfigsGetIamPolicyCall{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 *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsGetIamPolicyCall { + 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 *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsGetIamPolicyCall) Fields(s ...googleapi.Field) *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsGetIamPolicyCall { + 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 *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsGetIamPolicyCall) IfNoneMatch(entityTag string) *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsGetIamPolicyCall { + 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 *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsGetIamPolicyCall) Context(ctx context.Context) *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsGetIamPolicyCall { + 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 *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsGetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsGetIamPolicyCall) 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/{+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 "beyondcorp.organizations.locations.global.partnerTenants.proxyConfigs.getIamPolicy" call. +// Exactly one of *GoogleIamV1Policy or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *GoogleIamV1Policy.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 *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1Policy, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &GoogleIamV1Policy{ + 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": "v1/organizations/{organizationsId}/locations/global/partnerTenants/{partnerTenantsId}/proxyConfigs/{proxyConfigsId}:getIamPolicy", + // "httpMethod": "GET", + // "id": "beyondcorp.organizations.locations.global.partnerTenants.proxyConfigs.getIamPolicy", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "options.requestedPolicyVersion": { + // "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + // "location": "path", + // "pattern": "^organizations/[^/]+/locations/global/partnerTenants/[^/]+/proxyConfigs/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+resource}:getIamPolicy", + // "response": { + // "$ref": "GoogleIamV1Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "beyondcorp.organizations.locations.global.partnerTenants.proxyConfigs.setIamPolicy": + +type OrganizationsLocationsGlobalPartnerTenantsProxyConfigsSetIamPolicyCall struct { + s *Service + resource string + googleiamv1setiampolicyrequest *GoogleIamV1SetIamPolicyRequest + 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 Resource names +// (https://cloud.google.com/apis/design/resource_names) for the +// appropriate value for this field. +func (r *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsService) SetIamPolicy(resource string, googleiamv1setiampolicyrequest *GoogleIamV1SetIamPolicyRequest) *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsSetIamPolicyCall { + c := &OrganizationsLocationsGlobalPartnerTenantsProxyConfigsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.googleiamv1setiampolicyrequest = googleiamv1setiampolicyrequest + 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 *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsSetIamPolicyCall) Fields(s ...googleapi.Field) *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsSetIamPolicyCall { + 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 *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsSetIamPolicyCall) Context(ctx context.Context) *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsSetIamPolicyCall { + 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 *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsSetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsSetIamPolicyCall) 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.googleiamv1setiampolicyrequest) + 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/{+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 "beyondcorp.organizations.locations.global.partnerTenants.proxyConfigs.setIamPolicy" call. +// Exactly one of *GoogleIamV1Policy or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *GoogleIamV1Policy.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 *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1Policy, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &GoogleIamV1Policy{ + 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": "v1/organizations/{organizationsId}/locations/global/partnerTenants/{partnerTenantsId}/proxyConfigs/{proxyConfigsId}:setIamPolicy", + // "httpMethod": "POST", + // "id": "beyondcorp.organizations.locations.global.partnerTenants.proxyConfigs.setIamPolicy", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + // "location": "path", + // "pattern": "^organizations/[^/]+/locations/global/partnerTenants/[^/]+/proxyConfigs/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+resource}:setIamPolicy", + // "request": { + // "$ref": "GoogleIamV1SetIamPolicyRequest" + // }, + // "response": { + // "$ref": "GoogleIamV1Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "beyondcorp.organizations.locations.global.partnerTenants.proxyConfigs.testIamPermissions": + +type OrganizationsLocationsGlobalPartnerTenantsProxyConfigsTestIamPermissionsCall struct { + s *Service + resource string + googleiamv1testiampermissionsrequest *GoogleIamV1TestIamPermissionsRequest + 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 Resource names +// (https://cloud.google.com/apis/design/resource_names) for the +// appropriate value for this field. +func (r *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsService) TestIamPermissions(resource string, googleiamv1testiampermissionsrequest *GoogleIamV1TestIamPermissionsRequest) *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsTestIamPermissionsCall { + c := &OrganizationsLocationsGlobalPartnerTenantsProxyConfigsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.googleiamv1testiampermissionsrequest = googleiamv1testiampermissionsrequest + 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 *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsTestIamPermissionsCall) Fields(s ...googleapi.Field) *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsTestIamPermissionsCall { + 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 *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsTestIamPermissionsCall) Context(ctx context.Context) *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsTestIamPermissionsCall { + 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 *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsTestIamPermissionsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsTestIamPermissionsCall) 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.googleiamv1testiampermissionsrequest) + 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/{+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 "beyondcorp.organizations.locations.global.partnerTenants.proxyConfigs.testIamPermissions" call. +// Exactly one of *GoogleIamV1TestIamPermissionsResponse or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *GoogleIamV1TestIamPermissionsResponse.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 *OrganizationsLocationsGlobalPartnerTenantsProxyConfigsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1TestIamPermissionsResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &GoogleIamV1TestIamPermissionsResponse{ + 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": "v1/organizations/{organizationsId}/locations/global/partnerTenants/{partnerTenantsId}/proxyConfigs/{proxyConfigsId}:testIamPermissions", + // "httpMethod": "POST", + // "id": "beyondcorp.organizations.locations.global.partnerTenants.proxyConfigs.testIamPermissions", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + // "location": "path", + // "pattern": "^organizations/[^/]+/locations/global/partnerTenants/[^/]+/proxyConfigs/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+resource}:testIamPermissions", + // "request": { + // "$ref": "GoogleIamV1TestIamPermissionsRequest" + // }, + // "response": { + // "$ref": "GoogleIamV1TestIamPermissionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "beyondcorp.organizations.locations.operations.cancel": type OrganizationsLocationsOperationsCancelCall struct { diff --git a/beyondcorp/v1alpha/beyondcorp-api.json b/beyondcorp/v1alpha/beyondcorp-api.json index 85b257bbffa..b78cc9fbf90 100644 --- a/beyondcorp/v1alpha/beyondcorp-api.json +++ b/beyondcorp/v1alpha/beyondcorp-api.json @@ -2229,6 +2229,97 @@ } } }, + "applicationDomains": { + "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": "v1alpha/projects/{projectsId}/locations/{locationsId}/applicationDomains/{applicationDomainsId}:getIamPolicy", + "httpMethod": "GET", + "id": "beyondcorp.projects.locations.applicationDomains.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/applicationDomains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "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}/applicationDomains/{applicationDomainsId}:setIamPolicy", + "httpMethod": "POST", + "id": "beyondcorp.projects.locations.applicationDomains.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/applicationDomains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/applicationDomains/{applicationDomainsId}:testIamPermissions", + "httpMethod": "POST", + "id": "beyondcorp.projects.locations.applicationDomains.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/applicationDomains/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "applications": { "methods": { "getIamPolicy": { @@ -3583,7 +3674,7 @@ } } }, - "revision": "20230802", + "revision": "20230823", "rootUrl": "https://beyondcorp.googleapis.com/", "schemas": { "AllocatedConnection": { diff --git a/beyondcorp/v1alpha/beyondcorp-gen.go b/beyondcorp/v1alpha/beyondcorp-gen.go index 8bbde01c1c5..7bceed283f0 100644 --- a/beyondcorp/v1alpha/beyondcorp-gen.go +++ b/beyondcorp/v1alpha/beyondcorp-gen.go @@ -276,6 +276,7 @@ func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { rs.AppConnections = NewProjectsLocationsAppConnectionsService(s) rs.AppConnectors = NewProjectsLocationsAppConnectorsService(s) rs.AppGateways = NewProjectsLocationsAppGatewaysService(s) + rs.ApplicationDomains = NewProjectsLocationsApplicationDomainsService(s) rs.Applications = NewProjectsLocationsApplicationsService(s) rs.ClientConnectorServices = NewProjectsLocationsClientConnectorServicesService(s) rs.ClientGateways = NewProjectsLocationsClientGatewaysService(s) @@ -296,6 +297,8 @@ type ProjectsLocationsService struct { AppGateways *ProjectsLocationsAppGatewaysService + ApplicationDomains *ProjectsLocationsApplicationDomainsService + Applications *ProjectsLocationsApplicationsService ClientConnectorServices *ProjectsLocationsClientConnectorServicesService @@ -340,6 +343,15 @@ type ProjectsLocationsAppGatewaysService struct { s *Service } +func NewProjectsLocationsApplicationDomainsService(s *Service) *ProjectsLocationsApplicationDomainsService { + rs := &ProjectsLocationsApplicationDomainsService{s: s} + return rs +} + +type ProjectsLocationsApplicationDomainsService struct { + s *Service +} + func NewProjectsLocationsApplicationsService(s *Service) *ProjectsLocationsApplicationsService { rs := &ProjectsLocationsApplicationsService{s: s} return rs @@ -15269,6 +15281,479 @@ func (c *ProjectsLocationsAppGatewaysTestIamPermissionsCall) Do(opts ...googleap } +// method id "beyondcorp.projects.locations.applicationDomains.getIamPolicy": + +type ProjectsLocationsApplicationDomainsGetIamPolicyCall struct { + s *Service + 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 Resource names +// (https://cloud.google.com/apis/design/resource_names) for the +// appropriate value for this field. +func (r *ProjectsLocationsApplicationDomainsService) GetIamPolicy(resource string) *ProjectsLocationsApplicationDomainsGetIamPolicyCall { + c := &ProjectsLocationsApplicationDomainsGetIamPolicyCall{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 *ProjectsLocationsApplicationDomainsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsApplicationDomainsGetIamPolicyCall { + 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 *ProjectsLocationsApplicationDomainsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsApplicationDomainsGetIamPolicyCall { + 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 *ProjectsLocationsApplicationDomainsGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsApplicationDomainsGetIamPolicyCall { + 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 *ProjectsLocationsApplicationDomainsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsApplicationDomainsGetIamPolicyCall { + 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 *ProjectsLocationsApplicationDomainsGetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsApplicationDomainsGetIamPolicyCall) 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 "beyondcorp.projects.locations.applicationDomains.getIamPolicy" call. +// Exactly one of *GoogleIamV1Policy or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *GoogleIamV1Policy.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 *ProjectsLocationsApplicationDomainsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1Policy, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &GoogleIamV1Policy{ + 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}/applicationDomains/{applicationDomainsId}:getIamPolicy", + // "httpMethod": "GET", + // "id": "beyondcorp.projects.locations.applicationDomains.getIamPolicy", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "options.requestedPolicyVersion": { + // "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/applicationDomains/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1alpha/{+resource}:getIamPolicy", + // "response": { + // "$ref": "GoogleIamV1Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "beyondcorp.projects.locations.applicationDomains.setIamPolicy": + +type ProjectsLocationsApplicationDomainsSetIamPolicyCall struct { + s *Service + resource string + googleiamv1setiampolicyrequest *GoogleIamV1SetIamPolicyRequest + 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 Resource names +// (https://cloud.google.com/apis/design/resource_names) for the +// appropriate value for this field. +func (r *ProjectsLocationsApplicationDomainsService) SetIamPolicy(resource string, googleiamv1setiampolicyrequest *GoogleIamV1SetIamPolicyRequest) *ProjectsLocationsApplicationDomainsSetIamPolicyCall { + c := &ProjectsLocationsApplicationDomainsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.googleiamv1setiampolicyrequest = googleiamv1setiampolicyrequest + 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 *ProjectsLocationsApplicationDomainsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsApplicationDomainsSetIamPolicyCall { + 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 *ProjectsLocationsApplicationDomainsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsApplicationDomainsSetIamPolicyCall { + 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 *ProjectsLocationsApplicationDomainsSetIamPolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsApplicationDomainsSetIamPolicyCall) 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.googleiamv1setiampolicyrequest) + 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 "beyondcorp.projects.locations.applicationDomains.setIamPolicy" call. +// Exactly one of *GoogleIamV1Policy or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *GoogleIamV1Policy.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 *ProjectsLocationsApplicationDomainsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1Policy, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &GoogleIamV1Policy{ + 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}/applicationDomains/{applicationDomainsId}:setIamPolicy", + // "httpMethod": "POST", + // "id": "beyondcorp.projects.locations.applicationDomains.setIamPolicy", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/applicationDomains/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1alpha/{+resource}:setIamPolicy", + // "request": { + // "$ref": "GoogleIamV1SetIamPolicyRequest" + // }, + // "response": { + // "$ref": "GoogleIamV1Policy" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + +// method id "beyondcorp.projects.locations.applicationDomains.testIamPermissions": + +type ProjectsLocationsApplicationDomainsTestIamPermissionsCall struct { + s *Service + resource string + googleiamv1testiampermissionsrequest *GoogleIamV1TestIamPermissionsRequest + 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 Resource names +// (https://cloud.google.com/apis/design/resource_names) for the +// appropriate value for this field. +func (r *ProjectsLocationsApplicationDomainsService) TestIamPermissions(resource string, googleiamv1testiampermissionsrequest *GoogleIamV1TestIamPermissionsRequest) *ProjectsLocationsApplicationDomainsTestIamPermissionsCall { + c := &ProjectsLocationsApplicationDomainsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.resource = resource + c.googleiamv1testiampermissionsrequest = googleiamv1testiampermissionsrequest + 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 *ProjectsLocationsApplicationDomainsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsApplicationDomainsTestIamPermissionsCall { + 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 *ProjectsLocationsApplicationDomainsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsApplicationDomainsTestIamPermissionsCall { + 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 *ProjectsLocationsApplicationDomainsTestIamPermissionsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsApplicationDomainsTestIamPermissionsCall) 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.googleiamv1testiampermissionsrequest) + 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 "beyondcorp.projects.locations.applicationDomains.testIamPermissions" call. +// Exactly one of *GoogleIamV1TestIamPermissionsResponse or error will +// be non-nil. Any non-2xx status code is an error. Response headers are +// in either +// *GoogleIamV1TestIamPermissionsResponse.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 *ProjectsLocationsApplicationDomainsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*GoogleIamV1TestIamPermissionsResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &GoogleIamV1TestIamPermissionsResponse{ + 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}/applicationDomains/{applicationDomainsId}:testIamPermissions", + // "httpMethod": "POST", + // "id": "beyondcorp.projects.locations.applicationDomains.testIamPermissions", + // "parameterOrder": [ + // "resource" + // ], + // "parameters": { + // "resource": { + // "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/applicationDomains/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1alpha/{+resource}:testIamPermissions", + // "request": { + // "$ref": "GoogleIamV1TestIamPermissionsRequest" + // }, + // "response": { + // "$ref": "GoogleIamV1TestIamPermissionsResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "beyondcorp.projects.locations.applications.getIamPolicy": type ProjectsLocationsApplicationsGetIamPolicyCall struct { diff --git a/bigtableadmin/v2/bigtableadmin-api.json b/bigtableadmin/v2/bigtableadmin-api.json index dbc1889c91f..bde195f88bc 100644 --- a/bigtableadmin/v2/bigtableadmin-api.json +++ b/bigtableadmin/v2/bigtableadmin-api.json @@ -1127,7 +1127,7 @@ ] }, "getIamPolicy": { - "description": "Gets the access control policy for a Table resource. Returns an empty policy if the resource exists but does not have a policy set.", + "description": "Gets the access control policy for a Table or Backup resource. Returns an empty policy if the resource exists but does not have a policy set.", "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}/backups/{backupsId}:getIamPolicy", "httpMethod": "POST", "id": "bigtableadmin.projects.instances.clusters.backups.getIamPolicy", @@ -1247,7 +1247,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on a Table resource. Replaces any existing policy.", + "description": "Sets the access control policy on a Table or Backup resource. Replaces any existing policy.", "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}/backups/{backupsId}:setIamPolicy", "httpMethod": "POST", "id": "bigtableadmin.projects.instances.clusters.backups.setIamPolicy", @@ -1279,7 +1279,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that the caller has on the specified table resource.", + "description": "Returns permissions that the caller has on the specified Table or Backup resource.", "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}/backups/{backupsId}:testIamPermissions", "httpMethod": "POST", "id": "bigtableadmin.projects.instances.clusters.backups.testIamPermissions", @@ -1584,7 +1584,7 @@ ] }, "getIamPolicy": { - "description": "Gets the access control policy for a Table resource. Returns an empty policy if the resource exists but does not have a policy set.", + "description": "Gets the access control policy for a Table or Backup resource. Returns an empty policy if the resource exists but does not have a policy set.", "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:getIamPolicy", "httpMethod": "POST", "id": "bigtableadmin.projects.instances.tables.getIamPolicy", @@ -1782,7 +1782,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on a Table resource. Replaces any existing policy.", + "description": "Sets the access control policy on a Table or Backup resource. Replaces any existing policy.", "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:setIamPolicy", "httpMethod": "POST", "id": "bigtableadmin.projects.instances.tables.setIamPolicy", @@ -1814,7 +1814,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that the caller has on the specified table resource.", + "description": "Returns permissions that the caller has on the specified Table or Backup resource.", "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:testIamPermissions", "httpMethod": "POST", "id": "bigtableadmin.projects.instances.tables.testIamPermissions", @@ -1966,7 +1966,7 @@ } } }, - "revision": "20230731", + "revision": "20230824", "rootUrl": "https://bigtableadmin.googleapis.com/", "schemas": { "AppProfile": { @@ -3124,7 +3124,7 @@ "description": "Properties of the object. Contains field @type with type URL.", "type": "any" }, - "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", "type": "object" } }, @@ -3221,7 +3221,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { diff --git a/bigtableadmin/v2/bigtableadmin-gen.go b/bigtableadmin/v2/bigtableadmin-gen.go index 0a52c6ad019..827c3aab5e7 100644 --- a/bigtableadmin/v2/bigtableadmin-gen.go +++ b/bigtableadmin/v2/bigtableadmin-gen.go @@ -2555,8 +2555,8 @@ type Operation struct { // `operations/{unique_id}`. Name string `json:"name,omitempty"` - // Response: The normal response of the operation in case of success. If - // the original method returns no data on success, such as `Delete`, the + // Response: The normal, successful response of the operation. If the + // original method returns no data on success, such as `Delete`, the // response is `google.protobuf.Empty`. If the original method is // standard `Get`/`Create`/`Update`, the response should be the // resource. For other methods, the response should have the type @@ -2782,7 +2782,7 @@ func (s *PartialUpdateInstanceRequest) MarshalJSON() ([]byte, error) { // both. To learn which resources support conditions in their IAM // policies, see the IAM documentation // (https://cloud.google.com/iam/help/conditions/resource-policies). -// **JSON example:** { "bindings": [ { "role": +// **JSON example:** ``` { "bindings": [ { "role": // "roles/resourcemanager.organizationAdmin", "members": [ // "user:mike@example.com", "group:admins@example.com", // "domain:google.com", @@ -2791,17 +2791,17 @@ func (s *PartialUpdateInstanceRequest) MarshalJSON() ([]byte, error) { // "user:eve@example.com" ], "condition": { "title": "expirable access", // "description": "Does not grant access after Sep 2020", "expression": // "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], -// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - -// members: - user:mike@example.com - group:admins@example.com - -// domain:google.com - +// "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` +// bindings: - members: - user:mike@example.com - +// group:admins@example.com - domain:google.com - // serviceAccount:my-project-id@appspot.gserviceaccount.com role: // roles/resourcemanager.organizationAdmin - members: - // user:eve@example.com role: roles/resourcemanager.organizationViewer // condition: title: expirable access description: Does not grant access // after Sep 2020 expression: request.time < // timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 -// For a description of IAM and its features, see the IAM documentation -// (https://cloud.google.com/iam/docs/). +// ``` For a description of IAM and its features, see the IAM +// documentation (https://cloud.google.com/iam/docs/). type Policy struct { // AuditConfigs: Specifies cloud audit logging configuration for this // policy. @@ -8101,9 +8101,9 @@ type ProjectsInstancesClustersBackupsGetIamPolicyCall struct { header_ http.Header } -// GetIamPolicy: Gets the access control policy for a Table resource. -// Returns an empty policy if the resource exists but does not have a -// policy set. +// GetIamPolicy: Gets the access control policy for a Table or Backup +// resource. Returns an empty policy if the resource exists but does not +// have a policy set. // // - resource: REQUIRED: The resource for which the policy is being // requested. See Resource names @@ -8207,7 +8207,7 @@ func (c *ProjectsInstancesClustersBackupsGetIamPolicyCall) Do(opts ...googleapi. } return ret, nil // { - // "description": "Gets the access control policy for a Table resource. Returns an empty policy if the resource exists but does not have a policy set.", + // "description": "Gets the access control policy for a Table or Backup resource. Returns an empty policy if the resource exists but does not have a policy set.", // "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}/backups/{backupsId}:getIamPolicy", // "httpMethod": "POST", // "id": "bigtableadmin.projects.instances.clusters.backups.getIamPolicy", @@ -8678,8 +8678,8 @@ type ProjectsInstancesClustersBackupsSetIamPolicyCall struct { header_ http.Header } -// SetIamPolicy: Sets the access control policy on a Table resource. -// Replaces any existing policy. +// SetIamPolicy: Sets the access control policy on a Table or Backup +// resource. Replaces any existing policy. // // - resource: REQUIRED: The resource for which the policy is being // specified. See Resource names @@ -8783,7 +8783,7 @@ func (c *ProjectsInstancesClustersBackupsSetIamPolicyCall) Do(opts ...googleapi. } return ret, nil // { - // "description": "Sets the access control policy on a Table resource. Replaces any existing policy.", + // "description": "Sets the access control policy on a Table or Backup resource. Replaces any existing policy.", // "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}/backups/{backupsId}:setIamPolicy", // "httpMethod": "POST", // "id": "bigtableadmin.projects.instances.clusters.backups.setIamPolicy", @@ -8829,7 +8829,7 @@ type ProjectsInstancesClustersBackupsTestIamPermissionsCall struct { } // TestIamPermissions: Returns permissions that the caller has on the -// specified table resource. +// specified Table or Backup resource. // // - resource: REQUIRED: The resource for which the policy detail is // being requested. See Resource names @@ -8933,7 +8933,7 @@ func (c *ProjectsInstancesClustersBackupsTestIamPermissionsCall) Do(opts ...goog } return ret, nil // { - // "description": "Returns permissions that the caller has on the specified table resource.", + // "description": "Returns permissions that the caller has on the specified Table or Backup resource.", // "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}/backups/{backupsId}:testIamPermissions", // "httpMethod": "POST", // "id": "bigtableadmin.projects.instances.clusters.backups.testIamPermissions", @@ -10164,9 +10164,9 @@ type ProjectsInstancesTablesGetIamPolicyCall struct { header_ http.Header } -// GetIamPolicy: Gets the access control policy for a Table resource. -// Returns an empty policy if the resource exists but does not have a -// policy set. +// GetIamPolicy: Gets the access control policy for a Table or Backup +// resource. Returns an empty policy if the resource exists but does not +// have a policy set. // // - resource: REQUIRED: The resource for which the policy is being // requested. See Resource names @@ -10270,7 +10270,7 @@ func (c *ProjectsInstancesTablesGetIamPolicyCall) Do(opts ...googleapi.CallOptio } return ret, nil // { - // "description": "Gets the access control policy for a Table resource. Returns an empty policy if the resource exists but does not have a policy set.", + // "description": "Gets the access control policy for a Table or Backup resource. Returns an empty policy if the resource exists but does not have a policy set.", // "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:getIamPolicy", // "httpMethod": "POST", // "id": "bigtableadmin.projects.instances.tables.getIamPolicy", @@ -11048,8 +11048,8 @@ type ProjectsInstancesTablesSetIamPolicyCall struct { header_ http.Header } -// SetIamPolicy: Sets the access control policy on a Table resource. -// Replaces any existing policy. +// SetIamPolicy: Sets the access control policy on a Table or Backup +// resource. Replaces any existing policy. // // - resource: REQUIRED: The resource for which the policy is being // specified. See Resource names @@ -11153,7 +11153,7 @@ func (c *ProjectsInstancesTablesSetIamPolicyCall) Do(opts ...googleapi.CallOptio } return ret, nil // { - // "description": "Sets the access control policy on a Table resource. Replaces any existing policy.", + // "description": "Sets the access control policy on a Table or Backup resource. Replaces any existing policy.", // "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:setIamPolicy", // "httpMethod": "POST", // "id": "bigtableadmin.projects.instances.tables.setIamPolicy", @@ -11199,7 +11199,7 @@ type ProjectsInstancesTablesTestIamPermissionsCall struct { } // TestIamPermissions: Returns permissions that the caller has on the -// specified table resource. +// specified Table or Backup resource. // // - resource: REQUIRED: The resource for which the policy detail is // being requested. See Resource names @@ -11303,7 +11303,7 @@ func (c *ProjectsInstancesTablesTestIamPermissionsCall) Do(opts ...googleapi.Cal } return ret, nil // { - // "description": "Returns permissions that the caller has on the specified table resource.", + // "description": "Returns permissions that the caller has on the specified Table or Backup resource.", // "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:testIamPermissions", // "httpMethod": "POST", // "id": "bigtableadmin.projects.instances.tables.testIamPermissions", diff --git a/checks/v1alpha/checks-api.json b/checks/v1alpha/checks-api.json index 77211359ae3..75f243b3b47 100644 --- a/checks/v1alpha/checks-api.json +++ b/checks/v1alpha/checks-api.json @@ -412,270 +412,23 @@ "supportsMediaUpload": true } } - }, - "privacypolicy": { - "methods": { - "analyze": { - "description": "Performs a synchronous analysis of a privacy policy, where the policy content is mapped to privacy categories, data types, and purposes.", - "flatPath": "v1alpha/privacypolicy:analyze", - "httpMethod": "POST", - "id": "checks.privacypolicy.analyze", - "parameterOrder": [], - "parameters": {}, - "path": "v1alpha/privacypolicy:analyze", - "request": { - "$ref": "AnalyzePrivacyPolicyRequest" - }, - "response": { - "$ref": "AnalyzePrivacyPolicyResponse" - } - } - } - }, - "projects": { - "resources": { - "privacypolicy": { - "resources": { - "operations": { - "methods": { - "cancel": { - "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", - "flatPath": "v1alpha/projects/{projectsId}/privacypolicy/operations/{operationsId}:cancel", - "httpMethod": "POST", - "id": "checks.projects.privacypolicy.operations.cancel", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the operation resource to be cancelled.", - "location": "path", - "pattern": "^projects/[^/]+/privacypolicy/operations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+name}:cancel", - "response": { - "$ref": "Empty" - } - }, - "delete": { - "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", - "flatPath": "v1alpha/projects/{projectsId}/privacypolicy/operations/{operationsId}", - "httpMethod": "DELETE", - "id": "checks.projects.privacypolicy.operations.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the operation resource to be deleted.", - "location": "path", - "pattern": "^projects/[^/]+/privacypolicy/operations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+name}", - "response": { - "$ref": "Empty" - } - }, - "get": { - "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", - "flatPath": "v1alpha/projects/{projectsId}/privacypolicy/operations/{operationsId}", - "httpMethod": "GET", - "id": "checks.projects.privacypolicy.operations.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the operation resource.", - "location": "path", - "pattern": "^projects/[^/]+/privacypolicy/operations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+name}", - "response": { - "$ref": "Operation" - } - }, - "list": { - "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", - "flatPath": "v1alpha/projects/{projectsId}/privacypolicy/operations", - "httpMethod": "GET", - "id": "checks.projects.privacypolicy.operations.list", - "parameterOrder": [ - "name" - ], - "parameters": { - "filter": { - "description": "The standard list filter.", - "location": "query", - "type": "string" - }, - "name": { - "description": "The name of the operation's parent resource.", - "location": "path", - "pattern": "^projects/[^/]+$", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "The standard list page size.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "The standard list page token.", - "location": "query", - "type": "string" - } - }, - "path": "v1alpha/{+name}/privacypolicy/operations", - "response": { - "$ref": "ListOperationsResponse" - } - }, - "wait": { - "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", - "flatPath": "v1alpha/projects/{projectsId}/privacypolicy/operations/{operationsId}:wait", - "httpMethod": "POST", - "id": "checks.projects.privacypolicy.operations.wait", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the operation resource to wait on.", - "location": "path", - "pattern": "^projects/[^/]+/privacypolicy/operations/[^/]+$", - "required": true, - "type": "string" - }, - "timeout": { - "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", - "format": "google-duration", - "location": "query", - "type": "string" - } - }, - "path": "v1alpha/{+name}:wait", - "response": { - "$ref": "Operation" - } - } - } - } - } - } - } } }, - "revision": "20230906", + "revision": "20230907", "rootUrl": "https://checks.googleapis.com/", "schemas": { - "AnalyzePrivacyPolicyRequest": { - "description": "Request for the AnalyzePrivacyPolicy method.", - "id": "AnalyzePrivacyPolicyRequest", - "properties": { - "privacyPolicyPageContent": { - "description": "The HTML content of the privacy policy. This is useful if you'd like to manage the crawling and rendering of the privacy policy.", - "type": "string" - }, - "privacyPolicyUri": { - "description": "The URI that points to the web page for the privacy policy.", - "type": "string" - } - }, - "type": "object" - }, - "AnalyzePrivacyPolicyResponse": { - "description": "Response containing the analyzed privacy policy for the AnalyzePrivacyPolicy method.", - "id": "AnalyzePrivacyPolicyResponse", - "properties": { - "dataPurposeAnnotations": { - "description": "A list of detected purposes in the privacy policy.", - "items": { - "$ref": "PolicyPurposeOfUseAnnotation" - }, - "type": "array" - }, - "dataTypeAnnotations": { - "description": "A list of detected data types in the privacy policy.", - "items": { - "$ref": "PolicyDataTypeAnnotation" - }, - "type": "array" - }, - "htmlContent": { - "description": "HTML content for the privacy policy page. The byte offsets in each annotated section will match this content.", - "type": "string" - }, - "lastUpdatedDateInfo": { - "$ref": "LastUpdatedDate", - "description": "Information about the date when the privacy policy was last updated." - }, - "sectionAnnotations": { - "description": "A list of detected topics in the privacy policy.", - "items": { - "$ref": "PolicySectionAnnotation" - }, - "type": "array" - } - }, - "type": "object" - }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", "properties": {}, "type": "object" }, - "Date": { - "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", - "id": "Date", - "properties": { - "day": { - "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", - "format": "int32", - "type": "integer" - }, - "month": { - "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", - "format": "int32", - "type": "integer" - }, - "year": { - "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" }, - "FindPrivacyPolicyResponse": { - "description": "Response containing the analyzed privacy policy for the FindPrivacyPolicy method.", - "id": "FindPrivacyPolicyResponse", - "properties": { - "privacyPolicy": { - "description": "Resource name of the PrivacyPolicy that was found.", - "type": "string" - } - }, - "type": "object" - }, "GoogleChecksAccountV1alphaApp": { "description": "Represents an app in Checks.", "id": "GoogleChecksAccountV1alphaApp", @@ -1878,31 +1631,6 @@ }, "type": "object" }, - "LastUpdatedDate": { - "description": "Information about the date when the privacy policy was last updated.", - "id": "LastUpdatedDate", - "properties": { - "endOffset": { - "description": "Byte offsets for the end of the date text inside the full text.", - "format": "int64", - "type": "string" - }, - "lastUpdatedDate": { - "$ref": "Date", - "description": "Date when the privacy policy was last updated." - }, - "startOffset": { - "description": "Byte offsets for the start of the date text inside the full text.", - "format": "int64", - "type": "string" - }, - "textContent": { - "description": "The bytes of actual text content in the section. Note: - This will correspond to the whole sentence that includes the date. - This field might contain HTML and it is not sanitized.", - "type": "string" - } - }, - "type": "object" - }, "ListOperationsResponse": { "description": "The response message for Operations.ListOperations.", "id": "ListOperationsResponse", @@ -1956,303 +1684,6 @@ }, "type": "object" }, - "PolicyDataTypeAnnotation": { - "id": "PolicyDataTypeAnnotation", - "properties": { - "dataType": { - "description": "Type of the data mentioned in the policy.", - "enum": [ - "DATA_TYPE_UNSPECIFIED", - "CONTACT_INFO_NAME", - "CONTACT_INFO_EMAIL_ADDRESS", - "CONTACT_INFO_PHONE_NUMBER", - "CONTACT_INFO_MAILING_ADDRESS", - "CONTACT_INFO_OTHER", - "IDENTITY_INFO_OTHER", - "USER_CONTENT_EMAIL_MESSAGES", - "USER_CONTENT_TEXT_MESSAGES", - "USER_CONTENT_OTHER_IN_APP_MESSAGES", - "USER_CONTENT_PHOTOS", - "USER_CONTENT_VIDEOS", - "USER_CONTENT_MUSIC_FILES", - "USER_CONTENT_VOICE_OR_SOUND_RECORDINGS", - "USER_CONTENT_OTHER_AUDIO_FILES", - "USER_CONTENT_FILES_AND_DOCS", - "USER_CONTENT_GAMEPLAY_DATA", - "USER_CONTENT_CUSTOMER_SUPPORT", - "COOKIES_AND_TRACKING_ELEMENTS", - "BROWSING_HISTORY", - "SEARCH_HISTORY", - "PURCHASE_HISTORY", - "PRODUCT_INTERACTION", - "USER_GENERATED_CONTENT_OTHER", - "IN_APP_ACTIONS_OTHER", - "ADVERTISING", - "APP_CRASH_LOGS", - "APP_DIAGNOSTICS", - "APP_PERFORMANCE_OTHER", - "USER_IDENTIFIERS", - "DEVICE_IDENTIFIERS", - "IP_ADDRESS", - "CONTACTS", - "AUTHENTICATION_DATA", - "CALENDAR_EVENTS_OR_NOTES", - "HEALTH", - "FITNESS", - "LOCATION_PRECISE", - "LOCATION_COARSE", - "LOCATION_GENERAL", - "APPS_ON_DEVICE", - "FINANCIAL_PAYMENT_INFO", - "FINANCIAL_CREDIT_INFO", - "FINANCIAL_OTHER", - "PERSONAL_INFO_RACE_AND_ETHNICITY", - "PERSONAL_INFO_POLITICAL_OR_RELIGIOUS_BELIEFS", - "PERSONAL_INFO_SEXUAL_ORIENTATION", - "PERSONAL_INFO_OTHER", - "GENERIC_PERSONAL_INFORMATION", - "UNSPECIFIED_INFORMATION", - "OTHER_DATA" - ], - "enumDescriptions": [ - "Default value. Checks cannot determine specific data type.", - "Data type on the privacy policy describing Contact Info: name.", - "Data type on the privacy policy describing Contact Info: email address.", - "Data type on the privacy policy describing Contact Info: phone number.", - "Data type on the privacy policy describing Contact Info: mailing address.", - "Data type on the privacy policy describing Contact Info: other.", - "Data type on the privacy policy describing Identity Info: other.", - "Data type on the privacy policy describing User Content: email messages.", - "Data type on the privacy policy describing User Content: text messages.", - "Data type on the privacy policy describing User Content: other in-app messages.", - "Data type on the privacy policy describing User Content: photos.", - "Data type on the privacy policy describing User Content: videos.", - "Data type on the privacy policy describing User Content: music files.", - "Data type on the privacy policy describing User Content: voice or sound recordings.", - "Data type on the privacy policy describing User Content: other audio files.", - "Data type on the privacy policy describing User Content: files or documents.", - "Data type on the privacy policy describing User Content: gameplay data.", - "Data type on the privacy policy describing User Content: customer support.", - "Data type on the privacy policy describing Cookies and other tracking elements, e.g. web beacons.", - "Data type on the privacy policy describing Browsing History.", - "Data type on the privacy policy describing Search History.", - "Data type on the privacy policy describing Purchase History.", - "Data type on the privacy policy describing Product Interaction data.", - "Data type on the privacy policy describing other User Generated Content.", - "Data type on the privacy policy describing other In App Actions.", - "Data type on the privacy policy describing Advertising data.", - "Data type on the privacy policy describing Crash Logs data.", - "Data type on the privacy policy describing App Diagnostics data.", - "Data type on the privacy policy describing other App Performance data.", - "Data type on the privacy policy describing User or account-level IDs.", - "Data type on the privacy policy describing device-level IDs.", - "Data type on the privacy policy describing IP Addresses.", - "Data type on the privacy policy describing Contacts data.", - "Data type on the privacy policy describing Authentication data, e.g. passwords.", - "Data type on the privacy policy describing Calendar events or notes.", - "Data type on the privacy policy describing Health data.", - "Data type on the privacy policy describing Fitness data.", - "Data type on the privacy policy describing Precise Location data.", - "Data type on the privacy policy describing Coarse Location data.", - "Data type on the privacy policy describing general Location data, without specifying precise or coarse.", - "Data type on the privacy policy describing Apps on Device.", - "Data type on the privacy policy describing Financial Payment info.", - "Data type on the privacy policy describing Financial Credit info.", - "Data type on the privacy policy describing Financial other data.", - "Data type on the privacy policy describing a user’s race or ethnicity.", - "Data type on the privacy policy describing a user’s political or religious beliefs.", - "Data type on the privacy policy describing a user’s sexual orientation.", - "Data type on the privacy policy describing Personal Info other.", - "Data type on the privacy policy describing generic personal information, e.g. \"we collection your personal information.\"", - "Data type on the privacy policy describing information in general with no speicific type, e.g. \"we collect information you voluntarily provide.\"", - "Data type on the privacy policy describing specific types of data that are not covered by others labels, or ambiguous cases where no clear type exists, e.g. \"we collect your movement data,\" which could be location, fitness, or even product interaction, depending on the context." - ], - "type": "string" - }, - "endOffset": { - "description": "Byte offsets for the end of the data type sentence inside the full text.", - "format": "int64", - "type": "string" - }, - "score": { - "description": "Score given by the model representing how confident it was regarding this `text_content` being of `data_type`.", - "format": "float", - "type": "number" - }, - "startOffset": { - "description": "Byte offsets for the start of the data type sentence inside the full text.", - "format": "int64", - "type": "string" - }, - "textContent": { - "description": "Actual text content in the section. This makes it much easier to consume the information. NOTE: This field might contain HTML and does not guarantee a SafeHtml security contract go/safehtmltypecontracts#safehtml.", - "type": "string" - } - }, - "type": "object" - }, - "PolicyPurposeOfUseAnnotation": { - "id": "PolicyPurposeOfUseAnnotation", - "properties": { - "endOffset": { - "description": "Byte offsets for the end of the purpose of use sentence inside the full text.", - "format": "int64", - "type": "string" - }, - "purposeOfUse": { - "description": "Purpose of use mentioned in the policy.", - "enum": [ - "PURPOSE_OF_USE_UNSPECIFIED", - "APP_FUNCTIONALITY", - "APP_DIAGNOSTICS_AND_PERFORMANCE", - "FRAUD_PREVENTION_AND_SECURITY", - "PRODUCT_PERSONALIZATION", - "ANALYTICS", - "DEVELOPERS_COMMUNICATION_AND_MARKETING", - "THIRD_PARTY_ADVERTISING", - "GENERAL_ADVERTISING", - "LEGAL_COMPLIANCE", - "MERGERS_AND_ACQUISITIONS", - "OTHER_SPECIFIED_PURPOSE", - "NO_PURPOSE_MENTIONED" - ], - "enumDescriptions": [ - "Default value. Checks cannot determine specific purpose of use.", - "Data is used for general app functions, or interface with the user, e.g. customer support.", - "Data is used for minimizing app crashes, enabling scalability and performance, etc.", - "Data is used for fraud prevention, protecting user accounts, or other security purposes.", - "Data is used for personalizing/customizing what the user sees.", - "Data is used for evaluating user behavior, measuring audience size, etc.", - "Data is used for sending marketing communications directly to your users, notifications, reminders, or update notices.", - "Data is used by a third-party to display ads in the app (or elsewhere).", - "Data is used for displaying ads in the app, or sharing data with entities who display ads.", - "Data is used for compliance with legal obligations, e.g., regulations, government data requests, law enforcement requests in general, etc.", - "If a company/organization merges or is acquired it transfers users' information to another company/organization.", - "Any other specific purposes that are not listed above.", - "The purpose of use is not explicitly stated or unclear." - ], - "type": "string" - }, - "score": { - "description": "Score given by the model representing how confident it was regarding this `text_content` being of `purpose_of_use`.", - "format": "float", - "type": "number" - }, - "startOffset": { - "description": "Byte offsets for the start of the purpose of use sentence inside the full text.", - "format": "int64", - "type": "string" - }, - "textContent": { - "description": "The bytes of actual text content in the sentence that mentions the purpose of use. This makes it much easier to consume the information.", - "type": "string" - } - }, - "type": "object" - }, - "PolicySectionAnnotation": { - "id": "PolicySectionAnnotation", - "properties": { - "endOffset": { - "description": "Byte offsets for the end of the section inside the full text.", - "format": "int64", - "type": "string" - }, - "score": { - "description": "Score given by the model representing how confident it was regarding this `text_content` being of `section_type`.", - "format": "float", - "type": "number" - }, - "sectionType": { - "description": "Detected type of the high-level topic in the policy.", - "enum": [ - "SECTION_TYPE_UNSPECIFIED", - "FIRST_PARTY_COLLECTION", - "FIRST_PARTY_USE", - "THIRD_PARTY_SHARING", - "CHILDREN_RELATED", - "DATA_RETENTION", - "PRIVACY_CONTACT", - "RIGHT_TO_DELETE", - "RIGHT_TO_RESTRICT_PROCESSING", - "RIGHT_TO_ACCESS", - "RIGHT_TO_RECTIFICATION", - "RIGHT_TO_KNOW_ABOUT_SELLING", - "RIGHT_TO_KNOW_ABOUT_SHARING", - "RIGHT_TO_OPT_OUT_FROM_SELLING", - "RIGHT_TO_OPT_OUT_FROM_SHARING", - "METHOD_TO_OPT_OUT_FROM_SELLING_OR_SHARING", - "AUTHORIZED_AGENT", - "CCPA_CPRA_REFERENCE", - "DATA_PROTECTION_OFFICER", - "DATA_CONTROLLER", - "DO_NOT_SELL", - "GDPR_REFERENCE", - "LAWFUL_LEGAL_BASIS", - "PRIVACY_SHIELD", - "RIGHT_TO_LODGE_A_COMPLAINT", - "TRANSFER_MECHANISMS", - "NO_CHILDREN_DATA_COLLECTION", - "NO_CHILDREN_DATA_SHARING", - "CHILDREN_INFORMATION_PUBLICITY", - "PARENTS_METHOD_OF_INFORMATION_DELETION", - "PARENTS_METHOD_TO_INFORMATION_REVIEW", - "PARENTS_METHOD_TO_STOP_FURTHER_INFORMATION_COLLECTION_USE", - "PARENTS_RIGHT_TO_INFORMATION_DELETION", - "PARENTS_RIGHT_TO_INFORMATION_REVIEW", - "PARENTS_RIGHT_TO_STOP_FURTHER_INFORMATION_COLLECTION_USE" - ], - "enumDescriptions": [ - "Default value. Checks cannot determine specific section type.", - "Section of the privacy policy describes 1st party collection practices.", - "Section of the privacy policy describes 1st party use practices.", - "Section of the privacy policy describes 3rd party sharing practices.", - "Section of the privacy policy describing content related to children.", - "Section of the privacy policy describes data retention practices.", - "Section of the privacy policy references privacy contact information.", - "Section of the privacy policy describes users' right of data deletion.", - "Section of the privacy policy about users' right to restrict processing.", - "Section of the privacy policy about users' right to access their data.", - "Section of the privacy policy about users' right to correct inaccuracies.", - "Section of the privacy policy about users' right to know about information selling.", - "Section of the privacy policy about users' right to know about information sharing.", - "Section of the privacy policy about users' right to opt out from information selling.", - "Section of the privacy policy about users' right to opt out from information sharing.", - "Section of the privacy policy about the method to opt out from selling or sharing.", - "Section of the privacy policy about the authorized agent designated by user.", - "Section of the privacy policy about the mentions of the CCPA or CPRA.", - "Section of the privacy policy about the mentions of data protection officer (DPO).", - "Section of the privacy policy about the mentions of a data controller.", - "Section of the privacy policy stating that the company does not sell data in general (or as defined by the CCPA), without exceptions.", - "Section of the privacy policy about the mentions of the GDPR (General Data Protection Regulation).", - "Section of the privacy policy about lawful/legal basis for data processing.", - "Section of the privacy policy about the Privacy Shielf framework.", - "Section of the privacy policy about the right to lodge a complaint with a supervisory authority.", - "Section of the privacy policy about transfer mechanisms of data from the EU to third countries", - "Section of the privacy policy stating that the company does not collect data from children.", - "Section of the privacy policy stating that the company does not share data from children.", - "Section of the privacy policy stating whether the app allows children to make their personal information publicly available.", - "Section of the privacy policy stating to parents/caregivers/guardians how they can request the deletion of their child's personal information.", - "Section of the privacy policy stating to parents/guardians/caregivers how they can review their child's personal information.", - "Section of the privacy policy stating to parents/caregivers/guardians how they can stop the further collection or use of their child's personal information.", - "Section of the privacy policy stating that a parent/caregiver/guardian has the right to request the deletion of their child's personal. information.", - "Section of the privacy policy stating to parents/guardians/caregivers that they have a right to review their child's personal information.", - "Section of the privacy policy stating to parents/caregivers/guardians that they have the right to stop the further collection or use of their child's personal information." - ], - "type": "string" - }, - "startOffset": { - "description": "Byte offsets for the start of the section inside the full text.", - "format": "int64", - "type": "string" - }, - "textContent": { - "description": "Actual text content in the section.", - "type": "string" - } - }, - "type": "object" - }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", "id": "Status", diff --git a/checks/v1alpha/checks-gen.go b/checks/v1alpha/checks-gen.go index 5ad50699e40..b1e94053f85 100644 --- a/checks/v1alpha/checks-gen.go +++ b/checks/v1alpha/checks-gen.go @@ -122,8 +122,6 @@ func New(client *http.Client) (*Service, error) { s := &Service{client: client, BasePath: basePath} s.Accounts = NewAccountsService(s) s.Media = NewMediaService(s) - s.Privacypolicy = NewPrivacypolicyService(s) - s.Projects = NewProjectsService(s) return s, nil } @@ -135,10 +133,6 @@ type Service struct { Accounts *AccountsService Media *MediaService - - Privacypolicy *PrivacypolicyService - - Projects *ProjectsService } func (s *Service) userAgent() string { @@ -202,188 +196,11 @@ type MediaService struct { s *Service } -func NewPrivacypolicyService(s *Service) *PrivacypolicyService { - rs := &PrivacypolicyService{s: s} - return rs -} - -type PrivacypolicyService struct { - s *Service -} - -func NewProjectsService(s *Service) *ProjectsService { - rs := &ProjectsService{s: s} - rs.Privacypolicy = NewProjectsPrivacypolicyService(s) - return rs -} - -type ProjectsService struct { - s *Service - - Privacypolicy *ProjectsPrivacypolicyService -} - -func NewProjectsPrivacypolicyService(s *Service) *ProjectsPrivacypolicyService { - rs := &ProjectsPrivacypolicyService{s: s} - rs.Operations = NewProjectsPrivacypolicyOperationsService(s) - return rs -} - -type ProjectsPrivacypolicyService struct { - s *Service - - Operations *ProjectsPrivacypolicyOperationsService -} - -func NewProjectsPrivacypolicyOperationsService(s *Service) *ProjectsPrivacypolicyOperationsService { - rs := &ProjectsPrivacypolicyOperationsService{s: s} - return rs -} - -type ProjectsPrivacypolicyOperationsService struct { - s *Service -} - -// AnalyzePrivacyPolicyRequest: Request for the AnalyzePrivacyPolicy -// method. -type AnalyzePrivacyPolicyRequest struct { - // PrivacyPolicyPageContent: The HTML content of the privacy policy. - // This is useful if you'd like to manage the crawling and rendering of - // the privacy policy. - PrivacyPolicyPageContent string `json:"privacyPolicyPageContent,omitempty"` - - // PrivacyPolicyUri: The URI that points to the web page for the privacy - // policy. - PrivacyPolicyUri string `json:"privacyPolicyUri,omitempty"` - - // ForceSendFields is a list of field names (e.g. - // "PrivacyPolicyPageContent") 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. "PrivacyPolicyPageContent") - // 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 *AnalyzePrivacyPolicyRequest) MarshalJSON() ([]byte, error) { - type NoMethod AnalyzePrivacyPolicyRequest - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -// AnalyzePrivacyPolicyResponse: Response containing the analyzed -// privacy policy for the AnalyzePrivacyPolicy method. -type AnalyzePrivacyPolicyResponse struct { - // DataPurposeAnnotations: A list of detected purposes in the privacy - // policy. - DataPurposeAnnotations []*PolicyPurposeOfUseAnnotation `json:"dataPurposeAnnotations,omitempty"` - - // DataTypeAnnotations: A list of detected data types in the privacy - // policy. - DataTypeAnnotations []*PolicyDataTypeAnnotation `json:"dataTypeAnnotations,omitempty"` - - // HtmlContent: HTML content for the privacy policy page. The byte - // offsets in each annotated section will match this content. - HtmlContent string `json:"htmlContent,omitempty"` - - // LastUpdatedDateInfo: Information about the date when the privacy - // policy was last updated. - LastUpdatedDateInfo *LastUpdatedDate `json:"lastUpdatedDateInfo,omitempty"` - - // SectionAnnotations: A list of detected topics in the privacy policy. - SectionAnnotations []*PolicySectionAnnotation `json:"sectionAnnotations,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. - // "DataPurposeAnnotations") 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. "DataPurposeAnnotations") - // 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 *AnalyzePrivacyPolicyResponse) MarshalJSON() ([]byte, error) { - type NoMethod AnalyzePrivacyPolicyResponse - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // CancelOperationRequest: The request message for // Operations.CancelOperation. type CancelOperationRequest struct { } -// Date: Represents a whole or partial calendar date, such as a -// birthday. The time of day and time zone are either specified -// elsewhere or are insignificant. The date is relative to the Gregorian -// Calendar. This can represent one of the following: * A full date, -// with non-zero year, month, and day values. * A month and day, with a -// zero year (for example, an anniversary). * A year on its own, with a -// zero month and a zero day. * A year and month, with a zero day (for -// example, a credit card expiration date). Related types: * -// google.type.TimeOfDay * google.type.DateTime * -// google.protobuf.Timestamp -type Date struct { - // Day: Day of a month. Must be from 1 to 31 and valid for the year and - // month, or 0 to specify a year by itself or a year and month where the - // day isn't significant. - Day int64 `json:"day,omitempty"` - - // Month: Month of a year. Must be from 1 to 12, or 0 to specify a year - // without a month and day. - Month int64 `json:"month,omitempty"` - - // Year: Year of the date. Must be from 1 to 9999, or 0 to specify a - // date without a year. - Year int64 `json:"year,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Day") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. 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. "Day") 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 *Date) MarshalJSON() ([]byte, error) { - type NoMethod Date - 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 @@ -395,35 +212,6 @@ type Empty struct { googleapi.ServerResponse `json:"-"` } -// FindPrivacyPolicyResponse: Response containing the analyzed privacy -// policy for the FindPrivacyPolicy method. -type FindPrivacyPolicyResponse struct { - // PrivacyPolicy: Resource name of the PrivacyPolicy that was found. - PrivacyPolicy string `json:"privacyPolicy,omitempty"` - - // ForceSendFields is a list of field names (e.g. "PrivacyPolicy") 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. "PrivacyPolicy") 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 *FindPrivacyPolicyResponse) MarshalJSON() ([]byte, error) { - type NoMethod FindPrivacyPolicyResponse - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // GoogleChecksAccountV1alphaApp: Represents an app in Checks. type GoogleChecksAccountV1alphaApp struct { // Name: The resource name of the app. Example: `accounts/123/apps/456` @@ -2266,48 +2054,6 @@ func (s *GoogleChecksReportV1alphaSdk) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// LastUpdatedDate: Information about the date when the privacy policy -// was last updated. -type LastUpdatedDate struct { - // EndOffset: Byte offsets for the end of the date text inside the full - // text. - EndOffset int64 `json:"endOffset,omitempty,string"` - - // LastUpdatedDate: Date when the privacy policy was last updated. - LastUpdatedDate *Date `json:"lastUpdatedDate,omitempty"` - - // StartOffset: Byte offsets for the start of the date text inside the - // full text. - StartOffset int64 `json:"startOffset,omitempty,string"` - - // TextContent: The bytes of actual text content in the section. Note: - - // This will correspond to the whole sentence that includes the date. - - // This field might contain HTML and it is not sanitized. - TextContent string `json:"textContent,omitempty"` - - // ForceSendFields is a list of field names (e.g. "EndOffset") 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. "EndOffset") 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 *LastUpdatedDate) MarshalJSON() ([]byte, error) { - type NoMethod LastUpdatedDate - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // ListOperationsResponse: The response message for // Operations.ListOperations. type ListOperationsResponse struct { @@ -2407,400 +2153,6 @@ func (s *Operation) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type PolicyDataTypeAnnotation struct { - // DataType: Type of the data mentioned in the policy. - // - // Possible values: - // "DATA_TYPE_UNSPECIFIED" - Default value. Checks cannot determine - // specific data type. - // "CONTACT_INFO_NAME" - Data type on the privacy policy describing - // Contact Info: name. - // "CONTACT_INFO_EMAIL_ADDRESS" - Data type on the privacy policy - // describing Contact Info: email address. - // "CONTACT_INFO_PHONE_NUMBER" - Data type on the privacy policy - // describing Contact Info: phone number. - // "CONTACT_INFO_MAILING_ADDRESS" - Data type on the privacy policy - // describing Contact Info: mailing address. - // "CONTACT_INFO_OTHER" - Data type on the privacy policy describing - // Contact Info: other. - // "IDENTITY_INFO_OTHER" - Data type on the privacy policy describing - // Identity Info: other. - // "USER_CONTENT_EMAIL_MESSAGES" - Data type on the privacy policy - // describing User Content: email messages. - // "USER_CONTENT_TEXT_MESSAGES" - Data type on the privacy policy - // describing User Content: text messages. - // "USER_CONTENT_OTHER_IN_APP_MESSAGES" - Data type on the privacy - // policy describing User Content: other in-app messages. - // "USER_CONTENT_PHOTOS" - Data type on the privacy policy describing - // User Content: photos. - // "USER_CONTENT_VIDEOS" - Data type on the privacy policy describing - // User Content: videos. - // "USER_CONTENT_MUSIC_FILES" - Data type on the privacy policy - // describing User Content: music files. - // "USER_CONTENT_VOICE_OR_SOUND_RECORDINGS" - Data type on the privacy - // policy describing User Content: voice or sound recordings. - // "USER_CONTENT_OTHER_AUDIO_FILES" - Data type on the privacy policy - // describing User Content: other audio files. - // "USER_CONTENT_FILES_AND_DOCS" - Data type on the privacy policy - // describing User Content: files or documents. - // "USER_CONTENT_GAMEPLAY_DATA" - Data type on the privacy policy - // describing User Content: gameplay data. - // "USER_CONTENT_CUSTOMER_SUPPORT" - Data type on the privacy policy - // describing User Content: customer support. - // "COOKIES_AND_TRACKING_ELEMENTS" - Data type on the privacy policy - // describing Cookies and other tracking elements, e.g. web beacons. - // "BROWSING_HISTORY" - Data type on the privacy policy describing - // Browsing History. - // "SEARCH_HISTORY" - Data type on the privacy policy describing - // Search History. - // "PURCHASE_HISTORY" - Data type on the privacy policy describing - // Purchase History. - // "PRODUCT_INTERACTION" - Data type on the privacy policy describing - // Product Interaction data. - // "USER_GENERATED_CONTENT_OTHER" - Data type on the privacy policy - // describing other User Generated Content. - // "IN_APP_ACTIONS_OTHER" - Data type on the privacy policy describing - // other In App Actions. - // "ADVERTISING" - Data type on the privacy policy describing - // Advertising data. - // "APP_CRASH_LOGS" - Data type on the privacy policy describing Crash - // Logs data. - // "APP_DIAGNOSTICS" - Data type on the privacy policy describing App - // Diagnostics data. - // "APP_PERFORMANCE_OTHER" - Data type on the privacy policy - // describing other App Performance data. - // "USER_IDENTIFIERS" - Data type on the privacy policy describing - // User or account-level IDs. - // "DEVICE_IDENTIFIERS" - Data type on the privacy policy describing - // device-level IDs. - // "IP_ADDRESS" - Data type on the privacy policy describing IP - // Addresses. - // "CONTACTS" - Data type on the privacy policy describing Contacts - // data. - // "AUTHENTICATION_DATA" - Data type on the privacy policy describing - // Authentication data, e.g. passwords. - // "CALENDAR_EVENTS_OR_NOTES" - Data type on the privacy policy - // describing Calendar events or notes. - // "HEALTH" - Data type on the privacy policy describing Health data. - // "FITNESS" - Data type on the privacy policy describing Fitness - // data. - // "LOCATION_PRECISE" - Data type on the privacy policy describing - // Precise Location data. - // "LOCATION_COARSE" - Data type on the privacy policy describing - // Coarse Location data. - // "LOCATION_GENERAL" - Data type on the privacy policy describing - // general Location data, without specifying precise or coarse. - // "APPS_ON_DEVICE" - Data type on the privacy policy describing Apps - // on Device. - // "FINANCIAL_PAYMENT_INFO" - Data type on the privacy policy - // describing Financial Payment info. - // "FINANCIAL_CREDIT_INFO" - Data type on the privacy policy - // describing Financial Credit info. - // "FINANCIAL_OTHER" - Data type on the privacy policy describing - // Financial other data. - // "PERSONAL_INFO_RACE_AND_ETHNICITY" - Data type on the privacy - // policy describing a user’s race or ethnicity. - // "PERSONAL_INFO_POLITICAL_OR_RELIGIOUS_BELIEFS" - Data type on the - // privacy policy describing a user’s political or religious beliefs. - // "PERSONAL_INFO_SEXUAL_ORIENTATION" - Data type on the privacy - // policy describing a user’s sexual orientation. - // "PERSONAL_INFO_OTHER" - Data type on the privacy policy describing - // Personal Info other. - // "GENERIC_PERSONAL_INFORMATION" - Data type on the privacy policy - // describing generic personal information, e.g. "we collection your - // personal information." - // "UNSPECIFIED_INFORMATION" - Data type on the privacy policy - // describing information in general with no speicific type, e.g. "we - // collect information you voluntarily provide." - // "OTHER_DATA" - Data type on the privacy policy describing specific - // types of data that are not covered by others labels, or ambiguous - // cases where no clear type exists, e.g. "we collect your movement - // data," which could be location, fitness, or even product interaction, - // depending on the context. - DataType string `json:"dataType,omitempty"` - - // EndOffset: Byte offsets for the end of the data type sentence inside - // the full text. - EndOffset int64 `json:"endOffset,omitempty,string"` - - // Score: Score given by the model representing how confident it was - // regarding this `text_content` being of `data_type`. - Score float64 `json:"score,omitempty"` - - // StartOffset: Byte offsets for the start of the data type sentence - // inside the full text. - StartOffset int64 `json:"startOffset,omitempty,string"` - - // TextContent: Actual text content in the section. This makes it much - // easier to consume the information. NOTE: This field might contain - // HTML and does not guarantee a SafeHtml security contract - // go/safehtmltypecontracts#safehtml. - TextContent string `json:"textContent,omitempty"` - - // ForceSendFields is a list of field names (e.g. "DataType") 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. "DataType") 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 *PolicyDataTypeAnnotation) MarshalJSON() ([]byte, error) { - type NoMethod PolicyDataTypeAnnotation - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -func (s *PolicyDataTypeAnnotation) UnmarshalJSON(data []byte) error { - type NoMethod PolicyDataTypeAnnotation - var s1 struct { - Score gensupport.JSONFloat64 `json:"score"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Score = float64(s1.Score) - return nil -} - -type PolicyPurposeOfUseAnnotation struct { - // EndOffset: Byte offsets for the end of the purpose of use sentence - // inside the full text. - EndOffset int64 `json:"endOffset,omitempty,string"` - - // PurposeOfUse: Purpose of use mentioned in the policy. - // - // Possible values: - // "PURPOSE_OF_USE_UNSPECIFIED" - Default value. Checks cannot - // determine specific purpose of use. - // "APP_FUNCTIONALITY" - Data is used for general app functions, or - // interface with the user, e.g. customer support. - // "APP_DIAGNOSTICS_AND_PERFORMANCE" - Data is used for minimizing app - // crashes, enabling scalability and performance, etc. - // "FRAUD_PREVENTION_AND_SECURITY" - Data is used for fraud - // prevention, protecting user accounts, or other security purposes. - // "PRODUCT_PERSONALIZATION" - Data is used for - // personalizing/customizing what the user sees. - // "ANALYTICS" - Data is used for evaluating user behavior, measuring - // audience size, etc. - // "DEVELOPERS_COMMUNICATION_AND_MARKETING" - Data is used for sending - // marketing communications directly to your users, notifications, - // reminders, or update notices. - // "THIRD_PARTY_ADVERTISING" - Data is used by a third-party to - // display ads in the app (or elsewhere). - // "GENERAL_ADVERTISING" - Data is used for displaying ads in the app, - // or sharing data with entities who display ads. - // "LEGAL_COMPLIANCE" - Data is used for compliance with legal - // obligations, e.g., regulations, government data requests, law - // enforcement requests in general, etc. - // "MERGERS_AND_ACQUISITIONS" - If a company/organization merges or is - // acquired it transfers users' information to another - // company/organization. - // "OTHER_SPECIFIED_PURPOSE" - Any other specific purposes that are - // not listed above. - // "NO_PURPOSE_MENTIONED" - The purpose of use is not explicitly - // stated or unclear. - PurposeOfUse string `json:"purposeOfUse,omitempty"` - - // Score: Score given by the model representing how confident it was - // regarding this `text_content` being of `purpose_of_use`. - Score float64 `json:"score,omitempty"` - - // StartOffset: Byte offsets for the start of the purpose of use - // sentence inside the full text. - StartOffset int64 `json:"startOffset,omitempty,string"` - - // TextContent: The bytes of actual text content in the sentence that - // mentions the purpose of use. This makes it much easier to consume the - // information. - TextContent string `json:"textContent,omitempty"` - - // ForceSendFields is a list of field names (e.g. "EndOffset") 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. "EndOffset") 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 *PolicyPurposeOfUseAnnotation) MarshalJSON() ([]byte, error) { - type NoMethod PolicyPurposeOfUseAnnotation - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -func (s *PolicyPurposeOfUseAnnotation) UnmarshalJSON(data []byte) error { - type NoMethod PolicyPurposeOfUseAnnotation - var s1 struct { - Score gensupport.JSONFloat64 `json:"score"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Score = float64(s1.Score) - return nil -} - -type PolicySectionAnnotation struct { - // EndOffset: Byte offsets for the end of the section inside the full - // text. - EndOffset int64 `json:"endOffset,omitempty,string"` - - // Score: Score given by the model representing how confident it was - // regarding this `text_content` being of `section_type`. - Score float64 `json:"score,omitempty"` - - // SectionType: Detected type of the high-level topic in the policy. - // - // Possible values: - // "SECTION_TYPE_UNSPECIFIED" - Default value. Checks cannot determine - // specific section type. - // "FIRST_PARTY_COLLECTION" - Section of the privacy policy describes - // 1st party collection practices. - // "FIRST_PARTY_USE" - Section of the privacy policy describes 1st - // party use practices. - // "THIRD_PARTY_SHARING" - Section of the privacy policy describes 3rd - // party sharing practices. - // "CHILDREN_RELATED" - Section of the privacy policy describing - // content related to children. - // "DATA_RETENTION" - Section of the privacy policy describes data - // retention practices. - // "PRIVACY_CONTACT" - Section of the privacy policy references - // privacy contact information. - // "RIGHT_TO_DELETE" - Section of the privacy policy describes users' - // right of data deletion. - // "RIGHT_TO_RESTRICT_PROCESSING" - Section of the privacy policy - // about users' right to restrict processing. - // "RIGHT_TO_ACCESS" - Section of the privacy policy about users' - // right to access their data. - // "RIGHT_TO_RECTIFICATION" - Section of the privacy policy about - // users' right to correct inaccuracies. - // "RIGHT_TO_KNOW_ABOUT_SELLING" - Section of the privacy policy about - // users' right to know about information selling. - // "RIGHT_TO_KNOW_ABOUT_SHARING" - Section of the privacy policy about - // users' right to know about information sharing. - // "RIGHT_TO_OPT_OUT_FROM_SELLING" - Section of the privacy policy - // about users' right to opt out from information selling. - // "RIGHT_TO_OPT_OUT_FROM_SHARING" - Section of the privacy policy - // about users' right to opt out from information sharing. - // "METHOD_TO_OPT_OUT_FROM_SELLING_OR_SHARING" - Section of the - // privacy policy about the method to opt out from selling or sharing. - // "AUTHORIZED_AGENT" - Section of the privacy policy about the - // authorized agent designated by user. - // "CCPA_CPRA_REFERENCE" - Section of the privacy policy about the - // mentions of the CCPA or CPRA. - // "DATA_PROTECTION_OFFICER" - Section of the privacy policy about the - // mentions of data protection officer (DPO). - // "DATA_CONTROLLER" - Section of the privacy policy about the - // mentions of a data controller. - // "DO_NOT_SELL" - Section of the privacy policy stating that the - // company does not sell data in general (or as defined by the CCPA), - // without exceptions. - // "GDPR_REFERENCE" - Section of the privacy policy about the mentions - // of the GDPR (General Data Protection Regulation). - // "LAWFUL_LEGAL_BASIS" - Section of the privacy policy about - // lawful/legal basis for data processing. - // "PRIVACY_SHIELD" - Section of the privacy policy about the Privacy - // Shielf framework. - // "RIGHT_TO_LODGE_A_COMPLAINT" - Section of the privacy policy about - // the right to lodge a complaint with a supervisory authority. - // "TRANSFER_MECHANISMS" - Section of the privacy policy about - // transfer mechanisms of data from the EU to third countries - // "NO_CHILDREN_DATA_COLLECTION" - Section of the privacy policy - // stating that the company does not collect data from children. - // "NO_CHILDREN_DATA_SHARING" - Section of the privacy policy stating - // that the company does not share data from children. - // "CHILDREN_INFORMATION_PUBLICITY" - Section of the privacy policy - // stating whether the app allows children to make their personal - // information publicly available. - // "PARENTS_METHOD_OF_INFORMATION_DELETION" - Section of the privacy - // policy stating to parents/caregivers/guardians how they can request - // the deletion of their child's personal information. - // "PARENTS_METHOD_TO_INFORMATION_REVIEW" - Section of the privacy - // policy stating to parents/guardians/caregivers how they can review - // their child's personal information. - // "PARENTS_METHOD_TO_STOP_FURTHER_INFORMATION_COLLECTION_USE" - - // Section of the privacy policy stating to parents/caregivers/guardians - // how they can stop the further collection or use of their child's - // personal information. - // "PARENTS_RIGHT_TO_INFORMATION_DELETION" - Section of the privacy - // policy stating that a parent/caregiver/guardian has the right to - // request the deletion of their child's personal. information. - // "PARENTS_RIGHT_TO_INFORMATION_REVIEW" - Section of the privacy - // policy stating to parents/guardians/caregivers that they have a right - // to review their child's personal information. - // "PARENTS_RIGHT_TO_STOP_FURTHER_INFORMATION_COLLECTION_USE" - - // Section of the privacy policy stating to parents/caregivers/guardians - // that they have the right to stop the further collection or use of - // their child's personal information. - SectionType string `json:"sectionType,omitempty"` - - // StartOffset: Byte offsets for the start of the section inside the - // full text. - StartOffset int64 `json:"startOffset,omitempty,string"` - - // TextContent: Actual text content in the section. - TextContent string `json:"textContent,omitempty"` - - // ForceSendFields is a list of field names (e.g. "EndOffset") 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. "EndOffset") 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 *PolicySectionAnnotation) MarshalJSON() ([]byte, error) { - type NoMethod PolicySectionAnnotation - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -func (s *PolicySectionAnnotation) UnmarshalJSON(data []byte) error { - type NoMethod PolicySectionAnnotation - var s1 struct { - Score gensupport.JSONFloat64 `json:"score"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Score = float64(s1.Score) - return nil -} - // Status: The `Status` type defines a logical error model that is // suitable for different programming environments, including REST APIs // and RPC APIs. It is used by gRPC (https://github.com/grpc). Each @@ -4612,898 +3964,3 @@ func (c *MediaUploadCall) Do(opts ...googleapi.CallOption) (*Operation, error) { // } } - -// method id "checks.privacypolicy.analyze": - -type PrivacypolicyAnalyzeCall struct { - s *Service - analyzeprivacypolicyrequest *AnalyzePrivacyPolicyRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// Analyze: Performs a synchronous analysis of a privacy policy, where -// the policy content is mapped to privacy categories, data types, and -// purposes. -func (r *PrivacypolicyService) Analyze(analyzeprivacypolicyrequest *AnalyzePrivacyPolicyRequest) *PrivacypolicyAnalyzeCall { - c := &PrivacypolicyAnalyzeCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.analyzeprivacypolicyrequest = analyzeprivacypolicyrequest - 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 *PrivacypolicyAnalyzeCall) Fields(s ...googleapi.Field) *PrivacypolicyAnalyzeCall { - 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 *PrivacypolicyAnalyzeCall) Context(ctx context.Context) *PrivacypolicyAnalyzeCall { - 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 *PrivacypolicyAnalyzeCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *PrivacypolicyAnalyzeCall) 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.analyzeprivacypolicyrequest) - 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/privacypolicy:analyze") - 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 "checks.privacypolicy.analyze" call. -// Exactly one of *AnalyzePrivacyPolicyResponse or error will be -// non-nil. Any non-2xx status code is an error. Response headers are in -// either *AnalyzePrivacyPolicyResponse.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 *PrivacypolicyAnalyzeCall) Do(opts ...googleapi.CallOption) (*AnalyzePrivacyPolicyResponse, error) { - gensupport.SetOptions(c.urlParams_, opts...) - res, err := c.doRequest("json") - if res != nil && res.StatusCode == http.StatusNotModified { - if res.Body != nil { - res.Body.Close() - } - return nil, gensupport.WrapError(&googleapi.Error{ - Code: res.StatusCode, - Header: res.Header, - }) - } - if err != nil { - return nil, err - } - defer googleapi.CloseBody(res) - if err := googleapi.CheckResponse(res); err != nil { - return nil, gensupport.WrapError(err) - } - ret := &AnalyzePrivacyPolicyResponse{ - 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 synchronous analysis of a privacy policy, where the policy content is mapped to privacy categories, data types, and purposes.", - // "flatPath": "v1alpha/privacypolicy:analyze", - // "httpMethod": "POST", - // "id": "checks.privacypolicy.analyze", - // "parameterOrder": [], - // "parameters": {}, - // "path": "v1alpha/privacypolicy:analyze", - // "request": { - // "$ref": "AnalyzePrivacyPolicyRequest" - // }, - // "response": { - // "$ref": "AnalyzePrivacyPolicyResponse" - // } - // } - -} - -// method id "checks.projects.privacypolicy.operations.cancel": - -type ProjectsPrivacypolicyOperationsCancelCall struct { - s *Service - name string - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// Cancel: Starts asynchronous cancellation on a long-running operation. -// The server makes a best effort to cancel the operation, but success -// is not guaranteed. If the server doesn't support this method, it -// returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use -// Operations.GetOperation or other methods to check whether the -// cancellation succeeded or whether the operation completed despite -// cancellation. On successful cancellation, the operation is not -// deleted; instead, it becomes an operation with an Operation.error -// value with a google.rpc.Status.code of 1, corresponding to -// `Code.CANCELLED`. -// -// - name: The name of the operation resource to be cancelled. -func (r *ProjectsPrivacypolicyOperationsService) Cancel(name string) *ProjectsPrivacypolicyOperationsCancelCall { - c := &ProjectsPrivacypolicyOperationsCancelCall{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 *ProjectsPrivacypolicyOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsPrivacypolicyOperationsCancelCall { - 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 *ProjectsPrivacypolicyOperationsCancelCall) Context(ctx context.Context) *ProjectsPrivacypolicyOperationsCancelCall { - 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 *ProjectsPrivacypolicyOperationsCancelCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsPrivacypolicyOperationsCancelCall) 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}:cancel") - urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("POST", urls, body) - if err != nil { - return nil, err - } - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "name": c.name, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "checks.projects.privacypolicy.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 *ProjectsPrivacypolicyOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) { - gensupport.SetOptions(c.urlParams_, opts...) - res, err := c.doRequest("json") - if res != nil && res.StatusCode == http.StatusNotModified { - if res.Body != nil { - res.Body.Close() - } - return nil, gensupport.WrapError(&googleapi.Error{ - Code: res.StatusCode, - Header: res.Header, - }) - } - if err != nil { - return nil, err - } - defer googleapi.CloseBody(res) - if err := googleapi.CheckResponse(res); err != nil { - return nil, gensupport.WrapError(err) - } - ret := &Empty{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := gensupport.DecodeResponse(target, res); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", - // "flatPath": "v1alpha/projects/{projectsId}/privacypolicy/operations/{operationsId}:cancel", - // "httpMethod": "POST", - // "id": "checks.projects.privacypolicy.operations.cancel", - // "parameterOrder": [ - // "name" - // ], - // "parameters": { - // "name": { - // "description": "The name of the operation resource to be cancelled.", - // "location": "path", - // "pattern": "^projects/[^/]+/privacypolicy/operations/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1alpha/{+name}:cancel", - // "response": { - // "$ref": "Empty" - // } - // } - -} - -// method id "checks.projects.privacypolicy.operations.delete": - -type ProjectsPrivacypolicyOperationsDeleteCall struct { - s *Service - name string - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// Delete: Deletes a long-running operation. This method indicates that -// the client is no longer interested in the operation result. It does -// not cancel the operation. If the server doesn't support this method, -// it returns `google.rpc.Code.UNIMPLEMENTED`. -// -// - name: The name of the operation resource to be deleted. -func (r *ProjectsPrivacypolicyOperationsService) Delete(name string) *ProjectsPrivacypolicyOperationsDeleteCall { - c := &ProjectsPrivacypolicyOperationsDeleteCall{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 *ProjectsPrivacypolicyOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsPrivacypolicyOperationsDeleteCall { - 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 *ProjectsPrivacypolicyOperationsDeleteCall) Context(ctx context.Context) *ProjectsPrivacypolicyOperationsDeleteCall { - 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 *ProjectsPrivacypolicyOperationsDeleteCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsPrivacypolicyOperationsDeleteCall) 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 "checks.projects.privacypolicy.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 -// *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 *ProjectsPrivacypolicyOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error) { - gensupport.SetOptions(c.urlParams_, opts...) - res, err := c.doRequest("json") - if res != nil && res.StatusCode == http.StatusNotModified { - if res.Body != nil { - res.Body.Close() - } - return nil, gensupport.WrapError(&googleapi.Error{ - Code: res.StatusCode, - Header: res.Header, - }) - } - if err != nil { - return nil, err - } - defer googleapi.CloseBody(res) - if err := googleapi.CheckResponse(res); err != nil { - return nil, gensupport.WrapError(err) - } - ret := &Empty{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := gensupport.DecodeResponse(target, res); err != nil { - return nil, err - } - return ret, nil - // { - // "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": "v1alpha/projects/{projectsId}/privacypolicy/operations/{operationsId}", - // "httpMethod": "DELETE", - // "id": "checks.projects.privacypolicy.operations.delete", - // "parameterOrder": [ - // "name" - // ], - // "parameters": { - // "name": { - // "description": "The name of the operation resource to be deleted.", - // "location": "path", - // "pattern": "^projects/[^/]+/privacypolicy/operations/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1alpha/{+name}", - // "response": { - // "$ref": "Empty" - // } - // } - -} - -// method id "checks.projects.privacypolicy.operations.get": - -type ProjectsPrivacypolicyOperationsGetCall struct { - s *Service - name string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - 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. -// -// - name: The name of the operation resource. -func (r *ProjectsPrivacypolicyOperationsService) Get(name string) *ProjectsPrivacypolicyOperationsGetCall { - c := &ProjectsPrivacypolicyOperationsGetCall{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 *ProjectsPrivacypolicyOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsPrivacypolicyOperationsGetCall { - 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 *ProjectsPrivacypolicyOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsPrivacypolicyOperationsGetCall { - 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 *ProjectsPrivacypolicyOperationsGetCall) Context(ctx context.Context) *ProjectsPrivacypolicyOperationsGetCall { - 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 *ProjectsPrivacypolicyOperationsGetCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsPrivacypolicyOperationsGetCall) 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 "checks.projects.privacypolicy.operations.get" 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 *ProjectsPrivacypolicyOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { - gensupport.SetOptions(c.urlParams_, opts...) - res, err := c.doRequest("json") - if res != nil && res.StatusCode == http.StatusNotModified { - if res.Body != nil { - res.Body.Close() - } - return nil, gensupport.WrapError(&googleapi.Error{ - Code: res.StatusCode, - Header: res.Header, - }) - } - if err != nil { - return nil, err - } - defer googleapi.CloseBody(res) - if err := googleapi.CheckResponse(res); err != nil { - return nil, gensupport.WrapError(err) - } - ret := &Operation{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := gensupport.DecodeResponse(target, res); err != nil { - return nil, err - } - 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": "v1alpha/projects/{projectsId}/privacypolicy/operations/{operationsId}", - // "httpMethod": "GET", - // "id": "checks.projects.privacypolicy.operations.get", - // "parameterOrder": [ - // "name" - // ], - // "parameters": { - // "name": { - // "description": "The name of the operation resource.", - // "location": "path", - // "pattern": "^projects/[^/]+/privacypolicy/operations/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1alpha/{+name}", - // "response": { - // "$ref": "Operation" - // } - // } - -} - -// method id "checks.projects.privacypolicy.operations.list": - -type ProjectsPrivacypolicyOperationsListCall 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`. -// -// - name: The name of the operation's parent resource. -func (r *ProjectsPrivacypolicyOperationsService) List(name string) *ProjectsPrivacypolicyOperationsListCall { - c := &ProjectsPrivacypolicyOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name - return c -} - -// Filter sets the optional parameter "filter": The standard list -// filter. -func (c *ProjectsPrivacypolicyOperationsListCall) Filter(filter string) *ProjectsPrivacypolicyOperationsListCall { - c.urlParams_.Set("filter", filter) - return c -} - -// PageSize sets the optional parameter "pageSize": The standard list -// page size. -func (c *ProjectsPrivacypolicyOperationsListCall) PageSize(pageSize int64) *ProjectsPrivacypolicyOperationsListCall { - c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) - return c -} - -// PageToken sets the optional parameter "pageToken": The standard list -// page token. -func (c *ProjectsPrivacypolicyOperationsListCall) PageToken(pageToken string) *ProjectsPrivacypolicyOperationsListCall { - 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 *ProjectsPrivacypolicyOperationsListCall) Fields(s ...googleapi.Field) *ProjectsPrivacypolicyOperationsListCall { - 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 *ProjectsPrivacypolicyOperationsListCall) IfNoneMatch(entityTag string) *ProjectsPrivacypolicyOperationsListCall { - 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 *ProjectsPrivacypolicyOperationsListCall) Context(ctx context.Context) *ProjectsPrivacypolicyOperationsListCall { - 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 *ProjectsPrivacypolicyOperationsListCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsPrivacypolicyOperationsListCall) 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}/privacypolicy/operations") - 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 "checks.projects.privacypolicy.operations.list" call. -// Exactly one of *ListOperationsResponse or error will be non-nil. Any -// non-2xx status code is an error. Response headers are in either -// *ListOperationsResponse.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 *ProjectsPrivacypolicyOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) { - gensupport.SetOptions(c.urlParams_, opts...) - res, err := c.doRequest("json") - if res != nil && res.StatusCode == http.StatusNotModified { - if res.Body != nil { - res.Body.Close() - } - return nil, gensupport.WrapError(&googleapi.Error{ - Code: res.StatusCode, - Header: res.Header, - }) - } - if err != nil { - return nil, err - } - defer googleapi.CloseBody(res) - if err := googleapi.CheckResponse(res); err != nil { - return nil, gensupport.WrapError(err) - } - ret := &ListOperationsResponse{ - 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 operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", - // "flatPath": "v1alpha/projects/{projectsId}/privacypolicy/operations", - // "httpMethod": "GET", - // "id": "checks.projects.privacypolicy.operations.list", - // "parameterOrder": [ - // "name" - // ], - // "parameters": { - // "filter": { - // "description": "The standard list filter.", - // "location": "query", - // "type": "string" - // }, - // "name": { - // "description": "The name of the operation's parent resource.", - // "location": "path", - // "pattern": "^projects/[^/]+$", - // "required": true, - // "type": "string" - // }, - // "pageSize": { - // "description": "The standard list page size.", - // "format": "int32", - // "location": "query", - // "type": "integer" - // }, - // "pageToken": { - // "description": "The standard list page token.", - // "location": "query", - // "type": "string" - // } - // }, - // "path": "v1alpha/{+name}/privacypolicy/operations", - // "response": { - // "$ref": "ListOperationsResponse" - // } - // } - -} - -// 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 *ProjectsPrivacypolicyOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) 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 "checks.projects.privacypolicy.operations.wait": - -type ProjectsPrivacypolicyOperationsWaitCall struct { - s *Service - name string - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// Wait: Waits until the specified long-running operation is done or -// reaches at most a specified timeout, returning the latest state. If -// the operation is already done, the latest state is immediately -// returned. If the timeout specified is greater than the default -// HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does -// not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. -// Note that this method is on a best-effort basis. It may return the -// latest state before the specified timeout (including immediately), -// meaning even an immediate response is no guarantee that the operation -// is done. -// -// - name: The name of the operation resource to wait on. -func (r *ProjectsPrivacypolicyOperationsService) Wait(name string) *ProjectsPrivacypolicyOperationsWaitCall { - c := &ProjectsPrivacypolicyOperationsWaitCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name - return c -} - -// Timeout sets the optional parameter "timeout": The maximum duration -// to wait before timing out. If left blank, the wait will be at most -// the time permitted by the underlying HTTP/RPC protocol. If RPC -// context deadline is also specified, the shorter one will be used. -func (c *ProjectsPrivacypolicyOperationsWaitCall) Timeout(timeout string) *ProjectsPrivacypolicyOperationsWaitCall { - c.urlParams_.Set("timeout", timeout) - 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 *ProjectsPrivacypolicyOperationsWaitCall) Fields(s ...googleapi.Field) *ProjectsPrivacypolicyOperationsWaitCall { - 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 *ProjectsPrivacypolicyOperationsWaitCall) Context(ctx context.Context) *ProjectsPrivacypolicyOperationsWaitCall { - 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 *ProjectsPrivacypolicyOperationsWaitCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsPrivacypolicyOperationsWaitCall) 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}:wait") - urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("POST", urls, body) - if err != nil { - return nil, err - } - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "name": c.name, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "checks.projects.privacypolicy.operations.wait" 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 *ProjectsPrivacypolicyOperationsWaitCall) Do(opts ...googleapi.CallOption) (*Operation, error) { - gensupport.SetOptions(c.urlParams_, opts...) - res, err := c.doRequest("json") - if res != nil && res.StatusCode == http.StatusNotModified { - if res.Body != nil { - res.Body.Close() - } - return nil, gensupport.WrapError(&googleapi.Error{ - Code: res.StatusCode, - Header: res.Header, - }) - } - if err != nil { - return nil, err - } - defer googleapi.CloseBody(res) - if err := googleapi.CheckResponse(res); err != nil { - return nil, gensupport.WrapError(err) - } - ret := &Operation{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := gensupport.DecodeResponse(target, res); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", - // "flatPath": "v1alpha/projects/{projectsId}/privacypolicy/operations/{operationsId}:wait", - // "httpMethod": "POST", - // "id": "checks.projects.privacypolicy.operations.wait", - // "parameterOrder": [ - // "name" - // ], - // "parameters": { - // "name": { - // "description": "The name of the operation resource to wait on.", - // "location": "path", - // "pattern": "^projects/[^/]+/privacypolicy/operations/[^/]+$", - // "required": true, - // "type": "string" - // }, - // "timeout": { - // "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", - // "format": "google-duration", - // "location": "query", - // "type": "string" - // } - // }, - // "path": "v1alpha/{+name}:wait", - // "response": { - // "$ref": "Operation" - // } - // } - -} diff --git a/composer/v1/composer-api.json b/composer/v1/composer-api.json index 85bb182f898..980537115a5 100644 --- a/composer/v1/composer-api.json +++ b/composer/v1/composer-api.json @@ -599,7 +599,7 @@ } } }, - "revision": "20230806", + "revision": "20230906", "rootUrl": "https://composer.googleapis.com/", "schemas": { "AllowedIpRange": { @@ -781,6 +781,10 @@ ], "type": "string" }, + "storageConfig": { + "$ref": "StorageConfig", + "description": "Optional. Storage configuration for this environment." + }, "updateTime": { "description": "Output only. The time at which this environment was last modified.", "format": "google-datetime", @@ -1663,6 +1667,12 @@ }, "type": "object" }, + "StorageConfig": { + "description": "The configuration for data storage in the environment.", + "id": "StorageConfig", + "properties": {}, + "type": "object" + }, "WebServerConfig": { "description": "The configuration settings for the Airflow web server App Engine instance. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*", "id": "WebServerConfig", diff --git a/composer/v1/composer-gen.go b/composer/v1/composer-gen.go index a218755c216..331d4382a3c 100644 --- a/composer/v1/composer-gen.go +++ b/composer/v1/composer-gen.go @@ -500,6 +500,9 @@ type Environment struct { // used. State string `json:"state,omitempty"` + // StorageConfig: Optional. Storage configuration for this environment. + StorageConfig *StorageConfig `json:"storageConfig,omitempty"` + // UpdateTime: Output only. The time at which this environment was last // modified. UpdateTime string `json:"updateTime,omitempty"` @@ -2134,6 +2137,10 @@ func (s *StopAirflowCommandResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// StorageConfig: The configuration for data storage in the environment. +type StorageConfig struct { +} + // WebServerConfig: The configuration settings for the Airflow web // server App Engine instance. Supported for Cloud Composer environments // in versions composer-1.*.*-airflow-*.*.* diff --git a/compute/v0.alpha/compute-api.json b/compute/v0.alpha/compute-api.json index 4bfa966c557..921c8c63415 100644 --- a/compute/v0.alpha/compute-api.json +++ b/compute/v0.alpha/compute-api.json @@ -1982,6 +1982,61 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "listUsable": { + "description": "Retrieves an aggregated list of all usable backend services in the specified project.", + "flatPath": "projects/{project}/global/backendServices/listUsable", + "httpMethod": "GET", + "id": "compute.backendServices.listUsable", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/global/backendServices/listUsable", + "response": { + "$ref": "BackendServiceListUsable" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "patch": { "description": "Patches the specified BackendService resource with the data included in the request. For more information, see Backend services overview. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", "flatPath": "projects/{project}/global/backendServices/{backendService}", @@ -28178,6 +28233,12 @@ "firewallPolicy" ], "parameters": { + "associatedPolicyToBeReplaced": { + "description": "Name of the firewall policy associated with the target network to swap association with. This field is mutually exclusive with 'replace_existing_association'.", + "location": "query", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "type": "string" + }, "firewallPolicy": { "description": "Name of the firewall policy to update.", "location": "path", @@ -32891,47 +32952,6 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "getNetworkCapacityConstraints": { - "description": "Returns the network capacity constraints for the specified placement policies.", - "flatPath": "projects/{project}/regions/{region}/resourcePolicies/getNetworkCapacityConstraints", - "httpMethod": "POST", - "id": "compute.resourcePolicies.getNetworkCapacityConstraints", - "parameterOrder": [ - "project", - "region" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "resourcePolicies": { - "description": "Partial or full URL of the resource policies for which to retrieve the network capacity constraints.", - "location": "query", - "repeated": true, - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/resourcePolicies/getNetworkCapacityConstraints", - "response": { - "$ref": "GetNetworkCapacityConstraintsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, "insert": { "description": "Creates a new resource policy.", "flatPath": "projects/{project}/regions/{region}/resourcePolicies", @@ -33300,17 +33320,22 @@ "https://www.googleapis.com/auth/compute" ] }, - "get": { - "description": "Returns the specified Router resource.", - "flatPath": "projects/{project}/regions/{region}/routers/{router}", - "httpMethod": "GET", - "id": "compute.routers.get", + "deleteRoutePolicy": { + "description": "Deletes Route Policy", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/deleteRoutePolicy", + "httpMethod": "POST", + "id": "compute.routers.deleteRoutePolicy", "parameterOrder": [ "project", "region", "router" ], "parameters": { + "policy": { + "description": "The Policy name for this request. Name must conform to RFC1035", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -33325,40 +33350,39 @@ "required": true, "type": "string" }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, "router": { - "description": "Name of the Router resource to return.", + "description": "Name of the Router resource where Route Policy is defined.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/routers/{router}", + "path": "projects/{project}/regions/{region}/routers/{router}/deleteRoutePolicy", "response": { - "$ref": "Router" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "getNatIpInfo": { - "description": "Retrieves runtime NAT IP information.", - "flatPath": "projects/{project}/regions/{region}/routers/{router}/getNatIpInfo", + "get": { + "description": "Returns the specified Router resource.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}", "httpMethod": "GET", - "id": "compute.routers.getNatIpInfo", + "id": "compute.routers.get", "parameterOrder": [ "project", "region", "router" ], "parameters": { - "natName": { - "description": "Name of the nat service to filter the NAT IP information. If it is omitted, all nats for this router will be returned. Name should conform to RFC1035.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -33374,15 +33398,16 @@ "type": "string" }, "router": { - "description": "Name of the Router resource to query for Nat IP information. The name should conform to RFC1035.", + "description": "Name of the Router resource to return.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/routers/{router}/getNatIpInfo", + "path": "projects/{project}/regions/{region}/routers/{router}", "response": { - "$ref": "NatIpInfoResponse" + "$ref": "Router" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -33390,42 +33415,19 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "getNatMappingInfo": { - "description": "Retrieves runtime Nat mapping information of VM endpoints.", - "flatPath": "projects/{project}/regions/{region}/routers/{router}/getNatMappingInfo", + "getNatIpInfo": { + "description": "Retrieves runtime NAT IP information.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/getNatIpInfo", "httpMethod": "GET", - "id": "compute.routers.getNatMappingInfo", + "id": "compute.routers.getNatIpInfo", "parameterOrder": [ "project", "region", "router" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, "natName": { - "description": "Name of the nat service to filter the Nat Mapping information. If it is omitted, all nats for this router will be returned. Name should conform to RFC1035.", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "description": "Name of the nat service to filter the NAT IP information. If it is omitted, all nats for this router will be returned. Name should conform to RFC1035.", "location": "query", "type": "string" }, @@ -33443,22 +33445,16 @@ "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.", - "location": "query", - "type": "boolean" - }, "router": { - "description": "Name of the Router resource to query for Nat Mapping information of VM endpoints.", + "description": "Name of the Router resource to query for Nat IP information. The name should conform to RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/routers/{router}/getNatMappingInfo", + "path": "projects/{project}/regions/{region}/routers/{router}/getNatIpInfo", "response": { - "$ref": "VmEndpointNatMappingsList" + "$ref": "NatIpInfoResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -33466,100 +33462,223 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "getRouterStatus": { - "description": "Retrieves runtime information of the specified router.", - "flatPath": "projects/{project}/regions/{region}/routers/{router}/getRouterStatus", + "getNatMappingInfo": { + "description": "Retrieves runtime Nat mapping information of VM endpoints.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/getNatMappingInfo", "httpMethod": "GET", - "id": "compute.routers.getRouterStatus", + "id": "compute.routers.getNatMappingInfo", "parameterOrder": [ "project", "region", "router" ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "router": { - "description": "Name of the Router resource to query.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/routers/{router}/getRouterStatus", - "response": { - "$ref": "RouterStatusResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "insert": { - "description": "Creates a Router resource in the specified project and region using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/routers", - "httpMethod": "POST", - "id": "compute.routers.insert", - "parameterOrder": [ - "project", - "region" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/routers", - "request": { - "$ref": "Router" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "list": { - "description": "Retrieves a list of Router resources available to the specified project.", - "flatPath": "projects/{project}/regions/{region}/routers", - "httpMethod": "GET", - "id": "compute.routers.list", - "parameterOrder": [ - "project", - "region" - ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "natName": { + "description": "Name of the nat service to filter the Nat Mapping information. If it is omitted, all nats for this router will be returned. Name should conform to RFC1035.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.", + "location": "query", + "type": "boolean" + }, + "router": { + "description": "Name of the Router resource to query for Nat Mapping information of VM endpoints.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/routers/{router}/getNatMappingInfo", + "response": { + "$ref": "VmEndpointNatMappingsList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getRoutePolicy": { + "description": "Returns specified Route Policy", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/getRoutePolicy", + "httpMethod": "GET", + "id": "compute.routers.getRoutePolicy", + "parameterOrder": [ + "project", + "region", + "router" + ], + "parameters": { + "policy": { + "description": "The Policy name for this request. Name must conform to RFC1035", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "router": { + "description": "Name of the Router resource to query for Nat IP information. The name should conform to RFC1035.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/routers/{router}/getRoutePolicy", + "response": { + "$ref": "RoutersGetRoutePolicyResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getRouterStatus": { + "description": "Retrieves runtime information of the specified router.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/getRouterStatus", + "httpMethod": "GET", + "id": "compute.routers.getRouterStatus", + "parameterOrder": [ + "project", + "region", + "router" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "router": { + "description": "Name of the Router resource to query.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/routers/{router}/getRouterStatus", + "response": { + "$ref": "RouterStatusResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a Router resource in the specified project and region using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/routers", + "httpMethod": "POST", + "id": "compute.routers.insert", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/routers", + "request": { + "$ref": "Router" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Retrieves a list of Router resources available to the specified project.", + "flatPath": "projects/{project}/regions/{region}/routers", + "httpMethod": "GET", + "id": "compute.routers.list", + "parameterOrder": [ + "project", + "region" + ], "parameters": { "filter": { "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`.", @@ -33614,6 +33733,196 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "listBgpRoutes": { + "description": "Retrieves a list of router bgp routes available to the specified project.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/listBgpRoutes", + "httpMethod": "GET", + "id": "compute.routers.listBgpRoutes", + "parameterOrder": [ + "project", + "region", + "router" + ], + "parameters": { + "addressFamily": { + "default": "UNSPECIFIED_IP_VERSION", + "description": "(Required) limit results to this address family (either IPv4 or IPv6)", + "enum": [ + "IPV4", + "IPV6", + "UNSPECIFIED_IP_VERSION" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "location": "query", + "type": "string" + }, + "destinationPrefix": { + "description": "Limit results to destinations that are subnets of this CIDR range", + "location": "query", + "type": "string" + }, + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "peer": { + "description": "(Required) limit results to the BGP peer with the given name. Name should conform to RFC1035.", + "location": "query", + "type": "string" + }, + "policyApplied": { + "default": "true", + "description": "When true, the method returns post-policy routes. Otherwise, it returns pre-policy routes.", + "location": "query", + "type": "boolean" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.", + "location": "query", + "type": "boolean" + }, + "routeType": { + "default": "UNSPECIFIED_ROUTE_TYPE", + "description": "(Required) limit results to this type of route (either LEARNED or ADVERTISED)", + "enum": [ + "ADVERTISED", + "LEARNED", + "UNSPECIFIED_ROUTE_TYPE" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "location": "query", + "type": "string" + }, + "router": { + "description": "Name or id of the resource for this request. Name should conform to RFC1035.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/routers/{router}/listBgpRoutes", + "response": { + "$ref": "RoutersListBgpRoutes" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "listRoutePolicies": { + "description": "Retrieves a list of router route policy subresources available to the specified project.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/listRoutePolicies", + "httpMethod": "GET", + "id": "compute.routers.listRoutePolicies", + "parameterOrder": [ + "project", + "region", + "router" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.", + "location": "query", + "type": "boolean" + }, + "router": { + "description": "Name or id of the resource for this request. Name should conform to RFC1035.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/routers/{router}/listRoutePolicies", + "response": { + "$ref": "RoutersListRoutePolicies" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "patch": { "description": "Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", "flatPath": "projects/{project}/regions/{region}/routers/{router}", @@ -33645,7 +33954,149 @@ "type": "string" }, "router": { - "description": "Name of the Router resource to patch.", + "description": "Name of the Router resource to patch.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/routers/{router}", + "request": { + "$ref": "Router" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "preview": { + "description": "Preview fields auto-generated during router create and update operations. Calling this method does NOT create or update the router.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/preview", + "httpMethod": "POST", + "id": "compute.routers.preview", + "parameterOrder": [ + "project", + "region", + "router" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "router": { + "description": "Name of the Router resource to query.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/routers/{router}/preview", + "request": { + "$ref": "Router" + }, + "response": { + "$ref": "RoutersPreviewResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/regions/{region}/routers/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.routers.testIamPermissions", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/routers/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "update": { + "description": "Updates the specified Router resource with the data included in the request. This method conforms to PUT semantics, which requests that the state of the target resource be created or replaced with the state defined by the representation enclosed in the request message payload.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}", + "httpMethod": "PUT", + "id": "compute.routers.update", + "parameterOrder": [ + "project", + "region", + "router" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "router": { + "description": "Name of the Router resource to update.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -33664,103 +34115,11 @@ "https://www.googleapis.com/auth/compute" ] }, - "preview": { - "description": "Preview fields auto-generated during router create and update operations. Calling this method does NOT create or update the router.", - "flatPath": "projects/{project}/regions/{region}/routers/{router}/preview", + "updateRoutePolicy": { + "description": "Updates or creates new Route Policy", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/updateRoutePolicy", "httpMethod": "POST", - "id": "compute.routers.preview", - "parameterOrder": [ - "project", - "region", - "router" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "router": { - "description": "Name of the Router resource to query.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/routers/{router}/preview", - "request": { - "$ref": "Router" - }, - "response": { - "$ref": "RoutersPreviewResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/routers/{resource}/testIamPermissions", - "httpMethod": "POST", - "id": "compute.routers.testIamPermissions", - "parameterOrder": [ - "project", - "region", - "resource" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "The name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/routers/{resource}/testIamPermissions", - "request": { - "$ref": "TestPermissionsRequest" - }, - "response": { - "$ref": "TestPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "update": { - "description": "Updates the specified Router resource with the data included in the request. This method conforms to PUT semantics, which requests that the state of the target resource be created or replaced with the state defined by the representation enclosed in the request message payload.", - "flatPath": "projects/{project}/regions/{region}/routers/{router}", - "httpMethod": "PUT", - "id": "compute.routers.update", + "id": "compute.routers.updateRoutePolicy", "parameterOrder": [ "project", "region", @@ -33787,16 +34146,16 @@ "type": "string" }, "router": { - "description": "Name of the Router resource to update.", + "description": "Name of the Router resource where Route Policy is defined.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/routers/{router}", + "path": "projects/{project}/regions/{region}/routers/{router}/updateRoutePolicy", "request": { - "$ref": "Router" + "$ref": "RoutePolicy" }, "response": { "$ref": "Operation" @@ -42266,7 +42625,7 @@ } } }, - "revision": "20230814", + "revision": "20230829", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -45019,7 +45378,7 @@ "type": "string" }, "timeZone": { - "description": "The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: http://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of “UTC” if left empty.", + "description": "The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of “UTC” if left empty.", "type": "string" } }, @@ -46351,6 +46710,13 @@ "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, + "items": { + "description": "A list of BackendService resources.", + "items": { + "$ref": "BackendService" + }, + "type": "array" + }, "kind": { "default": "compute#usableBackendServiceList", "description": "[Output Only] Type of resource. Always compute#usableBackendServiceList for lists of usable backend services.", @@ -47018,6 +47384,91 @@ }, "type": "object" }, + "BgpRoute": { + "id": "BgpRoute", + "properties": { + "asPaths": { + "description": "[Output only] AS-PATH for the route", + "items": { + "$ref": "BgpRouteAsPath" + }, + "type": "array" + }, + "communities": { + "description": "[Output only] BGP communities in human-readable A:B format.", + "items": { + "type": "string" + }, + "type": "array" + }, + "destination": { + "$ref": "BgpRouteNetworkLayerReachabilityInformation", + "description": "[Output only] Destination IP range for the route, in human-readable CIDR format" + }, + "med": { + "description": "[Output only] BGP multi-exit discriminator", + "format": "uint32", + "type": "integer" + }, + "origin": { + "description": "[Output only] BGP origin (EGP, IGP or INCOMPLETE)", + "enum": [ + "BGP_ORIGIN_EGP", + "BGP_ORIGIN_IGP", + "BGP_ORIGIN_INCOMPLETE" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "BgpRouteAsPath": { + "id": "BgpRouteAsPath", + "properties": { + "asns": { + "description": "[Output only] ASNs in the path segment. When type is SEQUENCE, these are ordered.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "type": { + "description": "[Output only] Type of AS-PATH segment (SEQUENCE or SET)", + "enum": [ + "AS_PATH_TYPE_SEQUENCE", + "AS_PATH_TYPE_SET" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "BgpRouteNetworkLayerReachabilityInformation": { + "description": "Network Layer Reachability Information (NLRI) for a route.", + "id": "BgpRouteNetworkLayerReachabilityInformation", + "properties": { + "destination": { + "description": "Human readable CIDR notation for a prefix. E.g. 10.42.0.0/16.", + "type": "string" + }, + "pathId": { + "description": "If the BGP session supports multiple paths (RFC 7911), the path identifier for this route.", + "format": "uint32", + "type": "integer" + } + }, + "type": "object" + }, "Binding": { "description": "Associates `members`, or principals, with a `role`.", "id": "Binding", @@ -47252,55 +47703,6 @@ }, "type": "object" }, - "CapacityConstraint": { - "description": "Represents the network information between workload placements.", - "id": "CapacityConstraint", - "properties": { - "constraintMetadata": { - "enum": [ - "CONSTRAINT_TYPE_UNSPECIFIED", - "OFF_CHAIN_CONSTRAINT", - "ON_CHAIN_CONSTRAINT" - ], - "enumDescriptions": [ - "", - "Constraints for off-chain superblocks. Can be used to mark constraints for secondary workloads.", - "Constraints related to the capacity between the Astrophel chain superblocks." - ], - "type": "string" - }, - "maxSumGbps": { - "description": "Weighted sum of BandwidthTerms (each term is coefficient * term) must be less than or equal to max_sum.", - "format": "double", - "type": "number" - }, - "terms": { - "items": { - "$ref": "CapacityConstraintConstraintTerm" - }, - "type": "array" - } - }, - "type": "object" - }, - "CapacityConstraintConstraintTerm": { - "id": "CapacityConstraintConstraintTerm", - "properties": { - "coefficient": { - "description": "Coefficient of this term in the linear expression. The value of the term will be coefficient * (demand from src to dst in Gbps).", - "format": "double", - "type": "number" - }, - "destinationNode": { - "$ref": "PlacementLocation" - }, - "sourceNode": { - "$ref": "PlacementLocation", - "description": "Source and destination nodes." - } - }, - "type": "object" - }, "ChannelCredentials": { "description": "[Deprecated] gRPC channel credentials to access the SDS server. gRPC channel credentials to access the SDS server.", "id": "ChannelCredentials", @@ -52860,19 +53262,6 @@ }, "type": "object" }, - "GetNetworkCapacityConstraintsResponse": { - "id": "GetNetworkCapacityConstraintsResponse", - "properties": { - "capacityConstraints": { - "description": "Set of capacity constraints that describe network adjacency.", - "items": { - "$ref": "CapacityConstraint" - }, - "type": "array" - } - }, - "type": "object" - }, "GetOwnerInstanceResponse": { "id": "GetOwnerInstanceResponse", "properties": { @@ -55094,7 +55483,7 @@ }, "faultInjectionPolicy": { "$ref": "HttpFaultInjection", - "description": "The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by a load balancer on a percentage of requests before sending those requests to the backend service. Similarly requests from clients can be aborted by the load balancer for a percentage of requests. timeout and retry_policy is ignored by clients that are configured with a fault_injection_policy if: 1. The traffic is generated by fault injection AND 2. The fault injection is not a delay fault injection. Fault injection is not supported with the global external HTTP(S) load balancer (classic). To see which load balancers support fault injection, see Load balancing: Routing and traffic management features." + "description": "The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by a load balancer on a percentage of requests before sending those requests to the backend service. Similarly requests from clients can be aborted by the load balancer for a percentage of requests. timeout and retry_policy is ignored by clients that are configured with a fault_injection_policy if: 1. The traffic is generated by fault injection AND 2. The fault injection is not a delay fault injection. Fault injection is not supported with the classic Application Load Balancer . To see which load balancers support fault injection, see Load balancing: Routing and traffic management features." }, "maxStreamDuration": { "$ref": "Duration", @@ -55114,7 +55503,7 @@ }, "urlRewrite": { "$ref": "UrlRewrite", - "description": "The spec to modify the URL of the request, before forwarding the request to the matched service. urlRewrite is the only action supported in UrlMaps for external HTTP(S) load balancers. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." + "description": "The spec to modify the URL of the request, before forwarding the request to the matched service. urlRewrite is the only action supported in UrlMaps for classic Application Load Balancers. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." }, "weightedBackendServices": { "description": "A list of weighted backend services to send traffic to when a route match occurs. The weights determine the fraction of traffic that flows to their corresponding backend service. If all traffic needs to go to a single backend service, there must be one weightedBackendService with weight set to a non-zero number. After a backend service is identified and before forwarding the request to the backend service, advanced routing actions such as URL rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction.", @@ -55132,7 +55521,7 @@ "properties": { "customErrorResponsePolicy": { "$ref": "CustomErrorResponsePolicy", - "description": "customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. If a policy for an error code is not configured for the RouteRule, a policy for the error code configured in pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors - A RouteRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with routeRules.routeAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the customErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the customErrorResponsePolicy is ignored and the response from the service is returned to the client. customErrorResponsePolicy is supported only for Global External HTTP(S) load balancing." + "description": "customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. If a policy for an error code is not configured for the RouteRule, a policy for the error code configured in pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors - A RouteRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with routeRules.routeAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the customErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the customErrorResponsePolicy is ignored and the response from the service is returned to the client. customErrorResponsePolicy is supported only for global external Application Load Balancers." }, "description": { "description": "The short description conveying the intent of this routeRule. The description can have a maximum length of 1024 characters.", @@ -55170,7 +55559,7 @@ }, "routeAction": { "$ref": "HttpRouteAction", - "description": "In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction." + "description": "In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a route rule's routeAction." }, "service": { "description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set.", @@ -66753,7 +67142,7 @@ "type": "object" }, "NetworkEndpointGroup": { - "description": "Represents a collection of network endpoints. A network endpoint group (NEG) defines how a set of endpoints should be reached, whether they are reachable, and where they are located. For more information about using NEGs, see Setting up external HTTP(S) Load Balancing with internet NEGs, Setting up zonal NEGs, or Setting up external HTTP(S) Load Balancing with serverless NEGs.", + "description": "Represents a collection of network endpoints. A network endpoint group (NEG) defines how a set of endpoints should be reached, whether they are reachable, and where they are located. For more information about using NEGs for different use cases, see Network endpoint groups overview.", "id": "NetworkEndpointGroup", "properties": { "annotations": { @@ -67791,11 +68180,13 @@ "description": "The stack type for this network interface. To assign only IPv4 addresses, use IPV4_ONLY. To assign both IPv4 and IPv6 addresses, use IPV4_IPV6. If not specified, IPV4_ONLY is used. This field can be both set at instance creation and update network interface operations.", "enum": [ "IPV4_IPV6", - "IPV4_ONLY" + "IPV4_ONLY", + "IPV6_ONLY" ], "enumDescriptions": [ "The network interface can have both IPv4 and IPv6 addresses.", - "The network interface will be assigned IPv4 address." + "The network interface will be assigned IPv4 address.", + "The network interface will only be assigned IPv6 addresses." ], "type": "string" }, @@ -68110,6 +68501,22 @@ "description": "A routing configuration attached to a network resource. The message includes the list of routers associated with the network, and a flag indicating the type of routing behavior to enforce network-wide.", "id": "NetworkRoutingConfig", "properties": { + "bgpAlwaysCompareMed": { + "description": "Enable comparison of Multi-Exit Discriminators (MED) across routes with different neighbor ASNs when using the STANDARD BGP best path selection algorithm.", + "type": "boolean" + }, + "bgpBestPathSelectionMode": { + "description": "The BGP best path selection algorithm to be employed within this network for dynamic routes learned by Cloud Routers. Can be LEGACY (default) or STANDARD.", + "enum": [ + "LEGACY", + "STANDARD" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, "routingMode": { "description": "The network-wide routing mode to use. If set to REGIONAL, this network's Cloud Routers will only advertise routes with subnets of this network in the same region as the router. If set to GLOBAL, this network's Cloud Routers will advertise routes with all subnets of this network, across regions.", "enum": [ @@ -72337,11 +72744,11 @@ "properties": { "defaultCustomErrorResponsePolicy": { "$ref": "CustomErrorResponsePolicy", - "description": "defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. This policy takes effect at the PathMatcher level and applies only when no policy has been defined for the error code at lower levels like RouteRule and PathRule within this PathMatcher. If an error code does not have a policy defined in defaultCustomErrorResponsePolicy, then a policy defined for the error code in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy is configured with policies for 5xx and 4xx errors - A RouteRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with pathMatcher.defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client. defaultCustomErrorResponsePolicy is supported only for Global External HTTP(S) load balancing." + "description": "defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. This policy takes effect at the PathMatcher level and applies only when no policy has been defined for the error code at lower levels like RouteRule and PathRule within this PathMatcher. If an error code does not have a policy defined in defaultCustomErrorResponsePolicy, then a policy defined for the error code in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy is configured with policies for 5xx and 4xx errors - A RouteRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with pathMatcher.defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client. defaultCustomErrorResponsePolicy is supported only for global external Application Load Balancers." }, "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path matcher's defaultRouteAction." + "description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path matcher's defaultRouteAction." }, "defaultService": { "description": "The full or partial URL to the BackendService resource. This URL is used if none of the pathRules or routeRules defined by this PathMatcher are matched. For example, the following are all valid URLs to a BackendService resource: - https://www.googleapis.com/compute/v1/projects/project /global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if defaultRouteAction specifies any weightedBackendServices, defaultService must not be specified. Only one of defaultService, defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set. Authorization requires one or more of the following Google IAM permissions on the specified resource default_service: - compute.backendBuckets.use - compute.backendServices.use ", @@ -72386,7 +72793,7 @@ "properties": { "customErrorResponsePolicy": { "$ref": "CustomErrorResponsePolicy", - "description": "customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. If a policy for an error code is not configured for the PathRule, a policy for the error code configured in pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors - A PathRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in PathRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. customErrorResponsePolicy is supported only for Global External HTTP(S) load balancing." + "description": "customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. If a policy for an error code is not configured for the PathRule, a policy for the error code configured in pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors - A PathRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in PathRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. customErrorResponsePolicy is supported only for global external Application Load Balancers." }, "paths": { "description": "The list of path patterns to match. Each must start with / and the only place a * is allowed is at the end following a /. The string fed to the path matcher does not include any text after the first ? or #, and those chars are not allowed here.", @@ -72397,7 +72804,7 @@ }, "routeAction": { "$ref": "HttpRouteAction", - "description": "In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path rule's routeAction." + "description": "In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path rule's routeAction." }, "service": { "description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set.", @@ -72548,20 +72955,6 @@ }, "type": "object" }, - "PlacementLocation": { - "id": "PlacementLocation", - "properties": { - "aggregationBlockId": { - "description": "Aggregation block id of the placement group.", - "type": "string" - }, - "resourcePolicy": { - "description": "Partial or full URL of the resource policy for the placement group.", - "type": "string" - } - }, - "type": "object" - }, "Policy": { "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", @@ -78843,6 +79236,61 @@ }, "type": "object" }, + "RoutePolicy": { + "id": "RoutePolicy", + "properties": { + "fingerprint": { + "description": "A fingerprint for the Route Policy being applied to this Router, which is essentially a hash of the Route Policy used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update Route Policy. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make a getRoutePolicy() request to retrieve a Route Policy.", + "format": "byte", + "type": "string" + }, + "name": { + "description": "Route Policy name, which must be a resource ID segment and unique within all the router's Route Policies. Name should conform to RFC1035.", + "type": "string" + }, + "terms": { + "description": "List of terms (the order in the list is not important, they are evaluated in order of priority). Order of policies is not retained and might change when getting policy later.", + "items": { + "$ref": "RoutePolicyPolicyTerm" + }, + "type": "array" + }, + "type": { + "enum": [ + "ROUTE_POLICY_TYPE_EXPORT", + "ROUTE_POLICY_TYPE_IMPORT" + ], + "enumDescriptions": [ + "The Route Policy is an Export Policy.", + "The Route Policy is an Import Policy." + ], + "type": "string" + } + }, + "type": "object" + }, + "RoutePolicyPolicyTerm": { + "id": "RoutePolicyPolicyTerm", + "properties": { + "actions": { + "description": "CEL expressions to evaluate to modify a route when this term matches.", + "items": { + "$ref": "Expr" + }, + "type": "array" + }, + "match": { + "$ref": "Expr", + "description": "CEL expression evaluated against a route to determine if this term applies. When not set, the term applies to all routes." + }, + "priority": { + "description": "The evaluation priority for this term, which must be between 0 (inclusive) and 2^31 (exclusive), and unique within the list.", + "format": "uint32", + "type": "integer" + } + }, + "type": "object" + }, "Router": { "description": "Represents a Cloud Router resource. For more information about Cloud Router, read the Cloud Router overview.", "id": "Router", @@ -78876,7 +79324,7 @@ "type": "string" }, "interfaces": { - "description": "Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.", + "description": "Router interfaces. To create a BGP peer that uses a router interface, the interface must have one of the following fields specified: - linkedVpnTunnel - linkedInterconnectAttachment - subnetwork You can create a router interface without any of these fields specified. However, you cannot create a BGP peer that uses that interface.", "items": { "$ref": "RouterInterface" }, @@ -79414,11 +79862,11 @@ "type": "string" }, "linkedInterconnectAttachment": { - "description": "URI of the linked Interconnect attachment. It must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a virtual machine instance.", + "description": "URI of the linked Interconnect attachment. It must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.", "type": "string" }, "linkedVpnTunnel": { - "description": "URI of the linked VPN tunnel, which must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a virtual machine instance.", + "description": "URI of the linked VPN tunnel, which must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.", "type": "string" }, "managementType": { @@ -79630,7 +80078,7 @@ "compute.routers.update" ] }, - "description": "Name used to identify the key. Must be unique within a router. Must be referenced by at least one bgpPeer. Must comply with RFC1035.", + "description": "Name used to identify the key. Must be unique within a router. Must be referenced by exactly one bgpPeer. Must comply with RFC1035.", "type": "string" } }, @@ -80156,6 +80604,341 @@ }, "type": "object" }, + "RoutersGetRoutePolicyResponse": { + "id": "RoutersGetRoutePolicyResponse", + "properties": { + "etag": { + "description": "end_interface: MixerGetResponseWithEtagBuilder", + "type": "string" + }, + "resource": { + "$ref": "RoutePolicy" + } + }, + "type": "object" + }, + "RoutersListBgpRoutes": { + "id": "RoutersListBgpRoutes", + "properties": { + "etag": { + "type": "string" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "type": "string" + }, + "kind": { + "default": "compute#routersListBgpRoutes", + "description": "[Output Only] Type of resource. Always compute#routersListBgpRoutes for lists of bgp routes.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "result": { + "description": "[Output Only] A list of bgp routes.", + "items": { + "$ref": "BgpRoute" + }, + "type": "array" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachable": { + "description": "[Output Only] Unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "RoutersListRoutePolicies": { + "id": "RoutersListRoutePolicies", + "properties": { + "etag": { + "type": "string" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "type": "string" + }, + "kind": { + "default": "compute#routersListRoutePolicies", + "description": "[Output Only] Type of resource. Always compute#routersListRoutePolicies for lists of route policies.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "result": { + "description": "[Output Only] A list of route policies.", + "items": { + "$ref": "RoutePolicy" + }, + "type": "array" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachable": { + "description": "[Output Only] Unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "RoutersPreviewResponse": { "id": "RoutersPreviewResponse", "properties": { @@ -83923,7 +84706,7 @@ "type": "object" }, "SslCertificate": { - "description": "Represents an SSL Certificate resource. Google Compute Engine has two SSL Certificate resources: * [Global](/compute/docs/reference/rest/alpha/sslCertificates) * [Regional](/compute/docs/reference/rest/alpha/regionSslCertificates) The sslCertificates are used by: - external HTTPS load balancers - SSL proxy load balancers The regionSslCertificates are used by internal HTTPS load balancers. Optionally, certificate file contents that you upload can contain a set of up to five PEM-encoded certificates. The API call creates an object (sslCertificate) that holds this data. You can use SSL keys and certificates to secure connections to a load balancer. For more information, read Creating and using SSL certificates, SSL certificates quotas and limits, and Troubleshooting SSL certificates.", + "description": "Represents an SSL certificate resource. Google Compute Engine has two SSL certificate resources: * [Global](/compute/docs/reference/rest/alpha/sslCertificates) * [Regional](/compute/docs/reference/rest/alpha/regionSslCertificates) The global SSL certificates (sslCertificates) are used by: - Global external Application Load Balancers - Classic Application Load Balancers - Proxy Network Load Balancers (with target SSL proxies) The regional SSL certificates (regionSslCertificates) are used by: - Regional external Application Load Balancers - Regional internal Application Load Balancers Optionally, certificate file contents that you upload can contain a set of up to five PEM-encoded certificates. The API call creates an object (sslCertificate) that holds this data. You can use SSL keys and certificates to secure connections to a load balancer. For more information, read Creating and using SSL certificates, SSL certificates quotas and limits, and Troubleshooting SSL certificates.", "id": "SslCertificate", "properties": { "certificate": { @@ -86338,13 +87121,13 @@ "enumDescriptions": [ "Subnetwork used to aggregate multiple private subnetworks.", "Subnetworks created for Cloud Extension Machines.", - "Subnet reserved for Global Internal HTTP(S) Load Balancing.", + "Subnet reserved for Global Envoy-based Load Balancing.", "Subnet reserved for Internal HTTP(S) Load Balancing.", "Regular user created or automatically created subnet.", "Subnetwork used as source range for Private NAT Gateways.", "Regular user created or automatically created subnet.", "Subnetworks created for Private Service Connect in the producer network.", - "Subnetwork used for Regional Internal/External HTTP(S) Load Balancing." + "Subnetwork used for Regional Envoy-based Load Balancing." ], "type": "string" }, @@ -86387,11 +87170,13 @@ "description": "The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.", "enum": [ "IPV4_IPV6", - "IPV4_ONLY" + "IPV4_ONLY", + "IPV6_ONLY" ], "enumDescriptions": [ "New VMs in this subnet can have both IPv4 and IPv6 addresses.", - "New VMs in this subnet will only be assigned IPv4 addresses." + "New VMs in this subnet will only be assigned IPv4 addresses.", + "New VMs in this subnet will only be assigned IPv6 addresses." ], "type": "string" }, @@ -87396,7 +88181,7 @@ "type": "object" }, "TargetHttpProxy": { - "description": "Represents a Target HTTP Proxy resource. Google Compute Engine has two Target HTTP Proxy resources: * [Global](/compute/docs/reference/rest/alpha/targetHttpProxies) * [Regional](/compute/docs/reference/rest/alpha/regionTargetHttpProxies) A target HTTP proxy is a component of GCP HTTP load balancers. * targetHttpProxies are used by external HTTP load balancers and Traffic Director. * regionTargetHttpProxies are used by internal HTTP load balancers. Forwarding rules reference a target HTTP proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts.", + "description": "Represents a Target HTTP Proxy resource. Google Compute Engine has two Target HTTP Proxy resources: * [Global](/compute/docs/reference/rest/alpha/targetHttpProxies) * [Regional](/compute/docs/reference/rest/alpha/regionTargetHttpProxies) A target HTTP proxy is a component of GCP HTTP load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTP proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts.", "id": "TargetHttpProxy", "properties": { "creationTimestamp": { @@ -87420,7 +88205,7 @@ "type": "array" }, "httpKeepAliveTimeoutSec": { - "description": "Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For Global external HTTP(S) load balancer, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For Global external HTTP(S) load balancer (classic), this option is not available publicly.", + "description": "Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For global external Application Load Balancers, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For classic Application Load Balancers, this option is not supported.", "format": "int32", "type": "integer" }, @@ -87951,7 +88736,7 @@ "type": "object" }, "TargetHttpsProxy": { - "description": "Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/alpha/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/alpha/regionTargetHttpsProxies) A target HTTPS proxy is a component of GCP HTTPS load balancers. * targetHttpsProxies are used by external HTTPS load balancers. * regionTargetHttpsProxies are used by internal HTTPS load balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts.", + "description": "Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/alpha/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/alpha/regionTargetHttpsProxies) A target HTTPS proxy is a component of GCP HTTPS load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts.", "id": "TargetHttpsProxy", "properties": { "authentication": { @@ -87993,7 +88778,7 @@ "type": "array" }, "httpKeepAliveTimeoutSec": { - "description": "Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For Global external HTTP(S) load balancer, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For Global external HTTP(S) load balancer (classic), this option is not available publicly.", + "description": "Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For global external Application Load Balancers, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For classic Application Load Balancers, this option is not supported.", "format": "int32", "type": "integer" }, @@ -91112,7 +91897,7 @@ "type": "object" }, "UrlMap": { - "description": "Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/docs/reference/rest/alpha/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used by internal HTTP(S) load balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts.", + "description": "Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/docs/reference/rest/alpha/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts.", "id": "UrlMap", "properties": { "creationTimestamp": { @@ -91121,11 +91906,11 @@ }, "defaultCustomErrorResponsePolicy": { "$ref": "CustomErrorResponsePolicy", - "description": "defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. This policy takes effect at the Load Balancer level and applies only when no policy has been defined for the error code at lower levels like PathMatcher, RouteRule and PathRule within this UrlMap. For example, consider a UrlMap with the following configuration: - defaultCustomErrorResponsePolicy containing policies for responding to 5xx and 4xx errors - A PathMatcher configured for *.example.com has defaultCustomErrorResponsePolicy for 4xx. If a request for http://www.example.com/ encounters a 404, the policy in pathMatcher.defaultCustomErrorResponsePolicy will be enforced. When the request for http://www.example.com/ encounters a 502, the policy in UrlMap.defaultCustomErrorResponsePolicy will be enforced. When a request that does not match any host in *.example.com such as http://www.myotherexample.com/, encounters a 404, UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client. defaultCustomErrorResponsePolicy is supported only for Global External HTTP(S) load balancing." + "description": "defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. This policy takes effect at the load balancer level and applies only when no policy has been defined for the error code at lower levels like PathMatcher, RouteRule and PathRule within this UrlMap. For example, consider a UrlMap with the following configuration: - defaultCustomErrorResponsePolicy containing policies for responding to 5xx and 4xx errors - A PathMatcher configured for *.example.com has defaultCustomErrorResponsePolicy for 4xx. If a request for http://www.example.com/ encounters a 404, the policy in pathMatcher.defaultCustomErrorResponsePolicy will be enforced. When the request for http://www.example.com/ encounters a 502, the policy in UrlMap.defaultCustomErrorResponsePolicy will be enforced. When a request that does not match any host in *.example.com such as http://www.myotherexample.com/, encounters a 404, UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client. defaultCustomErrorResponsePolicy is supported only for global external Application Load Balancers." }, "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." + "description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." }, "defaultService": { "description": "The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of defaultService, defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.", @@ -91743,7 +92528,7 @@ "id": "UrlMapsValidateRequest", "properties": { "loadBalancingSchemes": { - "description": "Specifies the load balancer type(s) this validation request is for. Use EXTERNAL_MANAGED for HTTP/HTTPS External Global Load Balancer with Advanced Traffic Management. Use EXTERNAL for Classic HTTP/HTTPS External Global Load Balancer. Other load balancer types are not supported. For more information, refer to Choosing a load balancer. If unspecified, the load balancing scheme will be inferred from the backend service resources this URL map references. If that can not be inferred (for example, this URL map only references backend buckets, or this Url map is for rewrites and redirects only and doesn't reference any backends), EXTERNAL will be used as the default type. If specified, the scheme(s) must not conflict with the load balancing scheme of the backend service resources this Url map references.", + "description": "Specifies the load balancer type(s) this validation request is for. Use EXTERNAL_MANAGED for global external Application Load Balancers and regional external Application Load Balancers. Use EXTERNAL for classic Application Load Balancers. Use INTERNAL_MANAGED for internal Application Load Balancers. For more information, refer to Choosing a load balancer. If unspecified, the load balancing scheme will be inferred from the backend service resources this URL map references. If that can not be inferred (for example, this URL map only references backend buckets, or this Url map is for rewrites and redirects only and doesn't reference any backends), EXTERNAL will be used as the default type. If specified, the scheme(s) must not conflict with the load balancing scheme of the backend service resources this Url map references.", "items": { "enum": [ "EXTERNAL", @@ -91751,9 +92536,9 @@ "LOAD_BALANCING_SCHEME_UNSPECIFIED" ], "enumDescriptions": [ - "Signifies that this will be used for Classic L7 External Load Balancing.", - "Signifies that this will be used for Envoy-based L7 External Load Balancing.", - "If unspecified, the validation will try to infer the scheme from the backend service resources this Url map references. If the inferrence is not possible, EXTERNAL will be used as the default type." + "Signifies that this will be used for classic Application Load Balancers.", + "Signifies that this will be used for Envoy-based global external Application Load Balancers.", + "If unspecified, the validation will try to infer the scheme from the backend service resources this Url map references. If the inference is not possible, EXTERNAL will be used as the default type." ], "type": "string" }, @@ -91842,13 +92627,13 @@ "enumDescriptions": [ "Subnetwork used to aggregate multiple private subnetworks.", "Subnetworks created for Cloud Extension Machines.", - "Subnet reserved for Global Internal HTTP(S) Load Balancing.", + "Subnet reserved for Global Envoy-based Load Balancing.", "Subnet reserved for Internal HTTP(S) Load Balancing.", "Regular user created or automatically created subnet.", "Subnetwork used as source range for Private NAT Gateways.", "Regular user created or automatically created subnet.", "Subnetworks created for Private Service Connect in the producer network.", - "Subnetwork used for Regional Internal/External HTTP(S) Load Balancing." + "Subnetwork used for Regional Envoy-based Load Balancing." ], "type": "string" }, @@ -91875,11 +92660,13 @@ "description": "The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.", "enum": [ "IPV4_IPV6", - "IPV4_ONLY" + "IPV4_ONLY", + "IPV6_ONLY" ], "enumDescriptions": [ "New VMs in this subnet can have both IPv4 and IPv6 addresses.", - "New VMs in this subnet will only be assigned IPv4 addresses." + "New VMs in this subnet will only be assigned IPv4 addresses.", + "New VMs in this subnet will only be assigned IPv6 addresses." ], "type": "string" }, diff --git a/compute/v0.alpha/compute-gen.go b/compute/v0.alpha/compute-gen.go index 64732a1cffd..04d35f4c13e 100644 --- a/compute/v0.alpha/compute-gen.go +++ b/compute/v0.alpha/compute-gen.go @@ -5338,7 +5338,7 @@ type AutoscalingPolicyScalingSchedule struct { // TimeZone: The time zone to use when interpreting the schedule. The // value of this field must be a time zone name from the tz database: - // http://en.wikipedia.org/wiki/Tz_database. This field is assigned a + // https://en.wikipedia.org/wiki/Tz_database. This field is assigned a // default value of “UTC” if left empty. TimeZone string `json:"timeZone,omitempty"` @@ -7465,6 +7465,9 @@ type BackendServiceListUsable struct { // server. Id string `json:"id,omitempty"` + // Items: A list of BackendService resources. + Items []*BackendService `json:"items,omitempty"` + // Kind: [Output Only] Type of resource. Always // compute#usableBackendServiceList for lists of usable backend // services. @@ -8354,6 +8357,121 @@ func (s *BfdStatusPacketCounts) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type BgpRoute struct { + // AsPaths: [Output only] AS-PATH for the route + AsPaths []*BgpRouteAsPath `json:"asPaths,omitempty"` + + // Communities: [Output only] BGP communities in human-readable A:B + // format. + Communities []string `json:"communities,omitempty"` + + // Destination: [Output only] Destination IP range for the route, in + // human-readable CIDR format + Destination *BgpRouteNetworkLayerReachabilityInformation `json:"destination,omitempty"` + + // Med: [Output only] BGP multi-exit discriminator + Med int64 `json:"med,omitempty"` + + // Origin: [Output only] BGP origin (EGP, IGP or INCOMPLETE) + // + // Possible values: + // "BGP_ORIGIN_EGP" + // "BGP_ORIGIN_IGP" + // "BGP_ORIGIN_INCOMPLETE" + Origin string `json:"origin,omitempty"` + + // ForceSendFields is a list of field names (e.g. "AsPaths") 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. "AsPaths") 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 *BgpRoute) MarshalJSON() ([]byte, error) { + type NoMethod BgpRoute + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type BgpRouteAsPath struct { + // Asns: [Output only] ASNs in the path segment. When type is SEQUENCE, + // these are ordered. + Asns []int64 `json:"asns,omitempty"` + + // Type: [Output only] Type of AS-PATH segment (SEQUENCE or SET) + // + // Possible values: + // "AS_PATH_TYPE_SEQUENCE" + // "AS_PATH_TYPE_SET" + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Asns") 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. "Asns") 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 *BgpRouteAsPath) MarshalJSON() ([]byte, error) { + type NoMethod BgpRouteAsPath + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// BgpRouteNetworkLayerReachabilityInformation: Network Layer +// Reachability Information (NLRI) for a route. +type BgpRouteNetworkLayerReachabilityInformation struct { + // Destination: Human readable CIDR notation for a prefix. E.g. + // 10.42.0.0/16. + Destination string `json:"destination,omitempty"` + + // PathId: If the BGP session supports multiple paths (RFC 7911), the + // path identifier for this route. + PathId int64 `json:"pathId,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Destination") 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. "Destination") 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 *BgpRouteNetworkLayerReachabilityInformation) MarshalJSON() ([]byte, error) { + type NoMethod BgpRouteNetworkLayerReachabilityInformation + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Binding: Associates `members`, or principals, with a `role`. type Binding struct { // BindingId: This is deprecated and has no effect. Do not use. @@ -8804,109 +8922,6 @@ func (s *CallCredentials) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// CapacityConstraint: Represents the network information between -// workload placements. -type CapacityConstraint struct { - // Possible values: - // "CONSTRAINT_TYPE_UNSPECIFIED" - // "OFF_CHAIN_CONSTRAINT" - Constraints for off-chain superblocks. Can - // be used to mark constraints for secondary workloads. - // "ON_CHAIN_CONSTRAINT" - Constraints related to the capacity between - // the Astrophel chain superblocks. - ConstraintMetadata string `json:"constraintMetadata,omitempty"` - - // MaxSumGbps: Weighted sum of BandwidthTerms (each term is coefficient - // * term) must be less than or equal to max_sum. - MaxSumGbps float64 `json:"maxSumGbps,omitempty"` - - Terms []*CapacityConstraintConstraintTerm `json:"terms,omitempty"` - - // ForceSendFields is a list of field names (e.g. "ConstraintMetadata") - // 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. "ConstraintMetadata") 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 *CapacityConstraint) MarshalJSON() ([]byte, error) { - type NoMethod CapacityConstraint - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -func (s *CapacityConstraint) UnmarshalJSON(data []byte) error { - type NoMethod CapacityConstraint - var s1 struct { - MaxSumGbps gensupport.JSONFloat64 `json:"maxSumGbps"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.MaxSumGbps = float64(s1.MaxSumGbps) - return nil -} - -type CapacityConstraintConstraintTerm struct { - // Coefficient: Coefficient of this term in the linear expression. The - // value of the term will be coefficient * (demand from src to dst in - // Gbps). - Coefficient float64 `json:"coefficient,omitempty"` - - DestinationNode *PlacementLocation `json:"destinationNode,omitempty"` - - // SourceNode: Source and destination nodes. - SourceNode *PlacementLocation `json:"sourceNode,omitempty"` - - // ForceSendFields is a list of field names (e.g. "Coefficient") 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. "Coefficient") 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 *CapacityConstraintConstraintTerm) MarshalJSON() ([]byte, error) { - type NoMethod CapacityConstraintConstraintTerm - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - -func (s *CapacityConstraintConstraintTerm) UnmarshalJSON(data []byte) error { - type NoMethod CapacityConstraintConstraintTerm - var s1 struct { - Coefficient gensupport.JSONFloat64 `json:"coefficient"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Coefficient = float64(s1.Coefficient) - return nil -} - // ChannelCredentials: [Deprecated] gRPC channel credentials to access // the SDS server. gRPC channel credentials to access the SDS server. type ChannelCredentials struct { @@ -16806,39 +16821,6 @@ func (s *GRPCHealthCheck) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type GetNetworkCapacityConstraintsResponse struct { - // CapacityConstraints: Set of capacity constraints that describe - // network adjacency. - CapacityConstraints []*CapacityConstraint `json:"capacityConstraints,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the - // server. - googleapi.ServerResponse `json:"-"` - - // ForceSendFields is a list of field names (e.g. "CapacityConstraints") - // 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. "CapacityConstraints") 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 *GetNetworkCapacityConstraintsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GetNetworkCapacityConstraintsResponse - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - type GetOwnerInstanceResponse struct { // Instance: Full instance resource URL. Instance string `json:"instance,omitempty"` @@ -20200,10 +20182,9 @@ type HttpRouteAction struct { // retry_policy is ignored by clients that are configured with a // fault_injection_policy if: 1. The traffic is generated by fault // injection AND 2. The fault injection is not a delay fault injection. - // Fault injection is not supported with the global external HTTP(S) - // load balancer (classic). To see which load balancers support fault - // injection, see Load balancing: Routing and traffic management - // features. + // Fault injection is not supported with the classic Application Load + // Balancer . To see which load balancers support fault injection, see + // Load balancing: Routing and traffic management features. FaultInjectionPolicy *HttpFaultInjection `json:"faultInjectionPolicy,omitempty"` // MaxStreamDuration: Specifies the maximum duration (timeout) for @@ -20242,9 +20223,9 @@ type HttpRouteAction struct { // UrlRewrite: The spec to modify the URL of the request, before // forwarding the request to the matched service. urlRewrite is the only - // action supported in UrlMaps for external HTTP(S) load balancers. Not - // supported when the URL map is bound to a target gRPC proxy that has - // the validateForProxyless field set to true. + // action supported in UrlMaps for classic Application Load Balancers. + // Not supported when the URL map is bound to a target gRPC proxy that + // has the validateForProxyless field set to true. UrlRewrite *UrlRewrite `json:"urlRewrite,omitempty"` // WeightedBackendServices: A list of weighted backend services to send @@ -20311,8 +20292,8 @@ type HttpRouteRule struct { // applied. While attempting a retry, if load balancer is successful in // reaching the service, the customErrorResponsePolicy is ignored and // the response from the service is returned to the client. - // customErrorResponsePolicy is supported only for Global External - // HTTP(S) load balancing. + // customErrorResponsePolicy is supported only for global external + // Application Load Balancers. CustomErrorResponsePolicy *CustomErrorResponsePolicy `json:"customErrorResponsePolicy,omitempty"` // Description: The short description conveying the intent of this @@ -20379,8 +20360,8 @@ type HttpRouteRule struct { // service must not be set. Conversely if service is set, routeAction // cannot contain any weightedBackendServices. Only one of urlRedirect, // service or routeAction.weightedBackendService must be set. URL maps - // for Classic external HTTP(S) load balancers only support the - // urlRewrite action within a route rule's routeAction. + // for classic Application Load Balancers only support the urlRewrite + // action within a route rule's routeAction. RouteAction *HttpRouteAction `json:"routeAction,omitempty"` // Service: The full or partial URL of the backend service resource to @@ -36661,9 +36642,8 @@ func (s *NetworkEndpoint) MarshalJSON() ([]byte, error) { // NetworkEndpointGroup: Represents a collection of network endpoints. A // network endpoint group (NEG) defines how a set of endpoints should be // reached, whether they are reachable, and where they are located. For -// more information about using NEGs, see Setting up external HTTP(S) -// Load Balancing with internet NEGs, Setting up zonal NEGs, or Setting -// up external HTTP(S) Load Balancing with serverless NEGs. +// more information about using NEGs for different use cases, see +// Network endpoint groups overview. type NetworkEndpointGroup struct { // Annotations: Metadata defined as annotations on the network endpoint // group. @@ -38125,6 +38105,8 @@ type NetworkInterface struct { // "IPV4_IPV6" - The network interface can have both IPv4 and IPv6 // addresses. // "IPV4_ONLY" - The network interface will be assigned IPv4 address. + // "IPV6_ONLY" - The network interface will only be assigned IPv6 + // addresses. StackType string `json:"stackType,omitempty"` // Subinterfaces: SubInterfaces help enable L2 communication for the @@ -38568,6 +38550,20 @@ func (s *NetworkPerformanceConfig) MarshalJSON() ([]byte, error) { // the network, and a flag indicating the type of routing behavior to // enforce network-wide. type NetworkRoutingConfig struct { + // BgpAlwaysCompareMed: Enable comparison of Multi-Exit Discriminators + // (MED) across routes with different neighbor ASNs when using the + // STANDARD BGP best path selection algorithm. + BgpAlwaysCompareMed bool `json:"bgpAlwaysCompareMed,omitempty"` + + // BgpBestPathSelectionMode: The BGP best path selection algorithm to be + // employed within this network for dynamic routes learned by Cloud + // Routers. Can be LEGACY (default) or STANDARD. + // + // Possible values: + // "LEGACY" + // "STANDARD" + BgpBestPathSelectionMode string `json:"bgpBestPathSelectionMode,omitempty"` + // RoutingMode: The network-wide routing mode to use. If set to // REGIONAL, this network's Cloud Routers will only advertise routes // with subnets of this network in the same region as the router. If set @@ -38579,20 +38575,21 @@ type NetworkRoutingConfig struct { // "REGIONAL" RoutingMode string `json:"routingMode,omitempty"` - // ForceSendFields is a list of field names (e.g. "RoutingMode") to - // unconditionally include in API requests. By default, fields with + // ForceSendFields is a list of field names (e.g. "BgpAlwaysCompareMed") + // 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. "RoutingMode") 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. "BgpAlwaysCompareMed") 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:"-"` } @@ -44197,7 +44194,7 @@ type PathMatcher struct { // retry, if load balancer is successful in reaching the service, the // defaultCustomErrorResponsePolicy is ignored and the response from the // service is returned to the client. defaultCustomErrorResponsePolicy - // is supported only for Global External HTTP(S) load balancing. + // is supported only for global external Application Load Balancers. DefaultCustomErrorResponsePolicy *CustomErrorResponsePolicy `json:"defaultCustomErrorResponsePolicy,omitempty"` // DefaultRouteAction: defaultRouteAction takes effect when none of the @@ -44208,8 +44205,8 @@ type PathMatcher struct { // defaultService must not be set. Conversely if defaultService is set, // defaultRouteAction cannot contain any weightedBackendServices. Only // one of defaultRouteAction or defaultUrlRedirect must be set. URL maps - // for Classic external HTTP(S) load balancers only support the - // urlRewrite action within a path matcher's defaultRouteAction. + // for classic Application Load Balancers only support the urlRewrite + // action within a path matcher's defaultRouteAction. DefaultRouteAction *HttpRouteAction `json:"defaultRouteAction,omitempty"` // DefaultService: The full or partial URL to the BackendService @@ -44321,8 +44318,8 @@ type PathRule struct { // encounters a 404, the policy in PathRule.customErrorResponsePolicy // takes effect. If any of the requests in this example encounter a 500 // error code, the policy at UrlMap.defaultCustomErrorResponsePolicy - // takes effect. customErrorResponsePolicy is supported only for Global - // External HTTP(S) load balancing. + // takes effect. customErrorResponsePolicy is supported only for global + // external Application Load Balancers. CustomErrorResponsePolicy *CustomErrorResponsePolicy `json:"customErrorResponsePolicy,omitempty"` // Paths: The list of path patterns to match. Each must start with / and @@ -44337,9 +44334,9 @@ type PathRule struct { // backend. If routeAction specifies any weightedBackendServices, // service must not be set. Conversely if service is set, routeAction // cannot contain any weightedBackendServices. Only one of routeAction - // or urlRedirect must be set. URL maps for Classic external HTTP(S) - // load balancers only support the urlRewrite action within a path - // rule's routeAction. + // or urlRedirect must be set. URL maps for classic Application Load + // Balancers only support the urlRewrite action within a path rule's + // routeAction. RouteAction *HttpRouteAction `json:"routeAction,omitempty"` // Service: The full or partial URL of the backend service resource to @@ -44567,38 +44564,6 @@ func (s *PermissionConstraint) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -type PlacementLocation struct { - // AggregationBlockId: Aggregation block id of the placement group. - AggregationBlockId string `json:"aggregationBlockId,omitempty"` - - // ResourcePolicy: Partial or full URL of the resource policy for the - // placement group. - ResourcePolicy string `json:"resourcePolicy,omitempty"` - - // ForceSendFields is a list of field names (e.g. "AggregationBlockId") - // 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. "AggregationBlockId") 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 *PlacementLocation) MarshalJSON() ([]byte, error) { - type NoMethod PlacementLocation - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // Policy: An Identity and Access Management (IAM) policy, which // specifies access controls for Google Cloud resources. A `Policy` is a // collection of `bindings`. A `binding` binds one or more `members`, or @@ -53245,6 +53210,91 @@ func (s *RouteListWarningData) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type RoutePolicy struct { + // Fingerprint: A fingerprint for the Route Policy being applied to this + // Router, which is essentially a hash of the Route Policy used for + // optimistic locking. The fingerprint is initially generated by Compute + // Engine and changes after every request to modify or update Route + // Policy. You must always provide an up-to-date fingerprint hash in + // order to update or change labels. To see the latest fingerprint, make + // a getRoutePolicy() request to retrieve a Route Policy. + Fingerprint string `json:"fingerprint,omitempty"` + + // Name: Route Policy name, which must be a resource ID segment and + // unique within all the router's Route Policies. Name should conform to + // RFC1035. + Name string `json:"name,omitempty"` + + // Terms: List of terms (the order in the list is not important, they + // are evaluated in order of priority). Order of policies is not + // retained and might change when getting policy later. + Terms []*RoutePolicyPolicyTerm `json:"terms,omitempty"` + + // Possible values: + // "ROUTE_POLICY_TYPE_EXPORT" - The Route Policy is an Export Policy. + // "ROUTE_POLICY_TYPE_IMPORT" - The Route Policy is an Import Policy. + Type string `json:"type,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Fingerprint") 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. "Fingerprint") 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 *RoutePolicy) MarshalJSON() ([]byte, error) { + type NoMethod RoutePolicy + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RoutePolicyPolicyTerm struct { + // Actions: CEL expressions to evaluate to modify a route when this term + // matches. + Actions []*Expr `json:"actions,omitempty"` + + // Match: CEL expression evaluated against a route to determine if this + // term applies. When not set, the term applies to all routes. + Match *Expr `json:"match,omitempty"` + + // Priority: The evaluation priority for this term, which must be + // between 0 (inclusive) and 2^31 (exclusive), and unique within the + // list. + Priority int64 `json:"priority,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Actions") 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. "Actions") 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 *RoutePolicyPolicyTerm) MarshalJSON() ([]byte, error) { + type NoMethod RoutePolicyPolicyTerm + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Router: Represents a Cloud Router resource. For more information // about Cloud Router, read the Cloud Router overview. type Router struct { @@ -53273,9 +53323,12 @@ type Router struct { // identifier is defined by the server. Id uint64 `json:"id,omitempty,string"` - // Interfaces: Router interfaces. Each interface requires either one - // linked resource, (for example, linkedVpnTunnel), or IP address and IP - // address range (for example, ipRange), or both. + // Interfaces: Router interfaces. To create a BGP peer that uses a + // router interface, the interface must have one of the following fields + // specified: - linkedVpnTunnel - linkedInterconnectAttachment - + // subnetwork You can create a router interface without any of these + // fields specified. However, you cannot create a BGP peer that uses + // that interface. Interfaces []*RouterInterface `json:"interfaces,omitempty"` // Kind: [Output Only] Type of resource. Always compute#router for @@ -53953,13 +54006,13 @@ type RouterInterface struct { // LinkedInterconnectAttachment: URI of the linked Interconnect // attachment. It must be in the same region as the router. Each // interface can have one linked resource, which can be a VPN tunnel, an - // Interconnect attachment, or a virtual machine instance. + // Interconnect attachment, or a subnetwork. LinkedInterconnectAttachment string `json:"linkedInterconnectAttachment,omitempty"` // LinkedVpnTunnel: URI of the linked VPN tunnel, which must be in the // same region as the router. Each interface can have one linked // resource, which can be a VPN tunnel, an Interconnect attachment, or a - // virtual machine instance. + // subnetwork. LinkedVpnTunnel string `json:"linkedVpnTunnel,omitempty"` // ManagementType: [Output Only] The resource that configures and @@ -54241,7 +54294,7 @@ type RouterMd5AuthenticationKey struct { Key string `json:"key,omitempty"` // Name: Name used to identify the key. Must be unique within a router. - // Must be referenced by at least one bgpPeer. Must comply with RFC1035. + // Must be referenced by exactly one bgpPeer. Must comply with RFC1035. Name string `json:"name,omitempty"` // ForceSendFields is a list of field names (e.g. "Key") to @@ -54899,6 +54952,433 @@ func (s *RouterStatusResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type RoutersGetRoutePolicyResponse struct { + // Etag: end_interface: MixerGetResponseWithEtagBuilder + Etag string `json:"etag,omitempty"` + + Resource *RoutePolicy `json:"resource,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Etag") 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. "Etag") 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 *RoutersGetRoutePolicyResponse) MarshalJSON() ([]byte, error) { + type NoMethod RoutersGetRoutePolicyResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RoutersListBgpRoutes struct { + Etag string `json:"etag,omitempty"` + + // Id: [Output Only] The unique identifier for the resource. This + // identifier is defined by the server. + Id string `json:"id,omitempty"` + + // Kind: [Output Only] Type of resource. Always + // compute#routersListBgpRoutes for lists of bgp routes. + Kind string `json:"kind,omitempty"` + + // NextPageToken: [Output Only] This token allows you to get the next + // page of results for list requests. If the number of results is larger + // than maxResults, use the nextPageToken as a value for the query + // parameter pageToken in the next list request. Subsequent list + // requests will have their own nextPageToken to continue paging through + // the results. + NextPageToken string `json:"nextPageToken,omitempty"` + + // Result: [Output Only] A list of bgp routes. + Result []*BgpRoute `json:"result,omitempty"` + + // SelfLink: [Output Only] Server-defined URL for this resource. + SelfLink string `json:"selfLink,omitempty"` + + // Unreachable: [Output Only] Unreachable resources. + Unreachable []string `json:"unreachable,omitempty"` + + // Warning: [Output Only] Informational warning message. + Warning *RoutersListBgpRoutesWarning `json:"warning,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Etag") 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. "Etag") 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 *RoutersListBgpRoutes) MarshalJSON() ([]byte, error) { + type NoMethod RoutersListBgpRoutes + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RoutersListBgpRoutesWarning: [Output Only] Informational warning +// message. +type RoutersListBgpRoutesWarning struct { + // Code: [Output Only] A warning code, if applicable. For example, + // Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in + // the response. + // + // Possible values: + // "CLEANUP_FAILED" - Warning about failed cleanup of transient + // changes made by a failed operation. + // "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was + // created. + // "DEPRECATED_TYPE_USED" - When deploying and at least one of the + // resources has a type marked as deprecated + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk + // that is larger than image size. + // "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the + // resources has a type marked as experimental + // "EXTERNAL_API_WARNING" - Warning that is present in an external api + // call + // "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been + // overridden. Deprecated unused field. + // "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an + // injected kernel, which is deprecated. + // "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV + // backend service is associated with a health check that is not of type + // HTTP/HTTPS/HTTP2. + // "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a + // exceedingly large number of resources + // "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to + // list overhead quota exceed which captures the amount of resources + // filtered out by user-defined list filter. + // "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is + // 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 + // URL refers to an instance that is not on the same network as the + // route. + // "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not + // have a status of RUNNING. + // "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to + // continue the process despite the mentioned error. + // "NO_RESULTS_ON_PAGE" - No results are present on a particular list + // page. + // "PARTIAL_SUCCESS" - Success is reported, but some results may be + // missing due to errors + // "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource + // that requires a TOS they have not accepted. + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a + // resource is in use. + // "RESOURCE_NOT_DELETED" - One or more of the resources set to + // auto-delete could not be deleted because they were in use. + // "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is + // ignored. + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in + // instance group manager is valid as such, but its application does not + // make a lot of sense, because it allows only single instance in + // instance group. + // "UNDECLARED_PROPERTIES" - When undeclared properties in the schema + // are present + // "UNREACHABLE" - A given scope cannot be reached. + Code string `json:"code,omitempty"` + + // Data: [Output Only] Metadata about this warning in key: value format. + // For example: "data": [ { "key": "scope", "value": "zones/us-east1-d" + // } + Data []*RoutersListBgpRoutesWarningData `json:"data,omitempty"` + + // Message: [Output Only] A human-readable description of the warning + // code. + Message string `json:"message,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Code") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. 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. "Code") 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 *RoutersListBgpRoutesWarning) MarshalJSON() ([]byte, error) { + type NoMethod RoutersListBgpRoutesWarning + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RoutersListBgpRoutesWarningData struct { + // Key: [Output Only] A key that provides more detail on the warning + // being returned. For example, for warnings where there are no results + // in a list request for a particular zone, this key might be scope and + // the key value might be the zone name. Other examples might be a key + // indicating a deprecated resource and a suggested replacement, or a + // warning about invalid network settings (for example, if an instance + // attempts to perform IP forwarding but is not enabled for IP + // forwarding). + Key string `json:"key,omitempty"` + + // Value: [Output Only] A warning data value corresponding to the key. + Value string `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Key") 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. "Key") 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 *RoutersListBgpRoutesWarningData) MarshalJSON() ([]byte, error) { + type NoMethod RoutersListBgpRoutesWarningData + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RoutersListRoutePolicies struct { + Etag string `json:"etag,omitempty"` + + // Id: [Output Only] The unique identifier for the resource. This + // identifier is defined by the server. + Id string `json:"id,omitempty"` + + // Kind: [Output Only] Type of resource. Always + // compute#routersListRoutePolicies for lists of route policies. + Kind string `json:"kind,omitempty"` + + // NextPageToken: [Output Only] This token allows you to get the next + // page of results for list requests. If the number of results is larger + // than maxResults, use the nextPageToken as a value for the query + // parameter pageToken in the next list request. Subsequent list + // requests will have their own nextPageToken to continue paging through + // the results. + NextPageToken string `json:"nextPageToken,omitempty"` + + // Result: [Output Only] A list of route policies. + Result []*RoutePolicy `json:"result,omitempty"` + + // SelfLink: [Output Only] Server-defined URL for this resource. + SelfLink string `json:"selfLink,omitempty"` + + // Unreachable: [Output Only] Unreachable resources. + Unreachable []string `json:"unreachable,omitempty"` + + // Warning: [Output Only] Informational warning message. + Warning *RoutersListRoutePoliciesWarning `json:"warning,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Etag") 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. "Etag") 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 *RoutersListRoutePolicies) MarshalJSON() ([]byte, error) { + type NoMethod RoutersListRoutePolicies + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// RoutersListRoutePoliciesWarning: [Output Only] Informational warning +// message. +type RoutersListRoutePoliciesWarning struct { + // Code: [Output Only] A warning code, if applicable. For example, + // Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in + // the response. + // + // Possible values: + // "CLEANUP_FAILED" - Warning about failed cleanup of transient + // changes made by a failed operation. + // "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was + // created. + // "DEPRECATED_TYPE_USED" - When deploying and at least one of the + // resources has a type marked as deprecated + // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk + // that is larger than image size. + // "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the + // resources has a type marked as experimental + // "EXTERNAL_API_WARNING" - Warning that is present in an external api + // call + // "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been + // overridden. Deprecated unused field. + // "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an + // injected kernel, which is deprecated. + // "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV + // backend service is associated with a health check that is not of type + // HTTP/HTTPS/HTTP2. + // "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a + // exceedingly large number of resources + // "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to + // list overhead quota exceed which captures the amount of resources + // filtered out by user-defined list filter. + // "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type + // "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is + // 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 + // URL refers to an instance that is not on the same network as the + // route. + // "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not + // have a status of RUNNING. + // "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to + // continue the process despite the mentioned error. + // "NO_RESULTS_ON_PAGE" - No results are present on a particular list + // page. + // "PARTIAL_SUCCESS" - Success is reported, but some results may be + // missing due to errors + // "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource + // that requires a TOS they have not accepted. + // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a + // resource is in use. + // "RESOURCE_NOT_DELETED" - One or more of the resources set to + // auto-delete could not be deleted because they were in use. + // "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is + // ignored. + // "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in + // instance group manager is valid as such, but its application does not + // make a lot of sense, because it allows only single instance in + // instance group. + // "UNDECLARED_PROPERTIES" - When undeclared properties in the schema + // are present + // "UNREACHABLE" - A given scope cannot be reached. + Code string `json:"code,omitempty"` + + // Data: [Output Only] Metadata about this warning in key: value format. + // For example: "data": [ { "key": "scope", "value": "zones/us-east1-d" + // } + Data []*RoutersListRoutePoliciesWarningData `json:"data,omitempty"` + + // Message: [Output Only] A human-readable description of the warning + // code. + Message string `json:"message,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Code") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. 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. "Code") 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 *RoutersListRoutePoliciesWarning) MarshalJSON() ([]byte, error) { + type NoMethod RoutersListRoutePoliciesWarning + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type RoutersListRoutePoliciesWarningData struct { + // Key: [Output Only] A key that provides more detail on the warning + // being returned. For example, for warnings where there are no results + // in a list request for a particular zone, this key might be scope and + // the key value might be the zone name. Other examples might be a key + // indicating a deprecated resource and a suggested replacement, or a + // warning about invalid network settings (for example, if an instance + // attempts to perform IP forwarding but is not enabled for IP + // forwarding). + Key string `json:"key,omitempty"` + + // Value: [Output Only] A warning data value corresponding to the key. + Value string `json:"value,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Key") 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. "Key") 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 *RoutersListRoutePoliciesWarningData) MarshalJSON() ([]byte, error) { + type NoMethod RoutersListRoutePoliciesWarningData + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type RoutersPreviewResponse struct { // Resource: Preview of given router. Resource *Router `json:"resource,omitempty"` @@ -60355,16 +60835,19 @@ func (s *SourceInstanceProperties) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// SslCertificate: Represents an SSL Certificate resource. Google -// Compute Engine has two SSL Certificate resources: * Global +// SslCertificate: Represents an SSL certificate resource. Google +// Compute Engine has two SSL certificate resources: * Global // (/compute/docs/reference/rest/alpha/sslCertificates) * Regional -// (/compute/docs/reference/rest/alpha/regionSslCertificates) The -// sslCertificates are used by: - external HTTPS load balancers - SSL -// proxy load balancers The regionSslCertificates are used by internal -// HTTPS load balancers. Optionally, certificate file contents that you -// upload can contain a set of up to five PEM-encoded certificates. The -// API call creates an object (sslCertificate) that holds this data. You -// can use SSL keys and certificates to secure connections to a load +// (/compute/docs/reference/rest/alpha/regionSslCertificates) The global +// SSL certificates (sslCertificates) are used by: - Global external +// Application Load Balancers - Classic Application Load Balancers - +// Proxy Network Load Balancers (with target SSL proxies) The regional +// SSL certificates (regionSslCertificates) are used by: - Regional +// external Application Load Balancers - Regional internal Application +// Load Balancers Optionally, certificate file contents that you upload +// can contain a set of up to five PEM-encoded certificates. The API +// call creates an object (sslCertificate) that holds this data. You can +// use SSL keys and certificates to secure connections to a load // balancer. For more information, read Creating and using SSL // certificates, SSL certificates quotas and limits, and Troubleshooting // SSL certificates. @@ -63423,8 +63906,8 @@ type Subnetwork struct { // subnetworks. // "CLOUD_EXTENSION" - Subnetworks created for Cloud Extension // Machines. - // "GLOBAL_MANAGED_PROXY" - Subnet reserved for Global Internal - // HTTP(S) Load Balancing. + // "GLOBAL_MANAGED_PROXY" - Subnet reserved for Global Envoy-based + // Load Balancing. // "INTERNAL_HTTPS_LOAD_BALANCER" - Subnet reserved for Internal // HTTP(S) Load Balancing. // "PRIVATE" - Regular user created or automatically created subnet. @@ -63434,8 +63917,8 @@ type Subnetwork struct { // subnet. // "PRIVATE_SERVICE_CONNECT" - Subnetworks created for Private Service // Connect in the producer network. - // "REGIONAL_MANAGED_PROXY" - Subnetwork used for Regional - // Internal/External HTTP(S) Load Balancing. + // "REGIONAL_MANAGED_PROXY" - Subnetwork used for Regional Envoy-based + // Load Balancing. Purpose string `json:"purpose,omitempty"` // Region: URL of the region where the Subnetwork resides. This field @@ -63482,6 +63965,8 @@ type Subnetwork struct { // addresses. // "IPV4_ONLY" - New VMs in this subnet will only be assigned IPv4 // addresses. + // "IPV6_ONLY" - New VMs in this subnet will only be assigned IPv6 + // addresses. StackType string `json:"stackType,omitempty"` // State: [Output Only] The state of the subnetwork, which can be one of @@ -64938,11 +65423,14 @@ func (s *TargetHttpProxiesScopedListWarningData) MarshalJSON() ([]byte, error) { // (/compute/docs/reference/rest/alpha/targetHttpProxies) * Regional // (/compute/docs/reference/rest/alpha/regionTargetHttpProxies) A target // HTTP proxy is a component of GCP HTTP load balancers. * -// targetHttpProxies are used by external HTTP load balancers and -// Traffic Director. * regionTargetHttpProxies are used by internal HTTP -// load balancers. Forwarding rules reference a target HTTP proxy, and -// the target proxy then references a URL map. For more information, -// read Using Target Proxies and Forwarding rule concepts. +// targetHttpProxies are used by global external Application Load +// Balancers, classic Application Load Balancers, cross-region internal +// Application Load Balancers, and Traffic Director. * +// regionTargetHttpProxies are used by regional internal Application +// Load Balancers and regional external Application Load Balancers. +// Forwarding rules reference a target HTTP proxy, and the target proxy +// then references a URL map. For more information, read Using Target +// Proxies and Forwarding rule concepts. type TargetHttpProxy struct { // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text // format. @@ -64979,10 +65467,10 @@ type TargetHttpProxy struct { // HttpKeepAliveTimeoutSec: Specifies how long to keep a connection // open, after completing a response, while there is no matching traffic // (in seconds). If an HTTP keep-alive is not specified, a default value - // (610 seconds) will be used. For Global external HTTP(S) load - // balancer, the minimum allowed value is 5 seconds and the maximum - // allowed value is 1200 seconds. For Global external HTTP(S) load - // balancer (classic), this option is not available publicly. + // (610 seconds) will be used. For global external Application Load + // Balancers, the minimum allowed value is 5 seconds and the maximum + // allowed value is 1200 seconds. For classic Application Load + // Balancers, this option is not supported. HttpKeepAliveTimeoutSec int64 `json:"httpKeepAliveTimeoutSec,omitempty"` // Id: [Output Only] The unique identifier for the resource. This @@ -65720,8 +66208,11 @@ func (s *TargetHttpsProxiesSetSslCertificatesRequest) MarshalJSON() ([]byte, err // (/compute/docs/reference/rest/alpha/targetHttpsProxies) * Regional // (/compute/docs/reference/rest/alpha/regionTargetHttpsProxies) A // target HTTPS proxy is a component of GCP HTTPS load balancers. * -// targetHttpsProxies are used by external HTTPS load balancers. * -// regionTargetHttpsProxies are used by internal HTTPS load balancers. +// targetHttpProxies are used by global external Application Load +// Balancers, classic Application Load Balancers, cross-region internal +// Application Load Balancers, and Traffic Director. * +// regionTargetHttpProxies are used by regional internal Application +// Load Balancers and regional external Application Load Balancers. // Forwarding rules reference a target HTTPS proxy, and the target proxy // then references a URL map. For more information, read Using Target // Proxies and Forwarding rule concepts. @@ -65785,10 +66276,10 @@ type TargetHttpsProxy struct { // HttpKeepAliveTimeoutSec: Specifies how long to keep a connection // open, after completing a response, while there is no matching traffic // (in seconds). If an HTTP keep-alive is not specified, a default value - // (610 seconds) will be used. For Global external HTTP(S) load - // balancer, the minimum allowed value is 5 seconds and the maximum - // allowed value is 1200 seconds. For Global external HTTP(S) load - // balancer (classic), this option is not available publicly. + // (610 seconds) will be used. For global external Application Load + // Balancers, the minimum allowed value is 5 seconds and the maximum + // allowed value is 1200 seconds. For classic Application Load + // Balancers, this option is not supported. HttpKeepAliveTimeoutSec int64 `json:"httpKeepAliveTimeoutSec,omitempty"` // Id: [Output Only] The unique identifier for the resource. This @@ -70092,19 +70583,21 @@ func (s *UpcomingMaintenanceTimeWindow) MarshalJSON() ([]byte, error) { // resources: * Global (/compute/docs/reference/rest/alpha/urlMaps) * // Regional (/compute/docs/reference/rest/alpha/regionUrlMaps) A URL map // resource is a component of certain types of cloud load balancers and -// Traffic Director: * urlMaps are used by external HTTP(S) load -// balancers and Traffic Director. * regionUrlMaps are used by internal -// HTTP(S) load balancers. For a list of supported URL map features by -// the load balancer type, see the Load balancing features: Routing and -// traffic management table. For a list of supported URL map features -// for Traffic Director, see the Traffic Director features: Routing and -// traffic management table. This resource defines mappings from -// hostnames and URL paths to either a backend service or a backend -// bucket. To use the global urlMaps resource, the backend service must -// have a loadBalancingScheme of either EXTERNAL or -// INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend -// service must have a loadBalancingScheme of INTERNAL_MANAGED. For more -// information, read URL Map Concepts. +// Traffic Director: * urlMaps are used by global external Application +// Load Balancers, classic Application Load Balancers, and cross-region +// internal Application Load Balancers. * regionUrlMaps are used by +// internal Application Load Balancers, regional external Application +// Load Balancers and regional internal Application Load Balancers. For +// a list of supported URL map features by the load balancer type, see +// the Load balancing features: Routing and traffic management table. +// For a list of supported URL map features for Traffic Director, see +// the Traffic Director features: Routing and traffic management table. +// This resource defines mappings from hostnames and URL paths to either +// a backend service or a backend bucket. To use the global urlMaps +// resource, the backend service must have a loadBalancingScheme of +// either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps +// resource, the backend service must have a loadBalancingScheme of +// INTERNAL_MANAGED. For more information, read URL Map Concepts. type UrlMap struct { // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text // format. @@ -70113,7 +70606,7 @@ type UrlMap struct { // DefaultCustomErrorResponsePolicy: defaultCustomErrorResponsePolicy // specifies how the Load Balancer returns error responses when // BackendServiceor BackendBucket responds with an error. This policy - // takes effect at the Load Balancer level and applies only when no + // takes effect at the load balancer level and applies only when no // policy has been defined for the error code at lower levels like // PathMatcher, RouteRule and PathRule within this UrlMap. For example, // consider a UrlMap with the following configuration: - @@ -70133,7 +70626,7 @@ type UrlMap struct { // retry, if load balancer is successful in reaching the service, the // defaultCustomErrorResponsePolicy is ignored and the response from the // service is returned to the client. defaultCustomErrorResponsePolicy - // is supported only for Global External HTTP(S) load balancing. + // is supported only for global external Application Load Balancers. DefaultCustomErrorResponsePolicy *CustomErrorResponsePolicy `json:"defaultCustomErrorResponsePolicy,omitempty"` // DefaultRouteAction: defaultRouteAction takes effect when none of the @@ -70143,8 +70636,8 @@ type UrlMap struct { // any weightedBackendServices, defaultService must not be set. // Conversely if defaultService is set, defaultRouteAction cannot // contain any weightedBackendServices. Only one of defaultRouteAction - // or defaultUrlRedirect must be set. URL maps for Classic external - // HTTP(S) load balancers only support the urlRewrite action within + // or defaultUrlRedirect must be set. URL maps for classic Application + // Load Balancers only support the urlRewrite action within // defaultRouteAction. defaultRouteAction has no effect when the URL map // is bound to a target gRPC proxy that has the validateForProxyless // field set to true. @@ -70989,27 +71482,27 @@ func (s *UrlMapsScopedListWarningData) MarshalJSON() ([]byte, error) { type UrlMapsValidateRequest struct { // LoadBalancingSchemes: Specifies the load balancer type(s) this - // validation request is for. Use EXTERNAL_MANAGED for HTTP/HTTPS - // External Global Load Balancer with Advanced Traffic Management. Use - // EXTERNAL for Classic HTTP/HTTPS External Global Load Balancer. Other - // load balancer types are not supported. For more information, refer to - // Choosing a load balancer. If unspecified, the load balancing scheme - // will be inferred from the backend service resources this URL map - // references. If that can not be inferred (for example, this URL map - // only references backend buckets, or this Url map is for rewrites and - // redirects only and doesn't reference any backends), EXTERNAL will be - // used as the default type. If specified, the scheme(s) must not - // conflict with the load balancing scheme of the backend service - // resources this Url map references. - // - // Possible values: - // "EXTERNAL" - Signifies that this will be used for Classic L7 - // External Load Balancing. + // validation request is for. Use EXTERNAL_MANAGED for global external + // Application Load Balancers and regional external Application Load + // Balancers. Use EXTERNAL for classic Application Load Balancers. Use + // INTERNAL_MANAGED for internal Application Load Balancers. For more + // information, refer to Choosing a load balancer. If unspecified, the + // load balancing scheme will be inferred from the backend service + // resources this URL map references. If that can not be inferred (for + // example, this URL map only references backend buckets, or this Url + // map is for rewrites and redirects only and doesn't reference any + // backends), EXTERNAL will be used as the default type. If specified, + // the scheme(s) must not conflict with the load balancing scheme of the + // backend service resources this Url map references. + // + // Possible values: + // "EXTERNAL" - Signifies that this will be used for classic + // Application Load Balancers. // "EXTERNAL_MANAGED" - Signifies that this will be used for - // Envoy-based L7 External Load Balancing. + // Envoy-based global external Application Load Balancers. // "LOAD_BALANCING_SCHEME_UNSPECIFIED" - If unspecified, the // validation will try to infer the scheme from the backend service - // resources this Url map references. If the inferrence is not possible, + // resources this Url map references. If the inference is not possible, // EXTERNAL will be used as the default type. LoadBalancingSchemes []string `json:"loadBalancingSchemes,omitempty"` @@ -71174,8 +71667,8 @@ type UsableSubnetwork struct { // subnetworks. // "CLOUD_EXTENSION" - Subnetworks created for Cloud Extension // Machines. - // "GLOBAL_MANAGED_PROXY" - Subnet reserved for Global Internal - // HTTP(S) Load Balancing. + // "GLOBAL_MANAGED_PROXY" - Subnet reserved for Global Envoy-based + // Load Balancing. // "INTERNAL_HTTPS_LOAD_BALANCER" - Subnet reserved for Internal // HTTP(S) Load Balancing. // "PRIVATE" - Regular user created or automatically created subnet. @@ -71185,8 +71678,8 @@ type UsableSubnetwork struct { // subnet. // "PRIVATE_SERVICE_CONNECT" - Subnetworks created for Private Service // Connect in the producer network. - // "REGIONAL_MANAGED_PROXY" - Subnetwork used for Regional - // Internal/External HTTP(S) Load Balancing. + // "REGIONAL_MANAGED_PROXY" - Subnetwork used for Regional Envoy-based + // Load Balancing. Purpose string `json:"purpose,omitempty"` // Role: The role of subnetwork. Currently, this field is only used when @@ -71215,6 +71708,8 @@ type UsableSubnetwork struct { // addresses. // "IPV4_ONLY" - New VMs in this subnet will only be assigned IPv4 // addresses. + // "IPV6_ONLY" - New VMs in this subnet will only be assigned IPv6 + // addresses. StackType string `json:"stackType,omitempty"` // Subnetwork: Subnetwork URL. @@ -82215,6 +82710,286 @@ func (c *BackendServicesListCall) Pages(ctx context.Context, f func(*BackendServ } } +// method id "compute.backendServices.listUsable": + +type BackendServicesListUsableCall struct { + s *Service + project string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// ListUsable: Retrieves an aggregated list of all usable backend +// services in the specified project. +// +// - project: Project ID for this request. +func (r *BackendServicesService) ListUsable(project string) *BackendServicesListUsableCall { + c := &BackendServicesListUsableCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + return c +} + +// Filter sets the optional parameter "filter": A filter expression that +// filters resources listed in the response. Most Compute resources +// support two types of filter expressions: expressions that support +// regular expressions and expressions that follow API improvement +// proposal AIP-160. If you want to use AIP-160, your expression must +// specify the field name, an operator, and the value that you want to +// use for filtering. The value must be a string, a number, or a +// boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` +// or `:`. For example, if you are filtering Compute Engine instances, +// you can exclude instances named `example-instance` by specifying +// `name != example-instance`. The `:` operator can be used with string +// fields to match substrings. For non-string fields it is equivalent to +// the `=` operator. The `:*` comparison can be used to test whether a +// key has been defined. For example, to find all objects with `owner` +// label use: ``` labels.owner:* ``` You can also filter nested fields. +// For example, you could specify `scheduling.automaticRestart = false` +// to include instances only if they are not scheduled for automatic +// restarts. You can use filtering on nested fields to filter based on +// resource labels. To filter on multiple expressions, provide each +// separate expression within parentheses. For example: ``` +// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") +// ``` By default, each expression is an `AND` expression. However, you +// can include `AND` and `OR` expressions explicitly. For example: ``` +// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") +// AND (scheduling.automaticRestart = true) ``` If you want to use a +// regular expression, use the `eq` (equal) or `ne` (not equal) operator +// against a single un-parenthesized expression with or without quotes +// or against multiple parenthesized expressions. Examples: `fieldname +// eq unquoted literal` `fieldname eq 'single quoted literal'` +// `fieldname eq "double quoted literal" `(fieldname1 eq literal) +// (fieldname2 ne "literal")` The literal value is interpreted as a +// regular expression using Google RE2 library syntax. The literal value +// must match the entire field. For example, to filter for instances +// that do not end with name "instance", you would use `name ne +// .*instance`. +func (c *BackendServicesListUsableCall) Filter(filter string) *BackendServicesListUsableCall { + c.urlParams_.Set("filter", filter) + return c +} + +// MaxResults sets the optional parameter "maxResults": The maximum +// number of results per page that should be returned. If the number of +// available results is larger than `maxResults`, Compute Engine returns +// a `nextPageToken` that can be used to get the next page of results in +// subsequent list requests. Acceptable values are `0` to `500`, +// inclusive. (Default: `500`) +func (c *BackendServicesListUsableCall) MaxResults(maxResults int64) *BackendServicesListUsableCall { + c.urlParams_.Set("maxResults", fmt.Sprint(maxResults)) + return c +} + +// OrderBy sets the optional parameter "orderBy": Sorts list results by +// a certain order. By default, results are returned in alphanumerical +// order based on the resource name. You can also sort results in +// descending order based on the creation timestamp using +// `orderBy="creationTimestamp desc". This sorts results based on the +// `creationTimestamp` field in reverse chronological order (newest +// result first). Use this to sort resources like operations so that the +// newest operation is returned first. Currently, only sorting by `name` +// or `creationTimestamp desc` is supported. +func (c *BackendServicesListUsableCall) OrderBy(orderBy string) *BackendServicesListUsableCall { + c.urlParams_.Set("orderBy", orderBy) + return c +} + +// PageToken sets the optional parameter "pageToken": Specifies a page +// token to use. Set `pageToken` to the `nextPageToken` returned by a +// previous list request to get the next page of results. +func (c *BackendServicesListUsableCall) PageToken(pageToken string) *BackendServicesListUsableCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// ReturnPartialSuccess sets the optional parameter +// "returnPartialSuccess": Opt-in for partial success behavior which +// provides partial results in case of failure. The default value is +// false. +func (c *BackendServicesListUsableCall) ReturnPartialSuccess(returnPartialSuccess bool) *BackendServicesListUsableCall { + c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess)) + 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 *BackendServicesListUsableCall) Fields(s ...googleapi.Field) *BackendServicesListUsableCall { + 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 *BackendServicesListUsableCall) IfNoneMatch(entityTag string) *BackendServicesListUsableCall { + 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 *BackendServicesListUsableCall) Context(ctx context.Context) *BackendServicesListUsableCall { + 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 *BackendServicesListUsableCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *BackendServicesListUsableCall) 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, "projects/{project}/global/backendServices/listUsable") + 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{ + "project": c.project, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.backendServices.listUsable" call. +// Exactly one of *BackendServiceListUsable or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *BackendServiceListUsable.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 *BackendServicesListUsableCall) Do(opts ...googleapi.CallOption) (*BackendServiceListUsable, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &BackendServiceListUsable{ + 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": "Retrieves an aggregated list of all usable backend services in the specified project.", + // "flatPath": "projects/{project}/global/backendServices/listUsable", + // "httpMethod": "GET", + // "id": "compute.backendServices.listUsable", + // "parameterOrder": [ + // "project" + // ], + // "parameters": { + // "filter": { + // "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`.", + // "location": "query", + // "type": "string" + // }, + // "maxResults": { + // "default": "500", + // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + // "format": "uint32", + // "location": "query", + // "minimum": "0", + // "type": "integer" + // }, + // "orderBy": { + // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + // "location": "query", + // "type": "string" + // }, + // "pageToken": { + // "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + // "location": "query", + // "type": "string" + // }, + // "project": { + // "description": "Project ID for this request.", + // "location": "path", + // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + // "required": true, + // "type": "string" + // }, + // "returnPartialSuccess": { + // "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.", + // "location": "query", + // "type": "boolean" + // } + // }, + // "path": "projects/{project}/global/backendServices/listUsable", + // "response": { + // "$ref": "BackendServiceListUsable" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// 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 *BackendServicesListUsableCall) Pages(ctx context.Context, f func(*BackendServiceListUsable) 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 "compute.backendServices.patch": type BackendServicesPatchCall struct { @@ -191917,6 +192692,15 @@ func (r *RegionNetworkFirewallPoliciesService) AddAssociation(project string, re return c } +// AssociatedPolicyToBeReplaced sets the optional parameter +// "associatedPolicyToBeReplaced": Name of the firewall policy +// associated with the target network to swap association with. This +// field is mutually exclusive with 'replace_existing_association'. +func (c *RegionNetworkFirewallPoliciesAddAssociationCall) AssociatedPolicyToBeReplaced(associatedPolicyToBeReplaced string) *RegionNetworkFirewallPoliciesAddAssociationCall { + c.urlParams_.Set("associatedPolicyToBeReplaced", associatedPolicyToBeReplaced) + return c +} + // ReplaceExistingAssociation sets the optional parameter // "replaceExistingAssociation": Indicates whether or not to replace it // if an association already exists. This is false by default, in which @@ -192045,6 +192829,12 @@ func (c *RegionNetworkFirewallPoliciesAddAssociationCall) Do(opts ...googleapi.C // "firewallPolicy" // ], // "parameters": { + // "associatedPolicyToBeReplaced": { + // "description": "Name of the firewall policy associated with the target network to swap association with. This field is mutually exclusive with 'replace_existing_association'.", + // "location": "query", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + // "type": "string" + // }, // "firewallPolicy": { // "description": "Name of the firewall policy to update.", // "location": "path", @@ -210656,168 +211446,6 @@ func (c *ResourcePoliciesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Po } -// method id "compute.resourcePolicies.getNetworkCapacityConstraints": - -type ResourcePoliciesGetNetworkCapacityConstraintsCall struct { - s *Service - project string - region string - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// GetNetworkCapacityConstraints: Returns the network capacity -// constraints for the specified placement policies. -// -// - project: Project ID for this request. -// - region: Name of the region for this request. -func (r *ResourcePoliciesService) GetNetworkCapacityConstraints(project string, region string) *ResourcePoliciesGetNetworkCapacityConstraintsCall { - c := &ResourcePoliciesGetNetworkCapacityConstraintsCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.project = project - c.region = region - return c -} - -// ResourcePolicies sets the optional parameter "resourcePolicies": -// Partial or full URL of the resource policies for which to retrieve -// the network capacity constraints. -func (c *ResourcePoliciesGetNetworkCapacityConstraintsCall) ResourcePolicies(resourcePolicies ...string) *ResourcePoliciesGetNetworkCapacityConstraintsCall { - c.urlParams_.SetMulti("resourcePolicies", append([]string{}, resourcePolicies...)) - 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 *ResourcePoliciesGetNetworkCapacityConstraintsCall) Fields(s ...googleapi.Field) *ResourcePoliciesGetNetworkCapacityConstraintsCall { - 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 *ResourcePoliciesGetNetworkCapacityConstraintsCall) Context(ctx context.Context) *ResourcePoliciesGetNetworkCapacityConstraintsCall { - 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 *ResourcePoliciesGetNetworkCapacityConstraintsCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ResourcePoliciesGetNetworkCapacityConstraintsCall) 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, "projects/{project}/regions/{region}/resourcePolicies/getNetworkCapacityConstraints") - urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("POST", urls, body) - if err != nil { - return nil, err - } - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "project": c.project, - "region": c.region, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "compute.resourcePolicies.getNetworkCapacityConstraints" call. -// Exactly one of *GetNetworkCapacityConstraintsResponse or error will -// be non-nil. Any non-2xx status code is an error. Response headers are -// in either -// *GetNetworkCapacityConstraintsResponse.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 *ResourcePoliciesGetNetworkCapacityConstraintsCall) Do(opts ...googleapi.CallOption) (*GetNetworkCapacityConstraintsResponse, error) { - gensupport.SetOptions(c.urlParams_, opts...) - res, err := c.doRequest("json") - if res != nil && res.StatusCode == http.StatusNotModified { - if res.Body != nil { - res.Body.Close() - } - return nil, gensupport.WrapError(&googleapi.Error{ - Code: res.StatusCode, - Header: res.Header, - }) - } - if err != nil { - return nil, err - } - defer googleapi.CloseBody(res) - if err := googleapi.CheckResponse(res); err != nil { - return nil, gensupport.WrapError(err) - } - ret := &GetNetworkCapacityConstraintsResponse{ - 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 the network capacity constraints for the specified placement policies.", - // "flatPath": "projects/{project}/regions/{region}/resourcePolicies/getNetworkCapacityConstraints", - // "httpMethod": "POST", - // "id": "compute.resourcePolicies.getNetworkCapacityConstraints", - // "parameterOrder": [ - // "project", - // "region" - // ], - // "parameters": { - // "project": { - // "description": "Project ID for this request.", - // "location": "path", - // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - // "required": true, - // "type": "string" - // }, - // "region": { - // "description": "Name of the region for this request.", - // "location": "path", - // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - // "required": true, - // "type": "string" - // }, - // "resourcePolicies": { - // "description": "Partial or full URL of the resource policies for which to retrieve the network capacity constraints.", - // "location": "query", - // "repeated": true, - // "type": "string" - // } - // }, - // "path": "projects/{project}/regions/{region}/resourcePolicies/getNetworkCapacityConstraints", - // "response": { - // "$ref": "GetNetworkCapacityConstraintsResponse" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform", - // "https://www.googleapis.com/auth/compute", - // "https://www.googleapis.com/auth/compute.readonly" - // ] - // } - -} - // method id "compute.resourcePolicies.insert": type ResourcePoliciesInsertCall struct { @@ -212310,6 +212938,196 @@ func (c *RoutersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) } +// method id "compute.routers.deleteRoutePolicy": + +type RoutersDeleteRoutePolicyCall struct { + s *Service + project string + region string + router string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// DeleteRoutePolicy: Deletes Route Policy +// +// - project: Project ID for this request. +// - region: Name of the region for this request. +// - router: Name of the Router resource where Route Policy is defined. +func (r *RoutersService) DeleteRoutePolicy(project string, region string, router string) *RoutersDeleteRoutePolicyCall { + c := &RoutersDeleteRoutePolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.region = region + c.router = router + return c +} + +// Policy sets the optional parameter "policy": The Policy name for this +// request. Name must conform to RFC1035 +func (c *RoutersDeleteRoutePolicyCall) Policy(policy string) *RoutersDeleteRoutePolicyCall { + c.urlParams_.Set("policy", policy) + return c +} + +// RequestId sets the optional parameter "requestId": An optional +// request ID to identify requests. Specify a unique request ID so that +// if you must retry your request, the server will know to ignore the +// request if it has already been completed. For example, consider a +// situation where you make an initial request and the request times +// out. If you make the request again with the same request ID, the +// server can check if original operation with the same request ID was +// received, and if so, will ignore the second request. This prevents +// clients from accidentally creating duplicate commitments. The request +// ID must be a valid UUID with the exception that zero UUID is not +// supported ( 00000000-0000-0000-0000-000000000000). +func (c *RoutersDeleteRoutePolicyCall) RequestId(requestId string) *RoutersDeleteRoutePolicyCall { + 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 *RoutersDeleteRoutePolicyCall) Fields(s ...googleapi.Field) *RoutersDeleteRoutePolicyCall { + 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 *RoutersDeleteRoutePolicyCall) Context(ctx context.Context) *RoutersDeleteRoutePolicyCall { + 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 *RoutersDeleteRoutePolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RoutersDeleteRoutePolicyCall) 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, "projects/{project}/regions/{region}/routers/{router}/deleteRoutePolicy") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "region": c.region, + "router": c.router, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.routers.deleteRoutePolicy" 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 *RoutersDeleteRoutePolicyCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Deletes Route Policy", + // "flatPath": "projects/{project}/regions/{region}/routers/{router}/deleteRoutePolicy", + // "httpMethod": "POST", + // "id": "compute.routers.deleteRoutePolicy", + // "parameterOrder": [ + // "project", + // "region", + // "router" + // ], + // "parameters": { + // "policy": { + // "description": "The Policy name for this request. Name must conform to RFC1035", + // "location": "query", + // "type": "string" + // }, + // "project": { + // "description": "Project ID for this request.", + // "location": "path", + // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "Name of the region for this request.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, + // "router": { + // "description": "Name of the Router resource where Route Policy is defined.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + // "required": true, + // "type": "string" + // } + // }, + // "path": "projects/{project}/regions/{region}/routers/{router}/deleteRoutePolicy", + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + // method id "compute.routers.get": type RoutersGetCall struct { @@ -212986,6 +213804,190 @@ func (c *RoutersGetNatMappingInfoCall) Pages(ctx context.Context, f func(*VmEndp } } +// method id "compute.routers.getRoutePolicy": + +type RoutersGetRoutePolicyCall struct { + s *Service + project string + region string + router string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// GetRoutePolicy: Returns specified Route Policy +// +// - project: Project ID for this request. +// - region: Name of the region for this request. +// - router: Name of the Router resource to query for Nat IP +// information. The name should conform to RFC1035. +func (r *RoutersService) GetRoutePolicy(project string, region string, router string) *RoutersGetRoutePolicyCall { + c := &RoutersGetRoutePolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.region = region + c.router = router + return c +} + +// Policy sets the optional parameter "policy": The Policy name for this +// request. Name must conform to RFC1035 +func (c *RoutersGetRoutePolicyCall) Policy(policy string) *RoutersGetRoutePolicyCall { + c.urlParams_.Set("policy", policy) + 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 *RoutersGetRoutePolicyCall) Fields(s ...googleapi.Field) *RoutersGetRoutePolicyCall { + 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 *RoutersGetRoutePolicyCall) IfNoneMatch(entityTag string) *RoutersGetRoutePolicyCall { + 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 *RoutersGetRoutePolicyCall) Context(ctx context.Context) *RoutersGetRoutePolicyCall { + 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 *RoutersGetRoutePolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RoutersGetRoutePolicyCall) 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, "projects/{project}/regions/{region}/routers/{router}/getRoutePolicy") + 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{ + "project": c.project, + "region": c.region, + "router": c.router, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.routers.getRoutePolicy" call. +// Exactly one of *RoutersGetRoutePolicyResponse or error will be +// non-nil. Any non-2xx status code is an error. Response headers are in +// either *RoutersGetRoutePolicyResponse.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 *RoutersGetRoutePolicyCall) Do(opts ...googleapi.CallOption) (*RoutersGetRoutePolicyResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &RoutersGetRoutePolicyResponse{ + 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 specified Route Policy", + // "flatPath": "projects/{project}/regions/{region}/routers/{router}/getRoutePolicy", + // "httpMethod": "GET", + // "id": "compute.routers.getRoutePolicy", + // "parameterOrder": [ + // "project", + // "region", + // "router" + // ], + // "parameters": { + // "policy": { + // "description": "The Policy name for this request. Name must conform to RFC1035", + // "location": "query", + // "type": "string" + // }, + // "project": { + // "description": "Project ID for this request.", + // "location": "path", + // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "Name of the region for this request.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // }, + // "router": { + // "description": "Name of the Router resource to query for Nat IP information. The name should conform to RFC1035.", + // "location": "path", + // "required": true, + // "type": "string" + // } + // }, + // "path": "projects/{project}/regions/{region}/routers/{router}/getRoutePolicy", + // "response": { + // "$ref": "RoutersGetRoutePolicyResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + // method id "compute.routers.getRouterStatus": type RoutersGetRouterStatusCall struct { @@ -213628,6 +214630,712 @@ func (c *RoutersListCall) Pages(ctx context.Context, f func(*RouterList) error) } } +// method id "compute.routers.listBgpRoutes": + +type RoutersListBgpRoutesCall struct { + s *Service + project string + region string + router string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// ListBgpRoutes: Retrieves a list of router bgp routes available to the +// specified project. +// +// - project: Project ID for this request. +// - region: Name of the region for this request. +// - router: Name or id of the resource for this request. Name should +// conform to RFC1035. +func (r *RoutersService) ListBgpRoutes(project string, region string, router string) *RoutersListBgpRoutesCall { + c := &RoutersListBgpRoutesCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.region = region + c.router = router + return c +} + +// AddressFamily sets the optional parameter "addressFamily": (Required) +// limit results to this address family (either IPv4 or IPv6) +// +// Possible values: +// +// "IPV4" +// "IPV6" +// "UNSPECIFIED_IP_VERSION" (default) +func (c *RoutersListBgpRoutesCall) AddressFamily(addressFamily string) *RoutersListBgpRoutesCall { + c.urlParams_.Set("addressFamily", addressFamily) + return c +} + +// DestinationPrefix sets the optional parameter "destinationPrefix": +// Limit results to destinations that are subnets of this CIDR range +func (c *RoutersListBgpRoutesCall) DestinationPrefix(destinationPrefix string) *RoutersListBgpRoutesCall { + c.urlParams_.Set("destinationPrefix", destinationPrefix) + return c +} + +// Filter sets the optional parameter "filter": A filter expression that +// filters resources listed in the response. Most Compute resources +// support two types of filter expressions: expressions that support +// regular expressions and expressions that follow API improvement +// proposal AIP-160. If you want to use AIP-160, your expression must +// specify the field name, an operator, and the value that you want to +// use for filtering. The value must be a string, a number, or a +// boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` +// or `:`. For example, if you are filtering Compute Engine instances, +// you can exclude instances named `example-instance` by specifying +// `name != example-instance`. The `:` operator can be used with string +// fields to match substrings. For non-string fields it is equivalent to +// the `=` operator. The `:*` comparison can be used to test whether a +// key has been defined. For example, to find all objects with `owner` +// label use: ``` labels.owner:* ``` You can also filter nested fields. +// For example, you could specify `scheduling.automaticRestart = false` +// to include instances only if they are not scheduled for automatic +// restarts. You can use filtering on nested fields to filter based on +// resource labels. To filter on multiple expressions, provide each +// separate expression within parentheses. For example: ``` +// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") +// ``` By default, each expression is an `AND` expression. However, you +// can include `AND` and `OR` expressions explicitly. For example: ``` +// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") +// AND (scheduling.automaticRestart = true) ``` If you want to use a +// regular expression, use the `eq` (equal) or `ne` (not equal) operator +// against a single un-parenthesized expression with or without quotes +// or against multiple parenthesized expressions. Examples: `fieldname +// eq unquoted literal` `fieldname eq 'single quoted literal'` +// `fieldname eq "double quoted literal" `(fieldname1 eq literal) +// (fieldname2 ne "literal")` The literal value is interpreted as a +// regular expression using Google RE2 library syntax. The literal value +// must match the entire field. For example, to filter for instances +// that do not end with name "instance", you would use `name ne +// .*instance`. +func (c *RoutersListBgpRoutesCall) Filter(filter string) *RoutersListBgpRoutesCall { + c.urlParams_.Set("filter", filter) + return c +} + +// MaxResults sets the optional parameter "maxResults": The maximum +// number of results per page that should be returned. If the number of +// available results is larger than `maxResults`, Compute Engine returns +// a `nextPageToken` that can be used to get the next page of results in +// subsequent list requests. Acceptable values are `0` to `500`, +// inclusive. (Default: `500`) +func (c *RoutersListBgpRoutesCall) MaxResults(maxResults int64) *RoutersListBgpRoutesCall { + c.urlParams_.Set("maxResults", fmt.Sprint(maxResults)) + return c +} + +// OrderBy sets the optional parameter "orderBy": Sorts list results by +// a certain order. By default, results are returned in alphanumerical +// order based on the resource name. You can also sort results in +// descending order based on the creation timestamp using +// `orderBy="creationTimestamp desc". This sorts results based on the +// `creationTimestamp` field in reverse chronological order (newest +// result first). Use this to sort resources like operations so that the +// newest operation is returned first. Currently, only sorting by `name` +// or `creationTimestamp desc` is supported. +func (c *RoutersListBgpRoutesCall) OrderBy(orderBy string) *RoutersListBgpRoutesCall { + c.urlParams_.Set("orderBy", orderBy) + return c +} + +// PageToken sets the optional parameter "pageToken": Specifies a page +// token to use. Set `pageToken` to the `nextPageToken` returned by a +// previous list request to get the next page of results. +func (c *RoutersListBgpRoutesCall) PageToken(pageToken string) *RoutersListBgpRoutesCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Peer sets the optional parameter "peer": (Required) limit results to +// the BGP peer with the given name. Name should conform to RFC1035. +func (c *RoutersListBgpRoutesCall) Peer(peer string) *RoutersListBgpRoutesCall { + c.urlParams_.Set("peer", peer) + return c +} + +// PolicyApplied sets the optional parameter "policyApplied": When true, +// the method returns post-policy routes. Otherwise, it returns +// pre-policy routes. +func (c *RoutersListBgpRoutesCall) PolicyApplied(policyApplied bool) *RoutersListBgpRoutesCall { + c.urlParams_.Set("policyApplied", fmt.Sprint(policyApplied)) + return c +} + +// ReturnPartialSuccess sets the optional parameter +// "returnPartialSuccess": Opt-in for partial success behavior which +// provides partial results in case of failure. The default value is +// false. +func (c *RoutersListBgpRoutesCall) ReturnPartialSuccess(returnPartialSuccess bool) *RoutersListBgpRoutesCall { + c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess)) + return c +} + +// RouteType sets the optional parameter "routeType": (Required) limit +// results to this type of route (either LEARNED or ADVERTISED) +// +// Possible values: +// +// "ADVERTISED" +// "LEARNED" +// "UNSPECIFIED_ROUTE_TYPE" (default) +func (c *RoutersListBgpRoutesCall) RouteType(routeType string) *RoutersListBgpRoutesCall { + c.urlParams_.Set("routeType", routeType) + 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 *RoutersListBgpRoutesCall) Fields(s ...googleapi.Field) *RoutersListBgpRoutesCall { + 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 *RoutersListBgpRoutesCall) IfNoneMatch(entityTag string) *RoutersListBgpRoutesCall { + 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 *RoutersListBgpRoutesCall) Context(ctx context.Context) *RoutersListBgpRoutesCall { + 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 *RoutersListBgpRoutesCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RoutersListBgpRoutesCall) 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, "projects/{project}/regions/{region}/routers/{router}/listBgpRoutes") + 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{ + "project": c.project, + "region": c.region, + "router": c.router, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.routers.listBgpRoutes" call. +// Exactly one of *RoutersListBgpRoutes or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *RoutersListBgpRoutes.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 *RoutersListBgpRoutesCall) Do(opts ...googleapi.CallOption) (*RoutersListBgpRoutes, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &RoutersListBgpRoutes{ + 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": "Retrieves a list of router bgp routes available to the specified project.", + // "flatPath": "projects/{project}/regions/{region}/routers/{router}/listBgpRoutes", + // "httpMethod": "GET", + // "id": "compute.routers.listBgpRoutes", + // "parameterOrder": [ + // "project", + // "region", + // "router" + // ], + // "parameters": { + // "addressFamily": { + // "default": "UNSPECIFIED_IP_VERSION", + // "description": "(Required) limit results to this address family (either IPv4 or IPv6)", + // "enum": [ + // "IPV4", + // "IPV6", + // "UNSPECIFIED_IP_VERSION" + // ], + // "enumDescriptions": [ + // "", + // "", + // "" + // ], + // "location": "query", + // "type": "string" + // }, + // "destinationPrefix": { + // "description": "Limit results to destinations that are subnets of this CIDR range", + // "location": "query", + // "type": "string" + // }, + // "filter": { + // "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`.", + // "location": "query", + // "type": "string" + // }, + // "maxResults": { + // "default": "500", + // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + // "format": "uint32", + // "location": "query", + // "minimum": "0", + // "type": "integer" + // }, + // "orderBy": { + // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + // "location": "query", + // "type": "string" + // }, + // "pageToken": { + // "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + // "location": "query", + // "type": "string" + // }, + // "peer": { + // "description": "(Required) limit results to the BGP peer with the given name. Name should conform to RFC1035.", + // "location": "query", + // "type": "string" + // }, + // "policyApplied": { + // "default": "true", + // "description": "When true, the method returns post-policy routes. Otherwise, it returns pre-policy routes.", + // "location": "query", + // "type": "boolean" + // }, + // "project": { + // "description": "Project ID for this request.", + // "location": "path", + // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "Name of the region for this request.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // }, + // "returnPartialSuccess": { + // "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.", + // "location": "query", + // "type": "boolean" + // }, + // "routeType": { + // "default": "UNSPECIFIED_ROUTE_TYPE", + // "description": "(Required) limit results to this type of route (either LEARNED or ADVERTISED)", + // "enum": [ + // "ADVERTISED", + // "LEARNED", + // "UNSPECIFIED_ROUTE_TYPE" + // ], + // "enumDescriptions": [ + // "", + // "", + // "" + // ], + // "location": "query", + // "type": "string" + // }, + // "router": { + // "description": "Name or id of the resource for this request. Name should conform to RFC1035.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + // "required": true, + // "type": "string" + // } + // }, + // "path": "projects/{project}/regions/{region}/routers/{router}/listBgpRoutes", + // "response": { + // "$ref": "RoutersListBgpRoutes" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// 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 *RoutersListBgpRoutesCall) Pages(ctx context.Context, f func(*RoutersListBgpRoutes) 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 "compute.routers.listRoutePolicies": + +type RoutersListRoutePoliciesCall struct { + s *Service + project string + region string + router string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// ListRoutePolicies: Retrieves a list of router route policy +// subresources available to the specified project. +// +// - project: Project ID for this request. +// - region: Name of the region for this request. +// - router: Name or id of the resource for this request. Name should +// conform to RFC1035. +func (r *RoutersService) ListRoutePolicies(project string, region string, router string) *RoutersListRoutePoliciesCall { + c := &RoutersListRoutePoliciesCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.region = region + c.router = router + return c +} + +// Filter sets the optional parameter "filter": A filter expression that +// filters resources listed in the response. Most Compute resources +// support two types of filter expressions: expressions that support +// regular expressions and expressions that follow API improvement +// proposal AIP-160. If you want to use AIP-160, your expression must +// specify the field name, an operator, and the value that you want to +// use for filtering. The value must be a string, a number, or a +// boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` +// or `:`. For example, if you are filtering Compute Engine instances, +// you can exclude instances named `example-instance` by specifying +// `name != example-instance`. The `:` operator can be used with string +// fields to match substrings. For non-string fields it is equivalent to +// the `=` operator. The `:*` comparison can be used to test whether a +// key has been defined. For example, to find all objects with `owner` +// label use: ``` labels.owner:* ``` You can also filter nested fields. +// For example, you could specify `scheduling.automaticRestart = false` +// to include instances only if they are not scheduled for automatic +// restarts. You can use filtering on nested fields to filter based on +// resource labels. To filter on multiple expressions, provide each +// separate expression within parentheses. For example: ``` +// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") +// ``` By default, each expression is an `AND` expression. However, you +// can include `AND` and `OR` expressions explicitly. For example: ``` +// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") +// AND (scheduling.automaticRestart = true) ``` If you want to use a +// regular expression, use the `eq` (equal) or `ne` (not equal) operator +// against a single un-parenthesized expression with or without quotes +// or against multiple parenthesized expressions. Examples: `fieldname +// eq unquoted literal` `fieldname eq 'single quoted literal'` +// `fieldname eq "double quoted literal" `(fieldname1 eq literal) +// (fieldname2 ne "literal")` The literal value is interpreted as a +// regular expression using Google RE2 library syntax. The literal value +// must match the entire field. For example, to filter for instances +// that do not end with name "instance", you would use `name ne +// .*instance`. +func (c *RoutersListRoutePoliciesCall) Filter(filter string) *RoutersListRoutePoliciesCall { + c.urlParams_.Set("filter", filter) + return c +} + +// MaxResults sets the optional parameter "maxResults": The maximum +// number of results per page that should be returned. If the number of +// available results is larger than `maxResults`, Compute Engine returns +// a `nextPageToken` that can be used to get the next page of results in +// subsequent list requests. Acceptable values are `0` to `500`, +// inclusive. (Default: `500`) +func (c *RoutersListRoutePoliciesCall) MaxResults(maxResults int64) *RoutersListRoutePoliciesCall { + c.urlParams_.Set("maxResults", fmt.Sprint(maxResults)) + return c +} + +// OrderBy sets the optional parameter "orderBy": Sorts list results by +// a certain order. By default, results are returned in alphanumerical +// order based on the resource name. You can also sort results in +// descending order based on the creation timestamp using +// `orderBy="creationTimestamp desc". This sorts results based on the +// `creationTimestamp` field in reverse chronological order (newest +// result first). Use this to sort resources like operations so that the +// newest operation is returned first. Currently, only sorting by `name` +// or `creationTimestamp desc` is supported. +func (c *RoutersListRoutePoliciesCall) OrderBy(orderBy string) *RoutersListRoutePoliciesCall { + c.urlParams_.Set("orderBy", orderBy) + return c +} + +// PageToken sets the optional parameter "pageToken": Specifies a page +// token to use. Set `pageToken` to the `nextPageToken` returned by a +// previous list request to get the next page of results. +func (c *RoutersListRoutePoliciesCall) PageToken(pageToken string) *RoutersListRoutePoliciesCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// ReturnPartialSuccess sets the optional parameter +// "returnPartialSuccess": Opt-in for partial success behavior which +// provides partial results in case of failure. The default value is +// false. +func (c *RoutersListRoutePoliciesCall) ReturnPartialSuccess(returnPartialSuccess bool) *RoutersListRoutePoliciesCall { + c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess)) + 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 *RoutersListRoutePoliciesCall) Fields(s ...googleapi.Field) *RoutersListRoutePoliciesCall { + 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 *RoutersListRoutePoliciesCall) IfNoneMatch(entityTag string) *RoutersListRoutePoliciesCall { + 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 *RoutersListRoutePoliciesCall) Context(ctx context.Context) *RoutersListRoutePoliciesCall { + 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 *RoutersListRoutePoliciesCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RoutersListRoutePoliciesCall) 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, "projects/{project}/regions/{region}/routers/{router}/listRoutePolicies") + 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{ + "project": c.project, + "region": c.region, + "router": c.router, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.routers.listRoutePolicies" call. +// Exactly one of *RoutersListRoutePolicies or error will be non-nil. +// Any non-2xx status code is an error. Response headers are in either +// *RoutersListRoutePolicies.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 *RoutersListRoutePoliciesCall) Do(opts ...googleapi.CallOption) (*RoutersListRoutePolicies, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &RoutersListRoutePolicies{ + 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": "Retrieves a list of router route policy subresources available to the specified project.", + // "flatPath": "projects/{project}/regions/{region}/routers/{router}/listRoutePolicies", + // "httpMethod": "GET", + // "id": "compute.routers.listRoutePolicies", + // "parameterOrder": [ + // "project", + // "region", + // "router" + // ], + // "parameters": { + // "filter": { + // "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\u003e`, `\u003c`, `\u003c=`, `\u003e=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`.", + // "location": "query", + // "type": "string" + // }, + // "maxResults": { + // "default": "500", + // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + // "format": "uint32", + // "location": "query", + // "minimum": "0", + // "type": "integer" + // }, + // "orderBy": { + // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + // "location": "query", + // "type": "string" + // }, + // "pageToken": { + // "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + // "location": "query", + // "type": "string" + // }, + // "project": { + // "description": "Project ID for this request.", + // "location": "path", + // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "Name of the region for this request.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // }, + // "returnPartialSuccess": { + // "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.", + // "location": "query", + // "type": "boolean" + // }, + // "router": { + // "description": "Name or id of the resource for this request. Name should conform to RFC1035.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + // "required": true, + // "type": "string" + // } + // }, + // "path": "projects/{project}/regions/{region}/routers/{router}/listRoutePolicies", + // "response": { + // "$ref": "RoutersListRoutePolicies" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute", + // "https://www.googleapis.com/auth/compute.readonly" + // ] + // } + +} + +// 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 *RoutersListRoutePoliciesCall) Pages(ctx context.Context, f func(*RoutersListRoutePolicies) 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 "compute.routers.patch": type RoutersPatchCall struct { @@ -214349,6 +216057,194 @@ func (c *RoutersUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) } +// method id "compute.routers.updateRoutePolicy": + +type RoutersUpdateRoutePolicyCall struct { + s *Service + project string + region string + router string + routepolicy *RoutePolicy + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// UpdateRoutePolicy: Updates or creates new Route Policy +// +// - project: Project ID for this request. +// - region: Name of the region for this request. +// - router: Name of the Router resource where Route Policy is defined. +func (r *RoutersService) UpdateRoutePolicy(project string, region string, router string, routepolicy *RoutePolicy) *RoutersUpdateRoutePolicyCall { + c := &RoutersUpdateRoutePolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.project = project + c.region = region + c.router = router + c.routepolicy = routepolicy + return c +} + +// RequestId sets the optional parameter "requestId": An optional +// request ID to identify requests. Specify a unique request ID so that +// if you must retry your request, the server will know to ignore the +// request if it has already been completed. For example, consider a +// situation where you make an initial request and the request times +// out. If you make the request again with the same request ID, the +// server can check if original operation with the same request ID was +// received, and if so, will ignore the second request. This prevents +// clients from accidentally creating duplicate commitments. The request +// ID must be a valid UUID with the exception that zero UUID is not +// supported ( 00000000-0000-0000-0000-000000000000). +func (c *RoutersUpdateRoutePolicyCall) RequestId(requestId string) *RoutersUpdateRoutePolicyCall { + 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 *RoutersUpdateRoutePolicyCall) Fields(s ...googleapi.Field) *RoutersUpdateRoutePolicyCall { + 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 *RoutersUpdateRoutePolicyCall) Context(ctx context.Context) *RoutersUpdateRoutePolicyCall { + 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 *RoutersUpdateRoutePolicyCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *RoutersUpdateRoutePolicyCall) 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.routepolicy) + 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, "projects/{project}/regions/{region}/routers/{router}/updateRoutePolicy") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "project": c.project, + "region": c.region, + "router": c.router, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "compute.routers.updateRoutePolicy" 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 *RoutersUpdateRoutePolicyCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil + // { + // "description": "Updates or creates new Route Policy", + // "flatPath": "projects/{project}/regions/{region}/routers/{router}/updateRoutePolicy", + // "httpMethod": "POST", + // "id": "compute.routers.updateRoutePolicy", + // "parameterOrder": [ + // "project", + // "region", + // "router" + // ], + // "parameters": { + // "project": { + // "description": "Project ID for this request.", + // "location": "path", + // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + // "required": true, + // "type": "string" + // }, + // "region": { + // "description": "Name of the region for this request.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + // "required": true, + // "type": "string" + // }, + // "requestId": { + // "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + // "location": "query", + // "type": "string" + // }, + // "router": { + // "description": "Name of the Router resource where Route Policy is defined.", + // "location": "path", + // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + // "required": true, + // "type": "string" + // } + // }, + // "path": "projects/{project}/regions/{region}/routers/{router}/updateRoutePolicy", + // "request": { + // "$ref": "RoutePolicy" + // }, + // "response": { + // "$ref": "Operation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform", + // "https://www.googleapis.com/auth/compute" + // ] + // } + +} + // method id "compute.routes.delete": type RoutesDeleteCall struct { diff --git a/compute/v0.beta/compute-api.json b/compute/v0.beta/compute-api.json index f1f56d60579..bf951581321 100644 --- a/compute/v0.beta/compute-api.json +++ b/compute/v0.beta/compute-api.json @@ -39231,7 +39231,7 @@ } } }, - "revision": "20230814", + "revision": "20230829", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -41767,7 +41767,7 @@ "type": "string" }, "timeZone": { - "description": "The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: http://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of “UTC” if left empty.", + "description": "The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of “UTC” if left empty.", "type": "string" } }, @@ -43886,6 +43886,7 @@ "COMPUTE_OPTIMIZED", "COMPUTE_OPTIMIZED_C2D", "COMPUTE_OPTIMIZED_C3", + "COMPUTE_OPTIMIZED_C3D", "COMPUTE_OPTIMIZED_H3", "GENERAL_PURPOSE", "GENERAL_PURPOSE_E2", @@ -43912,6 +43913,7 @@ "", "", "", + "", "" ], "type": "string" @@ -50876,7 +50878,7 @@ }, "faultInjectionPolicy": { "$ref": "HttpFaultInjection", - "description": "The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by a load balancer on a percentage of requests before sending those requests to the backend service. Similarly requests from clients can be aborted by the load balancer for a percentage of requests. timeout and retry_policy is ignored by clients that are configured with a fault_injection_policy if: 1. The traffic is generated by fault injection AND 2. The fault injection is not a delay fault injection. Fault injection is not supported with the global external HTTP(S) load balancer (classic). To see which load balancers support fault injection, see Load balancing: Routing and traffic management features." + "description": "The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by a load balancer on a percentage of requests before sending those requests to the backend service. Similarly requests from clients can be aborted by the load balancer for a percentage of requests. timeout and retry_policy is ignored by clients that are configured with a fault_injection_policy if: 1. The traffic is generated by fault injection AND 2. The fault injection is not a delay fault injection. Fault injection is not supported with the classic Application Load Balancer . To see which load balancers support fault injection, see Load balancing: Routing and traffic management features." }, "maxStreamDuration": { "$ref": "Duration", @@ -50896,7 +50898,7 @@ }, "urlRewrite": { "$ref": "UrlRewrite", - "description": "The spec to modify the URL of the request, before forwarding the request to the matched service. urlRewrite is the only action supported in UrlMaps for external HTTP(S) load balancers. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." + "description": "The spec to modify the URL of the request, before forwarding the request to the matched service. urlRewrite is the only action supported in UrlMaps for classic Application Load Balancers. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." }, "weightedBackendServices": { "description": "A list of weighted backend services to send traffic to when a route match occurs. The weights determine the fraction of traffic that flows to their corresponding backend service. If all traffic needs to go to a single backend service, there must be one weightedBackendService with weight set to a non-zero number. After a backend service is identified and before forwarding the request to the backend service, advanced routing actions such as URL rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction.", @@ -50914,7 +50916,7 @@ "properties": { "customErrorResponsePolicy": { "$ref": "CustomErrorResponsePolicy", - "description": "customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. If a policy for an error code is not configured for the RouteRule, a policy for the error code configured in pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors - A RouteRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with routeRules.routeAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the customErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the customErrorResponsePolicy is ignored and the response from the service is returned to the client. customErrorResponsePolicy is supported only for Global External HTTP(S) load balancing." + "description": "customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. If a policy for an error code is not configured for the RouteRule, a policy for the error code configured in pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors - A RouteRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with routeRules.routeAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the customErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the customErrorResponsePolicy is ignored and the response from the service is returned to the client. customErrorResponsePolicy is supported only for global external Application Load Balancers." }, "description": { "description": "The short description conveying the intent of this routeRule. The description can have a maximum length of 1024 characters.", @@ -50952,7 +50954,7 @@ }, "routeAction": { "$ref": "HttpRouteAction", - "description": "In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction." + "description": "In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a route rule's routeAction." }, "service": { "description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set.", @@ -52584,6 +52586,10 @@ "format": "uint64", "type": "string" }, + "instanceFlexibilityPolicy": { + "$ref": "InstanceGroupManagerInstanceFlexibilityPolicy", + "description": "Instance flexibility allowing MIG to create VMs from multiple types of machines. Instance flexibility configuration on MIG overrides instance template configuration." + }, "instanceGroup": { "description": "[Output Only] The URL of the Instance Group resource.", "type": "string" @@ -52942,6 +52948,37 @@ }, "type": "object" }, + "InstanceGroupManagerInstanceFlexibilityPolicy": { + "id": "InstanceGroupManagerInstanceFlexibilityPolicy", + "properties": { + "instanceSelectionLists": { + "additionalProperties": { + "$ref": "InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection" + }, + "description": "List of instance selection options that the group will use when creating new VMs.", + "type": "object" + } + }, + "type": "object" + }, + "InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection": { + "id": "InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection", + "properties": { + "machineTypes": { + "description": "Full machine-type names, e.g. \"n1-standard-16\".", + "items": { + "type": "string" + }, + "type": "array" + }, + "rank": { + "description": "Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "InstanceGroupManagerInstanceLifecyclePolicy": { "id": "InstanceGroupManagerInstanceLifecyclePolicy", "properties": { @@ -61545,7 +61582,7 @@ "type": "object" }, "NetworkEndpointGroup": { - "description": "Represents a collection of network endpoints. A network endpoint group (NEG) defines how a set of endpoints should be reached, whether they are reachable, and where they are located. For more information about using NEGs, see Setting up external HTTP(S) Load Balancing with internet NEGs, Setting up zonal NEGs, or Setting up external HTTP(S) Load Balancing with serverless NEGs.", + "description": "Represents a collection of network endpoints. A network endpoint group (NEG) defines how a set of endpoints should be reached, whether they are reachable, and where they are located. For more information about using NEGs for different use cases, see Network endpoint groups overview.", "id": "NetworkEndpointGroup", "properties": { "annotations": { @@ -66659,11 +66696,11 @@ "properties": { "defaultCustomErrorResponsePolicy": { "$ref": "CustomErrorResponsePolicy", - "description": "defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. This policy takes effect at the PathMatcher level and applies only when no policy has been defined for the error code at lower levels like RouteRule and PathRule within this PathMatcher. If an error code does not have a policy defined in defaultCustomErrorResponsePolicy, then a policy defined for the error code in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy is configured with policies for 5xx and 4xx errors - A RouteRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with pathMatcher.defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client. defaultCustomErrorResponsePolicy is supported only for Global External HTTP(S) load balancing." + "description": "defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. This policy takes effect at the PathMatcher level and applies only when no policy has been defined for the error code at lower levels like RouteRule and PathRule within this PathMatcher. If an error code does not have a policy defined in defaultCustomErrorResponsePolicy, then a policy defined for the error code in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy is configured with policies for 5xx and 4xx errors - A RouteRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with pathMatcher.defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client. defaultCustomErrorResponsePolicy is supported only for global external Application Load Balancers." }, "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path matcher's defaultRouteAction." + "description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path matcher's defaultRouteAction." }, "defaultService": { "description": "The full or partial URL to the BackendService resource. This URL is used if none of the pathRules or routeRules defined by this PathMatcher are matched. For example, the following are all valid URLs to a BackendService resource: - https://www.googleapis.com/compute/v1/projects/project /global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if defaultRouteAction specifies any weightedBackendServices, defaultService must not be specified. Only one of defaultService, defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set. Authorization requires one or more of the following Google IAM permissions on the specified resource default_service: - compute.backendBuckets.use - compute.backendServices.use ", @@ -66708,7 +66745,7 @@ "properties": { "customErrorResponsePolicy": { "$ref": "CustomErrorResponsePolicy", - "description": "customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. If a policy for an error code is not configured for the PathRule, a policy for the error code configured in pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors - A PathRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in PathRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. customErrorResponsePolicy is supported only for Global External HTTP(S) load balancing." + "description": "customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. If a policy for an error code is not configured for the PathRule, a policy for the error code configured in pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors - A PathRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in PathRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. customErrorResponsePolicy is supported only for global external Application Load Balancers." }, "paths": { "description": "The list of path patterns to match. Each must start with / and the only place a * is allowed is at the end following a /. The string fed to the path matcher does not include any text after the first ? or #, and those chars are not allowed here.", @@ -66719,7 +66756,7 @@ }, "routeAction": { "$ref": "HttpRouteAction", - "description": "In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path rule's routeAction." + "description": "In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path rule's routeAction." }, "service": { "description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set.", @@ -70104,6 +70141,7 @@ "NO_RESERVATION", "SPECIFIC_RESERVATION", "SPECIFIC_THEN_ANY_RESERVATION", + "SPECIFIC_THEN_NO_RESERVATION", "UNSPECIFIED" ], "enumDescriptions": [ @@ -70111,6 +70149,7 @@ "Do not consume from any allocated capacity.", "Must consume from a specific reservation. Must specify key value fields for specifying the reservations.", "Prefer to consume from a specific reservation, but still consume any reservation available if the specified reservation is not available or exhausted. Must specify key value fields for specifying the reservations.", + "Prefer to consume from a specific reservation, but still consume from the on-demand pool if the specified reservation is exhausted. Must specify key value fields for specifying the reservations.", "" ], "type": "string" @@ -71057,6 +71096,15 @@ "format": "int32", "type": "integer" }, + "sliceCount": { + "description": "Specifies the number of slices in a multislice workload.", + "format": "int32", + "type": "integer" + }, + "tpuTopology": { + "description": "Specifies the shape of the TPU slice", + "type": "string" + }, "vmCount": { "description": "Number of VMs in this placement group. Google does not recommend that you use this field unless you use a compact policy and you want your policy to work only if it contains this exact number of VMs.", "format": "int32", @@ -71979,7 +72027,7 @@ "type": "string" }, "interfaces": { - "description": "Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.", + "description": "Router interfaces. To create a BGP peer that uses a router interface, the interface must have one of the following fields specified: - linkedVpnTunnel - linkedInterconnectAttachment - subnetwork You can create a router interface without any of these fields specified. However, you cannot create a BGP peer that uses that interface.", "items": { "$ref": "RouterInterface" }, @@ -72446,11 +72494,11 @@ "type": "string" }, "linkedInterconnectAttachment": { - "description": "URI of the linked Interconnect attachment. It must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a virtual machine instance.", + "description": "URI of the linked Interconnect attachment. It must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.", "type": "string" }, "linkedVpnTunnel": { - "description": "URI of the linked VPN tunnel, which must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a virtual machine instance.", + "description": "URI of the linked VPN tunnel, which must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork.", "type": "string" }, "managementType": { @@ -72662,7 +72710,7 @@ "compute.routers.update" ] }, - "description": "Name used to identify the key. Must be unique within a router. Must be referenced by at least one bgpPeer. Must comply with RFC1035.", + "description": "Name used to identify the key. Must be unique within a router. Must be referenced by exactly one bgpPeer. Must comply with RFC1035.", "type": "string" } }, @@ -76722,7 +76770,7 @@ "type": "object" }, "SslCertificate": { - "description": "Represents an SSL Certificate resource. Google Compute Engine has two SSL Certificate resources: * [Global](/compute/docs/reference/rest/beta/sslCertificates) * [Regional](/compute/docs/reference/rest/beta/regionSslCertificates) The sslCertificates are used by: - external HTTPS load balancers - SSL proxy load balancers The regionSslCertificates are used by internal HTTPS load balancers. Optionally, certificate file contents that you upload can contain a set of up to five PEM-encoded certificates. The API call creates an object (sslCertificate) that holds this data. You can use SSL keys and certificates to secure connections to a load balancer. For more information, read Creating and using SSL certificates, SSL certificates quotas and limits, and Troubleshooting SSL certificates.", + "description": "Represents an SSL certificate resource. Google Compute Engine has two SSL certificate resources: * [Global](/compute/docs/reference/rest/beta/sslCertificates) * [Regional](/compute/docs/reference/rest/beta/regionSslCertificates) The global SSL certificates (sslCertificates) are used by: - Global external Application Load Balancers - Classic Application Load Balancers - Proxy Network Load Balancers (with target SSL proxies) The regional SSL certificates (regionSslCertificates) are used by: - Regional external Application Load Balancers - Regional internal Application Load Balancers Optionally, certificate file contents that you upload can contain a set of up to five PEM-encoded certificates. The API call creates an object (sslCertificate) that holds this data. You can use SSL keys and certificates to secure connections to a load balancer. For more information, read Creating and using SSL certificates, SSL certificates quotas and limits, and Troubleshooting SSL certificates.", "id": "SslCertificate", "properties": { "certificate": { @@ -78209,13 +78257,13 @@ "REGIONAL_MANAGED_PROXY" ], "enumDescriptions": [ - "Subnet reserved for Global Internal HTTP(S) Load Balancing.", + "Subnet reserved for Global Envoy-based Load Balancing.", "Subnet reserved for Internal HTTP(S) Load Balancing.", "Regular user created or automatically created subnet.", "Subnetwork used as source range for Private NAT Gateways.", "Regular user created or automatically created subnet.", "Subnetworks created for Private Service Connect in the producer network.", - "Subnetwork used for Regional Internal/External HTTP(S) Load Balancing." + "Subnetwork used for Regional Envoy-based Load Balancing." ], "type": "string" }, @@ -79255,7 +79303,7 @@ "type": "object" }, "TargetHttpProxy": { - "description": "Represents a Target HTTP Proxy resource. Google Compute Engine has two Target HTTP Proxy resources: * [Global](/compute/docs/reference/rest/beta/targetHttpProxies) * [Regional](/compute/docs/reference/rest/beta/regionTargetHttpProxies) A target HTTP proxy is a component of GCP HTTP load balancers. * targetHttpProxies are used by external HTTP load balancers and Traffic Director. * regionTargetHttpProxies are used by internal HTTP load balancers. Forwarding rules reference a target HTTP proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts.", + "description": "Represents a Target HTTP Proxy resource. Google Compute Engine has two Target HTTP Proxy resources: * [Global](/compute/docs/reference/rest/beta/targetHttpProxies) * [Regional](/compute/docs/reference/rest/beta/regionTargetHttpProxies) A target HTTP proxy is a component of GCP HTTP load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTP proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts.", "id": "TargetHttpProxy", "properties": { "creationTimestamp": { @@ -79279,7 +79327,7 @@ "type": "array" }, "httpKeepAliveTimeoutSec": { - "description": "Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For Global external HTTP(S) load balancer, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For Global external HTTP(S) load balancer (classic), this option is not available publicly.", + "description": "Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For global external Application Load Balancers, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For classic Application Load Balancers, this option is not supported.", "format": "int32", "type": "integer" }, @@ -79806,7 +79854,7 @@ "type": "object" }, "TargetHttpsProxy": { - "description": "Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/beta/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/beta/regionTargetHttpsProxies) A target HTTPS proxy is a component of GCP HTTPS load balancers. * targetHttpsProxies are used by external HTTPS load balancers. * regionTargetHttpsProxies are used by internal HTTPS load balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts.", + "description": "Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/beta/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/beta/regionTargetHttpsProxies) A target HTTPS proxy is a component of GCP HTTPS load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts.", "id": "TargetHttpsProxy", "properties": { "authentication": { @@ -79848,7 +79896,7 @@ "type": "array" }, "httpKeepAliveTimeoutSec": { - "description": "Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For Global external HTTP(S) load balancer, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For Global external HTTP(S) load balancer (classic), this option is not available publicly.", + "description": "Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For global external Application Load Balancers, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For classic Application Load Balancers, this option is not supported.", "format": "int32", "type": "integer" }, @@ -82769,7 +82817,7 @@ "type": "object" }, "UrlMap": { - "description": "Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/reference/rest/beta/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used by internal HTTP(S) load balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts.", + "description": "Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/reference/rest/beta/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts.", "id": "UrlMap", "properties": { "creationTimestamp": { @@ -82778,11 +82826,11 @@ }, "defaultCustomErrorResponsePolicy": { "$ref": "CustomErrorResponsePolicy", - "description": "defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. This policy takes effect at the Load Balancer level and applies only when no policy has been defined for the error code at lower levels like PathMatcher, RouteRule and PathRule within this UrlMap. For example, consider a UrlMap with the following configuration: - defaultCustomErrorResponsePolicy containing policies for responding to 5xx and 4xx errors - A PathMatcher configured for *.example.com has defaultCustomErrorResponsePolicy for 4xx. If a request for http://www.example.com/ encounters a 404, the policy in pathMatcher.defaultCustomErrorResponsePolicy will be enforced. When the request for http://www.example.com/ encounters a 502, the policy in UrlMap.defaultCustomErrorResponsePolicy will be enforced. When a request that does not match any host in *.example.com such as http://www.myotherexample.com/, encounters a 404, UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client. defaultCustomErrorResponsePolicy is supported only for Global External HTTP(S) load balancing." + "description": "defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. This policy takes effect at the load balancer level and applies only when no policy has been defined for the error code at lower levels like PathMatcher, RouteRule and PathRule within this UrlMap. For example, consider a UrlMap with the following configuration: - defaultCustomErrorResponsePolicy containing policies for responding to 5xx and 4xx errors - A PathMatcher configured for *.example.com has defaultCustomErrorResponsePolicy for 4xx. If a request for http://www.example.com/ encounters a 404, the policy in pathMatcher.defaultCustomErrorResponsePolicy will be enforced. When the request for http://www.example.com/ encounters a 502, the policy in UrlMap.defaultCustomErrorResponsePolicy will be enforced. When a request that does not match any host in *.example.com such as http://www.myotherexample.com/, encounters a 404, UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client. defaultCustomErrorResponsePolicy is supported only for global external Application Load Balancers." }, "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." + "description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." }, "defaultService": { "description": "The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of defaultService, defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.", @@ -83391,7 +83439,7 @@ "id": "UrlMapsValidateRequest", "properties": { "loadBalancingSchemes": { - "description": "Specifies the load balancer type(s) this validation request is for. Use EXTERNAL_MANAGED for HTTP/HTTPS External Global Load Balancer with Advanced Traffic Management. Use EXTERNAL for Classic HTTP/HTTPS External Global Load Balancer. Other load balancer types are not supported. For more information, refer to Choosing a load balancer. If unspecified, the load balancing scheme will be inferred from the backend service resources this URL map references. If that can not be inferred (for example, this URL map only references backend buckets, or this Url map is for rewrites and redirects only and doesn't reference any backends), EXTERNAL will be used as the default type. If specified, the scheme(s) must not conflict with the load balancing scheme of the backend service resources this Url map references.", + "description": "Specifies the load balancer type(s) this validation request is for. Use EXTERNAL_MANAGED for global external Application Load Balancers and regional external Application Load Balancers. Use EXTERNAL for classic Application Load Balancers. Use INTERNAL_MANAGED for internal Application Load Balancers. For more information, refer to Choosing a load balancer. If unspecified, the load balancing scheme will be inferred from the backend service resources this URL map references. If that can not be inferred (for example, this URL map only references backend buckets, or this Url map is for rewrites and redirects only and doesn't reference any backends), EXTERNAL will be used as the default type. If specified, the scheme(s) must not conflict with the load balancing scheme of the backend service resources this Url map references.", "items": { "enum": [ "EXTERNAL", @@ -83399,9 +83447,9 @@ "LOAD_BALANCING_SCHEME_UNSPECIFIED" ], "enumDescriptions": [ - "Signifies that this will be used for Classic L7 External Load Balancing.", - "Signifies that this will be used for Envoy-based L7 External Load Balancing.", - "If unspecified, the validation will try to infer the scheme from the backend service resources this Url map references. If the inferrence is not possible, EXTERNAL will be used as the default type." + "Signifies that this will be used for classic Application Load Balancers.", + "Signifies that this will be used for Envoy-based global external Application Load Balancers.", + "If unspecified, the validation will try to infer the scheme from the backend service resources this Url map references. If the inference is not possible, EXTERNAL will be used as the default type." ], "type": "string" }, @@ -83486,13 +83534,13 @@ "REGIONAL_MANAGED_PROXY" ], "enumDescriptions": [ - "Subnet reserved for Global Internal HTTP(S) Load Balancing.", + "Subnet reserved for Global Envoy-based Load Balancing.", "Subnet reserved for Internal HTTP(S) Load Balancing.", "Regular user created or automatically created subnet.", "Subnetwork used as source range for Private NAT Gateways.", "Regular user created or automatically created subnet.", "Subnetworks created for Private Service Connect in the producer network.", - "Subnetwork used for Regional Internal/External HTTP(S) Load Balancing." + "Subnetwork used for Regional Envoy-based Load Balancing." ], "type": "string" }, diff --git a/compute/v0.beta/compute-gen.go b/compute/v0.beta/compute-gen.go index 6040489ed96..53157112fc4 100644 --- a/compute/v0.beta/compute-gen.go +++ b/compute/v0.beta/compute-gen.go @@ -5001,7 +5001,7 @@ type AutoscalingPolicyScalingSchedule struct { // TimeZone: The time zone to use when interpreting the schedule. The // value of this field must be a time zone name from the tz database: - // http://en.wikipedia.org/wiki/Tz_database. This field is assigned a + // https://en.wikipedia.org/wiki/Tz_database. This field is assigned a // default value of “UTC” if left empty. TimeZone string `json:"timeZone,omitempty"` @@ -8257,6 +8257,7 @@ type Commitment struct { // "COMPUTE_OPTIMIZED" // "COMPUTE_OPTIMIZED_C2D" // "COMPUTE_OPTIMIZED_C3" + // "COMPUTE_OPTIMIZED_C3D" // "COMPUTE_OPTIMIZED_H3" // "GENERAL_PURPOSE" // "GENERAL_PURPOSE_E2" @@ -18456,10 +18457,9 @@ type HttpRouteAction struct { // retry_policy is ignored by clients that are configured with a // fault_injection_policy if: 1. The traffic is generated by fault // injection AND 2. The fault injection is not a delay fault injection. - // Fault injection is not supported with the global external HTTP(S) - // load balancer (classic). To see which load balancers support fault - // injection, see Load balancing: Routing and traffic management - // features. + // Fault injection is not supported with the classic Application Load + // Balancer . To see which load balancers support fault injection, see + // Load balancing: Routing and traffic management features. FaultInjectionPolicy *HttpFaultInjection `json:"faultInjectionPolicy,omitempty"` // MaxStreamDuration: Specifies the maximum duration (timeout) for @@ -18498,9 +18498,9 @@ type HttpRouteAction struct { // UrlRewrite: The spec to modify the URL of the request, before // forwarding the request to the matched service. urlRewrite is the only - // action supported in UrlMaps for external HTTP(S) load balancers. Not - // supported when the URL map is bound to a target gRPC proxy that has - // the validateForProxyless field set to true. + // action supported in UrlMaps for classic Application Load Balancers. + // Not supported when the URL map is bound to a target gRPC proxy that + // has the validateForProxyless field set to true. UrlRewrite *UrlRewrite `json:"urlRewrite,omitempty"` // WeightedBackendServices: A list of weighted backend services to send @@ -18567,8 +18567,8 @@ type HttpRouteRule struct { // applied. While attempting a retry, if load balancer is successful in // reaching the service, the customErrorResponsePolicy is ignored and // the response from the service is returned to the client. - // customErrorResponsePolicy is supported only for Global External - // HTTP(S) load balancing. + // customErrorResponsePolicy is supported only for global external + // Application Load Balancers. CustomErrorResponsePolicy *CustomErrorResponsePolicy `json:"customErrorResponsePolicy,omitempty"` // Description: The short description conveying the intent of this @@ -18635,8 +18635,8 @@ type HttpRouteRule struct { // service must not be set. Conversely if service is set, routeAction // cannot contain any weightedBackendServices. Only one of urlRedirect, // service or routeAction.weightedBackendService must be set. URL maps - // for Classic external HTTP(S) load balancers only support the - // urlRewrite action within a route rule's routeAction. + // for classic Application Load Balancers only support the urlRewrite + // action within a route rule's routeAction. RouteAction *HttpRouteAction `json:"routeAction,omitempty"` // Service: The full or partial URL of the backend service resource to @@ -20754,6 +20754,11 @@ type InstanceGroupManager struct { // server generates this identifier. Id uint64 `json:"id,omitempty,string"` + // InstanceFlexibilityPolicy: Instance flexibility allowing MIG to + // create VMs from multiple types of machines. Instance flexibility + // configuration on MIG overrides instance template configuration. + InstanceFlexibilityPolicy *InstanceGroupManagerInstanceFlexibilityPolicy `json:"instanceFlexibilityPolicy,omitempty"` + // InstanceGroup: [Output Only] The URL of the Instance Group resource. InstanceGroup string `json:"instanceGroup,omitempty"` @@ -21236,6 +21241,70 @@ func (s *InstanceGroupManagerAutoHealingPolicy) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +type InstanceGroupManagerInstanceFlexibilityPolicy struct { + // InstanceSelectionLists: List of instance selection options that the + // group will use when creating new VMs. + InstanceSelectionLists map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection `json:"instanceSelectionLists,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "InstanceSelectionLists") 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. "InstanceSelectionLists") + // 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 *InstanceGroupManagerInstanceFlexibilityPolicy) MarshalJSON() ([]byte, error) { + type NoMethod InstanceGroupManagerInstanceFlexibilityPolicy + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +type InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection struct { + // MachineTypes: Full machine-type names, e.g. "n1-standard-16". + MachineTypes []string `json:"machineTypes,omitempty"` + + // Rank: Preference of this instance selection. Lower number means + // higher preference. MIG will first try to create a VM based on the + // machine-type with lowest rank and fallback to next rank based on + // availability. Machine types and instance selections with the same + // rank have the same preference. + Rank int64 `json:"rank,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MachineTypes") 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. "MachineTypes") 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 *InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection) MarshalJSON() ([]byte, error) { + type NoMethod InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + type InstanceGroupManagerInstanceLifecyclePolicy struct { // DefaultActionOnFailure: The action that a MIG performs on a failed or // an unhealthy VM. A VM is marked as unhealthy when the application @@ -33536,9 +33605,8 @@ func (s *NetworkEndpoint) MarshalJSON() ([]byte, error) { // NetworkEndpointGroup: Represents a collection of network endpoints. A // network endpoint group (NEG) defines how a set of endpoints should be // reached, whether they are reachable, and where they are located. For -// more information about using NEGs, see Setting up external HTTP(S) -// Load Balancing with internet NEGs, Setting up zonal NEGs, or Setting -// up external HTTP(S) Load Balancing with serverless NEGs. +// more information about using NEGs for different use cases, see +// Network endpoint groups overview. type NetworkEndpointGroup struct { // Annotations: Metadata defined as annotations on the network endpoint // group. @@ -40455,7 +40523,7 @@ type PathMatcher struct { // retry, if load balancer is successful in reaching the service, the // defaultCustomErrorResponsePolicy is ignored and the response from the // service is returned to the client. defaultCustomErrorResponsePolicy - // is supported only for Global External HTTP(S) load balancing. + // is supported only for global external Application Load Balancers. DefaultCustomErrorResponsePolicy *CustomErrorResponsePolicy `json:"defaultCustomErrorResponsePolicy,omitempty"` // DefaultRouteAction: defaultRouteAction takes effect when none of the @@ -40466,8 +40534,8 @@ type PathMatcher struct { // defaultService must not be set. Conversely if defaultService is set, // defaultRouteAction cannot contain any weightedBackendServices. Only // one of defaultRouteAction or defaultUrlRedirect must be set. URL maps - // for Classic external HTTP(S) load balancers only support the - // urlRewrite action within a path matcher's defaultRouteAction. + // for classic Application Load Balancers only support the urlRewrite + // action within a path matcher's defaultRouteAction. DefaultRouteAction *HttpRouteAction `json:"defaultRouteAction,omitempty"` // DefaultService: The full or partial URL to the BackendService @@ -40579,8 +40647,8 @@ type PathRule struct { // encounters a 404, the policy in PathRule.customErrorResponsePolicy // takes effect. If any of the requests in this example encounter a 500 // error code, the policy at UrlMap.defaultCustomErrorResponsePolicy - // takes effect. customErrorResponsePolicy is supported only for Global - // External HTTP(S) load balancing. + // takes effect. customErrorResponsePolicy is supported only for global + // external Application Load Balancers. CustomErrorResponsePolicy *CustomErrorResponsePolicy `json:"customErrorResponsePolicy,omitempty"` // Paths: The list of path patterns to match. Each must start with / and @@ -40595,9 +40663,9 @@ type PathRule struct { // backend. If routeAction specifies any weightedBackendServices, // service must not be set. Conversely if service is set, routeAction // cannot contain any weightedBackendServices. Only one of routeAction - // or urlRedirect must be set. URL maps for Classic external HTTP(S) - // load balancers only support the urlRewrite action within a path - // rule's routeAction. + // or urlRedirect must be set. URL maps for classic Application Load + // Balancers only support the urlRewrite action within a path rule's + // routeAction. RouteAction *HttpRouteAction `json:"routeAction,omitempty"` // Service: The full or partial URL of the backend service resource to @@ -45324,6 +45392,10 @@ type ReservationAffinity struct { // reservation, but still consume any reservation available if the // specified reservation is not available or exhausted. Must specify key // value fields for specifying the reservations. + // "SPECIFIC_THEN_NO_RESERVATION" - Prefer to consume from a specific + // reservation, but still consume from the on-demand pool if the + // specified reservation is exhausted. Must specify key value fields for + // specifying the reservations. // "UNSPECIFIED" ConsumeReservationType string `json:"consumeReservationType,omitempty"` @@ -46550,6 +46622,12 @@ type ResourcePolicyGroupPlacementPolicy struct { // MaxDistance: Specifies the number of max logical switches. MaxDistance int64 `json:"maxDistance,omitempty"` + // SliceCount: Specifies the number of slices in a multislice workload. + SliceCount int64 `json:"sliceCount,omitempty"` + + // TpuTopology: Specifies the shape of the TPU slice + TpuTopology string `json:"tpuTopology,omitempty"` + // VmCount: Number of VMs in this placement group. Google does not // recommend that you use this field unless you use a compact policy and // you want your policy to work only if it contains this exact number of @@ -47856,9 +47934,12 @@ type Router struct { // identifier is defined by the server. Id uint64 `json:"id,omitempty,string"` - // Interfaces: Router interfaces. Each interface requires either one - // linked resource, (for example, linkedVpnTunnel), or IP address and IP - // address range (for example, ipRange), or both. + // Interfaces: Router interfaces. To create a BGP peer that uses a + // router interface, the interface must have one of the following fields + // specified: - linkedVpnTunnel - linkedInterconnectAttachment - + // subnetwork You can create a router interface without any of these + // fields specified. However, you cannot create a BGP peer that uses + // that interface. Interfaces []*RouterInterface `json:"interfaces,omitempty"` // Kind: [Output Only] Type of resource. Always compute#router for @@ -48464,13 +48545,13 @@ type RouterInterface struct { // LinkedInterconnectAttachment: URI of the linked Interconnect // attachment. It must be in the same region as the router. Each // interface can have one linked resource, which can be a VPN tunnel, an - // Interconnect attachment, or a virtual machine instance. + // Interconnect attachment, or a subnetwork. LinkedInterconnectAttachment string `json:"linkedInterconnectAttachment,omitempty"` // LinkedVpnTunnel: URI of the linked VPN tunnel, which must be in the // same region as the router. Each interface can have one linked // resource, which can be a VPN tunnel, an Interconnect attachment, or a - // virtual machine instance. + // subnetwork. LinkedVpnTunnel string `json:"linkedVpnTunnel,omitempty"` // ManagementType: [Output Only] The resource that configures and @@ -48752,7 +48833,7 @@ type RouterMd5AuthenticationKey struct { Key string `json:"key,omitempty"` // Name: Name used to identify the key. Must be unique within a router. - // Must be referenced by at least one bgpPeer. Must comply with RFC1035. + // Must be referenced by exactly one bgpPeer. Must comply with RFC1035. Name string `json:"name,omitempty"` // ForceSendFields is a list of field names (e.g. "Key") to @@ -54485,16 +54566,19 @@ func (s *SourceInstanceProperties) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// SslCertificate: Represents an SSL Certificate resource. Google -// Compute Engine has two SSL Certificate resources: * Global +// SslCertificate: Represents an SSL certificate resource. Google +// Compute Engine has two SSL certificate resources: * Global // (/compute/docs/reference/rest/beta/sslCertificates) * Regional -// (/compute/docs/reference/rest/beta/regionSslCertificates) The -// sslCertificates are used by: - external HTTPS load balancers - SSL -// proxy load balancers The regionSslCertificates are used by internal -// HTTPS load balancers. Optionally, certificate file contents that you -// upload can contain a set of up to five PEM-encoded certificates. The -// API call creates an object (sslCertificate) that holds this data. You -// can use SSL keys and certificates to secure connections to a load +// (/compute/docs/reference/rest/beta/regionSslCertificates) The global +// SSL certificates (sslCertificates) are used by: - Global external +// Application Load Balancers - Classic Application Load Balancers - +// Proxy Network Load Balancers (with target SSL proxies) The regional +// SSL certificates (regionSslCertificates) are used by: - Regional +// external Application Load Balancers - Regional internal Application +// Load Balancers Optionally, certificate file contents that you upload +// can contain a set of up to five PEM-encoded certificates. The API +// call creates an object (sslCertificate) that holds this data. You can +// use SSL keys and certificates to secure connections to a load // balancer. For more information, read Creating and using SSL // certificates, SSL certificates quotas and limits, and Troubleshooting // SSL certificates. @@ -56447,8 +56531,8 @@ type Subnetwork struct { // purpose field is set to REGIONAL_MANAGED_PROXY. // // Possible values: - // "GLOBAL_MANAGED_PROXY" - Subnet reserved for Global Internal - // HTTP(S) Load Balancing. + // "GLOBAL_MANAGED_PROXY" - Subnet reserved for Global Envoy-based + // Load Balancing. // "INTERNAL_HTTPS_LOAD_BALANCER" - Subnet reserved for Internal // HTTP(S) Load Balancing. // "PRIVATE" - Regular user created or automatically created subnet. @@ -56458,8 +56542,8 @@ type Subnetwork struct { // subnet. // "PRIVATE_SERVICE_CONNECT" - Subnetworks created for Private Service // Connect in the producer network. - // "REGIONAL_MANAGED_PROXY" - Subnetwork used for Regional - // Internal/External HTTP(S) Load Balancing. + // "REGIONAL_MANAGED_PROXY" - Subnetwork used for Regional Envoy-based + // Load Balancing. Purpose string `json:"purpose,omitempty"` // Region: URL of the region where the Subnetwork resides. This field @@ -57939,11 +58023,14 @@ func (s *TargetHttpProxiesScopedListWarningData) MarshalJSON() ([]byte, error) { // (/compute/docs/reference/rest/beta/targetHttpProxies) * Regional // (/compute/docs/reference/rest/beta/regionTargetHttpProxies) A target // HTTP proxy is a component of GCP HTTP load balancers. * -// targetHttpProxies are used by external HTTP load balancers and -// Traffic Director. * regionTargetHttpProxies are used by internal HTTP -// load balancers. Forwarding rules reference a target HTTP proxy, and -// the target proxy then references a URL map. For more information, -// read Using Target Proxies and Forwarding rule concepts. +// targetHttpProxies are used by global external Application Load +// Balancers, classic Application Load Balancers, cross-region internal +// Application Load Balancers, and Traffic Director. * +// regionTargetHttpProxies are used by regional internal Application +// Load Balancers and regional external Application Load Balancers. +// Forwarding rules reference a target HTTP proxy, and the target proxy +// then references a URL map. For more information, read Using Target +// Proxies and Forwarding rule concepts. type TargetHttpProxy struct { // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text // format. @@ -57980,10 +58067,10 @@ type TargetHttpProxy struct { // HttpKeepAliveTimeoutSec: Specifies how long to keep a connection // open, after completing a response, while there is no matching traffic // (in seconds). If an HTTP keep-alive is not specified, a default value - // (610 seconds) will be used. For Global external HTTP(S) load - // balancer, the minimum allowed value is 5 seconds and the maximum - // allowed value is 1200 seconds. For Global external HTTP(S) load - // balancer (classic), this option is not available publicly. + // (610 seconds) will be used. For global external Application Load + // Balancers, the minimum allowed value is 5 seconds and the maximum + // allowed value is 1200 seconds. For classic Application Load + // Balancers, this option is not supported. HttpKeepAliveTimeoutSec int64 `json:"httpKeepAliveTimeoutSec,omitempty"` // Id: [Output Only] The unique identifier for the resource. This @@ -58717,8 +58804,11 @@ func (s *TargetHttpsProxiesSetSslCertificatesRequest) MarshalJSON() ([]byte, err // (/compute/docs/reference/rest/beta/targetHttpsProxies) * Regional // (/compute/docs/reference/rest/beta/regionTargetHttpsProxies) A target // HTTPS proxy is a component of GCP HTTPS load balancers. * -// targetHttpsProxies are used by external HTTPS load balancers. * -// regionTargetHttpsProxies are used by internal HTTPS load balancers. +// targetHttpProxies are used by global external Application Load +// Balancers, classic Application Load Balancers, cross-region internal +// Application Load Balancers, and Traffic Director. * +// regionTargetHttpProxies are used by regional internal Application +// Load Balancers and regional external Application Load Balancers. // Forwarding rules reference a target HTTPS proxy, and the target proxy // then references a URL map. For more information, read Using Target // Proxies and Forwarding rule concepts. @@ -58782,10 +58872,10 @@ type TargetHttpsProxy struct { // HttpKeepAliveTimeoutSec: Specifies how long to keep a connection // open, after completing a response, while there is no matching traffic // (in seconds). If an HTTP keep-alive is not specified, a default value - // (610 seconds) will be used. For Global external HTTP(S) load - // balancer, the minimum allowed value is 5 seconds and the maximum - // allowed value is 1200 seconds. For Global external HTTP(S) load - // balancer (classic), this option is not available publicly. + // (610 seconds) will be used. For global external Application Load + // Balancers, the minimum allowed value is 5 seconds and the maximum + // allowed value is 1200 seconds. For classic Application Load + // Balancers, this option is not supported. HttpKeepAliveTimeoutSec int64 `json:"httpKeepAliveTimeoutSec,omitempty"` // Id: [Output Only] The unique identifier for the resource. This @@ -62767,19 +62857,21 @@ func (s *Uint128) MarshalJSON() ([]byte, error) { // resources: * Global (/compute/docs/reference/rest/beta/urlMaps) * // Regional (/compute/docs/reference/rest/beta/regionUrlMaps) A URL map // resource is a component of certain types of cloud load balancers and -// Traffic Director: * urlMaps are used by external HTTP(S) load -// balancers and Traffic Director. * regionUrlMaps are used by internal -// HTTP(S) load balancers. For a list of supported URL map features by -// the load balancer type, see the Load balancing features: Routing and -// traffic management table. For a list of supported URL map features -// for Traffic Director, see the Traffic Director features: Routing and -// traffic management table. This resource defines mappings from -// hostnames and URL paths to either a backend service or a backend -// bucket. To use the global urlMaps resource, the backend service must -// have a loadBalancingScheme of either EXTERNAL or -// INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend -// service must have a loadBalancingScheme of INTERNAL_MANAGED. For more -// information, read URL Map Concepts. +// Traffic Director: * urlMaps are used by global external Application +// Load Balancers, classic Application Load Balancers, and cross-region +// internal Application Load Balancers. * regionUrlMaps are used by +// internal Application Load Balancers, regional external Application +// Load Balancers and regional internal Application Load Balancers. For +// a list of supported URL map features by the load balancer type, see +// the Load balancing features: Routing and traffic management table. +// For a list of supported URL map features for Traffic Director, see +// the Traffic Director features: Routing and traffic management table. +// This resource defines mappings from hostnames and URL paths to either +// a backend service or a backend bucket. To use the global urlMaps +// resource, the backend service must have a loadBalancingScheme of +// either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps +// resource, the backend service must have a loadBalancingScheme of +// INTERNAL_MANAGED. For more information, read URL Map Concepts. type UrlMap struct { // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text // format. @@ -62788,7 +62880,7 @@ type UrlMap struct { // DefaultCustomErrorResponsePolicy: defaultCustomErrorResponsePolicy // specifies how the Load Balancer returns error responses when // BackendServiceor BackendBucket responds with an error. This policy - // takes effect at the Load Balancer level and applies only when no + // takes effect at the load balancer level and applies only when no // policy has been defined for the error code at lower levels like // PathMatcher, RouteRule and PathRule within this UrlMap. For example, // consider a UrlMap with the following configuration: - @@ -62808,7 +62900,7 @@ type UrlMap struct { // retry, if load balancer is successful in reaching the service, the // defaultCustomErrorResponsePolicy is ignored and the response from the // service is returned to the client. defaultCustomErrorResponsePolicy - // is supported only for Global External HTTP(S) load balancing. + // is supported only for global external Application Load Balancers. DefaultCustomErrorResponsePolicy *CustomErrorResponsePolicy `json:"defaultCustomErrorResponsePolicy,omitempty"` // DefaultRouteAction: defaultRouteAction takes effect when none of the @@ -62818,8 +62910,8 @@ type UrlMap struct { // any weightedBackendServices, defaultService must not be set. // Conversely if defaultService is set, defaultRouteAction cannot // contain any weightedBackendServices. Only one of defaultRouteAction - // or defaultUrlRedirect must be set. URL maps for Classic external - // HTTP(S) load balancers only support the urlRewrite action within + // or defaultUrlRedirect must be set. URL maps for classic Application + // Load Balancers only support the urlRewrite action within // defaultRouteAction. defaultRouteAction has no effect when the URL map // is bound to a target gRPC proxy that has the validateForProxyless // field set to true. @@ -63652,27 +63744,27 @@ func (s *UrlMapsScopedListWarningData) MarshalJSON() ([]byte, error) { type UrlMapsValidateRequest struct { // LoadBalancingSchemes: Specifies the load balancer type(s) this - // validation request is for. Use EXTERNAL_MANAGED for HTTP/HTTPS - // External Global Load Balancer with Advanced Traffic Management. Use - // EXTERNAL for Classic HTTP/HTTPS External Global Load Balancer. Other - // load balancer types are not supported. For more information, refer to - // Choosing a load balancer. If unspecified, the load balancing scheme - // will be inferred from the backend service resources this URL map - // references. If that can not be inferred (for example, this URL map - // only references backend buckets, or this Url map is for rewrites and - // redirects only and doesn't reference any backends), EXTERNAL will be - // used as the default type. If specified, the scheme(s) must not - // conflict with the load balancing scheme of the backend service - // resources this Url map references. + // validation request is for. Use EXTERNAL_MANAGED for global external + // Application Load Balancers and regional external Application Load + // Balancers. Use EXTERNAL for classic Application Load Balancers. Use + // INTERNAL_MANAGED for internal Application Load Balancers. For more + // information, refer to Choosing a load balancer. If unspecified, the + // load balancing scheme will be inferred from the backend service + // resources this URL map references. If that can not be inferred (for + // example, this URL map only references backend buckets, or this Url + // map is for rewrites and redirects only and doesn't reference any + // backends), EXTERNAL will be used as the default type. If specified, + // the scheme(s) must not conflict with the load balancing scheme of the + // backend service resources this Url map references. // // Possible values: - // "EXTERNAL" - Signifies that this will be used for Classic L7 - // External Load Balancing. + // "EXTERNAL" - Signifies that this will be used for classic + // Application Load Balancers. // "EXTERNAL_MANAGED" - Signifies that this will be used for - // Envoy-based L7 External Load Balancing. + // Envoy-based global external Application Load Balancers. // "LOAD_BALANCING_SCHEME_UNSPECIFIED" - If unspecified, the // validation will try to infer the scheme from the backend service - // resources this Url map references. If the inferrence is not possible, + // resources this Url map references. If the inference is not possible, // EXTERNAL will be used as the default type. LoadBalancingSchemes []string `json:"loadBalancingSchemes,omitempty"` @@ -63833,8 +63925,8 @@ type UsableSubnetwork struct { // purpose field is set to REGIONAL_MANAGED_PROXY. // // Possible values: - // "GLOBAL_MANAGED_PROXY" - Subnet reserved for Global Internal - // HTTP(S) Load Balancing. + // "GLOBAL_MANAGED_PROXY" - Subnet reserved for Global Envoy-based + // Load Balancing. // "INTERNAL_HTTPS_LOAD_BALANCER" - Subnet reserved for Internal // HTTP(S) Load Balancing. // "PRIVATE" - Regular user created or automatically created subnet. @@ -63844,8 +63936,8 @@ type UsableSubnetwork struct { // subnet. // "PRIVATE_SERVICE_CONNECT" - Subnetworks created for Private Service // Connect in the producer network. - // "REGIONAL_MANAGED_PROXY" - Subnetwork used for Regional - // Internal/External HTTP(S) Load Balancing. + // "REGIONAL_MANAGED_PROXY" - Subnetwork used for Regional Envoy-based + // Load Balancing. Purpose string `json:"purpose,omitempty"` // Role: The role of subnetwork. Currently, this field is only used when diff --git a/dataproc/v1/dataproc-api.json b/dataproc/v1/dataproc-api.json index c9f11bd0667..a279b4c5f59 100644 --- a/dataproc/v1/dataproc-api.json +++ b/dataproc/v1/dataproc-api.json @@ -15,6 +15,13 @@ "description": "Manages Hadoop-based clusters and jobs on Google Cloud Platform.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/dataproc/", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataproc.me-central2.rep.googleapis.com/", + "location": "me-central2" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -600,7 +607,7 @@ "sessionTemplates": { "methods": { "create": { - "description": "Create an session template, synchronously.", + "description": "Create a session template synchronously.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessionTemplates", "httpMethod": "POST", "id": "dataproc.projects.locations.sessionTemplates.create", @@ -703,7 +710,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent, which owns this collection of session templates.", + "description": "Required. The parent that owns this collection of session templates.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -719,7 +726,7 @@ ] }, "patch": { - "description": "Updates the session template, synchronously.Disable check for update_mask, because all updates will be full replacements.", + "description": "Updates the session template synchronously.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessionTemplates/{sessionTemplatesId}", "httpMethod": "PATCH", "id": "dataproc.projects.locations.sessionTemplates.patch", @@ -767,7 +774,7 @@ "type": "string" }, "requestId": { - "description": "Optional. A unique ID used to identify the request. If the service receives two CreateSessionRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateSessionRequest)s with the same ID, the second request is ignored and the first Session is created and stored in the backend is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The value must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", + "description": "Optional. A unique ID used to identify the request. If the service receives two CreateSessionRequests (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateSessionRequest)s with the same ID, the second request is ignored, and the first Session is created and stored in the backend.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The value must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", "location": "query", "type": "string" }, @@ -789,7 +796,7 @@ ] }, "delete": { - "description": "Deletes the interactive session resource. If the session is not in terminal state, it will be terminated and deleted afterwards.", + "description": "Deletes the interactive session resource. If the session is not in terminal state, it is terminated, and then deleted.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}", "httpMethod": "DELETE", "id": "dataproc.projects.locations.sessions.delete", @@ -843,34 +850,6 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, - "injectCredentials": { - "description": "Inject Credentials in the interactive session.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}:injectCredentials", - "httpMethod": "POST", - "id": "dataproc.projects.locations.sessions.injectCredentials", - "parameterOrder": [ - "session" - ], - "parameters": { - "session": { - "description": "Required. The name of the session resource to inject credentials to.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+session}:injectCredentials", - "request": { - "$ref": "InjectSessionCredentialsRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, "list": { "description": "Lists interactive sessions.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions", @@ -881,7 +860,7 @@ ], "parameters": { "filter": { - "description": "Optional. A filter for the sessions to return in the response.A filter is a logical expression constraining the values of various fields in each session resource. Filters are case sensitive, and may contain multiple clauses combined with logical operators (AND/OR). Supported fields are session_id, session_uuid, state, and create_time.e.g. state = ACTIVE and create_time \u003c \"2023-01-01T00:00:00Z\" filters for sessions in state ACTIVE that were created before 2023-01-01See https://google.aip.dev/assets/misc/ebnf-filtering.txt for a detailed description of the filter syntax and a list of supported comparisons.", + "description": "Optional. A filter for the sessions to return in the response.A filter is a logical expression constraining the values of various fields in each session resource. Filters are case sensitive, and may contain multiple clauses combined with logical operators (AND, OR). Supported fields are session_id, session_uuid, state, and create_time.Example: state = ACTIVE and create_time \u003c \"2023-01-01T00:00:00Z\" is a filter for sessions in an ACTIVE state that were created before 2023-01-01.See https://google.aip.dev/assets/misc/ebnf-filtering.txt for a detailed description of the filter syntax and a list of supported comparators.", "location": "query", "type": "string" }, @@ -3022,7 +3001,7 @@ } } }, - "revision": "20230814", + "revision": "20230830", "rootUrl": "https://dataproc.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -3773,6 +3752,10 @@ }, "type": "array" }, + "tarballGcsDir": { + "description": "Optional. (Optional) The output Cloud Storage directory for the diagnostic tarball. If not specified, a task-specific directory in the cluster's staging bucket will be used.", + "type": "string" + }, "yarnApplicationId": { "deprecated": true, "description": "Optional. DEPRECATED Specifies the yarn application on which diagnosis is to be performed.", @@ -4391,17 +4374,24 @@ }, "type": "object" }, - "InjectSessionCredentialsRequest": { - "description": "A request to inject credentials to a session.", - "id": "InjectSessionCredentialsRequest", + "InstanceFlexibilityPolicy": { + "description": "Instance flexibility Policy allowing a mixture of VM shapes and provisioning models.", + "id": "InstanceFlexibilityPolicy", "properties": { - "credentialsCiphertext": { - "description": "Required. The encrypted credentials being injected in to the session.The client is responsible for encrypting the credentials in a way that is supported by the session.A wrapped value is used here so that the actual contents of the encrypted credentials are not written to audit logs.", - "type": "string" + "instanceSelectionList": { + "description": "Optional. List of instance selection options that the group will use when creating new VMs.", + "items": { + "$ref": "InstanceSelection" + }, + "type": "array" }, - "requestId": { - "description": "Optional. A unique ID used to identify the request. If the service receives two TerminateSessionRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.TerminateSessionRequest)s with the same ID, the first request is ignored to ensure the most recent credentials are injected.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The value must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", - "type": "string" + "instanceSelectionResults": { + "description": "Output only. A list of instance selection results in the group.", + "items": { + "$ref": "InstanceSelectionResult" + }, + "readOnly": true, + "type": "array" } }, "type": "object" @@ -4447,6 +4437,10 @@ "description": "Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default.", "type": "string" }, + "instanceFlexibilityPolicy": { + "$ref": "InstanceFlexibilityPolicy", + "description": "Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models." + }, "instanceNames": { "description": "Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group.", "items": { @@ -4482,7 +4476,7 @@ "type": "string" }, "minNumInstances": { - "description": "Optional. The minimum number of instances to create. If min_num_instances is set, min_num_instances is used for a criteria to decide the cluster. Cluster creation will be failed by being an error state if the total number of instances created is less than the min_num_instances. For example, given that num_instances = 5 and min_num_instances = 3, * if 4 instances are created and then registered successfully but one instance is failed, the failed VM will be deleted and the cluster will be resized to 4 instances in running state. * if 2 instances are created successfully and 3 instances are failed, the cluster will be in an error state and does not delete failed VMs for debugging. * if 2 instance are created and then registered successfully but 3 instances are failed to initialize, the cluster will be in an error state and does not delete failed VMs for debugging. NB: This can only be set for primary workers now.", + "description": "Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted.", "format": "int32", "type": "integer" }, @@ -4533,6 +4527,43 @@ }, "type": "object" }, + "InstanceSelection": { + "description": "Defines machines types and a rank to which the machines types belong.", + "id": "InstanceSelection", + "properties": { + "machineTypes": { + "description": "Optional. Full machine-type names, e.g. \"n1-standard-16\".", + "items": { + "type": "string" + }, + "type": "array" + }, + "rank": { + "description": "Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "InstanceSelectionResult": { + "description": "Defines a mapping from machine types to the number of VMs that are created with each machine type.", + "id": "InstanceSelectionResult", + "properties": { + "machineType": { + "description": "Output only. Full machine-type names, e.g. \"n1-standard-16\".", + "readOnly": true, + "type": "string" + }, + "vmCount": { + "description": "Output only. Number of VM provisioned with the machine_type.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, "InstantiateWorkflowTemplateRequest": { "description": "A request to instantiate a workflow template.", "id": "InstantiateWorkflowTemplateRequest", @@ -5112,7 +5143,7 @@ "id": "ListSessionsResponse", "properties": { "nextPageToken": { - "description": "A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "description": "A token, which can be sent as page_token, to retrieve the next page. If this field is omitted, there are no subsequent pages.", "type": "string" }, "sessions": { @@ -5213,6 +5244,11 @@ "readOnly": true, "type": "string" }, + "instanceGroupManagerUri": { + "description": "Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm.", + "readOnly": true, + "type": "string" + }, "instanceTemplateName": { "description": "Output only. The name of the Instance Template used for the Managed Instance Group.", "readOnly": true, @@ -5690,6 +5726,17 @@ }, "type": "object" }, + "PyPiRepositoryConfig": { + "description": "Configuration for PyPi repository", + "id": "PyPiRepositoryConfig", + "properties": { + "pypiRepository": { + "description": "Optional. PyPi repository address", + "type": "string" + } + }, + "type": "object" + }, "PySparkBatch": { "description": "A configuration for running an Apache PySpark (https://spark.apache.org/docs/latest/api/python/getting_started/quickstart.html) batch workload.", "id": "PySparkBatch", @@ -5852,6 +5899,17 @@ }, "type": "object" }, + "RepositoryConfig": { + "description": "Configuration for dependency repositories", + "id": "RepositoryConfig", + "properties": { + "pypiRepositoryConfig": { + "$ref": "PyPiRepositoryConfig", + "description": "Optional. Configuration for PyPi repository." + } + }, + "type": "object" + }, "ReservationAffinity": { "description": "Reservation Affinity for consuming Zonal reservation.", "id": "ReservationAffinity", @@ -5922,6 +5980,10 @@ "description": "Optional. A mapping of property names to values, which are used to configure workload execution.", "type": "object" }, + "repositoryConfig": { + "$ref": "RepositoryConfig", + "description": "Optional. Dependency repository configuration." + }, "version": { "description": "Optional. Version of the batch runtime.", "type": "string" @@ -5980,7 +6042,7 @@ "type": "object" }, "Session": { - "description": "A representation of a session in the service. Next ID: 18", + "description": "A representation of a session.", "id": "Session", "properties": { "createTime": { @@ -6006,7 +6068,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. The labels to associate with this session. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a session.", + "description": "Optional. The labels to associate with the session. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a session.", "type": "object" }, "name": { @@ -6023,7 +6085,7 @@ "readOnly": true }, "sessionTemplate": { - "description": "Optional. The session template used by the session.Only resource names including project ID and location are valid.Example: * https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/sessionTemplates/[template_id] * projects/[project_id]/locations/[dataproc_region]/sessionTemplates/[template_id]Note that the template must be in the same project and Dataproc region.", + "description": "Optional. The session template used by the session.Only resource names, including project ID and location, are valid.Example: * https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/sessionTemplates/[template_id] * projects/[project_id]/locations/[dataproc_region]/sessionTemplates/[template_id]The template must be in the same project and Dataproc region as the session.", "type": "string" }, "state": { @@ -6038,7 +6100,7 @@ ], "enumDescriptions": [ "The session state is unknown.", - "The session is created before running.", + "The session is created prior to running.", "The session is running.", "The session is terminating.", "The session is terminated successfully.", @@ -6056,12 +6118,12 @@ "type": "array" }, "stateMessage": { - "description": "Output only. Session state details, such as a failure description if the state is FAILED.", + "description": "Output only. Session state details, such as the failure description if the state is FAILED.", "readOnly": true, "type": "string" }, "stateTime": { - "description": "Output only. The time when the session entered a current state.", + "description": "Output only. The time when the session entered the current state.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -6142,7 +6204,7 @@ "id": "SessionStateHistory", "properties": { "state": { - "description": "Output only. The state of the session at this point in history.", + "description": "Output only. The state of the session at this point in the session history.", "enum": [ "STATE_UNSPECIFIED", "CREATING", @@ -6153,7 +6215,7 @@ ], "enumDescriptions": [ "The session state is unknown.", - "The session is created before running.", + "The session is created prior to running.", "The session is running.", "The session is terminating.", "The session is terminated successfully.", @@ -6163,7 +6225,7 @@ "type": "string" }, "stateMessage": { - "description": "Output only. Details about the state at this point in history.", + "description": "Output only. Details about the state at this point in the session history.", "readOnly": true, "type": "string" }, @@ -6177,7 +6239,7 @@ "type": "object" }, "SessionTemplate": { - "description": "A representation of a session template in the service. Next ID: 12", + "description": "A representation of a session template.", "id": "SessionTemplate", "properties": { "createTime": { @@ -6207,7 +6269,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. The labels to associate with sessions created using this template. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a session.", + "description": "Optional. Labels to associate with sessions created using this template. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty, but, if present, must contain 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a session.", "type": "object" }, "name": { @@ -6219,7 +6281,7 @@ "description": "Optional. Runtime configuration for session execution." }, "updateTime": { - "description": "Output only. The time template was last updated.", + "description": "Output only. The time the template was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" diff --git a/dataproc/v1/dataproc-gen.go b/dataproc/v1/dataproc-gen.go index ab56a30b3b5..36fea3ab347 100644 --- a/dataproc/v1/dataproc-gen.go +++ b/dataproc/v1/dataproc-gen.go @@ -1457,6 +1457,11 @@ type DiagnoseClusterRequest struct { // performed. Format: projects/{project}/regions/{region}/jobs/{job} Jobs []string `json:"jobs,omitempty"` + // TarballGcsDir: Optional. (Optional) The output Cloud Storage + // directory for the diagnostic tarball. If not specified, a + // task-specific directory in the cluster's staging bucket will be used. + TarballGcsDir string `json:"tarballGcsDir,omitempty"` + // YarnApplicationId: Optional. DEPRECATED Specifies the yarn // application on which diagnosis is to be performed. YarnApplicationId string `json:"yarnApplicationId,omitempty"` @@ -2604,30 +2609,19 @@ func (s *InjectCredentialsRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// InjectSessionCredentialsRequest: A request to inject credentials to a -// session. -type InjectSessionCredentialsRequest struct { - // CredentialsCiphertext: Required. The encrypted credentials being - // injected in to the session.The client is responsible for encrypting - // the credentials in a way that is supported by the session.A wrapped - // value is used here so that the actual contents of the encrypted - // credentials are not written to audit logs. - CredentialsCiphertext string `json:"credentialsCiphertext,omitempty"` +// InstanceFlexibilityPolicy: Instance flexibility Policy allowing a +// mixture of VM shapes and provisioning models. +type InstanceFlexibilityPolicy struct { + // InstanceSelectionList: Optional. List of instance selection options + // that the group will use when creating new VMs. + InstanceSelectionList []*InstanceSelection `json:"instanceSelectionList,omitempty"` - // RequestId: Optional. A unique ID used to identify the request. If the - // service receives two TerminateSessionRequest - // (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.TerminateSessionRequest)s - // with the same ID, the first request is ignored to ensure the most - // recent credentials are injected.Recommendation: Set this value to a - // UUID - // (https://en.wikipedia.org/wiki/Universally_unique_identifier).The - // value must contain only letters (a-z, A-Z), numbers (0-9), - // underscores (_), and hyphens (-). The maximum length is 40 - // characters. - RequestId string `json:"requestId,omitempty"` + // InstanceSelectionResults: Output only. A list of instance selection + // results in the group. + InstanceSelectionResults []*InstanceSelectionResult `json:"instanceSelectionResults,omitempty"` // ForceSendFields is a list of field names (e.g. - // "CredentialsCiphertext") to unconditionally include in API requests. + // "InstanceSelectionList") 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 @@ -2635,7 +2629,7 @@ type InjectSessionCredentialsRequest struct { // Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CredentialsCiphertext") to + // NullFields is a list of field names (e.g. "InstanceSelectionList") 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 @@ -2645,8 +2639,8 @@ type InjectSessionCredentialsRequest struct { NullFields []string `json:"-"` } -func (s *InjectSessionCredentialsRequest) MarshalJSON() ([]byte, error) { - type NoMethod InjectSessionCredentialsRequest +func (s *InstanceFlexibilityPolicy) MarshalJSON() ([]byte, error) { + type NoMethod InstanceFlexibilityPolicy raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } @@ -2730,6 +2724,10 @@ type InstanceGroupConfig struct { // SoftwareConfig.image_version or the system default. ImageUri string `json:"imageUri,omitempty"` + // InstanceFlexibilityPolicy: Optional. Instance flexibility Policy + // allowing a mixture of VM shapes and provisioning models. + InstanceFlexibilityPolicy *InstanceFlexibilityPolicy `json:"instanceFlexibilityPolicy,omitempty"` + // InstanceNames: Output only. The list of instance names. Dataproc // derives the names from cluster_name, num_instances, and the instance // group. @@ -2765,21 +2763,15 @@ type InstanceGroupConfig struct { // (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). MinCpuPlatform string `json:"minCpuPlatform,omitempty"` - // MinNumInstances: Optional. The minimum number of instances to create. - // If min_num_instances is set, min_num_instances is used for a criteria - // to decide the cluster. Cluster creation will be failed by being an - // error state if the total number of instances created is less than the - // min_num_instances. For example, given that num_instances = 5 and - // min_num_instances = 3, * if 4 instances are created and then - // registered successfully but one instance is failed, the failed VM - // will be deleted and the cluster will be resized to 4 instances in - // running state. * if 2 instances are created successfully and 3 - // instances are failed, the cluster will be in an error state and does - // not delete failed VMs for debugging. * if 2 instance are created and - // then registered successfully but 3 instances are failed to - // initialize, the cluster will be in an error state and does not delete - // failed VMs for debugging. NB: This can only be set for primary - // workers now. + // MinNumInstances: Optional. The minimum number of primary worker + // instances to create. If min_num_instances is set, cluster creation + // will succeed if the number of primary workers created is at least + // equal to the min_num_instances number.Example: Cluster creation + // request with num_instances = 5 and min_num_instances = 3: If 4 VMs + // are created and 1 instance fails, the failed VM is deleted. The + // cluster is resized to 4 instances and placed in a RUNNING state. If 2 + // instances are created and 3 instances fail, the cluster in placed in + // an ERROR state. The failed VMs are not deleted. MinNumInstances int64 `json:"minNumInstances,omitempty"` // NumInstances: Optional. The number of VM instances in the instance @@ -2874,6 +2866,76 @@ func (s *InstanceReference) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// InstanceSelection: Defines machines types and a rank to which the +// machines types belong. +type InstanceSelection struct { + // MachineTypes: Optional. Full machine-type names, e.g. + // "n1-standard-16". + MachineTypes []string `json:"machineTypes,omitempty"` + + // Rank: Optional. Preference of this instance selection. Lower number + // means higher preference. Dataproc will first try to create a VM based + // on the machine-type with priority rank and fallback to next rank + // based on availability. Machine types and instance selections with the + // same priority have the same preference. + Rank int64 `json:"rank,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MachineTypes") 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. "MachineTypes") 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 *InstanceSelection) MarshalJSON() ([]byte, error) { + type NoMethod InstanceSelection + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// InstanceSelectionResult: Defines a mapping from machine types to the +// number of VMs that are created with each machine type. +type InstanceSelectionResult struct { + // MachineType: Output only. Full machine-type names, e.g. + // "n1-standard-16". + MachineType string `json:"machineType,omitempty"` + + // VmCount: Output only. Number of VM provisioned with the machine_type. + VmCount int64 `json:"vmCount,omitempty"` + + // ForceSendFields is a list of field names (e.g. "MachineType") 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. "MachineType") 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 *InstanceSelectionResult) MarshalJSON() ([]byte, error) { + type NoMethod InstanceSelectionResult + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // InstantiateWorkflowTemplateRequest: A request to instantiate a // workflow template. type InstantiateWorkflowTemplateRequest struct { @@ -3793,7 +3855,7 @@ func (s *ListSessionTemplatesResponse) MarshalJSON() ([]byte, error) { // ListSessionsResponse: A list of interactive sessions. type ListSessionsResponse struct { - // NextPageToken: A token, which can be sent as page_token to retrieve + // 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. NextPageToken string `json:"nextPageToken,omitempty"` @@ -3948,6 +4010,11 @@ type ManagedGroupConfig struct { // Manager for this group. InstanceGroupManagerName string `json:"instanceGroupManagerName,omitempty"` + // InstanceGroupManagerUri: Output only. The partial URI to the instance + // group manager for this group. E.g. + // projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. + InstanceGroupManagerUri string `json:"instanceGroupManagerUri,omitempty"` + // InstanceTemplateName: Output only. The name of the Instance Template // used for the Managed Instance Group. InstanceTemplateName string `json:"instanceTemplateName,omitempty"` @@ -4765,6 +4832,35 @@ func (s *PrestoJob) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// PyPiRepositoryConfig: Configuration for PyPi repository +type PyPiRepositoryConfig struct { + // PypiRepository: Optional. PyPi repository address + PypiRepository string `json:"pypiRepository,omitempty"` + + // ForceSendFields is a list of field names (e.g. "PypiRepository") 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. "PypiRepository") 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 *PyPiRepositoryConfig) MarshalJSON() ([]byte, error) { + type NoMethod PyPiRepositoryConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // PySparkBatch: A configuration for running an Apache PySpark // (https://spark.apache.org/docs/latest/api/python/getting_started/quickstart.html) // batch workload. @@ -5003,6 +5099,36 @@ func (s *RepairClusterRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RepositoryConfig: Configuration for dependency repositories +type RepositoryConfig struct { + // PypiRepositoryConfig: Optional. Configuration for PyPi repository. + PypiRepositoryConfig *PyPiRepositoryConfig `json:"pypiRepositoryConfig,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "PypiRepositoryConfig") 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. "PypiRepositoryConfig") 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 *RepositoryConfig) MarshalJSON() ([]byte, error) { + type NoMethod RepositoryConfig + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ReservationAffinity: Reservation Affinity for consuming Zonal // reservation. type ReservationAffinity struct { @@ -5115,6 +5241,9 @@ type RuntimeConfig struct { // are used to configure workload execution. Properties map[string]string `json:"properties,omitempty"` + // RepositoryConfig: Optional. Dependency repository configuration. + RepositoryConfig *RepositoryConfig `json:"repositoryConfig,omitempty"` + // Version: Optional. Version of the batch runtime. Version string `json:"version,omitempty"` @@ -5228,7 +5357,7 @@ func (s *SecurityConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Session: A representation of a session in the service. Next ID: 18 +// Session: A representation of a session. type Session struct { // CreateTime: Output only. The time when the session was created. CreateTime string `json:"createTime,omitempty"` @@ -5244,7 +5373,7 @@ type Session struct { // JupyterSession: Optional. Jupyter session config. JupyterSession *JupyterConfig `json:"jupyterSession,omitempty"` - // Labels: Optional. The labels to associate with this session. Label + // Labels: Optional. The labels to associate with the session. Label // keys must contain 1 to 63 characters, and must conform to RFC 1035 // (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, // but, if present, must contain 1 to 63 characters, and must conform to @@ -5264,20 +5393,20 @@ type Session struct { RuntimeInfo *RuntimeInfo `json:"runtimeInfo,omitempty"` // SessionTemplate: Optional. The session template used by the - // session.Only resource names including project ID and location are + // session.Only resource names, including project ID and location, are // valid.Example: * // https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/sessionTemplates/[template_id] // * // projects/[project_id]/locations/[dataproc_region]/sessionTemplates/[te - // mplate_id]Note that the template must be in the same project and - // Dataproc region. + // mplate_id]The template must be in the same project and Dataproc + // region as the session. SessionTemplate string `json:"sessionTemplate,omitempty"` // State: Output only. A state of the session. // // Possible values: // "STATE_UNSPECIFIED" - The session state is unknown. - // "CREATING" - The session is created before running. + // "CREATING" - The session is created prior to running. // "ACTIVE" - The session is running. // "TERMINATING" - The session is terminating. // "TERMINATED" - The session is terminated successfully. @@ -5288,11 +5417,11 @@ type Session struct { // session. StateHistory []*SessionStateHistory `json:"stateHistory,omitempty"` - // StateMessage: Output only. Session state details, such as a failure + // StateMessage: Output only. Session state details, such as the failure // description if the state is FAILED. StateMessage string `json:"stateMessage,omitempty"` - // StateTime: Output only. The time when the session entered a current + // StateTime: Output only. The time when the session entered the current // state. StateTime string `json:"stateTime,omitempty"` @@ -5388,12 +5517,12 @@ func (s *SessionOperationMetadata) MarshalJSON() ([]byte, error) { // SessionStateHistory: Historical state information. type SessionStateHistory struct { - // State: Output only. The state of the session at this point in - // history. + // State: Output only. The state of the session at this point in the + // session history. // // Possible values: // "STATE_UNSPECIFIED" - The session state is unknown. - // "CREATING" - The session is created before running. + // "CREATING" - The session is created prior to running. // "ACTIVE" - The session is running. // "TERMINATING" - The session is terminating. // "TERMINATED" - The session is terminated successfully. @@ -5401,7 +5530,7 @@ type SessionStateHistory struct { State string `json:"state,omitempty"` // StateMessage: Output only. Details about the state at this point in - // history. + // the session history. StateMessage string `json:"stateMessage,omitempty"` // StateStartTime: Output only. The time when the session entered the @@ -5431,8 +5560,7 @@ func (s *SessionStateHistory) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// SessionTemplate: A representation of a session template in the -// service. Next ID: 12 +// SessionTemplate: A representation of a session template. type SessionTemplate struct { // CreateTime: Output only. The time when the template was created. CreateTime string `json:"createTime,omitempty"` @@ -5451,13 +5579,12 @@ type SessionTemplate struct { // JupyterSession: Optional. Jupyter session config. JupyterSession *JupyterConfig `json:"jupyterSession,omitempty"` - // Labels: Optional. The labels to associate with sessions created using + // Labels: Optional. Labels to associate with sessions created using // this template. Label keys must contain 1 to 63 characters, and must // conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label - // values may be empty, but, if present, must contain 1 to 63 - // characters, and must conform to RFC 1035 - // (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be - // associated with a session. + // values can be empty, but, if present, must contain 1 to 63 characters + // and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No + // more than 32 labels can be associated with a session. Labels map[string]string `json:"labels,omitempty"` // Name: Required. The resource name of the session template. @@ -5466,7 +5593,7 @@ type SessionTemplate struct { // RuntimeConfig: Optional. Runtime configuration for session execution. RuntimeConfig *RuntimeConfig `json:"runtimeConfig,omitempty"` - // UpdateTime: Output only. The time template was last updated. + // UpdateTime: Output only. The time the template was last updated. UpdateTime string `json:"updateTime,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -9597,7 +9724,7 @@ type ProjectsLocationsSessionTemplatesCreateCall struct { header_ http.Header } -// Create: Create an session template, synchronously. +// Create: Create a session template synchronously. // // - parent: The parent resource where this session template will be // created. @@ -9699,7 +9826,7 @@ func (c *ProjectsLocationsSessionTemplatesCreateCall) Do(opts ...googleapi.CallO } return ret, nil // { - // "description": "Create an session template, synchronously.", + // "description": "Create a session template synchronously.", // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessionTemplates", // "httpMethod": "POST", // "id": "dataproc.projects.locations.sessionTemplates.create", @@ -10020,8 +10147,7 @@ type ProjectsLocationsSessionTemplatesListCall struct { // List: Lists session templates. // -// - parent: The parent, which owns this collection of session -// templates. +// - parent: The parent that owns this collection of session templates. func (r *ProjectsLocationsSessionTemplatesService) List(parent string) *ProjectsLocationsSessionTemplatesListCall { c := &ProjectsLocationsSessionTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent @@ -10176,7 +10302,7 @@ func (c *ProjectsLocationsSessionTemplatesListCall) Do(opts ...googleapi.CallOpt // "type": "string" // }, // "parent": { - // "description": "Required. The parent, which owns this collection of session templates.", + // "description": "Required. The parent that owns this collection of session templates.", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+$", // "required": true, @@ -10226,8 +10352,7 @@ type ProjectsLocationsSessionTemplatesPatchCall struct { header_ http.Header } -// Patch: Updates the session template, synchronously.Disable check for -// update_mask, because all updates will be full replacements. +// Patch: Updates the session template synchronously. // // - name: The resource name of the session template. func (r *ProjectsLocationsSessionTemplatesService) Patch(name string, sessiontemplate *SessionTemplate) *ProjectsLocationsSessionTemplatesPatchCall { @@ -10328,7 +10453,7 @@ func (c *ProjectsLocationsSessionTemplatesPatchCall) Do(opts ...googleapi.CallOp } return ret, nil // { - // "description": "Updates the session template, synchronously.Disable check for update_mask, because all updates will be full replacements.", + // "description": "Updates the session template synchronously.", // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessionTemplates/{sessionTemplatesId}", // "httpMethod": "PATCH", // "id": "dataproc.projects.locations.sessionTemplates.patch", @@ -10381,11 +10506,11 @@ func (r *ProjectsLocationsSessionsService) Create(parent string, session *Sessio // RequestId sets the optional parameter "requestId": A unique ID used // to identify the request. If the service receives two -// CreateSessionRequest +// CreateSessionRequests // (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateSessionRequest)s -// with the same ID, the second request is ignored and the first Session -// is created and stored in the backend is returned.Recommendation: Set -// this value to a UUID +// with the same ID, the second request is ignored, and the first +// Session is created and stored in the backend.Recommendation: Set this +// value to a UUID // (https://en.wikipedia.org/wiki/Universally_unique_identifier).The // value must contain only letters (a-z, A-Z), numbers (0-9), // underscores (_), and hyphens (-). The maximum length is 40 @@ -10511,7 +10636,7 @@ func (c *ProjectsLocationsSessionsCreateCall) Do(opts ...googleapi.CallOption) ( // "type": "string" // }, // "requestId": { - // "description": "Optional. A unique ID used to identify the request. If the service receives two CreateSessionRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateSessionRequest)s with the same ID, the second request is ignored and the first Session is created and stored in the backend is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The value must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", + // "description": "Optional. A unique ID used to identify the request. If the service receives two CreateSessionRequests (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateSessionRequest)s with the same ID, the second request is ignored, and the first Session is created and stored in the backend.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The value must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", // "location": "query", // "type": "string" // }, @@ -10546,7 +10671,7 @@ type ProjectsLocationsSessionsDeleteCall struct { } // Delete: Deletes the interactive session resource. If the session is -// not in terminal state, it will be terminated and deleted afterwards. +// not in terminal state, it is terminated, and then deleted. // // - name: The name of the session resource to delete. func (r *ProjectsLocationsSessionsService) Delete(name string) *ProjectsLocationsSessionsDeleteCall { @@ -10656,7 +10781,7 @@ func (c *ProjectsLocationsSessionsDeleteCall) Do(opts ...googleapi.CallOption) ( } return ret, nil // { - // "description": "Deletes the interactive session resource. If the session is not in terminal state, it will be terminated and deleted afterwards.", + // "description": "Deletes the interactive session resource. If the session is not in terminal state, it is terminated, and then deleted.", // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}", // "httpMethod": "DELETE", // "id": "dataproc.projects.locations.sessions.delete", @@ -10834,148 +10959,6 @@ func (c *ProjectsLocationsSessionsGetCall) Do(opts ...googleapi.CallOption) (*Se } -// method id "dataproc.projects.locations.sessions.injectCredentials": - -type ProjectsLocationsSessionsInjectCredentialsCall struct { - s *Service - session string - injectsessioncredentialsrequest *InjectSessionCredentialsRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// InjectCredentials: Inject Credentials in the interactive session. -// -// - session: The name of the session resource to inject credentials to. -func (r *ProjectsLocationsSessionsService) InjectCredentials(session string, injectsessioncredentialsrequest *InjectSessionCredentialsRequest) *ProjectsLocationsSessionsInjectCredentialsCall { - c := &ProjectsLocationsSessionsInjectCredentialsCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.session = session - c.injectsessioncredentialsrequest = injectsessioncredentialsrequest - 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 *ProjectsLocationsSessionsInjectCredentialsCall) Fields(s ...googleapi.Field) *ProjectsLocationsSessionsInjectCredentialsCall { - 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 *ProjectsLocationsSessionsInjectCredentialsCall) Context(ctx context.Context) *ProjectsLocationsSessionsInjectCredentialsCall { - 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 *ProjectsLocationsSessionsInjectCredentialsCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsLocationsSessionsInjectCredentialsCall) 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.injectsessioncredentialsrequest) - 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/{+session}:injectCredentials") - 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{ - "session": c.session, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "dataproc.projects.locations.sessions.injectCredentials" 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 *ProjectsLocationsSessionsInjectCredentialsCall) Do(opts ...googleapi.CallOption) (*Operation, error) { - gensupport.SetOptions(c.urlParams_, opts...) - res, err := c.doRequest("json") - if res != nil && res.StatusCode == http.StatusNotModified { - if res.Body != nil { - res.Body.Close() - } - return nil, gensupport.WrapError(&googleapi.Error{ - Code: res.StatusCode, - Header: res.Header, - }) - } - if err != nil { - return nil, err - } - defer googleapi.CloseBody(res) - if err := googleapi.CheckResponse(res); err != nil { - return nil, gensupport.WrapError(err) - } - ret := &Operation{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := gensupport.DecodeResponse(target, res); err != nil { - return nil, err - } - return ret, nil - // { - // "description": "Inject Credentials in the interactive session.", - // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sessions/{sessionsId}:injectCredentials", - // "httpMethod": "POST", - // "id": "dataproc.projects.locations.sessions.injectCredentials", - // "parameterOrder": [ - // "session" - // ], - // "parameters": { - // "session": { - // "description": "Required. The name of the session resource to inject credentials to.", - // "location": "path", - // "pattern": "^projects/[^/]+/locations/[^/]+/sessions/[^/]+$", - // "required": true, - // "type": "string" - // } - // }, - // "path": "v1/{+session}:injectCredentials", - // "request": { - // "$ref": "InjectSessionCredentialsRequest" - // }, - // "response": { - // "$ref": "Operation" - // }, - // "scopes": [ - // "https://www.googleapis.com/auth/cloud-platform" - // ] - // } - -} - // method id "dataproc.projects.locations.sessions.list": type ProjectsLocationsSessionsListCall struct { @@ -11000,12 +10983,12 @@ func (r *ProjectsLocationsSessionsService) List(parent string) *ProjectsLocation // sessions to return in the response.A filter is a logical expression // constraining the values of various fields in each session resource. // Filters are case sensitive, and may contain multiple clauses combined -// with logical operators (AND/OR). Supported fields are session_id, -// session_uuid, state, and create_time.e.g. state = ACTIVE and -// create_time < "2023-01-01T00:00:00Z" filters for sessions in state -// ACTIVE that were created before 2023-01-01See +// with logical operators (AND, OR). Supported fields are session_id, +// session_uuid, state, and create_time.Example: state = ACTIVE and +// create_time < "2023-01-01T00:00:00Z" is a filter for sessions in an +// ACTIVE state that were created before 2023-01-01.See // https://google.aip.dev/assets/misc/ebnf-filtering.txt for a detailed -// description of the filter syntax and a list of supported comparisons. +// description of the filter syntax and a list of supported comparators. func (c *ProjectsLocationsSessionsListCall) Filter(filter string) *ProjectsLocationsSessionsListCall { c.urlParams_.Set("filter", filter) return c @@ -11135,7 +11118,7 @@ func (c *ProjectsLocationsSessionsListCall) Do(opts ...googleapi.CallOption) (*L // ], // "parameters": { // "filter": { - // "description": "Optional. A filter for the sessions to return in the response.A filter is a logical expression constraining the values of various fields in each session resource. Filters are case sensitive, and may contain multiple clauses combined with logical operators (AND/OR). Supported fields are session_id, session_uuid, state, and create_time.e.g. state = ACTIVE and create_time \u003c \"2023-01-01T00:00:00Z\" filters for sessions in state ACTIVE that were created before 2023-01-01See https://google.aip.dev/assets/misc/ebnf-filtering.txt for a detailed description of the filter syntax and a list of supported comparisons.", + // "description": "Optional. A filter for the sessions to return in the response.A filter is a logical expression constraining the values of various fields in each session resource. Filters are case sensitive, and may contain multiple clauses combined with logical operators (AND, OR). Supported fields are session_id, session_uuid, state, and create_time.Example: state = ACTIVE and create_time \u003c \"2023-01-01T00:00:00Z\" is a filter for sessions in an ACTIVE state that were created before 2023-01-01.See https://google.aip.dev/assets/misc/ebnf-filtering.txt for a detailed description of the filter syntax and a list of supported comparators.", // "location": "query", // "type": "string" // }, diff --git a/datastore/v1/datastore-api.json b/datastore/v1/datastore-api.json index bbd91bdad5e..f19a92f6af3 100644 --- a/datastore/v1/datastore-api.json +++ b/datastore/v1/datastore-api.json @@ -654,7 +654,7 @@ } } }, - "revision": "20230806", + "revision": "20230905", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "Aggregation": { @@ -2054,7 +2054,7 @@ "id": "PropertyReference", "properties": { "name": { - "description": "The name of the property. If name includes \".\"s, it may be interpreted as a property name path.", + "description": "A reference to a property. Requires: * MUST be a dot-delimited (`.`) string of segments, where each segment conforms to entity property name limitations.", "type": "string" } }, diff --git a/datastore/v1/datastore-gen.go b/datastore/v1/datastore-gen.go index 2fc73a49084..5ab745ac742 100644 --- a/datastore/v1/datastore-gen.go +++ b/datastore/v1/datastore-gen.go @@ -2628,8 +2628,9 @@ func (s *PropertyOrder) MarshalJSON() ([]byte, error) { // PropertyReference: A reference to a property relative to the kind // expressions. type PropertyReference struct { - // Name: The name of the property. If name includes "."s, it may be - // interpreted as a property name path. + // Name: A reference to a property. Requires: * MUST be a dot-delimited + // (`.`) string of segments, where each segment conforms to entity + // property name limitations. Name string `json:"name,omitempty"` // ForceSendFields is a list of field names (e.g. "Name") to diff --git a/datastore/v1beta3/datastore-api.json b/datastore/v1beta3/datastore-api.json index 93d97b24bdc..94e793c5d34 100644 --- a/datastore/v1beta3/datastore-api.json +++ b/datastore/v1beta3/datastore-api.json @@ -336,7 +336,7 @@ } } }, - "revision": "20230806", + "revision": "20230905", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "Aggregation": { @@ -1500,7 +1500,7 @@ "id": "PropertyReference", "properties": { "name": { - "description": "The name of the property. If name includes \".\"s, it may be interpreted as a property name path.", + "description": "A reference to a property. Requires: * MUST be a dot-delimited (`.`) string of segments, where each segment conforms to entity property name limitations.", "type": "string" } }, diff --git a/datastore/v1beta3/datastore-gen.go b/datastore/v1beta3/datastore-gen.go index c2265bbea01..916dddb4ae5 100644 --- a/datastore/v1beta3/datastore-gen.go +++ b/datastore/v1beta3/datastore-gen.go @@ -2211,8 +2211,9 @@ func (s *PropertyOrder) MarshalJSON() ([]byte, error) { // PropertyReference: A reference to a property relative to the kind // expressions. type PropertyReference struct { - // Name: The name of the property. If name includes "."s, it may be - // interpreted as a property name path. + // Name: A reference to a property. Requires: * MUST be a dot-delimited + // (`.`) string of segments, where each segment conforms to entity + // property name limitations. Name string `json:"name,omitempty"` // ForceSendFields is a list of field names (e.g. "Name") to diff --git a/domains/v1/domains-api.json b/domains/v1/domains-api.json index cb76a26c933..dc11167333c 100644 --- a/domains/v1/domains-api.json +++ b/domains/v1/domains-api.json @@ -843,7 +843,7 @@ } } }, - "revision": "20230503", + "revision": "20230904", "rootUrl": "https://domains.googleapis.com/", "schemas": { "AuditConfig": { @@ -1495,7 +1495,7 @@ "description": "Properties of the object. Contains field @type with type URL.", "type": "any" }, - "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", "type": "object" } }, @@ -1535,7 +1535,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { diff --git a/domains/v1/domains-gen.go b/domains/v1/domains-gen.go index c6e12b35c38..6999e20a422 100644 --- a/domains/v1/domains-gen.go +++ b/domains/v1/domains-gen.go @@ -1309,8 +1309,8 @@ type Operation struct { // `operations/{unique_id}`. Name string `json:"name,omitempty"` - // Response: The normal response of the operation in case of success. If - // the original method returns no data on success, such as `Delete`, the + // Response: The normal, successful response of the operation. If the + // original method returns no data on success, such as `Delete`, the // response is `google.protobuf.Empty`. If the original method is // standard `Get`/`Create`/`Update`, the response should be the // resource. For other methods, the response should have the type @@ -1404,7 +1404,7 @@ func (s *OperationMetadata) MarshalJSON() ([]byte, error) { // both. To learn which resources support conditions in their IAM // policies, see the IAM documentation // (https://cloud.google.com/iam/help/conditions/resource-policies). -// **JSON example:** { "bindings": [ { "role": +// **JSON example:** ``` { "bindings": [ { "role": // "roles/resourcemanager.organizationAdmin", "members": [ // "user:mike@example.com", "group:admins@example.com", // "domain:google.com", @@ -1413,17 +1413,17 @@ func (s *OperationMetadata) MarshalJSON() ([]byte, error) { // "user:eve@example.com" ], "condition": { "title": "expirable access", // "description": "Does not grant access after Sep 2020", "expression": // "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], -// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - -// members: - user:mike@example.com - group:admins@example.com - -// domain:google.com - +// "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` +// bindings: - members: - user:mike@example.com - +// group:admins@example.com - domain:google.com - // serviceAccount:my-project-id@appspot.gserviceaccount.com role: // roles/resourcemanager.organizationAdmin - members: - // user:eve@example.com role: roles/resourcemanager.organizationViewer // condition: title: expirable access description: Does not grant access // after Sep 2020 expression: request.time < // timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 -// For a description of IAM and its features, see the IAM documentation -// (https://cloud.google.com/iam/docs/). +// ``` For a description of IAM and its features, see the IAM +// documentation (https://cloud.google.com/iam/docs/). type Policy struct { // AuditConfigs: Specifies cloud audit logging configuration for this // policy. diff --git a/domains/v1alpha2/domains-api.json b/domains/v1alpha2/domains-api.json index 2f9dbb70bcb..b8a5f595b24 100644 --- a/domains/v1alpha2/domains-api.json +++ b/domains/v1alpha2/domains-api.json @@ -843,7 +843,7 @@ } } }, - "revision": "20230503", + "revision": "20230904", "rootUrl": "https://domains.googleapis.com/", "schemas": { "AuditConfig": { @@ -1495,7 +1495,7 @@ "description": "Properties of the object. Contains field @type with type URL.", "type": "any" }, - "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", "type": "object" } }, @@ -1535,7 +1535,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { diff --git a/domains/v1alpha2/domains-gen.go b/domains/v1alpha2/domains-gen.go index 0b91d9c0fb3..78be5b50269 100644 --- a/domains/v1alpha2/domains-gen.go +++ b/domains/v1alpha2/domains-gen.go @@ -1309,8 +1309,8 @@ type Operation struct { // `operations/{unique_id}`. Name string `json:"name,omitempty"` - // Response: The normal response of the operation in case of success. If - // the original method returns no data on success, such as `Delete`, the + // Response: The normal, successful response of the operation. If the + // original method returns no data on success, such as `Delete`, the // response is `google.protobuf.Empty`. If the original method is // standard `Get`/`Create`/`Update`, the response should be the // resource. For other methods, the response should have the type @@ -1404,7 +1404,7 @@ func (s *OperationMetadata) MarshalJSON() ([]byte, error) { // both. To learn which resources support conditions in their IAM // policies, see the IAM documentation // (https://cloud.google.com/iam/help/conditions/resource-policies). -// **JSON example:** { "bindings": [ { "role": +// **JSON example:** ``` { "bindings": [ { "role": // "roles/resourcemanager.organizationAdmin", "members": [ // "user:mike@example.com", "group:admins@example.com", // "domain:google.com", @@ -1413,17 +1413,17 @@ func (s *OperationMetadata) MarshalJSON() ([]byte, error) { // "user:eve@example.com" ], "condition": { "title": "expirable access", // "description": "Does not grant access after Sep 2020", "expression": // "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], -// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - -// members: - user:mike@example.com - group:admins@example.com - -// domain:google.com - +// "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` +// bindings: - members: - user:mike@example.com - +// group:admins@example.com - domain:google.com - // serviceAccount:my-project-id@appspot.gserviceaccount.com role: // roles/resourcemanager.organizationAdmin - members: - // user:eve@example.com role: roles/resourcemanager.organizationViewer // condition: title: expirable access description: Does not grant access // after Sep 2020 expression: request.time < // timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 -// For a description of IAM and its features, see the IAM documentation -// (https://cloud.google.com/iam/docs/). +// ``` For a description of IAM and its features, see the IAM +// documentation (https://cloud.google.com/iam/docs/). type Policy struct { // AuditConfigs: Specifies cloud audit logging configuration for this // policy. diff --git a/domains/v1beta1/domains-api.json b/domains/v1beta1/domains-api.json index 620e70b959a..b46fbc61815 100644 --- a/domains/v1beta1/domains-api.json +++ b/domains/v1beta1/domains-api.json @@ -843,7 +843,7 @@ } } }, - "revision": "20230503", + "revision": "20230904", "rootUrl": "https://domains.googleapis.com/", "schemas": { "AuditConfig": { @@ -1495,7 +1495,7 @@ "description": "Properties of the object. Contains field @type with type URL.", "type": "any" }, - "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", "type": "object" } }, @@ -1535,7 +1535,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { diff --git a/domains/v1beta1/domains-gen.go b/domains/v1beta1/domains-gen.go index efc2e47b0d6..fd4babcf308 100644 --- a/domains/v1beta1/domains-gen.go +++ b/domains/v1beta1/domains-gen.go @@ -1309,8 +1309,8 @@ type Operation struct { // `operations/{unique_id}`. Name string `json:"name,omitempty"` - // Response: The normal response of the operation in case of success. If - // the original method returns no data on success, such as `Delete`, the + // Response: The normal, successful response of the operation. If the + // original method returns no data on success, such as `Delete`, the // response is `google.protobuf.Empty`. If the original method is // standard `Get`/`Create`/`Update`, the response should be the // resource. For other methods, the response should have the type @@ -1404,7 +1404,7 @@ func (s *OperationMetadata) MarshalJSON() ([]byte, error) { // both. To learn which resources support conditions in their IAM // policies, see the IAM documentation // (https://cloud.google.com/iam/help/conditions/resource-policies). -// **JSON example:** { "bindings": [ { "role": +// **JSON example:** ``` { "bindings": [ { "role": // "roles/resourcemanager.organizationAdmin", "members": [ // "user:mike@example.com", "group:admins@example.com", // "domain:google.com", @@ -1413,17 +1413,17 @@ func (s *OperationMetadata) MarshalJSON() ([]byte, error) { // "user:eve@example.com" ], "condition": { "title": "expirable access", // "description": "Does not grant access after Sep 2020", "expression": // "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], -// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - -// members: - user:mike@example.com - group:admins@example.com - -// domain:google.com - +// "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` +// bindings: - members: - user:mike@example.com - +// group:admins@example.com - domain:google.com - // serviceAccount:my-project-id@appspot.gserviceaccount.com role: // roles/resourcemanager.organizationAdmin - members: - // user:eve@example.com role: roles/resourcemanager.organizationViewer // condition: title: expirable access description: Does not grant access // after Sep 2020 expression: request.time < // timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 -// For a description of IAM and its features, see the IAM documentation -// (https://cloud.google.com/iam/docs/). +// ``` For a description of IAM and its features, see the IAM +// documentation (https://cloud.google.com/iam/docs/). type Policy struct { // AuditConfigs: Specifies cloud audit logging configuration for this // policy. diff --git a/firebase/v1beta1/firebase-api.json b/firebase/v1beta1/firebase-api.json index 4733a572b84..4976e343f1c 100644 --- a/firebase/v1beta1/firebase-api.json +++ b/firebase/v1beta1/firebase-api.json @@ -790,9 +790,11 @@ } }, "availableLocations": { + "deprecated": true, "methods": { "list": { - "description": "Lists the valid Google Cloud Platform (GCP) resource locations for the specified Project (including a FirebaseProject). One of these locations can be selected as the Project's [_default_ GCP resource location](https://firebase.google.com/docs/projects/locations), which is the geographical location where the Project's resources, such as Cloud Firestore, will be provisioned by default. However, if the default GCP resource location has already been set for the Project, then this setting cannot be changed. This call checks for any possible [location restrictions](https://cloud.google.com/resource-manager/docs/organization-policy/defining-locations) for the specified Project and, thus, might return a subset of all possible GCP resource locations. To list all GCP resource locations (regardless of any restrictions), call the endpoint without specifying a unique project identifier (that is, `/v1beta1/{parent=projects/-}/listAvailableLocations`). To call `ListAvailableLocations` with a specified project, a member must be at minimum a Viewer of the Project. Calls without a specified project do not require any specific project permissions.", + "deprecated": true, + "description": "**DEPRECATED.** _Instead, use the applicable resource-specific REST API (or associated documentation, as needed) to determine valid locations for each resource used in your Project._ Lists the valid Google Cloud Platform (GCP) resource locations for the specified Project (including a FirebaseProject). One of these locations can be selected as the Project's [_default_ GCP resource location](https://firebase.google.com/docs/projects/locations), which is the geographical location where the Project's resources, such as Cloud Firestore, will be provisioned by default. However, if the default GCP resource location has already been set for the Project, then this setting cannot be changed. This call checks for any possible [location restrictions](https://cloud.google.com/resource-manager/docs/organization-policy/defining-locations) for the specified Project and, thus, might return a subset of all possible GCP resource locations. To list all GCP resource locations (regardless of any restrictions), call the endpoint without specifying a unique project identifier (that is, `/v1beta1/{parent=projects/-}/listAvailableLocations`). To call `ListAvailableLocations` with a specified project, a member must be at minimum a Viewer of the Project. Calls without a specified project do not require any specific project permissions.", "flatPath": "v1beta1/projects/{projectsId}/availableLocations", "httpMethod": "GET", "id": "firebase.projects.availableLocations.list", @@ -833,9 +835,11 @@ } }, "defaultLocation": { + "deprecated": true, "methods": { "finalize": { - "description": "Sets the default Google Cloud Platform (GCP) resource location for the specified FirebaseProject. This method creates an App Engine application with a [default Cloud Storage bucket](https://cloud.google.com/appengine/docs/standard/python/googlecloudstorageclient/setting-up-cloud-storage#activating_a_cloud_storage_bucket), located in the specified [`locationId`](#body.request_body.FIELDS.location_id). This location must be one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations). After the default GCP resource location is finalized, or if it was already set, it cannot be changed. The default GCP resource location for the specified `FirebaseProject` might already be set because either the underlying GCP `Project` already has an App Engine application or `FinalizeDefaultLocation` was previously called with a specified `locationId`. Any new calls to `FinalizeDefaultLocation` with a *different* specified `locationId` will return a 409 error. The result of this call is an [`Operation`](../../v1beta1/operations), which can be used to track the provisioning process. The [`response`](../../v1beta1/operations#Operation.FIELDS.response) type of the `Operation` is google.protobuf.Empty. The `Operation` can be polled by its `name` using GetOperation until `done` is true. When `done` is true, the `Operation` has either succeeded or failed. If the `Operation` has succeeded, its [`response`](../../v1beta1/operations#Operation.FIELDS.response) will be set to a google.protobuf.Empty; if the `Operation` has failed, its `error` will be set to a google.rpc.Status. The `Operation` is automatically deleted after completion, so there is no need to call DeleteOperation. All fields listed in the [request body](#request-body) are required. To call `FinalizeDefaultLocation`, a member must be an Owner of the Project.", + "deprecated": true, + "description": "**DEPRECATED.** _Instead, use the applicable resource-specific REST API to set the location for each resource used in your Project._ Sets the default Google Cloud Platform (GCP) resource location for the specified FirebaseProject. This method creates an App Engine application with a [default Cloud Storage bucket](https://cloud.google.com/appengine/docs/standard/python/googlecloudstorageclient/setting-up-cloud-storage#activating_a_cloud_storage_bucket), located in the specified [`locationId`](#body.request_body.FIELDS.location_id). This location must be one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations). After the default GCP resource location is finalized, or if it was already set, it cannot be changed. The default GCP resource location for the specified `FirebaseProject` might already be set because either the underlying GCP `Project` already has an App Engine application or `FinalizeDefaultLocation` was previously called with a specified `locationId`. Any new calls to `FinalizeDefaultLocation` with a *different* specified `locationId` will return a 409 error. The result of this call is an [`Operation`](../../v1beta1/operations), which can be used to track the provisioning process. The [`response`](../../v1beta1/operations#Operation.FIELDS.response) type of the `Operation` is google.protobuf.Empty. The `Operation` can be polled by its `name` using GetOperation until `done` is true. When `done` is true, the `Operation` has either succeeded or failed. If the `Operation` has succeeded, its [`response`](../../v1beta1/operations#Operation.FIELDS.response) will be set to a google.protobuf.Empty; if the `Operation` has failed, its `error` will be set to a google.rpc.Status. The `Operation` is automatically deleted after completion, so there is no need to call DeleteOperation. All fields listed in the [request body](#request-body) are required. To call `FinalizeDefaultLocation`, a member must be an Owner of the Project.", "flatPath": "v1beta1/projects/{projectsId}/defaultLocation:finalize", "httpMethod": "POST", "id": "firebase.projects.defaultLocation.finalize", @@ -1320,7 +1324,7 @@ } } }, - "revision": "20230804", + "revision": "20230907", "rootUrl": "https://firebase.googleapis.com/", "schemas": { "AddFirebaseRequest": { @@ -1352,11 +1356,12 @@ "id": "AdminSdkConfig", "properties": { "databaseURL": { - "description": "The default Firebase Realtime Database URL.", + "deprecated": true, "type": "string" }, "locationId": { - "description": "The ID of the Project's default GCP resource location. The location is one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations). This field is omitted if the default GCP resource location has not been finalized yet. To set a Project's default GCP resource location, call [`FinalizeDefaultLocation`](../projects.defaultLocation/finalize) after you add Firebase resources to the Project.", + "deprecated": true, + "description": "**DEPRECATED.** _Instead, use product-specific REST APIs to find the location of resources._ The ID of the Project's default GCP resource location. The location is one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations). This field is omitted if the default GCP resource location has not been finalized yet. To set a Project's default GCP resource location, call [`FinalizeDefaultLocation`](../projects.defaultLocation/finalize) after you add Firebase resources to the Project.", "type": "string" }, "projectId": { @@ -1364,7 +1369,8 @@ "type": "string" }, "storageBucket": { - "description": "The default Cloud Storage for Firebase storage bucket name.", + "deprecated": true, + "description": "**DEPRECATED.** _Instead, find the default Cloud Storage for Firebase bucket using the [list endpoint](https://firebase.google.com/docs/reference/rest/storage/rest/v1beta/projects.buckets/list) within the Cloud Storage for Firebase REST API. Note that the default bucket for the Project might not yet be provisioned, so the return might not contain a default bucket._ The default Cloud Storage for Firebase storage bucket name.", "type": "string" } }, @@ -1496,26 +1502,30 @@ "type": "object" }, "DefaultResources": { - "description": "The default resources associated with the Project.", + "deprecated": true, + "description": "**DEPRECATED.** _Auto-provisioning of these resources is changing, so this object no longer reliably provides information about the resources within the Project. Instead, retrieve information about each resource directly from its resource-specific API._ The default auto-provisioned resources associated with the Project.", "id": "DefaultResources", "properties": { "hostingSite": { - "description": "Output only. The default Firebase Hosting site name, in the format: PROJECT_ID Though rare, your `projectId` might already be used as the name for an existing Hosting site in another project (learn more about creating non-default, [additional sites](https://firebase.google.com/docs/hosting/multisites)). In these cases, your `projectId` is appended with a hyphen then five alphanumeric characters to create your default Hosting site name. For example, if your `projectId` is `myproject123`, your default Hosting site name might be: `myproject123-a5c16`", + "deprecated": true, + "description": "Output only. **DEPRECATED.** _Instead, find the default Firebase Hosting site name using the [ListSites](https://firebase.google.com/docs/reference/hosting/rest/v1beta1/projects.sites/list) within the Firebase Hosting REST API. Note that the default site for the Project might not yet be provisioned, so the return might not contain a default site._ The default Firebase Hosting site name, in the format: PROJECT_ID Though rare, your `projectId` might already be used as the name for an existing Hosting site in another project (learn more about creating non-default, [additional sites](https://firebase.google.com/docs/hosting/multisites)). In these cases, your `projectId` is appended with a hyphen then five alphanumeric characters to create your default Hosting site name. For example, if your `projectId` is `myproject123`, your default Hosting site name might be: `myproject123-a5c16`", "readOnly": true, "type": "string" }, "locationId": { - "description": "Output only. The ID of the Project's default GCP resource location. The location is one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations). This field is omitted if the default GCP resource location has not been finalized yet. To set a Project's default GCP resource location, call [`FinalizeDefaultLocation`](../projects.defaultLocation/finalize) after you add Firebase resources to the Project.", + "deprecated": true, + "description": "Output only. **DEPRECATED.** _Instead, use product-specific REST APIs to find the location of resources._ The ID of the Project's default GCP resource location. The location is one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations). This field is omitted if the default GCP resource location has not been finalized yet. To set a Project's default GCP resource location, call [`FinalizeDefaultLocation`](../projects.defaultLocation/finalize) after you add Firebase resources to the Project.", "readOnly": true, "type": "string" }, "realtimeDatabaseInstance": { - "description": "Output only. The default Firebase Realtime Database instance name, in the format: PROJECT_ID Though rare, your `projectId` might already be used as the name for an existing Realtime Database instance in another project (learn more about [database sharding](https://firebase.google.com/docs/database/usage/sharding)). In these cases, your `projectId` is appended with a hyphen then five alphanumeric characters to create your default Realtime Database instance name. For example, if your `projectId` is `myproject123`, your default database instance name might be: `myproject123-a5c16`", + "deprecated": true, + "description": "Output only. **DEPRECATED.** _Instead, find the default Firebase Realtime Database instance name using the [list endpoint](https://firebase.google.com/docs/reference/rest/database/database-management/rest/v1beta/projects.locations.instances/list) within the Firebase Realtime Database REST API. Note that the default instance for the Project might not yet be provisioned, so the return might not contain a default instance._ The default Firebase Realtime Database instance name, in the format: PROJECT_ID Though rare, your `projectId` might already be used as the name for an existing Realtime Database instance in another project (learn more about [database sharding](https://firebase.google.com/docs/database/usage/sharding)). In these cases, your `projectId` is appended with a hyphen then five alphanumeric characters to create your default Realtime Database instance name. For example, if your `projectId` is `myproject123`, your default database instance name might be: `myproject123-a5c16`", "readOnly": true, "type": "string" }, "storageBucket": { - "description": "Output only. The default Cloud Storage for Firebase storage bucket, in the format: PROJECT_ID.appspot.com", + "description": "Output only. **DEPRECATED.** _Instead, find the default Cloud Storage for Firebase bucket using the [list endpoint](https://firebase.google.com/docs/reference/rest/storage/rest/v1beta/projects.buckets/list) within the Cloud Storage for Firebase REST API. Note that the default bucket for the Project might not yet be provisioned, so the return might not contain a default bucket._ The default Cloud Storage for Firebase storage bucket, in the format: PROJECT_ID.appspot.com", "readOnly": true, "type": "string" } @@ -1529,6 +1539,7 @@ "type": "object" }, "FinalizeDefaultLocationRequest": { + "deprecated": true, "id": "FinalizeDefaultLocationRequest", "properties": { "locationId": { @@ -1640,7 +1651,8 @@ }, "resources": { "$ref": "DefaultResources", - "description": "Output only. The default Firebase resources associated with the Project.", + "deprecated": true, + "description": "Output only. **DEPRECATED.** _Auto-provisioning of these resources is changing, so this object no longer reliably provides information about the Project. Instead, retrieve information about each resource directly from its resource-specific API._ The default Firebase resources associated with the Project.", "readOnly": true }, "state": { @@ -1761,6 +1773,7 @@ "type": "object" }, "ListAvailableLocationsResponse": { + "deprecated": true, "id": "ListAvailableLocationsResponse", "properties": { "locations": { @@ -1859,7 +1872,8 @@ "type": "object" }, "Location": { - "description": "A GCP resource location that can be selected for a FirebaseProject.", + "deprecated": true, + "description": "**DEPRECATED.** _This Location is no longer used to determine Firebase resource locations. Instead, consult product documentation to determine valid locations for each resource used in your Project._ A GCP resource location that can be selected for a FirebaseProject.", "id": "Location", "properties": { "features": { @@ -2306,11 +2320,13 @@ "type": "string" }, "databaseURL": { - "description": "The default Firebase Realtime Database URL.", + "deprecated": true, + "description": "**DEPRECATED.** _Instead, find the default Firebase Realtime Database instance name using the [list endpoint](https://firebase.google.com/docs/reference/rest/database/database-management/rest/v1beta/projects.locations.instances/list) within the Firebase Realtime Database REST API. Note that the default instance for the Project might not yet be provisioned, so the return might not contain a default instance._ The default Firebase Realtime Database URL.", "type": "string" }, "locationId": { - "description": "The ID of the Project's default GCP resource location. The location is one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations). This field is omitted if the default GCP resource location has not been finalized yet. To set a Project's default GCP resource location, call [`FinalizeDefaultLocation`](../projects.defaultLocation/finalize) after you add Firebase resources to the Project.", + "deprecated": true, + "description": "**DEPRECATED.** _Instead, use product-specific REST APIs to find the location of resources._ The ID of the Project's default GCP resource location. The location is one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations). This field is omitted if the default GCP resource location has not been finalized yet. To set a Project's default GCP resource location, call [`FinalizeDefaultLocation`](../projects.defaultLocation/finalize) after you add Firebase resources to the Project.", "type": "string" }, "measurementId": { @@ -2326,7 +2342,8 @@ "type": "string" }, "storageBucket": { - "description": "The default Cloud Storage for Firebase storage bucket name.", + "deprecated": true, + "description": "**DEPRECATED.** _Instead, find the default Cloud Storage for Firebase bucket using the [list endpoint](https://firebase.google.com/docs/reference/rest/storage/rest/v1beta/projects.buckets/list) within the Cloud Storage for Firebase REST API. Note that the default bucket for the Project might not yet be provisioned, so the return might not contain a default bucket._ The default Cloud Storage for Firebase storage bucket name.", "type": "string" } }, diff --git a/firebase/v1beta1/firebase-gen.go b/firebase/v1beta1/firebase-gen.go index eabc7b1dc6d..684c5f7ad00 100644 --- a/firebase/v1beta1/firebase-gen.go +++ b/firebase/v1beta1/firebase-gen.go @@ -345,11 +345,12 @@ func (s *AddGoogleAnalyticsRequest) MarshalJSON() ([]byte, error) { } type AdminSdkConfig struct { - // DatabaseURL: The default Firebase Realtime Database URL. DatabaseURL string `json:"databaseURL,omitempty"` - // LocationId: The ID of the Project's default GCP resource location. - // The location is one of the available GCP resource locations + // LocationId: **DEPRECATED.** _Instead, use product-specific REST APIs + // to find the location of resources._ The ID of the Project's default + // GCP resource location. The location is one of the available GCP + // resource locations // (https://firebase.google.com/docs/projects/locations). This field is // omitted if the default GCP resource location has not been finalized // yet. To set a Project's default GCP resource location, call @@ -363,8 +364,13 @@ type AdminSdkConfig struct { // generally be treated as a convenience alias to reference the Project. ProjectId string `json:"projectId,omitempty"` - // StorageBucket: The default Cloud Storage for Firebase storage bucket - // name. + // StorageBucket: **DEPRECATED.** _Instead, find the default Cloud + // Storage for Firebase bucket using the list endpoint + // (https://firebase.google.com/docs/reference/rest/storage/rest/v1beta/projects.buckets/list) + // within the Cloud Storage for Firebase REST API. Note that the default + // bucket for the Project might not yet be provisioned, so the return + // might not contain a default bucket._ The default Cloud Storage for + // Firebase storage bucket name. StorageBucket string `json:"storageBucket,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -628,9 +634,19 @@ func (s *AndroidAppConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// DefaultResources: The default resources associated with the Project. +// DefaultResources: **DEPRECATED.** _Auto-provisioning of these +// resources is changing, so this object no longer reliably provides +// information about the resources within the Project. Instead, retrieve +// information about each resource directly from its resource-specific +// API._ The default auto-provisioned resources associated with the +// Project. type DefaultResources struct { - // HostingSite: Output only. The default Firebase Hosting site name, in + // HostingSite: Output only. **DEPRECATED.** _Instead, find the default + // Firebase Hosting site name using the ListSites + // (https://firebase.google.com/docs/reference/hosting/rest/v1beta1/projects.sites/list) + // within the Firebase Hosting REST API. Note that the default site for + // the Project might not yet be provisioned, so the return might not + // contain a default site._ The default Firebase Hosting site name, in // the format: PROJECT_ID Though rare, your `projectId` might already be // used as the name for an existing Hosting site in another project // (learn more about creating non-default, additional sites @@ -641,8 +657,10 @@ type DefaultResources struct { // site name might be: `myproject123-a5c16` HostingSite string `json:"hostingSite,omitempty"` - // LocationId: Output only. The ID of the Project's default GCP resource - // location. The location is one of the available GCP resource locations + // LocationId: Output only. **DEPRECATED.** _Instead, use + // product-specific REST APIs to find the location of resources._ The ID + // of the Project's default GCP resource location. The location is one + // of the available GCP resource locations // (https://firebase.google.com/docs/projects/locations). This field is // omitted if the default GCP resource location has not been finalized // yet. To set a Project's default GCP resource location, call @@ -650,7 +668,13 @@ type DefaultResources struct { // after you add Firebase resources to the Project. LocationId string `json:"locationId,omitempty"` - // RealtimeDatabaseInstance: Output only. The default Firebase Realtime + // RealtimeDatabaseInstance: Output only. **DEPRECATED.** _Instead, find + // the default Firebase Realtime Database instance name using the list + // endpoint + // (https://firebase.google.com/docs/reference/rest/database/database-management/rest/v1beta/projects.locations.instances/list) + // within the Firebase Realtime Database REST API. Note that the default + // instance for the Project might not yet be provisioned, so the return + // might not contain a default instance._ The default Firebase Realtime // Database instance name, in the format: PROJECT_ID Though rare, your // `projectId` might already be used as the name for an existing // Realtime Database instance in another project (learn more about @@ -662,8 +686,13 @@ type DefaultResources struct { // your default database instance name might be: `myproject123-a5c16` RealtimeDatabaseInstance string `json:"realtimeDatabaseInstance,omitempty"` - // StorageBucket: Output only. The default Cloud Storage for Firebase - // storage bucket, in the format: PROJECT_ID.appspot.com + // StorageBucket: Output only. **DEPRECATED.** _Instead, find the + // default Cloud Storage for Firebase bucket using the list endpoint + // (https://firebase.google.com/docs/reference/rest/storage/rest/v1beta/projects.buckets/list) + // within the Cloud Storage for Firebase REST API. Note that the default + // bucket for the Project might not yet be provisioned, so the return + // might not contain a default bucket._ The default Cloud Storage for + // Firebase storage bucket, in the format: PROJECT_ID.appspot.com StorageBucket string `json:"storageBucket,omitempty"` // ForceSendFields is a list of field names (e.g. "HostingSite") to @@ -877,8 +906,11 @@ type FirebaseProject struct { // Firebase or third-party services. ProjectNumber int64 `json:"projectNumber,omitempty,string"` - // Resources: Output only. The default Firebase resources associated - // with the Project. + // Resources: Output only. **DEPRECATED.** _Auto-provisioning of these + // resources is changing, so this object no longer reliably provides + // information about the Project. Instead, retrieve information about + // each resource directly from its resource-specific API._ The default + // Firebase resources associated with the Project. Resources *DefaultResources `json:"resources,omitempty"` // State: Output only. The lifecycle state of the Project. @@ -1333,7 +1365,10 @@ func (s *ListWebAppsResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// Location: A GCP resource location that can be selected for a +// Location: **DEPRECATED.** _This Location is no longer used to +// determine Firebase resource locations. Instead, consult product +// documentation to determine valid locations for each resource used in +// your Project._ A GCP resource location that can be selected for a // FirebaseProject. type Location struct { // Features: Products and services that are available in the GCP @@ -2173,11 +2208,19 @@ type WebAppConfig struct { // in the format: PROJECT_ID.firebaseapp.com AuthDomain string `json:"authDomain,omitempty"` - // DatabaseURL: The default Firebase Realtime Database URL. + // DatabaseURL: **DEPRECATED.** _Instead, find the default Firebase + // Realtime Database instance name using the list endpoint + // (https://firebase.google.com/docs/reference/rest/database/database-management/rest/v1beta/projects.locations.instances/list) + // within the Firebase Realtime Database REST API. Note that the default + // instance for the Project might not yet be provisioned, so the return + // might not contain a default instance._ The default Firebase Realtime + // Database URL. DatabaseURL string `json:"databaseURL,omitempty"` - // LocationId: The ID of the Project's default GCP resource location. - // The location is one of the available GCP resource locations + // LocationId: **DEPRECATED.** _Instead, use product-specific REST APIs + // to find the location of resources._ The ID of the Project's default + // GCP resource location. The location is one of the available GCP + // resource locations // (https://firebase.google.com/docs/projects/locations). This field is // omitted if the default GCP resource location has not been finalized // yet. To set a Project's default GCP resource location, call @@ -2209,8 +2252,13 @@ type WebAppConfig struct { // `FirebaseProject`. ProjectId string `json:"projectId,omitempty"` - // StorageBucket: The default Cloud Storage for Firebase storage bucket - // name. + // StorageBucket: **DEPRECATED.** _Instead, find the default Cloud + // Storage for Firebase bucket using the list endpoint + // (https://firebase.google.com/docs/reference/rest/storage/rest/v1beta/projects.buckets/list) + // within the Cloud Storage for Firebase REST API. Note that the default + // bucket for the Project might not yet be provisioned, so the return + // might not contain a default bucket._ The default Cloud Storage for + // Firebase storage bucket name. StorageBucket string `json:"storageBucket,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -5800,15 +5848,18 @@ type ProjectsAvailableLocationsListCall struct { header_ http.Header } -// List: Lists the valid Google Cloud Platform (GCP) resource locations -// for the specified Project (including a FirebaseProject). One of these -// locations can be selected as the Project's _default_ GCP resource -// location (https://firebase.google.com/docs/projects/locations), which -// is the geographical location where the Project's resources, such as -// Cloud Firestore, will be provisioned by default. However, if the -// default GCP resource location has already been set for the Project, -// then this setting cannot be changed. This call checks for any -// possible location restrictions +// List: **DEPRECATED.** _Instead, use the applicable resource-specific +// REST API (or associated documentation, as needed) to determine valid +// locations for each resource used in your Project._ Lists the valid +// Google Cloud Platform (GCP) resource locations for the specified +// Project (including a FirebaseProject). One of these locations can be +// selected as the Project's _default_ GCP resource location +// (https://firebase.google.com/docs/projects/locations), which is the +// geographical location where the Project's resources, such as Cloud +// Firestore, will be provisioned by default. However, if the default +// GCP resource location has already been set for the Project, then this +// setting cannot be changed. This call checks for any possible location +// restrictions // (https://cloud.google.com/resource-manager/docs/organization-policy/defining-locations) // for the specified Project and, thus, might return a subset of all // possible GCP resource locations. To list all GCP resource locations @@ -5949,7 +6000,8 @@ func (c *ProjectsAvailableLocationsListCall) Do(opts ...googleapi.CallOption) (* } return ret, nil // { - // "description": "Lists the valid Google Cloud Platform (GCP) resource locations for the specified Project (including a FirebaseProject). One of these locations can be selected as the Project's [_default_ GCP resource location](https://firebase.google.com/docs/projects/locations), which is the geographical location where the Project's resources, such as Cloud Firestore, will be provisioned by default. However, if the default GCP resource location has already been set for the Project, then this setting cannot be changed. This call checks for any possible [location restrictions](https://cloud.google.com/resource-manager/docs/organization-policy/defining-locations) for the specified Project and, thus, might return a subset of all possible GCP resource locations. To list all GCP resource locations (regardless of any restrictions), call the endpoint without specifying a unique project identifier (that is, `/v1beta1/{parent=projects/-}/listAvailableLocations`). To call `ListAvailableLocations` with a specified project, a member must be at minimum a Viewer of the Project. Calls without a specified project do not require any specific project permissions.", + // "deprecated": true, + // "description": "**DEPRECATED.** _Instead, use the applicable resource-specific REST API (or associated documentation, as needed) to determine valid locations for each resource used in your Project._ Lists the valid Google Cloud Platform (GCP) resource locations for the specified Project (including a FirebaseProject). One of these locations can be selected as the Project's [_default_ GCP resource location](https://firebase.google.com/docs/projects/locations), which is the geographical location where the Project's resources, such as Cloud Firestore, will be provisioned by default. However, if the default GCP resource location has already been set for the Project, then this setting cannot be changed. This call checks for any possible [location restrictions](https://cloud.google.com/resource-manager/docs/organization-policy/defining-locations) for the specified Project and, thus, might return a subset of all possible GCP resource locations. To list all GCP resource locations (regardless of any restrictions), call the endpoint without specifying a unique project identifier (that is, `/v1beta1/{parent=projects/-}/listAvailableLocations`). To call `ListAvailableLocations` with a specified project, a member must be at minimum a Viewer of the Project. Calls without a specified project do not require any specific project permissions.", // "flatPath": "v1beta1/projects/{projectsId}/availableLocations", // "httpMethod": "GET", // "id": "firebase.projects.availableLocations.list", @@ -6022,9 +6074,11 @@ type ProjectsDefaultLocationFinalizeCall struct { header_ http.Header } -// Finalize: Sets the default Google Cloud Platform (GCP) resource -// location for the specified FirebaseProject. This method creates an -// App Engine application with a default Cloud Storage bucket +// Finalize: **DEPRECATED.** _Instead, use the applicable +// resource-specific REST API to set the location for each resource used +// in your Project._ Sets the default Google Cloud Platform (GCP) +// resource location for the specified FirebaseProject. This method +// creates an App Engine application with a default Cloud Storage bucket // (https://cloud.google.com/appengine/docs/standard/python/googlecloudstorageclient/setting-up-cloud-storage#activating_a_cloud_storage_bucket), // located in the specified `locationId` // (#body.request_body.FIELDS.location_id). This location must be one of @@ -6155,7 +6209,8 @@ func (c *ProjectsDefaultLocationFinalizeCall) Do(opts ...googleapi.CallOption) ( } return ret, nil // { - // "description": "Sets the default Google Cloud Platform (GCP) resource location for the specified FirebaseProject. This method creates an App Engine application with a [default Cloud Storage bucket](https://cloud.google.com/appengine/docs/standard/python/googlecloudstorageclient/setting-up-cloud-storage#activating_a_cloud_storage_bucket), located in the specified [`locationId`](#body.request_body.FIELDS.location_id). This location must be one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations). After the default GCP resource location is finalized, or if it was already set, it cannot be changed. The default GCP resource location for the specified `FirebaseProject` might already be set because either the underlying GCP `Project` already has an App Engine application or `FinalizeDefaultLocation` was previously called with a specified `locationId`. Any new calls to `FinalizeDefaultLocation` with a *different* specified `locationId` will return a 409 error. The result of this call is an [`Operation`](../../v1beta1/operations), which can be used to track the provisioning process. The [`response`](../../v1beta1/operations#Operation.FIELDS.response) type of the `Operation` is google.protobuf.Empty. The `Operation` can be polled by its `name` using GetOperation until `done` is true. When `done` is true, the `Operation` has either succeeded or failed. If the `Operation` has succeeded, its [`response`](../../v1beta1/operations#Operation.FIELDS.response) will be set to a google.protobuf.Empty; if the `Operation` has failed, its `error` will be set to a google.rpc.Status. The `Operation` is automatically deleted after completion, so there is no need to call DeleteOperation. All fields listed in the [request body](#request-body) are required. To call `FinalizeDefaultLocation`, a member must be an Owner of the Project.", + // "deprecated": true, + // "description": "**DEPRECATED.** _Instead, use the applicable resource-specific REST API to set the location for each resource used in your Project._ Sets the default Google Cloud Platform (GCP) resource location for the specified FirebaseProject. This method creates an App Engine application with a [default Cloud Storage bucket](https://cloud.google.com/appengine/docs/standard/python/googlecloudstorageclient/setting-up-cloud-storage#activating_a_cloud_storage_bucket), located in the specified [`locationId`](#body.request_body.FIELDS.location_id). This location must be one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations). After the default GCP resource location is finalized, or if it was already set, it cannot be changed. The default GCP resource location for the specified `FirebaseProject` might already be set because either the underlying GCP `Project` already has an App Engine application or `FinalizeDefaultLocation` was previously called with a specified `locationId`. Any new calls to `FinalizeDefaultLocation` with a *different* specified `locationId` will return a 409 error. The result of this call is an [`Operation`](../../v1beta1/operations), which can be used to track the provisioning process. The [`response`](../../v1beta1/operations#Operation.FIELDS.response) type of the `Operation` is google.protobuf.Empty. The `Operation` can be polled by its `name` using GetOperation until `done` is true. When `done` is true, the `Operation` has either succeeded or failed. If the `Operation` has succeeded, its [`response`](../../v1beta1/operations#Operation.FIELDS.response) will be set to a google.protobuf.Empty; if the `Operation` has failed, its `error` will be set to a google.rpc.Status. The `Operation` is automatically deleted after completion, so there is no need to call DeleteOperation. All fields listed in the [request body](#request-body) are required. To call `FinalizeDefaultLocation`, a member must be an Owner of the Project.", // "flatPath": "v1beta1/projects/{projectsId}/defaultLocation:finalize", // "httpMethod": "POST", // "id": "firebase.projects.defaultLocation.finalize", diff --git a/firestore/v1/firestore-api.json b/firestore/v1/firestore-api.json index 23302830294..8af992dbe11 100644 --- a/firestore/v1/firestore-api.json +++ b/firestore/v1/firestore-api.json @@ -323,7 +323,7 @@ ] }, "restore": { - "description": "Create a new database by restore from an existing backup. The new database must be in the same cloud region or multi-region location as the existing backup. This behaves similar to FirestoreAdmin.CreateDatabase except instead of creating a new empty database, a new database is created with the database type, index configuration, and documents from an existing backup. The long-running operation can be used to track the progress of the restore, with the Operation's metadata field type being the RestoreDatabaseMetadata. The response type is the Database if the restore was successful. The new database is not readable or writeable until the LRO has completed. Cancelling the returned operation will stop the restore and delete the in-progress database, if the restore is still active.", + "description": "Creates a new database by restoring from an existing backup. The new database must be in the same cloud region or multi-region location as the existing backup. This behaves similar to FirestoreAdmin.CreateDatabase except instead of creating a new empty database, a new database is created with the database type, index configuration, and documents from an existing backup. The long-running operation can be used to track the progress of the restore, with the Operation's metadata field type being the RestoreDatabaseMetadata. The response type is the Database if the restore was successful. The new database is not readable or writeable until the LRO has completed.", "flatPath": "v1/projects/{projectsId}/databases:restore", "httpMethod": "POST", "id": "firestore.projects.databases.restore", @@ -1672,7 +1672,7 @@ } } }, - "revision": "20230806", + "revision": "20230905", "rootUrl": "https://firestore.googleapis.com/", "schemas": { "Aggregation": { @@ -2016,7 +2016,6 @@ "additionalProperties": { "$ref": "Value" }, - "description": "The document's fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `\"foo\" : { map_value: { \"x\u0026y\" : { string_value: \"hello\" }}}` would be represented by the field path `foo.x\u0026y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\\`. For example, `` `x\u0026y` `` represents `x\u0026y` and `` `bak\\`tik` `` represents `` bak`tik ``.", "type": "object" }, "name": { @@ -2229,7 +2228,7 @@ "id": "FieldReference", "properties": { "fieldPath": { - "description": "The relative path of the document being referenced. Requires: * Conform to document field name limitations.", + "description": "A reference to a field in a document. Requires: * MUST be a dot-delimited (`.`) string of segments, where each segment conforms to document field name limitations.", "type": "string" } }, @@ -2298,7 +2297,7 @@ "type": "object" }, "GoogleFirestoreAdminV1Backup": { - "description": "A Backup of a Cloud Firestore Database. The backup contains all documents and index configurations for the given database at specific point in time.", + "description": "A Backup of a Cloud Firestore Database. The backup contains all documents and index configurations for the given database at a specific point in time.", "id": "GoogleFirestoreAdminV1Backup", "properties": { "database": { @@ -2390,6 +2389,12 @@ }, "type": "object" }, + "GoogleFirestoreAdminV1CreateDatabaseMetadata": { + "description": "Metadata related to the create database operation.", + "id": "GoogleFirestoreAdminV1CreateDatabaseMetadata", + "properties": {}, + "type": "object" + }, "GoogleFirestoreAdminV1DailyRecurrence": { "description": "Represent a recurring schedule that runs at a specific time every day. The time zone is UTC.", "id": "GoogleFirestoreAdminV1DailyRecurrence", @@ -2397,7 +2402,7 @@ "type": "object" }, "GoogleFirestoreAdminV1Database": { - "description": "A Cloud Firestore Database. Currently only one database is allowed per cloud project; this database must have a `database_id` of '(default)'.", + "description": "A Cloud Firestore Database.", "id": "GoogleFirestoreAdminV1Database", "properties": { "appEngineIntegrationMode": { @@ -2521,6 +2526,12 @@ }, "type": "object" }, + "GoogleFirestoreAdminV1DeleteDatabaseMetadata": { + "description": "Metadata related to the delete database operation.", + "id": "GoogleFirestoreAdminV1DeleteDatabaseMetadata", + "properties": {}, + "type": "object" + }, "GoogleFirestoreAdminV1ExportDocumentsMetadata": { "description": "Metadata for google.longrunning.Operation results from FirestoreAdmin.ExportDocuments.", "id": "GoogleFirestoreAdminV1ExportDocumentsMetadata", @@ -3934,7 +3945,7 @@ "type": "string" }, "targetId": { - "description": "The target ID that identifies the target on the stream. Must be a positive number and non-zero.", + "description": "The target ID that identifies the target on the stream. Must be a positive number and non-zero. If `target_id` is 0 (or unspecified), the server will assign an ID for this target and return that in a `TargetChange::ADD` event. Once a target with `target_id=0` is added, all subsequent targets must also have `target_id=0`. If an `AddTarget` request with `target_id != 0` is sent to the server after a target with `target_id=0` is added, the server will immediately send a response with a `TargetChange::Remove` event. Note that if the client sends multiple `AddTarget` requests without an ID, the order of IDs returned in `TargetChage.target_ids` are undefined. Therefore, clients should provide a target ID instead of relying on the server to assign one. If `target_id` is non-zero, there must not be an existing active target on this stream with the same ID.", "format": "int32", "type": "integer" } diff --git a/firestore/v1/firestore-gen.go b/firestore/v1/firestore-gen.go index d837a34ad00..7454c2ab0ad 100644 --- a/firestore/v1/firestore-gen.go +++ b/firestore/v1/firestore-gen.go @@ -962,22 +962,6 @@ type Document struct { // the `read_time` of a query. CreateTime string `json:"createTime,omitempty"` - // Fields: The document's fields. The map keys represent field names. A - // simple field name contains only characters `a` to `z`, `A` to `Z`, - // `0` to `9`, or `_`, and must not start with `0` to `9`. For example, - // `foo_bar_17`. Field names matching the regular expression `__.*__` - // are reserved. Reserved field names are forbidden except in certain - // documented contexts. The map keys, represented as UTF-8, must not - // exceed 1,500 bytes and cannot be empty. Field paths may be used in - // other contexts to refer to structured fields defined here. For - // `map_value`, the field path is represented by the simple or quoted - // field names of the containing fields, delimited by `.`. For example, - // the structured field "foo" : { map_value: { "x&y" : { string_value: - // "hello" }}}` would be represented by the field path `foo.x&y`. Within - // a field path, a quoted field name starts and ends with `` ` `` and - // may contain any character. Some characters, including `` ` ``, must - // be escaped using a `\`. For example, `` `x&y` `` represents `x&y` and - // `` `bak\`tik` `` represents `` bak`tik ``. Fields map[string]Value `json:"fields,omitempty"` // Name: The resource name of the document, for example @@ -1365,8 +1349,9 @@ func (s *FieldFilter) MarshalJSON() ([]byte, error) { // FieldReference: A reference to a field in a document, ex: // `stats.operations`. type FieldReference struct { - // FieldPath: The relative path of the document being referenced. - // Requires: * Conform to document field name limitations. + // FieldPath: A reference to a field in a document. Requires: * MUST be + // a dot-delimited (`.`) string of segments, where each segment conforms + // to document field name limitations. FieldPath string `json:"fieldPath,omitempty"` // ForceSendFields is a list of field names (e.g. "FieldPath") to @@ -1528,7 +1513,7 @@ func (s *Filter) MarshalJSON() ([]byte, error) { // GoogleFirestoreAdminV1Backup: A Backup of a Cloud Firestore Database. // The backup contains all documents and index configurations for the -// given database at specific point in time. +// given database at a specific point in time. type GoogleFirestoreAdminV1Backup struct { // Database: Output only. Name of the Firestore database that the backup // is from. Format is `projects/{project}/databases/{database}`. @@ -1652,14 +1637,17 @@ func (s *GoogleFirestoreAdminV1BackupSchedule) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleFirestoreAdminV1CreateDatabaseMetadata: Metadata related to the +// create database operation. +type GoogleFirestoreAdminV1CreateDatabaseMetadata struct { +} + // GoogleFirestoreAdminV1DailyRecurrence: Represent a recurring schedule // that runs at a specific time every day. The time zone is UTC. type GoogleFirestoreAdminV1DailyRecurrence struct { } -// GoogleFirestoreAdminV1Database: A Cloud Firestore Database. Currently -// only one database is allowed per cloud project; this database must -// have a `database_id` of '(default)'. +// GoogleFirestoreAdminV1Database: A Cloud Firestore Database. type GoogleFirestoreAdminV1Database struct { // AppEngineIntegrationMode: The App Engine integration mode to use for // this database. @@ -1806,6 +1794,11 @@ func (s *GoogleFirestoreAdminV1Database) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleFirestoreAdminV1DeleteDatabaseMetadata: Metadata related to the +// delete database operation. +type GoogleFirestoreAdminV1DeleteDatabaseMetadata struct { +} + // GoogleFirestoreAdminV1ExportDocumentsMetadata: Metadata for // google.longrunning.Operation results from // FirestoreAdmin.ExportDocuments. @@ -4229,7 +4222,18 @@ type Target struct { ResumeToken string `json:"resumeToken,omitempty"` // TargetId: The target ID that identifies the target on the stream. - // Must be a positive number and non-zero. + // Must be a positive number and non-zero. If `target_id` is 0 (or + // unspecified), the server will assign an ID for this target and return + // that in a `TargetChange::ADD` event. Once a target with `target_id=0` + // is added, all subsequent targets must also have `target_id=0`. If an + // `AddTarget` request with `target_id != 0` is sent to the server after + // a target with `target_id=0` is added, the server will immediately + // send a response with a `TargetChange::Remove` event. Note that if the + // client sends multiple `AddTarget` requests without an ID, the order + // of IDs returned in `TargetChage.target_ids` are undefined. Therefore, + // clients should provide a target ID instead of relying on the server + // to assign one. If `target_id` is non-zero, there must not be an + // existing active target on this stream with the same ID. TargetId int64 `json:"targetId,omitempty"` // ForceSendFields is a list of field names (e.g. "Documents") to @@ -5747,7 +5751,7 @@ type ProjectsDatabasesRestoreCall struct { header_ http.Header } -// Restore: Create a new database by restore from an existing backup. +// Restore: Creates a new database by restoring from an existing backup. // The new database must be in the same cloud region or multi-region // location as the existing backup. This behaves similar to // FirestoreAdmin.CreateDatabase except instead of creating a new empty @@ -5757,9 +5761,7 @@ type ProjectsDatabasesRestoreCall struct { // restore, with the Operation's metadata field type being the // RestoreDatabaseMetadata. The response type is the Database if the // restore was successful. The new database is not readable or writeable -// until the LRO has completed. Cancelling the returned operation will -// stop the restore and delete the in-progress database, if the restore -// is still active. +// until the LRO has completed. // // - parent: The project to restore the database in. Format is // `projects/{project_id}`. @@ -5861,7 +5863,7 @@ func (c *ProjectsDatabasesRestoreCall) Do(opts ...googleapi.CallOption) (*Google } return ret, nil // { - // "description": "Create a new database by restore from an existing backup. The new database must be in the same cloud region or multi-region location as the existing backup. This behaves similar to FirestoreAdmin.CreateDatabase except instead of creating a new empty database, a new database is created with the database type, index configuration, and documents from an existing backup. The long-running operation can be used to track the progress of the restore, with the Operation's metadata field type being the RestoreDatabaseMetadata. The response type is the Database if the restore was successful. The new database is not readable or writeable until the LRO has completed. Cancelling the returned operation will stop the restore and delete the in-progress database, if the restore is still active.", + // "description": "Creates a new database by restoring from an existing backup. The new database must be in the same cloud region or multi-region location as the existing backup. This behaves similar to FirestoreAdmin.CreateDatabase except instead of creating a new empty database, a new database is created with the database type, index configuration, and documents from an existing backup. The long-running operation can be used to track the progress of the restore, with the Operation's metadata field type being the RestoreDatabaseMetadata. The response type is the Database if the restore was successful. The new database is not readable or writeable until the LRO has completed.", // "flatPath": "v1/projects/{projectsId}/databases:restore", // "httpMethod": "POST", // "id": "firestore.projects.databases.restore", diff --git a/firestore/v1beta1/firestore-api.json b/firestore/v1beta1/firestore-api.json index 2b7919b1701..7c9101a1c6c 100644 --- a/firestore/v1beta1/firestore-api.json +++ b/firestore/v1beta1/firestore-api.json @@ -950,7 +950,7 @@ } } }, - "revision": "20230806", + "revision": "20230905", "rootUrl": "https://firestore.googleapis.com/", "schemas": { "Aggregation": { @@ -1294,7 +1294,6 @@ "additionalProperties": { "$ref": "Value" }, - "description": "The document's fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `\"foo\" : { map_value: { \"x\u0026y\" : { string_value: \"hello\" }}}` would be represented by the field path `foo.x\u0026y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\\`. For example, `` `x\u0026y` `` represents `x\u0026y` and `` `bak\\`tik` `` represents `` bak`tik ``.", "type": "object" }, "name": { @@ -1507,7 +1506,7 @@ "id": "FieldReference", "properties": { "fieldPath": { - "description": "The relative path of the document being referenced. Requires: * Conform to document field name limitations.", + "description": "A reference to a field in a document. Requires: * MUST be a dot-delimited (`.`) string of segments, where each segment conforms to document field name limitations.", "type": "string" } }, @@ -1575,6 +1574,18 @@ }, "type": "object" }, + "GoogleFirestoreAdminV1CreateDatabaseMetadata": { + "description": "Metadata related to the create database operation.", + "id": "GoogleFirestoreAdminV1CreateDatabaseMetadata", + "properties": {}, + "type": "object" + }, + "GoogleFirestoreAdminV1DeleteDatabaseMetadata": { + "description": "Metadata related to the delete database operation.", + "id": "GoogleFirestoreAdminV1DeleteDatabaseMetadata", + "properties": {}, + "type": "object" + }, "GoogleFirestoreAdminV1Progress": { "description": "Describes the progress of the operation. Unit of work is generic and must be interpreted based on where Progress is used.", "id": "GoogleFirestoreAdminV1Progress", @@ -2528,7 +2539,7 @@ "type": "string" }, "targetId": { - "description": "The target ID that identifies the target on the stream. Must be a positive number and non-zero.", + "description": "The target ID that identifies the target on the stream. Must be a positive number and non-zero. If `target_id` is 0 (or unspecified), the server will assign an ID for this target and return that in a `TargetChange::ADD` event. Once a target with `target_id=0` is added, all subsequent targets must also have `target_id=0`. If an `AddTarget` request with `target_id != 0` is sent to the server after a target with `target_id=0` is added, the server will immediately send a response with a `TargetChange::Remove` event. Note that if the client sends multiple `AddTarget` requests without an ID, the order of IDs returned in `TargetChage.target_ids` are undefined. Therefore, clients should provide a target ID instead of relying on the server to assign one. If `target_id` is non-zero, there must not be an existing active target on this stream with the same ID.", "format": "int32", "type": "integer" } diff --git a/firestore/v1beta1/firestore-gen.go b/firestore/v1beta1/firestore-gen.go index e50f1a1aec5..8d68b2d67e4 100644 --- a/firestore/v1beta1/firestore-gen.go +++ b/firestore/v1beta1/firestore-gen.go @@ -890,22 +890,6 @@ type Document struct { // the `read_time` of a query. CreateTime string `json:"createTime,omitempty"` - // Fields: The document's fields. The map keys represent field names. A - // simple field name contains only characters `a` to `z`, `A` to `Z`, - // `0` to `9`, or `_`, and must not start with `0` to `9`. For example, - // `foo_bar_17`. Field names matching the regular expression `__.*__` - // are reserved. Reserved field names are forbidden except in certain - // documented contexts. The map keys, represented as UTF-8, must not - // exceed 1,500 bytes and cannot be empty. Field paths may be used in - // other contexts to refer to structured fields defined here. For - // `map_value`, the field path is represented by the simple or quoted - // field names of the containing fields, delimited by `.`. For example, - // the structured field "foo" : { map_value: { "x&y" : { string_value: - // "hello" }}}` would be represented by the field path `foo.x&y`. Within - // a field path, a quoted field name starts and ends with `` ` `` and - // may contain any character. Some characters, including `` ` ``, must - // be escaped using a `\`. For example, `` `x&y` `` represents `x&y` and - // `` `bak\`tik` `` represents `` bak`tik ``. Fields map[string]Value `json:"fields,omitempty"` // Name: The resource name of the document, for example @@ -1293,8 +1277,9 @@ func (s *FieldFilter) MarshalJSON() ([]byte, error) { // FieldReference: A reference to a field in a document, ex: // `stats.operations`. type FieldReference struct { - // FieldPath: The relative path of the document being referenced. - // Requires: * Conform to document field name limitations. + // FieldPath: A reference to a field in a document. Requires: * MUST be + // a dot-delimited (`.`) string of segments, where each segment conforms + // to document field name limitations. FieldPath string `json:"fieldPath,omitempty"` // ForceSendFields is a list of field names (e.g. "FieldPath") to @@ -1454,6 +1439,16 @@ func (s *Filter) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleFirestoreAdminV1CreateDatabaseMetadata: Metadata related to the +// create database operation. +type GoogleFirestoreAdminV1CreateDatabaseMetadata struct { +} + +// GoogleFirestoreAdminV1DeleteDatabaseMetadata: Metadata related to the +// delete database operation. +type GoogleFirestoreAdminV1DeleteDatabaseMetadata struct { +} + // GoogleFirestoreAdminV1Progress: Describes the progress of the // operation. Unit of work is generic and must be interpreted based on // where Progress is used. @@ -3125,7 +3120,18 @@ type Target struct { ResumeToken string `json:"resumeToken,omitempty"` // TargetId: The target ID that identifies the target on the stream. - // Must be a positive number and non-zero. + // Must be a positive number and non-zero. If `target_id` is 0 (or + // unspecified), the server will assign an ID for this target and return + // that in a `TargetChange::ADD` event. Once a target with `target_id=0` + // is added, all subsequent targets must also have `target_id=0`. If an + // `AddTarget` request with `target_id != 0` is sent to the server after + // a target with `target_id=0` is added, the server will immediately + // send a response with a `TargetChange::Remove` event. Note that if the + // client sends multiple `AddTarget` requests without an ID, the order + // of IDs returned in `TargetChage.target_ids` are undefined. Therefore, + // clients should provide a target ID instead of relying on the server + // to assign one. If `target_id` is non-zero, there must not be an + // existing active target on this stream with the same ID. TargetId int64 `json:"targetId,omitempty"` // ForceSendFields is a list of field names (e.g. "Documents") to diff --git a/firestore/v1beta2/firestore-api.json b/firestore/v1beta2/firestore-api.json index cbd6c3afc8b..ce69a03fb7a 100644 --- a/firestore/v1beta2/firestore-api.json +++ b/firestore/v1beta2/firestore-api.json @@ -415,7 +415,7 @@ } } }, - "revision": "20230806", + "revision": "20230905", "rootUrl": "https://firestore.googleapis.com/", "schemas": { "Empty": { @@ -424,6 +424,18 @@ "properties": {}, "type": "object" }, + "GoogleFirestoreAdminV1CreateDatabaseMetadata": { + "description": "Metadata related to the create database operation.", + "id": "GoogleFirestoreAdminV1CreateDatabaseMetadata", + "properties": {}, + "type": "object" + }, + "GoogleFirestoreAdminV1DeleteDatabaseMetadata": { + "description": "Metadata related to the delete database operation.", + "id": "GoogleFirestoreAdminV1DeleteDatabaseMetadata", + "properties": {}, + "type": "object" + }, "GoogleFirestoreAdminV1Progress": { "description": "Describes the progress of the operation. Unit of work is generic and must be interpreted based on where Progress is used.", "id": "GoogleFirestoreAdminV1Progress", diff --git a/firestore/v1beta2/firestore-gen.go b/firestore/v1beta2/firestore-gen.go index c4f3d0e31c6..3216b824541 100644 --- a/firestore/v1beta2/firestore-gen.go +++ b/firestore/v1beta2/firestore-gen.go @@ -230,6 +230,16 @@ type Empty struct { googleapi.ServerResponse `json:"-"` } +// GoogleFirestoreAdminV1CreateDatabaseMetadata: Metadata related to the +// create database operation. +type GoogleFirestoreAdminV1CreateDatabaseMetadata struct { +} + +// GoogleFirestoreAdminV1DeleteDatabaseMetadata: Metadata related to the +// delete database operation. +type GoogleFirestoreAdminV1DeleteDatabaseMetadata struct { +} + // GoogleFirestoreAdminV1Progress: Describes the progress of the // operation. Unit of work is generic and must be interpreted based on // where Progress is used. diff --git a/gkehub/v1/gkehub-api.json b/gkehub/v1/gkehub-api.json index 80a2a7ff3f8..81255568b9c 100644 --- a/gkehub/v1/gkehub-api.json +++ b/gkehub/v1/gkehub-api.json @@ -1834,7 +1834,7 @@ } } }, - "revision": "20230814", + "revision": "20230901", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AppDevExperienceFeatureSpec": { @@ -1923,7 +1923,7 @@ "type": "string" }, "issuer": { - "description": "Optional. A JSON Web Token (JWT) issuer URI. `issuer` must start with `https://` and be a valid URL with length \u003c2000 characters. If set, then Google will allow valid OIDC tokens from this issuer to authenticate within the workload_identity_pool. OIDC discovery will be performed on this URI to validate tokens from the issuer. Clearing `issuer` disables Workload Identity. `issuer` cannot be directly modified; it must be cleared (and Workload Identity disabled) before using a new issuer (and re-enabling Workload Identity).", + "description": "Optional. A JSON Web Token (JWT) issuer URI. `issuer` must start with `https://` and be a valid URL with length \u003c2000 characters, it must use `location` rather than `zone` for GKE clusters. If set, then Google will allow valid OIDC tokens from this issuer to authenticate within the workload_identity_pool. OIDC discovery will be performed on this URI to validate tokens from the issuer. Clearing `issuer` disables Workload Identity. `issuer` cannot be directly modified; it must be cleared (and Workload Identity disabled) before using a new issuer (and re-enabling Workload Identity).", "type": "string" }, "oidcJwks": { @@ -3352,10 +3352,6 @@ "tenant": { "description": "Kind of Azure AD account to be authenticated. Supported values are or for accounts belonging to a specific tenant.", "type": "string" - }, - "userClaim": { - "description": "Optional. Claim in the AzureAD ID Token that holds the user details.", - "type": "string" } }, "type": "object" diff --git a/gkehub/v1/gkehub-gen.go b/gkehub/v1/gkehub-gen.go index e18fa9aaeca..5967c378d25 100644 --- a/gkehub/v1/gkehub-gen.go +++ b/gkehub/v1/gkehub-gen.go @@ -479,8 +479,9 @@ type Authority struct { // Issuer: Optional. A JSON Web Token (JWT) issuer URI. `issuer` must // start with `https://` and be a valid URL with length <2000 - // characters. If set, then Google will allow valid OIDC tokens from - // this issuer to authenticate within the workload_identity_pool. OIDC + // characters, it must use `location` rather than `zone` for GKE + // clusters. If set, then Google will allow valid OIDC tokens from this + // issuer to authenticate within the workload_identity_pool. OIDC // discovery will be performed on this URI to validate tokens from the // issuer. Clearing `issuer` disables Workload Identity. `issuer` cannot // be directly modified; it must be cleared (and Workload Identity @@ -2737,10 +2738,6 @@ type IdentityServiceAzureADConfig struct { // values are or for accounts belonging to a specific tenant. Tenant string `json:"tenant,omitempty"` - // UserClaim: Optional. Claim in the AzureAD ID Token that holds the - // user details. - UserClaim string `json:"userClaim,omitempty"` - // ForceSendFields is a list of field names (e.g. "ClientId") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any diff --git a/gkehub/v1alpha/gkehub-api.json b/gkehub/v1alpha/gkehub-api.json index 7bb614dc1a4..9e7fa016eaf 100644 --- a/gkehub/v1alpha/gkehub-api.json +++ b/gkehub/v1alpha/gkehub-api.json @@ -2414,7 +2414,7 @@ } } }, - "revision": "20230814", + "revision": "20230901", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AnthosObservabilityFeatureSpec": { @@ -2533,7 +2533,7 @@ "type": "string" }, "issuer": { - "description": "Optional. A JSON Web Token (JWT) issuer URI. `issuer` must start with `https://` and be a valid URL with length \u003c2000 characters. If set, then Google will allow valid OIDC tokens from this issuer to authenticate within the workload_identity_pool. OIDC discovery will be performed on this URI to validate tokens from the issuer. Clearing `issuer` disables Workload Identity. `issuer` cannot be directly modified; it must be cleared (and Workload Identity disabled) before using a new issuer (and re-enabling Workload Identity).", + "description": "Optional. A JSON Web Token (JWT) issuer URI. `issuer` must start with `https://` and be a valid URL with length \u003c2000 characters, it must use `location` rather than `zone` for GKE clusters. If set, then Google will allow valid OIDC tokens from this issuer to authenticate within the workload_identity_pool. OIDC discovery will be performed on this URI to validate tokens from the issuer. Clearing `issuer` disables Workload Identity. `issuer` cannot be directly modified; it must be cleared (and Workload Identity disabled) before using a new issuer (and re-enabling Workload Identity).", "type": "string" }, "oidcJwks": { @@ -3520,7 +3520,8 @@ "properties": { "binauthz": { "$ref": "ConfigManagementBinauthzConfig", - "description": "Binauthz conifguration for the cluster." + "deprecated": true, + "description": "Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set." }, "cluster": { "description": "The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector.", @@ -4435,10 +4436,6 @@ "tenant": { "description": "Kind of Azure AD account to be authenticated. Supported values are or for accounts belonging to a specific tenant.", "type": "string" - }, - "userClaim": { - "description": "Optional. Claim in the AzureAD ID Token that holds the user details.", - "type": "string" } }, "type": "object" diff --git a/gkehub/v1alpha/gkehub-gen.go b/gkehub/v1alpha/gkehub-gen.go index 6d48c6d8d24..f23c329be98 100644 --- a/gkehub/v1alpha/gkehub-gen.go +++ b/gkehub/v1alpha/gkehub-gen.go @@ -586,8 +586,9 @@ type Authority struct { // Issuer: Optional. A JSON Web Token (JWT) issuer URI. `issuer` must // start with `https://` and be a valid URL with length <2000 - // characters. If set, then Google will allow valid OIDC tokens from - // this issuer to authenticate within the workload_identity_pool. OIDC + // characters, it must use `location` rather than `zone` for GKE + // clusters. If set, then Google will allow valid OIDC tokens from this + // issuer to authenticate within the workload_identity_pool. OIDC // discovery will be performed on this URI to validate tokens from the // issuer. Clearing `issuer` disables Workload Identity. `issuer` cannot // be directly modified; it must be cleared (and Workload Identity @@ -2202,7 +2203,8 @@ func (s *ConfigManagementInstallError) MarshalJSON() ([]byte, error) { // Configuration for a single cluster. Intended to parallel the // ConfigManagement CR. type ConfigManagementMembershipSpec struct { - // Binauthz: Binauthz conifguration for the cluster. + // Binauthz: Binauthz conifguration for the cluster. Deprecated: This + // field will be ignored and should not be set. Binauthz *ConfigManagementBinauthzConfig `json:"binauthz,omitempty"` // Cluster: The user-specified cluster name used by Config Sync @@ -3678,10 +3680,6 @@ type IdentityServiceAzureADConfig struct { // values are or for accounts belonging to a specific tenant. Tenant string `json:"tenant,omitempty"` - // UserClaim: Optional. Claim in the AzureAD ID Token that holds the - // user details. - UserClaim string `json:"userClaim,omitempty"` - // ForceSendFields is a list of field names (e.g. "ClientId") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any diff --git a/gkehub/v1beta/gkehub-api.json b/gkehub/v1beta/gkehub-api.json index 92fe4da7387..c7cba260548 100644 --- a/gkehub/v1beta/gkehub-api.json +++ b/gkehub/v1beta/gkehub-api.json @@ -2100,7 +2100,7 @@ } } }, - "revision": "20230814", + "revision": "20230901", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AnthosObservabilityFeatureSpec": { @@ -2802,7 +2802,8 @@ "properties": { "binauthz": { "$ref": "ConfigManagementBinauthzConfig", - "description": "Binauthz conifguration for the cluster." + "deprecated": true, + "description": "Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set." }, "cluster": { "description": "The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector.", @@ -3632,10 +3633,6 @@ "tenant": { "description": "Kind of Azure AD account to be authenticated. Supported values are or for accounts belonging to a specific tenant.", "type": "string" - }, - "userClaim": { - "description": "Optional. Claim in the AzureAD ID Token that holds the user details.", - "type": "string" } }, "type": "object" diff --git a/gkehub/v1beta/gkehub-gen.go b/gkehub/v1beta/gkehub-gen.go index 926649ef1e8..74329042b3f 100644 --- a/gkehub/v1beta/gkehub-gen.go +++ b/gkehub/v1beta/gkehub-gen.go @@ -1486,7 +1486,8 @@ func (s *ConfigManagementInstallError) MarshalJSON() ([]byte, error) { // Configuration for a single cluster. Intended to parallel the // ConfigManagement CR. type ConfigManagementMembershipSpec struct { - // Binauthz: Binauthz conifguration for the cluster. + // Binauthz: Binauthz conifguration for the cluster. Deprecated: This + // field will be ignored and should not be set. Binauthz *ConfigManagementBinauthzConfig `json:"binauthz,omitempty"` // Cluster: The user-specified cluster name used by Config Sync @@ -2781,10 +2782,6 @@ type IdentityServiceAzureADConfig struct { // values are or for accounts belonging to a specific tenant. Tenant string `json:"tenant,omitempty"` - // UserClaim: Optional. Claim in the AzureAD ID Token that holds the - // user details. - UserClaim string `json:"userClaim,omitempty"` - // ForceSendFields is a list of field names (e.g. "ClientId") to // unconditionally include in API requests. By default, fields with // empty or default values are omitted from API requests. However, any diff --git a/gmailpostmastertools/v1/gmailpostmastertools-api.json b/gmailpostmastertools/v1/gmailpostmastertools-api.json index 8aa1f4adcac..bbff732836c 100644 --- a/gmailpostmastertools/v1/gmailpostmastertools-api.json +++ b/gmailpostmastertools/v1/gmailpostmastertools-api.json @@ -265,7 +265,7 @@ } } }, - "revision": "20210114", + "revision": "20230907", "rootUrl": "https://gmailpostmastertools.googleapis.com/", "schemas": { "DeliveryError": { @@ -518,7 +518,17 @@ "type": "number" }, "userReportedSpamRatio": { - "description": "The ratio of user-report spam vs. email that was sent to the inbox. This metric only pertains to emails authenticated by [DKIM](http://www.dkim.org/).", + "description": "The ratio of user-report spam vs. email that was sent to the inbox. This is potentially inexact -- users may want to refer to the description of the interval fields userReportedSpamRatioLowerBound and userReportedSpamRatioUpperBound for more explicit accuracy guarantees. This metric only pertains to emails authenticated by [DKIM](http://www.dkim.org/).", + "format": "double", + "type": "number" + }, + "userReportedSpamRatioLowerBound": { + "description": "The lower bound of the confidence interval for the user reported spam ratio. If this field is set, then the value of userReportedSpamRatio is set to the midpoint of this interval and is thus inexact. However, the true ratio is guaranteed to be in between this lower bound and the corresponding upper bound 95% of the time. This metric only pertains to emails authenticated by [DKIM](http://www.dkim.org/).", + "format": "double", + "type": "number" + }, + "userReportedSpamRatioUpperBound": { + "description": "The upper bound of the confidence interval for the user reported spam ratio. If this field is set, then the value of userReportedSpamRatio is set to the midpoint of this interval and is thus inexact. However, the true ratio is guaranteed to be in between this upper bound and the corresponding lower bound 95% of the time. This metric only pertains to emails authenticated by [DKIM](http://www.dkim.org/).", "format": "double", "type": "number" } diff --git a/gmailpostmastertools/v1/gmailpostmastertools-gen.go b/gmailpostmastertools/v1/gmailpostmastertools-gen.go index 4728fb6f3b1..4a2088c5cd3 100644 --- a/gmailpostmastertools/v1/gmailpostmastertools-gen.go +++ b/gmailpostmastertools/v1/gmailpostmastertools-gen.go @@ -557,10 +557,31 @@ type TrafficStats struct { SpfSuccessRatio float64 `json:"spfSuccessRatio,omitempty"` // UserReportedSpamRatio: The ratio of user-report spam vs. email that - // was sent to the inbox. This metric only pertains to emails - // authenticated by DKIM (http://www.dkim.org/). + // was sent to the inbox. This is potentially inexact -- users may want + // to refer to the description of the interval fields + // userReportedSpamRatioLowerBound and userReportedSpamRatioUpperBound + // for more explicit accuracy guarantees. This metric only pertains to + // emails authenticated by DKIM (http://www.dkim.org/). UserReportedSpamRatio float64 `json:"userReportedSpamRatio,omitempty"` + // UserReportedSpamRatioLowerBound: The lower bound of the confidence + // interval for the user reported spam ratio. If this field is set, then + // the value of userReportedSpamRatio is set to the midpoint of this + // interval and is thus inexact. However, the true ratio is guaranteed + // to be in between this lower bound and the corresponding upper bound + // 95% of the time. This metric only pertains to emails authenticated by + // DKIM (http://www.dkim.org/). + UserReportedSpamRatioLowerBound float64 `json:"userReportedSpamRatioLowerBound,omitempty"` + + // UserReportedSpamRatioUpperBound: The upper bound of the confidence + // interval for the user reported spam ratio. If this field is set, then + // the value of userReportedSpamRatio is set to the midpoint of this + // interval and is thus inexact. However, the true ratio is guaranteed + // to be in between this upper bound and the corresponding lower bound + // 95% of the time. This metric only pertains to emails authenticated by + // DKIM (http://www.dkim.org/). + UserReportedSpamRatioUpperBound float64 `json:"userReportedSpamRatioUpperBound,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -592,12 +613,14 @@ func (s *TrafficStats) MarshalJSON() ([]byte, error) { func (s *TrafficStats) UnmarshalJSON(data []byte) error { type NoMethod TrafficStats var s1 struct { - DkimSuccessRatio gensupport.JSONFloat64 `json:"dkimSuccessRatio"` - DmarcSuccessRatio gensupport.JSONFloat64 `json:"dmarcSuccessRatio"` - InboundEncryptionRatio gensupport.JSONFloat64 `json:"inboundEncryptionRatio"` - OutboundEncryptionRatio gensupport.JSONFloat64 `json:"outboundEncryptionRatio"` - SpfSuccessRatio gensupport.JSONFloat64 `json:"spfSuccessRatio"` - UserReportedSpamRatio gensupport.JSONFloat64 `json:"userReportedSpamRatio"` + DkimSuccessRatio gensupport.JSONFloat64 `json:"dkimSuccessRatio"` + DmarcSuccessRatio gensupport.JSONFloat64 `json:"dmarcSuccessRatio"` + InboundEncryptionRatio gensupport.JSONFloat64 `json:"inboundEncryptionRatio"` + OutboundEncryptionRatio gensupport.JSONFloat64 `json:"outboundEncryptionRatio"` + SpfSuccessRatio gensupport.JSONFloat64 `json:"spfSuccessRatio"` + UserReportedSpamRatio gensupport.JSONFloat64 `json:"userReportedSpamRatio"` + UserReportedSpamRatioLowerBound gensupport.JSONFloat64 `json:"userReportedSpamRatioLowerBound"` + UserReportedSpamRatioUpperBound gensupport.JSONFloat64 `json:"userReportedSpamRatioUpperBound"` *NoMethod } s1.NoMethod = (*NoMethod)(s) @@ -610,6 +633,8 @@ func (s *TrafficStats) UnmarshalJSON(data []byte) error { s.OutboundEncryptionRatio = float64(s1.OutboundEncryptionRatio) s.SpfSuccessRatio = float64(s1.SpfSuccessRatio) s.UserReportedSpamRatio = float64(s1.UserReportedSpamRatio) + s.UserReportedSpamRatioLowerBound = float64(s1.UserReportedSpamRatioLowerBound) + s.UserReportedSpamRatioUpperBound = float64(s1.UserReportedSpamRatioUpperBound) return nil } diff --git a/gmailpostmastertools/v1beta1/gmailpostmastertools-api.json b/gmailpostmastertools/v1beta1/gmailpostmastertools-api.json index ce81c20fe35..32f403b24c0 100644 --- a/gmailpostmastertools/v1beta1/gmailpostmastertools-api.json +++ b/gmailpostmastertools/v1beta1/gmailpostmastertools-api.json @@ -265,7 +265,7 @@ } } }, - "revision": "20230702", + "revision": "20230907", "rootUrl": "https://gmailpostmastertools.googleapis.com/", "schemas": { "DeliveryError": { @@ -524,7 +524,17 @@ "type": "number" }, "userReportedSpamRatio": { - "description": "The ratio of user-report spam vs. email that was sent to the inbox. This metric only pertains to emails authenticated by [DKIM](http://www.dkim.org/).", + "description": "The ratio of user-report spam vs. email that was sent to the inbox. This is potentially inexact -- users may want to refer to the description of the interval fields userReportedSpamRatioLowerBound and userReportedSpamRatioUpperBound for more explicit accuracy guarantees. This metric only pertains to emails authenticated by [DKIM](http://www.dkim.org/).", + "format": "double", + "type": "number" + }, + "userReportedSpamRatioLowerBound": { + "description": "The lower bound of the confidence interval for the user reported spam ratio. If this field is set, then the value of userReportedSpamRatio is set to the midpoint of this interval and is thus inexact. However, the true ratio is guaranteed to be in between this lower bound and the corresponding upper bound 95% of the time. This metric only pertains to emails authenticated by [DKIM](http://www.dkim.org/).", + "format": "double", + "type": "number" + }, + "userReportedSpamRatioUpperBound": { + "description": "The upper bound of the confidence interval for the user reported spam ratio. If this field is set, then the value of userReportedSpamRatio is set to the midpoint of this interval and is thus inexact. However, the true ratio is guaranteed to be in between this upper bound and the corresponding lower bound 95% of the time. This metric only pertains to emails authenticated by [DKIM](http://www.dkim.org/).", "format": "double", "type": "number" } diff --git a/gmailpostmastertools/v1beta1/gmailpostmastertools-gen.go b/gmailpostmastertools/v1beta1/gmailpostmastertools-gen.go index f0f720c33a8..0fc10c2a7f1 100644 --- a/gmailpostmastertools/v1beta1/gmailpostmastertools-gen.go +++ b/gmailpostmastertools/v1beta1/gmailpostmastertools-gen.go @@ -563,10 +563,31 @@ type TrafficStats struct { SpfSuccessRatio float64 `json:"spfSuccessRatio,omitempty"` // UserReportedSpamRatio: The ratio of user-report spam vs. email that - // was sent to the inbox. This metric only pertains to emails - // authenticated by DKIM (http://www.dkim.org/). + // was sent to the inbox. This is potentially inexact -- users may want + // to refer to the description of the interval fields + // userReportedSpamRatioLowerBound and userReportedSpamRatioUpperBound + // for more explicit accuracy guarantees. This metric only pertains to + // emails authenticated by DKIM (http://www.dkim.org/). UserReportedSpamRatio float64 `json:"userReportedSpamRatio,omitempty"` + // UserReportedSpamRatioLowerBound: The lower bound of the confidence + // interval for the user reported spam ratio. If this field is set, then + // the value of userReportedSpamRatio is set to the midpoint of this + // interval and is thus inexact. However, the true ratio is guaranteed + // to be in between this lower bound and the corresponding upper bound + // 95% of the time. This metric only pertains to emails authenticated by + // DKIM (http://www.dkim.org/). + UserReportedSpamRatioLowerBound float64 `json:"userReportedSpamRatioLowerBound,omitempty"` + + // UserReportedSpamRatioUpperBound: The upper bound of the confidence + // interval for the user reported spam ratio. If this field is set, then + // the value of userReportedSpamRatio is set to the midpoint of this + // interval and is thus inexact. However, the true ratio is guaranteed + // to be in between this upper bound and the corresponding lower bound + // 95% of the time. This metric only pertains to emails authenticated by + // DKIM (http://www.dkim.org/). + UserReportedSpamRatioUpperBound float64 `json:"userReportedSpamRatioUpperBound,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` @@ -598,12 +619,14 @@ func (s *TrafficStats) MarshalJSON() ([]byte, error) { func (s *TrafficStats) UnmarshalJSON(data []byte) error { type NoMethod TrafficStats var s1 struct { - DkimSuccessRatio gensupport.JSONFloat64 `json:"dkimSuccessRatio"` - DmarcSuccessRatio gensupport.JSONFloat64 `json:"dmarcSuccessRatio"` - InboundEncryptionRatio gensupport.JSONFloat64 `json:"inboundEncryptionRatio"` - OutboundEncryptionRatio gensupport.JSONFloat64 `json:"outboundEncryptionRatio"` - SpfSuccessRatio gensupport.JSONFloat64 `json:"spfSuccessRatio"` - UserReportedSpamRatio gensupport.JSONFloat64 `json:"userReportedSpamRatio"` + DkimSuccessRatio gensupport.JSONFloat64 `json:"dkimSuccessRatio"` + DmarcSuccessRatio gensupport.JSONFloat64 `json:"dmarcSuccessRatio"` + InboundEncryptionRatio gensupport.JSONFloat64 `json:"inboundEncryptionRatio"` + OutboundEncryptionRatio gensupport.JSONFloat64 `json:"outboundEncryptionRatio"` + SpfSuccessRatio gensupport.JSONFloat64 `json:"spfSuccessRatio"` + UserReportedSpamRatio gensupport.JSONFloat64 `json:"userReportedSpamRatio"` + UserReportedSpamRatioLowerBound gensupport.JSONFloat64 `json:"userReportedSpamRatioLowerBound"` + UserReportedSpamRatioUpperBound gensupport.JSONFloat64 `json:"userReportedSpamRatioUpperBound"` *NoMethod } s1.NoMethod = (*NoMethod)(s) @@ -616,6 +639,8 @@ func (s *TrafficStats) UnmarshalJSON(data []byte) error { s.OutboundEncryptionRatio = float64(s1.OutboundEncryptionRatio) s.SpfSuccessRatio = float64(s1.SpfSuccessRatio) s.UserReportedSpamRatio = float64(s1.UserReportedSpamRatio) + s.UserReportedSpamRatioLowerBound = float64(s1.UserReportedSpamRatioLowerBound) + s.UserReportedSpamRatioUpperBound = float64(s1.UserReportedSpamRatioUpperBound) return nil } diff --git a/go.mod b/go.mod index 7c71ec08150..d067beac729 100644 --- a/go.mod +++ b/go.mod @@ -6,16 +6,16 @@ require ( cloud.google.com/go/compute/metadata v0.2.3 github.com/google/go-cmp v0.5.9 github.com/google/s2a-go v0.1.7 - github.com/google/uuid v1.3.0 + github.com/google/uuid v1.3.1 github.com/googleapis/enterprise-certificate-proxy v0.2.5 github.com/googleapis/gax-go/v2 v2.12.0 go.opencensus.io v0.24.0 - golang.org/x/net v0.14.0 - golang.org/x/oauth2 v0.11.0 + golang.org/x/net v0.15.0 + golang.org/x/oauth2 v0.12.0 golang.org/x/sync v0.3.0 google.golang.org/appengine v1.6.7 - google.golang.org/genproto/googleapis/bytestream v0.0.0-20230807174057-1744710a1577 - google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d + google.golang.org/genproto/googleapis/bytestream v0.0.0-20230911183012-2d3300fd4832 + google.golang.org/genproto/googleapis/rpc v0.0.0-20230911183012-2d3300fd4832 google.golang.org/grpc v1.57.0 google.golang.org/protobuf v1.31.0 ) @@ -24,9 +24,9 @@ require ( cloud.google.com/go/compute v1.23.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.3 // indirect - golang.org/x/crypto v0.12.0 // indirect - golang.org/x/sys v0.11.0 // indirect - golang.org/x/text v0.12.0 // indirect + golang.org/x/crypto v0.13.0 // indirect + golang.org/x/sys v0.12.0 // indirect + golang.org/x/text v0.13.0 // indirect google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5 // indirect ) diff --git a/go.sum b/go.sum index 7de940e73a4..d83d253b4ad 100644 --- a/go.sum +++ b/go.sum @@ -43,8 +43,8 @@ github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= +github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/enterprise-certificate-proxy v0.2.5 h1:UR4rDjcgpgEnqpIEvkiqTYKBCKLNmlge2eVjoZfySzM= github.com/googleapis/enterprise-certificate-proxy v0.2.5/go.mod h1:RxW0N9901Cko1VOCW3SXCpWP+mlIEkk2tP7jnHy9a3w= github.com/googleapis/gax-go/v2 v2.12.0 h1:A+gCJKdRfqXkr+BIRGtZLibNXf0m1f9E4HG56etFpas= @@ -61,8 +61,8 @@ go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk= -golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= +golang.org/x/crypto v0.13.0 h1:mvySKfSWJ+UKUii46M40LOvyWfN0s2U+46/jDd0e6Ck= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -74,11 +74,11 @@ golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14= -golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= +golang.org/x/net v0.15.0 h1:ugBLEUaxABaB5AJqW9enI0ACdci2RUd4eP51NTBvuJ8= +golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.11.0 h1:vPL4xzxBM4niKCW6g9whtaWVXTJf1U5e4aZxxFx/gbU= -golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk= +golang.org/x/oauth2 v0.12.0 h1:smVPGxink+n1ZI5pkQa8y6fZT0RW0MgCO5bFpepy4B4= +golang.org/x/oauth2 v0.12.0/go.mod h1:A74bZ3aGXgCY0qaIC9Ahg6Lglin4AMAco8cIv9baba4= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -88,13 +88,13 @@ golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= -golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc= -golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -112,10 +112,10 @@ google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 h1:L6iMMGrtzgHsWof google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5 h1:nIgk/EEq3/YlnmVVXVnm14rC2oxgs1o0ong4sD/rd44= google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5/go.mod h1:5DZzOUPCLYL3mNkQ0ms0F3EuUNZ7py1Bqeq6sxzI7/Q= -google.golang.org/genproto/googleapis/bytestream v0.0.0-20230807174057-1744710a1577 h1:ZX0eQu2J+jOO87sq8fQG8J/Nfp7D7BhHpixIE5EYK/k= -google.golang.org/genproto/googleapis/bytestream v0.0.0-20230807174057-1744710a1577/go.mod h1:NjCQG/D8JandXxM57PZbAJL1DCNL6EypA0vPPwfsc7c= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d h1:uvYuEyMHKNt+lT4K3bN6fGswmK8qSvcreM3BwjDh+y4= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= +google.golang.org/genproto/googleapis/bytestream v0.0.0-20230911183012-2d3300fd4832 h1:nIr9/K8YHRMDxNRkSrwKmAomPB421/nXGHaElGT0xdU= +google.golang.org/genproto/googleapis/bytestream v0.0.0-20230911183012-2d3300fd4832/go.mod h1:NjCQG/D8JandXxM57PZbAJL1DCNL6EypA0vPPwfsc7c= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230911183012-2d3300fd4832 h1:o4LtQxebKIJ4vkzyhtD2rfUNZ20Zf0ik5YVP5E7G7VE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230911183012-2d3300fd4832/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= diff --git a/internal/kokoro/discogen.sh b/internal/kokoro/discogen.sh index cb61d43461c..442e01c4923 100755 --- a/internal/kokoro/discogen.sh +++ b/internal/kokoro/discogen.sh @@ -12,12 +12,10 @@ export GITHUB_ACCESS_TOKEN=$(cat $KOKORO_KEYSTORE_DIR/73713_yoshi-automation-git # Display commands being run set -x -# Needed for our build environment -go env -w GOFLAGS="-buildvcs=false" - # cd to project dir on Kokoro instance cd github/google-api-go-client export DISCOVERY_DIR=$(pwd) +git config --global --add safe.directory $PWD cd internal/kokoro/discogen go run google.golang.org/api/internal/kokoro/discogen diff --git a/internal/kokoro/discogen/go.mod b/internal/kokoro/discogen/go.mod index 373fc1cfe35..dd43a73c8b4 100644 --- a/internal/kokoro/discogen/go.mod +++ b/internal/kokoro/discogen/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/google/go-github/v52 v52.0.0 - golang.org/x/oauth2 v0.11.0 + golang.org/x/oauth2 v0.12.0 ) require ( @@ -12,9 +12,9 @@ require ( github.com/cloudflare/circl v1.3.3 // indirect github.com/golang/protobuf v1.5.3 // indirect github.com/google/go-querystring v1.1.0 // indirect - golang.org/x/crypto v0.12.0 // indirect - golang.org/x/net v0.14.0 // indirect - golang.org/x/sys v0.11.0 // indirect + golang.org/x/crypto v0.13.0 // indirect + golang.org/x/net v0.15.0 // indirect + golang.org/x/sys v0.12.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.31.0 // indirect ) diff --git a/internal/kokoro/discogen/go.sum b/internal/kokoro/discogen/go.sum index 3307f9a2690..8a1fd62b2d8 100644 --- a/internal/kokoro/discogen/go.sum +++ b/internal/kokoro/discogen/go.sum @@ -17,20 +17,20 @@ github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk= -golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= +golang.org/x/crypto v0.13.0 h1:mvySKfSWJ+UKUii46M40LOvyWfN0s2U+46/jDd0e6Ck= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14= -golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= -golang.org/x/oauth2 v0.11.0 h1:vPL4xzxBM4niKCW6g9whtaWVXTJf1U5e4aZxxFx/gbU= -golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk= +golang.org/x/net v0.15.0 h1:ugBLEUaxABaB5AJqW9enI0ACdci2RUd4eP51NTBvuJ8= +golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= +golang.org/x/oauth2 v0.12.0 h1:smVPGxink+n1ZI5pkQa8y6fZT0RW0MgCO5bFpepy4B4= +golang.org/x/oauth2 v0.12.0/go.mod h1:A74bZ3aGXgCY0qaIC9Ahg6Lglin4AMAco8cIv9baba4= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= -golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= diff --git a/internal/version.go b/internal/version.go index 7d6fc0323b4..2f04086a861 100644 --- a/internal/version.go +++ b/internal/version.go @@ -5,4 +5,4 @@ package internal // Version is the current tagged release of the library. -const Version = "0.139.0" +const Version = "0.140.0" diff --git a/migrationcenter/v1/migrationcenter-api.json b/migrationcenter/v1/migrationcenter-api.json index 18ba202634e..d0c5b8f6729 100644 --- a/migrationcenter/v1/migrationcenter-api.json +++ b/migrationcenter/v1/migrationcenter-api.json @@ -2099,7 +2099,7 @@ } } }, - "revision": "20230804", + "revision": "20230901", "rootUrl": "https://migrationcenter.googleapis.com/", "schemas": { "AddAssetsToGroupRequest": { @@ -4915,7 +4915,8 @@ "type": "string" }, "overlappingAssetCount": { - "description": "Count of the number of assets in this group which are also included in another group within the same report.", + "deprecated": true, + "description": "This field is deprecated, do not rely on it having a value.", "format": "int64", "type": "string" }, diff --git a/migrationcenter/v1/migrationcenter-gen.go b/migrationcenter/v1/migrationcenter-gen.go index e1d7d0a76b2..1cef3652b68 100644 --- a/migrationcenter/v1/migrationcenter-gen.go +++ b/migrationcenter/v1/migrationcenter-gen.go @@ -4778,8 +4778,8 @@ type ReportSummaryGroupFinding struct { // DisplayName: Display Name for the Group. DisplayName string `json:"displayName,omitempty"` - // OverlappingAssetCount: Count of the number of assets in this group - // which are also included in another group within the same report. + // OverlappingAssetCount: This field is deprecated, do not rely on it + // having a value. OverlappingAssetCount int64 `json:"overlappingAssetCount,omitempty,string"` // PreferenceSetFindings: Findings for each of the PreferenceSets for diff --git a/migrationcenter/v1alpha1/migrationcenter-api.json b/migrationcenter/v1alpha1/migrationcenter-api.json index a3e51e090a4..39b9bbba259 100644 --- a/migrationcenter/v1alpha1/migrationcenter-api.json +++ b/migrationcenter/v1alpha1/migrationcenter-api.json @@ -2102,7 +2102,7 @@ } } }, - "revision": "20230804", + "revision": "20230901", "rootUrl": "https://migrationcenter.googleapis.com/", "schemas": { "AddAssetsToGroupRequest": { @@ -2980,7 +2980,7 @@ "id": "DiskUsageSample", "properties": { "averageIops": { - "description": "Average IOPS sampled over a short window. Must be non-negative.", + "description": "Average IOPS sampled over a short window. Must be non-negative. Must be equal to the sum of read and write if one of them is positive. if both read and write are zero they are ignored.", "format": "float", "type": "number" } @@ -4849,7 +4849,8 @@ "type": "string" }, "overlappingAssetCount": { - "description": "Count of the number of assets in this group which are also included in another group within the same report.", + "deprecated": true, + "description": "This field is deprecated, do not rely on it having a value.", "format": "int64", "type": "string" }, diff --git a/migrationcenter/v1alpha1/migrationcenter-gen.go b/migrationcenter/v1alpha1/migrationcenter-gen.go index e778593542c..aa5c4ef3e75 100644 --- a/migrationcenter/v1alpha1/migrationcenter-gen.go +++ b/migrationcenter/v1alpha1/migrationcenter-gen.go @@ -1828,7 +1828,8 @@ func (s *DiskPartitionList) MarshalJSON() ([]byte, error) { // DiskUsageSample: Disk usage sample. Values are across all disks. type DiskUsageSample struct { // AverageIops: Average IOPS sampled over a short window. Must be - // non-negative. + // non-negative. Must be equal to the sum of read and write if one of + // them is positive. if both read and write are zero they are ignored. AverageIops float64 `json:"averageIops,omitempty"` // ForceSendFields is a list of field names (e.g. "AverageIops") to @@ -4728,8 +4729,8 @@ type ReportSummaryGroupFinding struct { // DisplayName: Display Name for the Group. DisplayName string `json:"displayName,omitempty"` - // OverlappingAssetCount: Count of the number of assets in this group - // which are also included in another group within the same report. + // OverlappingAssetCount: This field is deprecated, do not rely on it + // having a value. OverlappingAssetCount int64 `json:"overlappingAssetCount,omitempty,string"` // PreferenceSetFindings: Findings for each of the PreferenceSets for diff --git a/networkconnectivity/v1/networkconnectivity-api.json b/networkconnectivity/v1/networkconnectivity-api.json index d62d9101a05..2809422706e 100644 --- a/networkconnectivity/v1/networkconnectivity-api.json +++ b/networkconnectivity/v1/networkconnectivity-api.json @@ -181,6 +181,34 @@ "resources": { "hubs": { "methods": { + "acceptSpoke": { + "description": "Accepts a proposal to attach a Network Connectivity Center spoke to the hub.", + "flatPath": "v1/projects/{projectsId}/locations/global/hubs/{hubsId}:acceptSpoke", + "httpMethod": "POST", + "id": "networkconnectivity.projects.locations.global.hubs.acceptSpoke", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the hub.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/hubs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:acceptSpoke", + "request": { + "$ref": "AcceptHubSpokeRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "create": { "description": "Creates a new Network Connectivity Center hub in the specified project.", "flatPath": "v1/projects/{projectsId}/locations/global/hubs", @@ -457,6 +485,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "rejectSpoke": { + "description": "Rejects a Network Connectivity Center spoke from being attached to the hub. If the spoke was previously in the `ACTIVE` state, it transitions to the `INACTIVE` state and is no longer able to connect to other spokes that are attached to the hub.", + "flatPath": "v1/projects/{projectsId}/locations/global/hubs/{hubsId}:rejectSpoke", + "httpMethod": "POST", + "id": "networkconnectivity.projects.locations.global.hubs.rejectSpoke", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the hub.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/hubs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:rejectSpoke", + "request": { + "$ref": "RejectHubSpokeRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "setIamPolicy": { "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1/projects/{projectsId}/locations/global/hubs/{hubsId}:setIamPolicy", @@ -2630,9 +2686,24 @@ } } }, - "revision": "20230816", + "revision": "20230831", "rootUrl": "https://networkconnectivity.googleapis.com/", "schemas": { + "AcceptHubSpokeRequest": { + "description": "The request for HubService.AcceptHubSpoke.", + "id": "AcceptHubSpokeRequest", + "properties": { + "requestId": { + "description": "Optional. A request ID to identify requests. Specify a unique 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 guarantees that a request doesn't result in creation of duplicate commitments for at least 60 minutes. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check to see whether the original operation was received. If it was, the server ignores the second request. This behavior prevents clients from mistakenly creating duplicate commitments. The request ID must be a valid UUID, with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + }, + "spokeUri": { + "description": "Required. The URI of the spoke to accept into the hub.", + "type": "string" + } + }, + "type": "object" + }, "AcceptSpokeRequest": { "description": "The request for HubService.AcceptSpoke.", "id": "AcceptSpokeRequest", @@ -3015,7 +3086,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. Labels in key:value format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).", + "description": "Optional. Labels in key-value pair format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).", "type": "object" }, "name": { @@ -3081,7 +3152,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional labels in key:value format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).", + "description": "Optional labels in key-value pair format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).", "type": "object" }, "name": { @@ -4005,6 +4076,25 @@ }, "type": "object" }, + "RejectHubSpokeRequest": { + "description": "The request for HubService.RejectHubSpoke.", + "id": "RejectHubSpokeRequest", + "properties": { + "details": { + "description": "Optional. Additional information provided by the hub administrator.", + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID to identify requests. Specify a unique 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 guarantees that a request doesn't result in creation of duplicate commitments for at least 60 minutes. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check to see whether the original operation was received. If it was, the server ignores the second request. This behavior prevents clients from mistakenly creating duplicate commitments. The request ID must be a valid UUID, with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + }, + "spokeUri": { + "description": "Required. The URI of the spoke to reject from the hub.", + "type": "string" + } + }, + "type": "object" + }, "RejectSpokeRequest": { "description": "The request for HubService.RejectSpoke.", "id": "RejectSpokeRequest", @@ -4042,7 +4132,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional labels in key:value format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).", + "description": "Optional labels in key-value pair format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).", "type": "object" }, "location": { @@ -4135,7 +4225,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional labels in key:value format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).", + "description": "Optional labels in key-value pair format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).", "type": "object" }, "name": { @@ -4509,7 +4599,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional labels in key:value format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).", + "description": "Optional labels in key-value pair format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).", "type": "object" }, "linkedInterconnectAttachments": { diff --git a/networkconnectivity/v1/networkconnectivity-gen.go b/networkconnectivity/v1/networkconnectivity-gen.go index b01ffc4fb04..2ef37e8b873 100644 --- a/networkconnectivity/v1/networkconnectivity-gen.go +++ b/networkconnectivity/v1/networkconnectivity-gen.go @@ -328,6 +328,48 @@ type ProjectsLocationsSpokesService struct { s *Service } +// AcceptHubSpokeRequest: The request for HubService.AcceptHubSpoke. +type AcceptHubSpokeRequest struct { + // RequestId: Optional. A request ID to identify requests. Specify a + // unique 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 guarantees that a request doesn't result in creation of + // duplicate commitments for at least 60 minutes. For example, consider + // a situation where you make an initial request and the request times + // out. If you make the request again with the same request ID, the + // server can check to see whether the original operation was received. + // If it was, the server ignores the second request. This behavior + // prevents clients from mistakenly creating duplicate commitments. The + // request ID must be a valid UUID, with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `json:"requestId,omitempty"` + + // SpokeUri: Required. The URI of the spoke to accept into the hub. + SpokeUri string `json:"spokeUri,omitempty"` + + // ForceSendFields is a list of field names (e.g. "RequestId") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. 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. "RequestId") 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 *AcceptHubSpokeRequest) MarshalJSON() ([]byte, error) { + type NoMethod AcceptHubSpokeRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // AcceptSpokeRequest: The request for HubService.AcceptSpoke. type AcceptSpokeRequest struct { // RequestId: Optional. A request ID to identify requests. Specify a @@ -1020,8 +1062,8 @@ type Group struct { // Description: Optional. The description of the group. Description string `json:"description,omitempty"` - // Labels: Optional. Labels in key:value format. For more information - // about labels, see Requirements for labels + // Labels: Optional. Labels in key-value pair format. For more + // information about labels, see Requirements for labels // (https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements). Labels map[string]string `json:"labels,omitempty"` @@ -1096,8 +1138,8 @@ type Hub struct { // Description: An optional description of the hub. Description string `json:"description,omitempty"` - // Labels: Optional labels in key:value format. For more information - // about labels, see Requirements for labels + // Labels: Optional labels in key-value pair format. For more + // information about labels, see Requirements for labels // (https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements). Labels map[string]string `json:"labels,omitempty"` @@ -2555,6 +2597,52 @@ func (s *PscConnection) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// RejectHubSpokeRequest: The request for HubService.RejectHubSpoke. +type RejectHubSpokeRequest struct { + // Details: Optional. Additional information provided by the hub + // administrator. + Details string `json:"details,omitempty"` + + // RequestId: Optional. A request ID to identify requests. Specify a + // unique 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 guarantees that a request doesn't result in creation of + // duplicate commitments for at least 60 minutes. For example, consider + // a situation where you make an initial request and the request times + // out. If you make the request again with the same request ID, the + // server can check to see whether the original operation was received. + // If it was, the server ignores the second request. This behavior + // prevents clients from mistakenly creating duplicate commitments. The + // request ID must be a valid UUID, with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `json:"requestId,omitempty"` + + // SpokeUri: Required. The URI of the spoke to reject from the hub. + SpokeUri string `json:"spokeUri,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Details") 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. "Details") 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 *RejectHubSpokeRequest) MarshalJSON() ([]byte, error) { + type NoMethod RejectHubSpokeRequest + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // RejectSpokeRequest: The request for HubService.RejectSpoke. type RejectSpokeRequest struct { // Details: Optional. Additional information provided by the hub @@ -2610,8 +2698,8 @@ type Route struct { // IpCidrRange: The destination IP address range. IpCidrRange string `json:"ipCidrRange,omitempty"` - // Labels: Optional labels in key:value format. For more information - // about labels, see Requirements for labels + // Labels: Optional labels in key-value pair format. For more + // information about labels, see Requirements for labels // (https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements). Labels map[string]string `json:"labels,omitempty"` @@ -2703,8 +2791,8 @@ type RouteTable struct { // Description: An optional description of the route table. Description string `json:"description,omitempty"` - // Labels: Optional labels in key:value format. For more information - // about labels, see Requirements for labels + // Labels: Optional labels in key-value pair format. For more + // information about labels, see Requirements for labels // (https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements). Labels map[string]string `json:"labels,omitempty"` @@ -3189,8 +3277,8 @@ type Spoke struct { // Hub: Immutable. The name of the hub that this spoke is attached to. Hub string `json:"hub,omitempty"` - // Labels: Optional labels in key:value format. For more information - // about labels, see Requirements for labels + // Labels: Optional labels in key-value pair format. For more + // information about labels, see Requirements for labels // (https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements). Labels map[string]string `json:"labels,omitempty"` @@ -3999,6 +4087,149 @@ func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocat } } +// method id "networkconnectivity.projects.locations.global.hubs.acceptSpoke": + +type ProjectsLocationsGlobalHubsAcceptSpokeCall struct { + s *Service + name string + accepthubspokerequest *AcceptHubSpokeRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// AcceptSpoke: Accepts a proposal to attach a Network Connectivity +// Center spoke to the hub. +// +// - name: The name of the hub. +func (r *ProjectsLocationsGlobalHubsService) AcceptSpoke(name string, accepthubspokerequest *AcceptHubSpokeRequest) *ProjectsLocationsGlobalHubsAcceptSpokeCall { + c := &ProjectsLocationsGlobalHubsAcceptSpokeCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.accepthubspokerequest = accepthubspokerequest + 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 *ProjectsLocationsGlobalHubsAcceptSpokeCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalHubsAcceptSpokeCall { + 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 *ProjectsLocationsGlobalHubsAcceptSpokeCall) Context(ctx context.Context) *ProjectsLocationsGlobalHubsAcceptSpokeCall { + 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 *ProjectsLocationsGlobalHubsAcceptSpokeCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsGlobalHubsAcceptSpokeCall) 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.accepthubspokerequest) + 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}:acceptSpoke") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "networkconnectivity.projects.locations.global.hubs.acceptSpoke" 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 *ProjectsLocationsGlobalHubsAcceptSpokeCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &GoogleLongrunningOperation{ + 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 proposal to attach a Network Connectivity Center spoke to the hub.", + // "flatPath": "v1/projects/{projectsId}/locations/global/hubs/{hubsId}:acceptSpoke", + // "httpMethod": "POST", + // "id": "networkconnectivity.projects.locations.global.hubs.acceptSpoke", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The name of the hub.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/global/hubs/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}:acceptSpoke", + // "request": { + // "$ref": "AcceptHubSpokeRequest" + // }, + // "response": { + // "$ref": "GoogleLongrunningOperation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "networkconnectivity.projects.locations.global.hubs.create": type ProjectsLocationsGlobalHubsCreateCall struct { @@ -5329,6 +5560,151 @@ func (c *ProjectsLocationsGlobalHubsPatchCall) Do(opts ...googleapi.CallOption) } +// method id "networkconnectivity.projects.locations.global.hubs.rejectSpoke": + +type ProjectsLocationsGlobalHubsRejectSpokeCall struct { + s *Service + name string + rejecthubspokerequest *RejectHubSpokeRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// RejectSpoke: Rejects a Network Connectivity Center spoke from being +// attached to the hub. If the spoke was previously in the `ACTIVE` +// state, it transitions to the `INACTIVE` state and is no longer able +// to connect to other spokes that are attached to the hub. +// +// - name: The name of the hub. +func (r *ProjectsLocationsGlobalHubsService) RejectSpoke(name string, rejecthubspokerequest *RejectHubSpokeRequest) *ProjectsLocationsGlobalHubsRejectSpokeCall { + c := &ProjectsLocationsGlobalHubsRejectSpokeCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.rejecthubspokerequest = rejecthubspokerequest + 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 *ProjectsLocationsGlobalHubsRejectSpokeCall) Fields(s ...googleapi.Field) *ProjectsLocationsGlobalHubsRejectSpokeCall { + 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 *ProjectsLocationsGlobalHubsRejectSpokeCall) Context(ctx context.Context) *ProjectsLocationsGlobalHubsRejectSpokeCall { + 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 *ProjectsLocationsGlobalHubsRejectSpokeCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsGlobalHubsRejectSpokeCall) 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.rejecthubspokerequest) + 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}:rejectSpoke") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "networkconnectivity.projects.locations.global.hubs.rejectSpoke" 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 *ProjectsLocationsGlobalHubsRejectSpokeCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &GoogleLongrunningOperation{ + 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": "Rejects a Network Connectivity Center spoke from being attached to the hub. If the spoke was previously in the `ACTIVE` state, it transitions to the `INACTIVE` state and is no longer able to connect to other spokes that are attached to the hub.", + // "flatPath": "v1/projects/{projectsId}/locations/global/hubs/{hubsId}:rejectSpoke", + // "httpMethod": "POST", + // "id": "networkconnectivity.projects.locations.global.hubs.rejectSpoke", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. The name of the hub.", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/global/hubs/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}:rejectSpoke", + // "request": { + // "$ref": "RejectHubSpokeRequest" + // }, + // "response": { + // "$ref": "GoogleLongrunningOperation" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "networkconnectivity.projects.locations.global.hubs.setIamPolicy": type ProjectsLocationsGlobalHubsSetIamPolicyCall struct { diff --git a/networksecurity/v1beta1/networksecurity-api.json b/networksecurity/v1beta1/networksecurity-api.json index 516abbdbed8..ea4284ef85b 100644 --- a/networksecurity/v1beta1/networksecurity-api.json +++ b/networksecurity/v1beta1/networksecurity-api.json @@ -506,7 +506,7 @@ ], "parameters": { "filter": { - "description": "Filtering results", + "description": "Optional. Filtering results", "location": "query", "type": "string" }, @@ -516,7 +516,7 @@ "type": "string" }, "pageSize": { - "description": "Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", "format": "int32", "location": "query", "type": "integer" @@ -2078,7 +2078,7 @@ ], "parameters": { "filter": { - "description": "Filtering results", + "description": "Optional. Filtering results", "location": "query", "type": "string" }, @@ -2088,7 +2088,7 @@ "type": "string" }, "pageSize": { - "description": "Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", "format": "int32", "location": "query", "type": "integer" @@ -3162,7 +3162,7 @@ } } }, - "revision": "20230814", + "revision": "20230831", "rootUrl": "https://networksecurity.googleapis.com/", "schemas": { "AddAddressGroupItemsRequest": { @@ -3468,7 +3468,7 @@ "additionalProperties": { "type": "string" }, - "description": "Labels as key value pairs", + "description": "Optional. Labels as key value pairs", "type": "object" }, "name": { @@ -3527,7 +3527,7 @@ "additionalProperties": { "type": "string" }, - "description": "Labels as key value pairs", + "description": "Optional. Labels as key value pairs", "type": "object" }, "name": { diff --git a/networksecurity/v1beta1/networksecurity-gen.go b/networksecurity/v1beta1/networksecurity-gen.go index b7b3aa6adfa..255461f5488 100644 --- a/networksecurity/v1beta1/networksecurity-gen.go +++ b/networksecurity/v1beta1/networksecurity-gen.go @@ -833,7 +833,7 @@ type FirewallEndpoint struct { // CreateTime: Output only. Create time stamp CreateTime string `json:"createTime,omitempty"` - // Labels: Labels as key value pairs + // Labels: Optional. Labels as key value pairs Labels map[string]string `json:"labels,omitempty"` // Name: Output only. name of resource @@ -893,7 +893,7 @@ type FirewallEndpointAssociation struct { // being associated. FirewallEndpoint string `json:"firewallEndpoint,omitempty"` - // Labels: Labels as key value pairs + // Labels: Optional. Labels as key value pairs Labels map[string]string `json:"labels,omitempty"` // Name: Output only. name of resource @@ -5322,7 +5322,7 @@ func (c *OrganizationsLocationsFirewallEndpointsListCall) Do(opts ...googleapi.C // ], // "parameters": { // "filter": { - // "description": "Filtering results", + // "description": "Optional. Filtering results", // "location": "query", // "type": "string" // }, @@ -5332,7 +5332,7 @@ func (c *OrganizationsLocationsFirewallEndpointsListCall) Do(opts ...googleapi.C // "type": "string" // }, // "pageSize": { - // "description": "Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + // "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", // "format": "int32", // "location": "query", // "type": "integer" @@ -13331,7 +13331,7 @@ func (c *ProjectsLocationsFirewallEndpointAssociationsListCall) Do(opts ...googl // ], // "parameters": { // "filter": { - // "description": "Filtering results", + // "description": "Optional. Filtering results", // "location": "query", // "type": "string" // }, @@ -13341,7 +13341,7 @@ func (c *ProjectsLocationsFirewallEndpointAssociationsListCall) Do(opts ...googl // "type": "string" // }, // "pageSize": { - // "description": "Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + // "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", // "format": "int32", // "location": "query", // "type": "integer" diff --git a/oslogin/v1alpha/oslogin-api.json b/oslogin/v1alpha/oslogin-api.json index 2af1bf24b54..90b8a02c159 100644 --- a/oslogin/v1alpha/oslogin-api.json +++ b/oslogin/v1alpha/oslogin-api.json @@ -438,7 +438,7 @@ } } }, - "revision": "20230729", + "revision": "20230903", "rootUrl": "https://oslogin.googleapis.com/", "schemas": { "Empty": { @@ -563,6 +563,10 @@ "description": "The credential information for a Google registered security key.", "id": "SecurityKey", "properties": { + "deviceNickname": { + "description": "The security key nickname explicitly set by the user.", + "type": "string" + }, "privateKey": { "description": "Hardware-backed private key text in SSH format.", "type": "string" diff --git a/oslogin/v1alpha/oslogin-gen.go b/oslogin/v1alpha/oslogin-gen.go index 166d505634a..34e7b2a22f0 100644 --- a/oslogin/v1alpha/oslogin-gen.go +++ b/oslogin/v1alpha/oslogin-gen.go @@ -376,6 +376,9 @@ func (s *PosixAccount) MarshalJSON() ([]byte, error) { // SecurityKey: The credential information for a Google registered // security key. type SecurityKey struct { + // DeviceNickname: The security key nickname explicitly set by the user. + DeviceNickname string `json:"deviceNickname,omitempty"` + // PrivateKey: Hardware-backed private key text in SSH format. PrivateKey string `json:"privateKey,omitempty"` @@ -389,7 +392,7 @@ type SecurityKey struct { // WebAuthn: The Web Authentication protocol type. WebAuthn *WebAuthn `json:"webAuthn,omitempty"` - // ForceSendFields is a list of field names (e.g. "PrivateKey") to + // ForceSendFields is a list of field names (e.g. "DeviceNickname") 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 @@ -397,12 +400,13 @@ type SecurityKey struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PrivateKey") 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. "DeviceNickname") 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/oslogin/v1beta/oslogin-api.json b/oslogin/v1beta/oslogin-api.json index 87e9d88bdc3..ec47c8cc461 100644 --- a/oslogin/v1beta/oslogin-api.json +++ b/oslogin/v1beta/oslogin-api.json @@ -408,7 +408,7 @@ } } }, - "revision": "20230729", + "revision": "20230903", "rootUrl": "https://oslogin.googleapis.com/", "schemas": { "Empty": { @@ -533,6 +533,10 @@ "description": "The credential information for a Google registered security key.", "id": "SecurityKey", "properties": { + "deviceNickname": { + "description": "The security key nickname explicitly set by the user.", + "type": "string" + }, "privateKey": { "description": "Hardware-backed private key text in SSH format.", "type": "string" diff --git a/oslogin/v1beta/oslogin-gen.go b/oslogin/v1beta/oslogin-gen.go index b0de03acc9f..fffc7aa4cec 100644 --- a/oslogin/v1beta/oslogin-gen.go +++ b/oslogin/v1beta/oslogin-gen.go @@ -376,6 +376,9 @@ func (s *PosixAccount) MarshalJSON() ([]byte, error) { // SecurityKey: The credential information for a Google registered // security key. type SecurityKey struct { + // DeviceNickname: The security key nickname explicitly set by the user. + DeviceNickname string `json:"deviceNickname,omitempty"` + // PrivateKey: Hardware-backed private key text in SSH format. PrivateKey string `json:"privateKey,omitempty"` @@ -389,7 +392,7 @@ type SecurityKey struct { // WebAuthn: The Web Authentication protocol type. WebAuthn *WebAuthn `json:"webAuthn,omitempty"` - // ForceSendFields is a list of field names (e.g. "PrivateKey") to + // ForceSendFields is a list of field names (e.g. "DeviceNickname") 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 @@ -397,12 +400,13 @@ type SecurityKey struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PrivateKey") 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. "DeviceNickname") 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/redis/v1beta1/redis-api.json b/redis/v1beta1/redis-api.json index a32c25e3d0a..e4496f62d18 100644 --- a/redis/v1beta1/redis-api.json +++ b/redis/v1beta1/redis-api.json @@ -180,7 +180,7 @@ "clusters": { "methods": { "create": { - "description": "Creates a Redis cluster based on the specified tier and memory size. The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis cluster will be fully functional. The completed longrunning.Operation will contain the new cluster object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.", + "description": "Creates a Redis cluster based on the specified properties. The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis cluster will be fully functional. The completed longrunning.Operation will contain the new cluster object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters", "httpMethod": "POST", "id": "redis.projects.locations.clusters.create", @@ -821,7 +821,7 @@ } } }, - "revision": "20230804", + "revision": "20230905", "rootUrl": "https://redis.googleapis.com/", "schemas": { "CertChain": { @@ -1747,7 +1747,7 @@ "id": "PscConfig", "properties": { "network": { - "description": "Required. The consumer network where the IP address of the discovery endpoint will be reserved, in the form of projects/{network_host_project}/global/networks/{network_id}.", + "description": "Required. The network where the IP address of the discovery endpoint will be reserved, in the form of projects/{network_project}/global/networks/{network_id}.", "type": "string" } }, @@ -1772,7 +1772,8 @@ "type": "string" }, "projectId": { - "description": "The consumer project_id where the forwarding rule is created from.", + "description": "Output only. The consumer project_id where the forwarding rule is created from.", + "readOnly": true, "type": "string" }, "pscConnectionId": { diff --git a/redis/v1beta1/redis-gen.go b/redis/v1beta1/redis-gen.go index 6675ddd484d..fbf1508bb60 100644 --- a/redis/v1beta1/redis-gen.go +++ b/redis/v1beta1/redis-gen.go @@ -1561,9 +1561,9 @@ func (s *PersistenceConfig) MarshalJSON() ([]byte, error) { } type PscConfig struct { - // Network: Required. The consumer network where the IP address of the - // discovery endpoint will be reserved, in the form of - // projects/{network_host_project}/global/networks/{network_id}. + // Network: Required. The network where the IP address of the discovery + // endpoint will be reserved, in the form of + // projects/{network_project}/global/networks/{network_id}. Network string `json:"network,omitempty"` // ForceSendFields is a list of field names (e.g. "Network") to @@ -1605,8 +1605,8 @@ type PscConnection struct { // form of projects/{project_id}/global/networks/{network_id}. Network string `json:"network,omitempty"` - // ProjectId: The consumer project_id where the forwarding rule is - // created from. + // ProjectId: Output only. The consumer project_id where the forwarding + // rule is created from. ProjectId string `json:"projectId,omitempty"` // PscConnectionId: Output only. The PSC connection id of the forwarding @@ -2359,14 +2359,13 @@ type ProjectsLocationsClustersCreateCall struct { header_ http.Header } -// Create: Creates a Redis cluster based on the specified tier and -// memory size. The creation is executed asynchronously and callers may -// check the returned operation to track its progress. Once the -// operation is completed the Redis cluster will be fully functional. -// The completed longrunning.Operation will contain the new cluster -// object in the response field. The returned operation is automatically -// deleted after a few hours, so there is no need to call -// DeleteOperation. +// Create: Creates a Redis cluster based on the specified properties. +// The creation is executed asynchronously and callers may check the +// returned operation to track its progress. Once the operation is +// completed the Redis cluster will be fully functional. The completed +// longrunning.Operation will contain the new cluster object in the +// response field. The returned operation is automatically deleted after +// a few hours, so there is no need to call DeleteOperation. // // - parent: The resource name of the cluster location using the form: // `projects/{project_id}/locations/{location_id}` where `location_id` @@ -2487,7 +2486,7 @@ func (c *ProjectsLocationsClustersCreateCall) Do(opts ...googleapi.CallOption) ( } return ret, nil // { - // "description": "Creates a Redis cluster based on the specified tier and memory size. The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis cluster will be fully functional. The completed longrunning.Operation will contain the new cluster object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.", + // "description": "Creates a Redis cluster based on the specified properties. The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis cluster will be fully functional. The completed longrunning.Operation will contain the new cluster object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.", // "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters", // "httpMethod": "POST", // "id": "redis.projects.locations.clusters.create", diff --git a/speech/v1/speech-api.json b/speech/v1/speech-api.json index 56de6f26c03..d6fc09bf183 100644 --- a/speech/v1/speech-api.json +++ b/speech/v1/speech-api.json @@ -524,7 +524,7 @@ } } }, - "revision": "20230804", + "revision": "20230901", "rootUrl": "https://speech.googleapis.com/", "schemas": { "ABNFGrammar": { @@ -585,10 +585,40 @@ "description": "A set of words or phrases that represents a common concept likely to appear in your audio, for example a list of passenger ship names. CustomClass items can be substituted into placeholders that you set in PhraseSet phrases.", "id": "CustomClass", "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. Allows users to store small amounts of arbitrary data. Both the key and the value must be 63 characters or less each. At most 100 annotations. This field is not used.", + "readOnly": true, + "type": "object" + }, "customClassId": { "description": "If this custom class is a resource, the custom_class_id is the resource id of the CustomClass. Case sensitive.", "type": "string" }, + "deleteTime": { + "description": "Output only. The time at which this resource was requested for deletion. This field is not used.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. User-settable, human-readable name for the CustomClass. Must be 63 characters or less. This field is not used.", + "readOnly": true, + "type": "string" + }, + "etag": { + "description": "Output only. This checksum is computed by the server based on the value of other fields. This may be sent on update, undelete, and delete requests to ensure the client has an up-to-date value before proceeding. This field is not used.", + "readOnly": true, + "type": "string" + }, + "expireTime": { + "description": "Output only. The time at which this resource will be purged. This field is not used.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, "items": { "description": "A collection of class items.", "items": { @@ -609,6 +639,31 @@ "name": { "description": "The resource name of the custom class.", "type": "string" + }, + "reconciling": { + "description": "Output only. Whether or not this CustomClass is in the process of being updated. This field is not used.", + "readOnly": true, + "type": "boolean" + }, + "state": { + "description": "Output only. The CustomClass lifecycle state. This field is not used.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "DELETED" + ], + "enumDescriptions": [ + "Unspecified state. This is only used/useful for distinguishing unset values.", + "The normal and active state.", + "This CustomClass has been deleted." + ], + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. System-assigned unique identifier for the CustomClass. This field is not used.", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -810,11 +865,41 @@ "description": "Provides \"hints\" to the speech recognizer to favor specific words and phrases in the results.", "id": "PhraseSet", "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. Allows users to store small amounts of arbitrary data. Both the key and the value must be 63 characters or less each. At most 100 annotations. This field is not used.", + "readOnly": true, + "type": "object" + }, "boost": { "description": "Hint Boost. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost values would correspond to anti-biasing. Anti-biasing is not enabled, so negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 (exclusive) and 20. We recommend using a binary search approach to finding the optimal value for your use case as well as adding phrases both with and without boost to your requests.", "format": "float", "type": "number" }, + "deleteTime": { + "description": "Output only. The time at which this resource was requested for deletion. This field is not used.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. User-settable, human-readable name for the PhraseSet. Must be 63 characters or less. This field is not used.", + "readOnly": true, + "type": "string" + }, + "etag": { + "description": "Output only. This checksum is computed by the server based on the value of other fields. This may be sent on update, undelete, and delete requests to ensure the client has an up-to-date value before proceeding. This field is not used.", + "readOnly": true, + "type": "string" + }, + "expireTime": { + "description": "Output only. The time at which this resource will be purged. This field is not used.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, "kmsKeyName": { "description": "Output only. The [KMS key name](https://cloud.google.com/kms/docs/resource-hierarchy#keys) with which the content of the PhraseSet is encrypted. The expected format is `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.", "readOnly": true, @@ -835,6 +920,31 @@ "$ref": "Phrase" }, "type": "array" + }, + "reconciling": { + "description": "Output only. Whether or not this PhraseSet is in the process of being updated. This field is not used.", + "readOnly": true, + "type": "boolean" + }, + "state": { + "description": "Output only. The CustomClass lifecycle state. This field is not used.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "DELETED" + ], + "enumDescriptions": [ + "Unspecified state. This is only used/useful for distinguishing unset values.", + "The normal and active state.", + "This CustomClass has been deleted." + ], + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. System-assigned unique identifier for the PhraseSet. This field is not used.", + "readOnly": true, + "type": "string" } }, "type": "object" diff --git a/speech/v1/speech-gen.go b/speech/v1/speech-gen.go index 1a915cf15bb..b931a281af8 100644 --- a/speech/v1/speech-gen.go +++ b/speech/v1/speech-gen.go @@ -355,11 +355,34 @@ func (s *CreatePhraseSetRequest) MarshalJSON() ([]byte, error) { // passenger ship names. CustomClass items can be substituted into // placeholders that you set in PhraseSet phrases. type CustomClass struct { + // Annotations: Output only. Allows users to store small amounts of + // arbitrary data. Both the key and the value must be 63 characters or + // less each. At most 100 annotations. This field is not used. + Annotations map[string]string `json:"annotations,omitempty"` + // CustomClassId: If this custom class is a resource, the // custom_class_id is the resource id of the CustomClass. Case // sensitive. CustomClassId string `json:"customClassId,omitempty"` + // DeleteTime: Output only. The time at which this resource was + // requested for deletion. This field is not used. + DeleteTime string `json:"deleteTime,omitempty"` + + // DisplayName: Output only. User-settable, human-readable name for the + // CustomClass. Must be 63 characters or less. This field is not used. + DisplayName string `json:"displayName,omitempty"` + + // Etag: Output only. This checksum is computed by the server based on + // the value of other fields. This may be sent on update, undelete, and + // delete requests to ensure the client has an up-to-date value before + // proceeding. This field is not used. + Etag string `json:"etag,omitempty"` + + // ExpireTime: Output only. The time at which this resource will be + // purged. This field is not used. + ExpireTime string `json:"expireTime,omitempty"` + // Items: A collection of class items. Items []*ClassItem `json:"items,omitempty"` @@ -382,11 +405,29 @@ type CustomClass struct { // Name: The resource name of the custom class. Name string `json:"name,omitempty"` + // Reconciling: Output only. Whether or not this CustomClass is in the + // process of being updated. This field is not used. + Reconciling bool `json:"reconciling,omitempty"` + + // State: Output only. The CustomClass lifecycle state. This field is + // not used. + // + // Possible values: + // "STATE_UNSPECIFIED" - Unspecified state. This is only used/useful + // for distinguishing unset values. + // "ACTIVE" - The normal and active state. + // "DELETED" - This CustomClass has been deleted. + State string `json:"state,omitempty"` + + // Uid: Output only. System-assigned unique identifier for the + // CustomClass. This field is not used. + Uid string `json:"uid,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "CustomClassId") to + // ForceSendFields is a list of field names (e.g. "Annotations") 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 @@ -394,7 +435,7 @@ type CustomClass struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CustomClassId") to include + // NullFields is a list of field names (e.g. "Annotations") 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 @@ -808,6 +849,11 @@ func (s *Phrase) UnmarshalJSON(data []byte) error { // PhraseSet: Provides "hints" to the speech recognizer to favor // specific words and phrases in the results. type PhraseSet struct { + // Annotations: Output only. Allows users to store small amounts of + // arbitrary data. Both the key and the value must be 63 characters or + // less each. At most 100 annotations. This field is not used. + Annotations map[string]string `json:"annotations,omitempty"` + // Boost: Hint Boost. Positive value will increase the probability that // a specific phrase will be recognized over other similar sounding // phrases. The higher the boost, the higher the chance of false @@ -820,6 +866,24 @@ type PhraseSet struct { // both with and without boost to your requests. Boost float64 `json:"boost,omitempty"` + // DeleteTime: Output only. The time at which this resource was + // requested for deletion. This field is not used. + DeleteTime string `json:"deleteTime,omitempty"` + + // DisplayName: Output only. User-settable, human-readable name for the + // PhraseSet. Must be 63 characters or less. This field is not used. + DisplayName string `json:"displayName,omitempty"` + + // Etag: Output only. This checksum is computed by the server based on + // the value of other fields. This may be sent on update, undelete, and + // delete requests to ensure the client has an up-to-date value before + // proceeding. This field is not used. + Etag string `json:"etag,omitempty"` + + // ExpireTime: Output only. The time at which this resource will be + // purged. This field is not used. + ExpireTime string `json:"expireTime,omitempty"` + // KmsKeyName: Output only. The KMS key name // (https://cloud.google.com/kms/docs/resource-hierarchy#keys) with // which the content of the PhraseSet is encrypted. The expected format @@ -842,11 +906,29 @@ type PhraseSet struct { // Phrases: A list of word and phrases. Phrases []*Phrase `json:"phrases,omitempty"` + // Reconciling: Output only. Whether or not this PhraseSet is in the + // process of being updated. This field is not used. + Reconciling bool `json:"reconciling,omitempty"` + + // State: Output only. The CustomClass lifecycle state. This field is + // not used. + // + // Possible values: + // "STATE_UNSPECIFIED" - Unspecified state. This is only used/useful + // for distinguishing unset values. + // "ACTIVE" - The normal and active state. + // "DELETED" - This CustomClass has been deleted. + State string `json:"state,omitempty"` + + // Uid: Output only. System-assigned unique identifier for the + // PhraseSet. This field is not used. + Uid string `json:"uid,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "Boost") to + // ForceSendFields is a list of field names (e.g. "Annotations") 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 @@ -854,10 +936,10 @@ type PhraseSet struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Boost") 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. "Annotations") 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/speech/v1p1beta1/speech-api.json b/speech/v1p1beta1/speech-api.json index f94dee121af..d2a224834e6 100644 --- a/speech/v1p1beta1/speech-api.json +++ b/speech/v1p1beta1/speech-api.json @@ -524,7 +524,7 @@ } } }, - "revision": "20230804", + "revision": "20230901", "rootUrl": "https://speech.googleapis.com/", "schemas": { "ABNFGrammar": { @@ -585,10 +585,40 @@ "description": "A set of words or phrases that represents a common concept likely to appear in your audio, for example a list of passenger ship names. CustomClass items can be substituted into placeholders that you set in PhraseSet phrases.", "id": "CustomClass", "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. Allows users to store small amounts of arbitrary data. Both the key and the value must be 63 characters or less each. At most 100 annotations. This field is not used.", + "readOnly": true, + "type": "object" + }, "customClassId": { "description": "If this custom class is a resource, the custom_class_id is the resource id of the CustomClass. Case sensitive.", "type": "string" }, + "deleteTime": { + "description": "Output only. The time at which this resource was requested for deletion. This field is not used.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. User-settable, human-readable name for the CustomClass. Must be 63 characters or less. This field is not used.", + "readOnly": true, + "type": "string" + }, + "etag": { + "description": "Output only. This checksum is computed by the server based on the value of other fields. This may be sent on update, undelete, and delete requests to ensure the client has an up-to-date value before proceeding. This field is not used.", + "readOnly": true, + "type": "string" + }, + "expireTime": { + "description": "Output only. The time at which this resource will be purged. This field is not used.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, "items": { "description": "A collection of class items.", "items": { @@ -609,6 +639,31 @@ "name": { "description": "The resource name of the custom class.", "type": "string" + }, + "reconciling": { + "description": "Output only. Whether or not this CustomClass is in the process of being updated. This field is not used.", + "readOnly": true, + "type": "boolean" + }, + "state": { + "description": "Output only. The CustomClass lifecycle state. This field is not used.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "DELETED" + ], + "enumDescriptions": [ + "Unspecified state. This is only used/useful for distinguishing unset values.", + "The normal and active state.", + "This CustomClass has been deleted." + ], + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. System-assigned unique identifier for the CustomClass. This field is not used.", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -834,11 +889,41 @@ "description": "Provides \"hints\" to the speech recognizer to favor specific words and phrases in the results.", "id": "PhraseSet", "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. Allows users to store small amounts of arbitrary data. Both the key and the value must be 63 characters or less each. At most 100 annotations. This field is not used.", + "readOnly": true, + "type": "object" + }, "boost": { "description": "Hint Boost. Positive value will increase the probability that a specific phrase will be recognized over other similar sounding phrases. The higher the boost, the higher the chance of false positive recognition as well. Negative boost values would correspond to anti-biasing. Anti-biasing is not enabled, so negative boost will simply be ignored. Though `boost` can accept a wide range of positive values, most use cases are best served with values between 0 (exclusive) and 20. We recommend using a binary search approach to finding the optimal value for your use case as well as adding phrases both with and without boost to your requests.", "format": "float", "type": "number" }, + "deleteTime": { + "description": "Output only. The time at which this resource was requested for deletion. This field is not used.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. User-settable, human-readable name for the PhraseSet. Must be 63 characters or less. This field is not used.", + "readOnly": true, + "type": "string" + }, + "etag": { + "description": "Output only. This checksum is computed by the server based on the value of other fields. This may be sent on update, undelete, and delete requests to ensure the client has an up-to-date value before proceeding. This field is not used.", + "readOnly": true, + "type": "string" + }, + "expireTime": { + "description": "Output only. The time at which this resource will be purged. This field is not used.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, "kmsKeyName": { "description": "Output only. The [KMS key name](https://cloud.google.com/kms/docs/resource-hierarchy#keys) with which the content of the PhraseSet is encrypted. The expected format is `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.", "readOnly": true, @@ -859,6 +944,31 @@ "$ref": "Phrase" }, "type": "array" + }, + "reconciling": { + "description": "Output only. Whether or not this PhraseSet is in the process of being updated. This field is not used.", + "readOnly": true, + "type": "boolean" + }, + "state": { + "description": "Output only. The CustomClass lifecycle state. This field is not used.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "DELETED" + ], + "enumDescriptions": [ + "Unspecified state. This is only used/useful for distinguishing unset values.", + "The normal and active state.", + "This CustomClass has been deleted." + ], + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. System-assigned unique identifier for the PhraseSet. This field is not used.", + "readOnly": true, + "type": "string" } }, "type": "object" diff --git a/speech/v1p1beta1/speech-gen.go b/speech/v1p1beta1/speech-gen.go index 5ea6bbf7097..8d116ee74e8 100644 --- a/speech/v1p1beta1/speech-gen.go +++ b/speech/v1p1beta1/speech-gen.go @@ -355,11 +355,34 @@ func (s *CreatePhraseSetRequest) MarshalJSON() ([]byte, error) { // passenger ship names. CustomClass items can be substituted into // placeholders that you set in PhraseSet phrases. type CustomClass struct { + // Annotations: Output only. Allows users to store small amounts of + // arbitrary data. Both the key and the value must be 63 characters or + // less each. At most 100 annotations. This field is not used. + Annotations map[string]string `json:"annotations,omitempty"` + // CustomClassId: If this custom class is a resource, the // custom_class_id is the resource id of the CustomClass. Case // sensitive. CustomClassId string `json:"customClassId,omitempty"` + // DeleteTime: Output only. The time at which this resource was + // requested for deletion. This field is not used. + DeleteTime string `json:"deleteTime,omitempty"` + + // DisplayName: Output only. User-settable, human-readable name for the + // CustomClass. Must be 63 characters or less. This field is not used. + DisplayName string `json:"displayName,omitempty"` + + // Etag: Output only. This checksum is computed by the server based on + // the value of other fields. This may be sent on update, undelete, and + // delete requests to ensure the client has an up-to-date value before + // proceeding. This field is not used. + Etag string `json:"etag,omitempty"` + + // ExpireTime: Output only. The time at which this resource will be + // purged. This field is not used. + ExpireTime string `json:"expireTime,omitempty"` + // Items: A collection of class items. Items []*ClassItem `json:"items,omitempty"` @@ -382,11 +405,29 @@ type CustomClass struct { // Name: The resource name of the custom class. Name string `json:"name,omitempty"` + // Reconciling: Output only. Whether or not this CustomClass is in the + // process of being updated. This field is not used. + Reconciling bool `json:"reconciling,omitempty"` + + // State: Output only. The CustomClass lifecycle state. This field is + // not used. + // + // Possible values: + // "STATE_UNSPECIFIED" - Unspecified state. This is only used/useful + // for distinguishing unset values. + // "ACTIVE" - The normal and active state. + // "DELETED" - This CustomClass has been deleted. + State string `json:"state,omitempty"` + + // Uid: Output only. System-assigned unique identifier for the + // CustomClass. This field is not used. + Uid string `json:"uid,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "CustomClassId") to + // ForceSendFields is a list of field names (e.g. "Annotations") 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 @@ -394,7 +435,7 @@ type CustomClass struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CustomClassId") to include + // NullFields is a list of field names (e.g. "Annotations") 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 @@ -846,6 +887,11 @@ func (s *Phrase) UnmarshalJSON(data []byte) error { // PhraseSet: Provides "hints" to the speech recognizer to favor // specific words and phrases in the results. type PhraseSet struct { + // Annotations: Output only. Allows users to store small amounts of + // arbitrary data. Both the key and the value must be 63 characters or + // less each. At most 100 annotations. This field is not used. + Annotations map[string]string `json:"annotations,omitempty"` + // Boost: Hint Boost. Positive value will increase the probability that // a specific phrase will be recognized over other similar sounding // phrases. The higher the boost, the higher the chance of false @@ -858,6 +904,24 @@ type PhraseSet struct { // both with and without boost to your requests. Boost float64 `json:"boost,omitempty"` + // DeleteTime: Output only. The time at which this resource was + // requested for deletion. This field is not used. + DeleteTime string `json:"deleteTime,omitempty"` + + // DisplayName: Output only. User-settable, human-readable name for the + // PhraseSet. Must be 63 characters or less. This field is not used. + DisplayName string `json:"displayName,omitempty"` + + // Etag: Output only. This checksum is computed by the server based on + // the value of other fields. This may be sent on update, undelete, and + // delete requests to ensure the client has an up-to-date value before + // proceeding. This field is not used. + Etag string `json:"etag,omitempty"` + + // ExpireTime: Output only. The time at which this resource will be + // purged. This field is not used. + ExpireTime string `json:"expireTime,omitempty"` + // KmsKeyName: Output only. The KMS key name // (https://cloud.google.com/kms/docs/resource-hierarchy#keys) with // which the content of the PhraseSet is encrypted. The expected format @@ -880,11 +944,29 @@ type PhraseSet struct { // Phrases: A list of word and phrases. Phrases []*Phrase `json:"phrases,omitempty"` + // Reconciling: Output only. Whether or not this PhraseSet is in the + // process of being updated. This field is not used. + Reconciling bool `json:"reconciling,omitempty"` + + // State: Output only. The CustomClass lifecycle state. This field is + // not used. + // + // Possible values: + // "STATE_UNSPECIFIED" - Unspecified state. This is only used/useful + // for distinguishing unset values. + // "ACTIVE" - The normal and active state. + // "DELETED" - This CustomClass has been deleted. + State string `json:"state,omitempty"` + + // Uid: Output only. System-assigned unique identifier for the + // PhraseSet. This field is not used. + Uid string `json:"uid,omitempty"` + // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "Boost") to + // ForceSendFields is a list of field names (e.g. "Annotations") 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 @@ -892,10 +974,10 @@ type PhraseSet struct { // This may be used to include empty fields in Patch requests. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Boost") 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. "Annotations") 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/sqladmin/v1/sqladmin-api.json b/sqladmin/v1/sqladmin-api.json index 712c27fa037..b17b411c8c6 100644 --- a/sqladmin/v1/sqladmin-api.json +++ b/sqladmin/v1/sqladmin-api.json @@ -2122,7 +2122,7 @@ } } }, - "revision": "20230721", + "revision": "20230831", "rootUrl": "https://sqladmin.googleapis.com/", "schemas": { "AclEntry": { @@ -3024,6 +3024,11 @@ "$ref": "SqlOutOfDiskReport", "description": "This field represents the report generated by the proactive database wellness job for OutOfDisk issues. * Writers: * the proactive database wellness job for OOD. * Readers: * the proactive database wellness job" }, + "primaryDnsName": { + "description": "Output only. The dns name of the primary instance in a replication group.", + "readOnly": true, + "type": "string" + }, "project": { "description": "The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable.", "type": "string" @@ -4101,7 +4106,7 @@ "type": "string" }, "secondaryZone": { - "description": "The preferred Compute Engine zone for the secondary/failover (for example: us-central1-a, us-central1-b, etc.).", + "description": "The preferred Compute Engine zone for the secondary/failover (for example: us-central1-a, us-central1-b, etc.). To disable this field, set it to 'no_secondary_zone'.", "type": "string" }, "zone": { diff --git a/sqladmin/v1/sqladmin-gen.go b/sqladmin/v1/sqladmin-gen.go index c10394e2d18..c5feb413cdd 100644 --- a/sqladmin/v1/sqladmin-gen.go +++ b/sqladmin/v1/sqladmin-gen.go @@ -1271,6 +1271,10 @@ type DatabaseInstance struct { // proactive database wellness job OutOfDiskReport *SqlOutOfDiskReport `json:"outOfDiskReport,omitempty"` + // PrimaryDnsName: Output only. The dns name of the primary instance in + // a replication group. + PrimaryDnsName string `json:"primaryDnsName,omitempty"` + // Project: The project ID of the project containing the Cloud SQL // instance. The Google apps domain is prefixed if applicable. Project string `json:"project,omitempty"` @@ -3013,6 +3017,7 @@ type LocationPreference struct { // SecondaryZone: The preferred Compute Engine zone for the // secondary/failover (for example: us-central1-a, us-central1-b, etc.). + // To disable this field, set it to 'no_secondary_zone'. SecondaryZone string `json:"secondaryZone,omitempty"` // Zone: The preferred Compute Engine zone (for example: us-central1-a, diff --git a/sqladmin/v1beta4/sqladmin-api.json b/sqladmin/v1beta4/sqladmin-api.json index c7a222e08c5..74f0f5a9a3c 100644 --- a/sqladmin/v1beta4/sqladmin-api.json +++ b/sqladmin/v1beta4/sqladmin-api.json @@ -2122,7 +2122,7 @@ } } }, - "revision": "20230721", + "revision": "20230831", "rootUrl": "https://sqladmin.googleapis.com/", "schemas": { "AclEntry": { @@ -3024,6 +3024,11 @@ "$ref": "SqlOutOfDiskReport", "description": "This field represents the report generated by the proactive database wellness job for OutOfDisk issues. * Writers: * the proactive database wellness job for OOD. * Readers: * the proactive database wellness job" }, + "primaryDnsName": { + "description": "Output only. The dns name of the primary instance in a replication group.", + "readOnly": true, + "type": "string" + }, "project": { "description": "The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable.", "type": "string" @@ -4101,7 +4106,7 @@ "type": "string" }, "secondaryZone": { - "description": "The preferred Compute Engine zone for the secondary/failover (for example: us-central1-a, us-central1-b, etc.).", + "description": "The preferred Compute Engine zone for the secondary/failover (for example: us-central1-a, us-central1-b, etc.). To disable this field, set it to 'no_secondary_zone'.", "type": "string" }, "zone": { diff --git a/sqladmin/v1beta4/sqladmin-gen.go b/sqladmin/v1beta4/sqladmin-gen.go index f185f4d00b4..5822f0b35da 100644 --- a/sqladmin/v1beta4/sqladmin-gen.go +++ b/sqladmin/v1beta4/sqladmin-gen.go @@ -1270,6 +1270,10 @@ type DatabaseInstance struct { // proactive database wellness job OutOfDiskReport *SqlOutOfDiskReport `json:"outOfDiskReport,omitempty"` + // PrimaryDnsName: Output only. The dns name of the primary instance in + // a replication group. + PrimaryDnsName string `json:"primaryDnsName,omitempty"` + // Project: The project ID of the project containing the Cloud SQL // instance. The Google apps domain is prefixed if applicable. Project string `json:"project,omitempty"` @@ -3013,6 +3017,7 @@ type LocationPreference struct { // SecondaryZone: The preferred Compute Engine zone for the // secondary/failover (for example: us-central1-a, us-central1-b, etc.). + // To disable this field, set it to 'no_secondary_zone'. SecondaryZone string `json:"secondaryZone,omitempty"` // Zone: The preferred Compute Engine zone (for example: us-central1-a, diff --git a/tpu/v2alpha1/tpu-api.json b/tpu/v2alpha1/tpu-api.json index a9ebe104fee..def16613c72 100644 --- a/tpu/v2alpha1/tpu-api.json +++ b/tpu/v2alpha1/tpu-api.json @@ -925,7 +925,7 @@ } } }, - "revision": "20230814", + "revision": "20230904", "rootUrl": "https://tpu.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -1824,7 +1824,8 @@ "DELETING", "ACTIVE", "SUSPENDING", - "SUSPENDED" + "SUSPENDED", + "WAITING_FOR_RESOURCES" ], "enumDescriptions": [ "State of the QueuedResource request is not known/set.", @@ -1835,7 +1836,8 @@ "The QueuedResource is being deleted.", "The resources specified in the QueuedResource request have been provisioned and are ready for use by the end-user/consumer.", "The resources specified in the QueuedResource request are being deleted. This may have been initiated by the user, or the Cloud TPU service. Inspect the state data for more details.", - "The resources specified in the QueuedResource request have been deleted." + "The resources specified in the QueuedResource request have been deleted.", + "The QueuedResource request has passed initial validation and has been persisted in the queue. It will remain in this state until there are sufficient free resources to begin provisioning your request. Wait times will vary significantly depending on demand levels. When demand is high, not all requests can be immediately provisioned. If you need more reliable obtainability of TPUs consider purchasing a reservation. To put a limit on how long you are willing to wait, use [timing constraints](https://cloud.google.com/tpu/docs/queued-resources#request_a_queued_resource_before_a_specified_time)." ], "type": "string" }, diff --git a/tpu/v2alpha1/tpu-gen.go b/tpu/v2alpha1/tpu-gen.go index e3fcbc3a045..f497f2857a3 100644 --- a/tpu/v2alpha1/tpu-gen.go +++ b/tpu/v2alpha1/tpu-gen.go @@ -1594,6 +1594,16 @@ type QueuedResourceState struct { // or the Cloud TPU service. Inspect the state data for more details. // "SUSPENDED" - The resources specified in the QueuedResource request // have been deleted. + // "WAITING_FOR_RESOURCES" - The QueuedResource request has passed + // initial validation and has been persisted in the queue. It will + // remain in this state until there are sufficient free resources to + // begin provisioning your request. Wait times will vary significantly + // depending on demand levels. When demand is high, not all requests can + // be immediately provisioned. If you need more reliable obtainability + // of TPUs consider purchasing a reservation. To put a limit on how long + // you are willing to wait, use [timing + // constraints](https://cloud.google.com/tpu/docs/queued-resources#reques + // t_a_queued_resource_before_a_specified_time). State string `json:"state,omitempty"` // StateInitiator: Output only. The initiator of the QueuedResources's diff --git a/workflowexecutions/v1/workflowexecutions-api.json b/workflowexecutions/v1/workflowexecutions-api.json index 2f649d4f8f3..432624714b2 100644 --- a/workflowexecutions/v1/workflowexecutions-api.json +++ b/workflowexecutions/v1/workflowexecutions-api.json @@ -199,6 +199,31 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "exportData": { + "description": "Returns all metadata stored about an execution, excluding most data that is already accessible via other API methods.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}/executions/{executionsId}:exportData", + "httpMethod": "GET", + "id": "workflowexecutions.projects.locations.workflows.executions.exportData", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the execution to be data exported. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+/executions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:exportData", + "response": { + "$ref": "ExportDataResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "get": { "description": "Returns an execution of the given name.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}/executions/{executionsId}", @@ -300,6 +325,48 @@ "https://www.googleapis.com/auth/cloud-platform" ] } + }, + "resources": { + "callbacks": { + "methods": { + "list": { + "description": "Returns a list of active callbacks which belong to the execution with the given name. The returned callbacks are ordered by callback ID. first).", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}/executions/{executionsId}/callbacks", + "httpMethod": "GET", + "id": "workflowexecutions.projects.locations.workflows.executions.callbacks.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of callbacks to return per call. The default value is 100 and is also the maximum value.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListCallbacks` call. Provide this to retrieve the subsequent page. Note that pagination is applied to dynamic data. The list of callbacks returned can change between page requests if callbacks are created or deleted.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Name of the execution for which the callbacks should be listed. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+/executions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/callbacks", + "response": { + "$ref": "ListCallbacksResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } } } } @@ -309,9 +376,40 @@ } } }, - "revision": "20230719", + "revision": "20230829", "rootUrl": "https://workflowexecutions.googleapis.com/", "schemas": { + "Callback": { + "description": "An instance of a Callback created by an execution.", + "id": "Callback", + "properties": { + "availablePayloads": { + "description": "Output only. The payloads received by the callback that have not been processed by a waiting execution step.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "method": { + "description": "Output only. The method accepted by the callback. E.g. GET, POST, PUT.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the callback. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}/callback/{callback}", + "readOnly": true, + "type": "string" + }, + "waiters": { + "description": "Output only. Number of execution steps waiting on this callback.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "CancelExecutionRequest": { "description": "Request for the CancelExecution method.", "id": "CancelExecutionRequest", @@ -442,6 +540,35 @@ }, "type": "object" }, + "ExportDataResponse": { + "description": "Response for the ExportData method.", + "id": "ExportDataResponse", + "properties": { + "data": { + "description": "The JSON string with customer data and metadata of an execution of the given name", + "type": "string" + } + }, + "type": "object" + }, + "ListCallbacksResponse": { + "description": "RPC response object for the ListCallbacks method.", + "id": "ListCallbacksResponse", + "properties": { + "callbacks": { + "description": "The callbacks which match the request.", + "items": { + "$ref": "Callback" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, "ListExecutionsResponse": { "description": "Response for the ListExecutions method.", "id": "ListExecutionsResponse", diff --git a/workflowexecutions/v1/workflowexecutions-gen.go b/workflowexecutions/v1/workflowexecutions-gen.go index 3616d258165..e6785ff86ff 100644 --- a/workflowexecutions/v1/workflowexecutions-gen.go +++ b/workflowexecutions/v1/workflowexecutions-gen.go @@ -189,11 +189,66 @@ type ProjectsLocationsWorkflowsService struct { func NewProjectsLocationsWorkflowsExecutionsService(s *Service) *ProjectsLocationsWorkflowsExecutionsService { rs := &ProjectsLocationsWorkflowsExecutionsService{s: s} + rs.Callbacks = NewProjectsLocationsWorkflowsExecutionsCallbacksService(s) return rs } type ProjectsLocationsWorkflowsExecutionsService struct { s *Service + + Callbacks *ProjectsLocationsWorkflowsExecutionsCallbacksService +} + +func NewProjectsLocationsWorkflowsExecutionsCallbacksService(s *Service) *ProjectsLocationsWorkflowsExecutionsCallbacksService { + rs := &ProjectsLocationsWorkflowsExecutionsCallbacksService{s: s} + return rs +} + +type ProjectsLocationsWorkflowsExecutionsCallbacksService struct { + s *Service +} + +// Callback: An instance of a Callback created by an execution. +type Callback struct { + // AvailablePayloads: Output only. The payloads received by the callback + // that have not been processed by a waiting execution step. + AvailablePayloads []string `json:"availablePayloads,omitempty"` + + // Method: Output only. The method accepted by the callback. E.g. GET, + // POST, PUT. + Method string `json:"method,omitempty"` + + // Name: Output only. The resource name of the callback. Format: + // projects/{project}/locations/{location}/workflows/{workflow}/execution + // s/{execution}/callback/{callback} + Name string `json:"name,omitempty"` + + // Waiters: Output only. Number of execution steps waiting on this + // callback. + Waiters int64 `json:"waiters,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "AvailablePayloads") + // 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. "AvailablePayloads") 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 *Callback) MarshalJSON() ([]byte, error) { + type NoMethod Callback + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // CancelExecutionRequest: Request for the CancelExecution method. @@ -344,6 +399,77 @@ func (s *Execution) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ExportDataResponse: Response for the ExportData method. +type ExportDataResponse struct { + // Data: The JSON string with customer data and metadata of an execution + // of the given name + Data string `json:"data,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the + // server. + googleapi.ServerResponse `json:"-"` + + // ForceSendFields is a list of field names (e.g. "Data") 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. "Data") 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 *ExportDataResponse) MarshalJSON() ([]byte, error) { + type NoMethod ExportDataResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ListCallbacksResponse: RPC response object for the ListCallbacks +// method. +type ListCallbacksResponse struct { + // Callbacks: The callbacks which match the request. + Callbacks []*Callback `json:"callbacks,omitempty"` + + // 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. + 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. "Callbacks") 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. "Callbacks") 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 *ListCallbacksResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListCallbacksResponse + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ListExecutionsResponse: Response for the ListExecutions method. type ListExecutionsResponse struct { // Executions: The executions which match the request. @@ -1129,6 +1255,155 @@ func (c *ProjectsLocationsWorkflowsExecutionsCreateCall) Do(opts ...googleapi.Ca } +// method id "workflowexecutions.projects.locations.workflows.executions.exportData": + +type ProjectsLocationsWorkflowsExecutionsExportDataCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// ExportData: Returns all metadata stored about an execution, excluding +// most data that is already accessible via other API methods. +// +// - name: Name of the execution to be data exported. Format: +// projects/{project}/locations/{location}/workflows/{workflow}/executi +// ons/{execution}. +func (r *ProjectsLocationsWorkflowsExecutionsService) ExportData(name string) *ProjectsLocationsWorkflowsExecutionsExportDataCall { + c := &ProjectsLocationsWorkflowsExecutionsExportDataCall{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 *ProjectsLocationsWorkflowsExecutionsExportDataCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkflowsExecutionsExportDataCall { + 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 *ProjectsLocationsWorkflowsExecutionsExportDataCall) IfNoneMatch(entityTag string) *ProjectsLocationsWorkflowsExecutionsExportDataCall { + 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 *ProjectsLocationsWorkflowsExecutionsExportDataCall) Context(ctx context.Context) *ProjectsLocationsWorkflowsExecutionsExportDataCall { + 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 *ProjectsLocationsWorkflowsExecutionsExportDataCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsWorkflowsExecutionsExportDataCall) 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}:exportData") + 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 "workflowexecutions.projects.locations.workflows.executions.exportData" call. +// Exactly one of *ExportDataResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ExportDataResponse.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 *ProjectsLocationsWorkflowsExecutionsExportDataCall) Do(opts ...googleapi.CallOption) (*ExportDataResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &ExportDataResponse{ + 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 all metadata stored about an execution, excluding most data that is already accessible via other API methods.", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}/executions/{executionsId}:exportData", + // "httpMethod": "GET", + // "id": "workflowexecutions.projects.locations.workflows.executions.exportData", + // "parameterOrder": [ + // "name" + // ], + // "parameters": { + // "name": { + // "description": "Required. Name of the execution to be data exported. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+/executions/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+name}:exportData", + // "response": { + // "$ref": "ExportDataResponse" + // }, + // "scopes": [ + // "https://www.googleapis.com/auth/cloud-platform" + // ] + // } + +} + // method id "workflowexecutions.projects.locations.workflows.executions.get": type ProjectsLocationsWorkflowsExecutionsGetCall struct { @@ -1576,3 +1851,204 @@ func (c *ProjectsLocationsWorkflowsExecutionsListCall) Pages(ctx context.Context c.PageToken(x.NextPageToken) } } + +// method id "workflowexecutions.projects.locations.workflows.executions.callbacks.list": + +type ProjectsLocationsWorkflowsExecutionsCallbacksListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Returns a list of active callbacks which belong to the +// execution with the given name. The returned callbacks are ordered by +// callback ID. first). +// +// - parent: Name of the execution for which the callbacks should be +// listed. Format: +// projects/{project}/locations/{location}/workflows/{workflow}/executi +// ons/{execution}. +func (r *ProjectsLocationsWorkflowsExecutionsCallbacksService) List(parent string) *ProjectsLocationsWorkflowsExecutionsCallbacksListCall { + c := &ProjectsLocationsWorkflowsExecutionsCallbacksListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": Maximum number of +// callbacks to return per call. The default value is 100 and is also +// the maximum value. +func (c *ProjectsLocationsWorkflowsExecutionsCallbacksListCall) PageSize(pageSize int64) *ProjectsLocationsWorkflowsExecutionsCallbacksListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": A page token, +// received from a previous `ListCallbacks` call. Provide this to +// retrieve the subsequent page. Note that pagination is applied to +// dynamic data. The list of callbacks returned can change between page +// requests if callbacks are created or deleted. +func (c *ProjectsLocationsWorkflowsExecutionsCallbacksListCall) PageToken(pageToken string) *ProjectsLocationsWorkflowsExecutionsCallbacksListCall { + 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 *ProjectsLocationsWorkflowsExecutionsCallbacksListCall) Fields(s ...googleapi.Field) *ProjectsLocationsWorkflowsExecutionsCallbacksListCall { + 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 *ProjectsLocationsWorkflowsExecutionsCallbacksListCall) IfNoneMatch(entityTag string) *ProjectsLocationsWorkflowsExecutionsCallbacksListCall { + 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 *ProjectsLocationsWorkflowsExecutionsCallbacksListCall) Context(ctx context.Context) *ProjectsLocationsWorkflowsExecutionsCallbacksListCall { + 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 *ProjectsLocationsWorkflowsExecutionsCallbacksListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsWorkflowsExecutionsCallbacksListCall) 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}/callbacks") + 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 "workflowexecutions.projects.locations.workflows.executions.callbacks.list" call. +// Exactly one of *ListCallbacksResponse or error will be non-nil. Any +// non-2xx status code is an error. Response headers are in either +// *ListCallbacksResponse.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 *ProjectsLocationsWorkflowsExecutionsCallbacksListCall) Do(opts ...googleapi.CallOption) (*ListCallbacksResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &ListCallbacksResponse{ + 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 list of active callbacks which belong to the execution with the given name. The returned callbacks are ordered by callback ID. first).", + // "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}/executions/{executionsId}/callbacks", + // "httpMethod": "GET", + // "id": "workflowexecutions.projects.locations.workflows.executions.callbacks.list", + // "parameterOrder": [ + // "parent" + // ], + // "parameters": { + // "pageSize": { + // "description": "Maximum number of callbacks to return per call. The default value is 100 and is also the maximum value.", + // "format": "int32", + // "location": "query", + // "type": "integer" + // }, + // "pageToken": { + // "description": "A page token, received from a previous `ListCallbacks` call. Provide this to retrieve the subsequent page. Note that pagination is applied to dynamic data. The list of callbacks returned can change between page requests if callbacks are created or deleted.", + // "location": "query", + // "type": "string" + // }, + // "parent": { + // "description": "Required. Name of the execution for which the callbacks should be listed. Format: projects/{project}/locations/{location}/workflows/{workflow}/executions/{execution}", + // "location": "path", + // "pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+/executions/[^/]+$", + // "required": true, + // "type": "string" + // } + // }, + // "path": "v1/{+parent}/callbacks", + // "response": { + // "$ref": "ListCallbacksResponse" + // }, + // "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 *ProjectsLocationsWorkflowsExecutionsCallbacksListCall) Pages(ctx context.Context, f func(*ListCallbacksResponse) 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) + } +} diff --git a/workloadmanager/v1/workloadmanager-api.json b/workloadmanager/v1/workloadmanager-api.json index 647bb062de6..f8c3de0d093 100644 --- a/workloadmanager/v1/workloadmanager-api.json +++ b/workloadmanager/v1/workloadmanager-api.json @@ -707,7 +707,7 @@ } } }, - "revision": "20230719", + "revision": "20230907", "rootUrl": "https://workloadmanager.googleapis.com/", "schemas": { "CancelOperationRequest": { @@ -915,11 +915,11 @@ }, "sapDiscovery": { "$ref": "SapDiscovery", - "description": "The insights data for sap system discovery. This is a copy of SAP System proto and should get updated whenever that one changes." + "description": "The insights data for SAP system discovery. This is a copy of SAP System proto and should get updated whenever that one changes." }, "sapValidation": { "$ref": "SapValidation", - "description": "The insights data for the sap workload validation." + "description": "The insights data for the SAP workload validation." }, "sentTime": { "description": "Output only. [Output only] Create time stamp", @@ -1137,7 +1137,7 @@ "description": "Properties of the object. Contains field @type with type URL.", "type": "any" }, - "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", "type": "object" } }, @@ -1337,27 +1337,28 @@ "type": "object" }, "SapDiscovery": { - "description": "LINT.IfChange The schema of SAP system discovery data.", + "description": "The schema of SAP system discovery data.", "id": "SapDiscovery", "properties": { "applicationLayer": { "$ref": "SapDiscoveryComponent", - "description": "An SAP system may run without an application layer." + "description": "Optional. An SAP system may run without an application layer." }, "databaseLayer": { "$ref": "SapDiscoveryComponent", - "description": "An SAP System must have a database." + "description": "Required. An SAP System must have a database." }, "metadata": { "$ref": "SapDiscoveryMetadata", - "description": "The metadata for SAP system discovery data." + "description": "Optional. The metadata for SAP system discovery data." }, "systemId": { - "description": "A combination of database SID, database instance URI and tenant DB name to make a unique identifier per-system.", + "description": "Output only. A combination of database SID, database instance URI and tenant DB name to make a unique identifier per-system.", + "readOnly": true, "type": "string" }, "updateTime": { - "description": "Unix timestamp this system has been updated last.", + "description": "Required. Unix timestamp this system has been updated last.", "format": "google-datetime", "type": "string" } @@ -1377,18 +1378,18 @@ "description": "Optional. The component is a SAP database." }, "hostProject": { - "description": "Pantheon Project in which the resources reside.", + "description": "Required. Pantheon Project in which the resources reside.", "type": "string" }, "resources": { - "description": "The resources in a component.", + "description": "Optional. The resources in a component.", "items": { "$ref": "SapDiscoveryResource" }, "type": "array" }, "sid": { - "description": "The sap identifier, used by the SAP software and helps differentiate systems for customers.", + "description": "Optional. The SAP identifier, used by the SAP software and helps differentiate systems for customers.", "type": "string" } }, @@ -1411,7 +1412,7 @@ "type": "string" }, "ascsUri": { - "description": "Required. Resource URI of the recognized ASCS host of the application.", + "description": "Optional. Resource URI of the recognized ASCS host of the application.", "type": "string" }, "nfsUri": { @@ -1457,19 +1458,19 @@ "id": "SapDiscoveryMetadata", "properties": { "customerRegion": { - "description": "Customer region string for customer's use. Does not represent GCP region.", + "description": "Optional. Customer region string for customer's use. Does not represent GCP region.", "type": "string" }, "definedSystem": { - "description": "Customer defined, something like \"E-commerce pre prod\"", + "description": "Optional. Customer defined, something like \"E-commerce pre prod\"", "type": "string" }, "environmentType": { - "description": "Should be \"prod\", \"QA\", \"dev\", \"staging\", etc.", + "description": "Optional. Should be \"prod\", \"QA\", \"dev\", \"staging\", etc.", "type": "string" }, "sapProduct": { - "description": "This sap product name", + "description": "Optional. This SAP product name", "type": "string" } }, @@ -1480,7 +1481,7 @@ "id": "SapDiscoveryResource", "properties": { "relatedResources": { - "description": "A list of resource URIs related to this resource.", + "description": "Optional. A list of resource URIs related to this resource.", "items": { "type": "string" }, @@ -1535,11 +1536,11 @@ "type": "string" }, "resourceUri": { - "description": "URI of the resource, includes project, location, and name.", + "description": "Required. URI of the resource, includes project, location, and name.", "type": "string" }, "updateTime": { - "description": "Unix timestamp of when this resource last had its discovery data updated.", + "description": "Required. Unix timestamp of when this resource last had its discovery data updated.", "format": "google-datetime", "type": "string" } @@ -1551,7 +1552,7 @@ "id": "SapValidation", "properties": { "validationDetails": { - "description": "A list of SAP validation metrics data.", + "description": "Optional. A list of SAP validation metrics data.", "items": { "$ref": "SapValidationValidationDetail" }, @@ -1568,26 +1569,30 @@ "additionalProperties": { "type": "string" }, - "description": "The pairs of metrics data: field name \u0026 field value.", + "description": "Optional. The pairs of metrics data: field name \u0026 field value.", "type": "object" }, "sapValidationType": { - "description": "The SAP system that the validation data is from.", + "description": "Optional. The SAP system that the validation data is from.", "enum": [ "SAP_VALIDATION_TYPE_UNSPECIFIED", "SYSTEM", "COROSYNC", "PACEMAKER", "HANA", - "NETWEAVER" + "NETWEAVER", + "HANA_SECURITY", + "CUSTOM" ], "enumDescriptions": [ "Unspecified type.", - "The SAP system named SYSTEM.", - "The SAP system named COROSYNC.", - "The SAP system named PACEMAKER.", - "The SAP system named HANA.", - "The SAP system named NETWEAVER." + "The SYSTEM validation type collects underlying system data from the VM.", + "The COROSYNC validation type collects Corosync configuration and runtime data. Corosync enables servers to interact as a HA cluster.", + "The PACEMAKER validation type collects Pacemaker configuration data. Pacemaker is a high-availability cluster resource manager.", + "The HANA validation type collects HANA configuration data. SAP HANA is an in-memory, column-oriented, relational database management system.", + "The NETWEAVER validation type collects NetWeaver configuration data. SAP NetWeaver is a software stack for many of SAP SE's applications.", + "The HANA_SECURITY validation type collects HANA configuration data as it relates to SAP security best practices.", + "The CUSTOM validation type collects any customer-defined data that does not fall into any of the other categories of validations." ], "type": "string" } @@ -1610,7 +1615,7 @@ "id": "SqlserverValidation", "properties": { "agentVersion": { - "description": "The agent version collected this data point", + "description": "Optional. The agent version collected this data point", "type": "string" }, "instance": { @@ -1622,7 +1627,7 @@ "type": "string" }, "validationDetails": { - "description": "A list of SqlServer validation metrics data.", + "description": "Optional. A list of SqlServer validation metrics data.", "items": { "$ref": "SqlserverValidationValidationDetail" }, @@ -1657,7 +1662,7 @@ "type": "array" }, "type": { - "description": "The Sqlserver system that the validation data is from.", + "description": "Optional. The Sqlserver system that the validation data is from.", "enum": [ "SQLSERVER_VALIDATION_TYPE_UNSPECIFIED", "OS", @@ -1668,7 +1673,10 @@ "DB_VIRTUAL_LOG_FILE_COUNT", "DB_BUFFER_POOL_EXTENSION", "DB_MAX_SERVER_MEMORY", - "INSTANCE_METRICS" + "INSTANCE_METRICS", + "DB_INDEX_FRAGMENTATION", + "DB_TABLE_INDEX_COMPRESSION", + "DB_BACKUP_POLICY" ], "enumDescriptions": [ "Unspecified type.", @@ -1680,7 +1688,10 @@ "The VIRTUAL_LOG_FILE_COUNT table.", "The BUFFER_POOL_EXTENSION table.", "The MAX_SERVER_MEMORY table.", - "The INSTANCE_METRICS table." + "The INSTANCE_METRICS table.", + "The DB_INDEX_FRAGMENTATION table.", + "The DB_TABLE_INDEX_COMPRESSION table.", + "The DB_BACKUP_POLICY table." ], "type": "string" } diff --git a/workloadmanager/v1/workloadmanager-gen.go b/workloadmanager/v1/workloadmanager-gen.go index 8529afea9f0..ad353a1db60 100644 --- a/workloadmanager/v1/workloadmanager-gen.go +++ b/workloadmanager/v1/workloadmanager-gen.go @@ -487,12 +487,12 @@ type Insight struct { // from InstanceId string `json:"instanceId,omitempty"` - // SapDiscovery: The insights data for sap system discovery. This is a + // SapDiscovery: The insights data for SAP system discovery. This is a // copy of SAP System proto and should get updated whenever that one // changes. SapDiscovery *SapDiscovery `json:"sapDiscovery,omitempty"` - // SapValidation: The insights data for the sap workload validation. + // SapValidation: The insights data for the SAP workload validation. SapValidation *SapValidation `json:"sapValidation,omitempty"` // SentTime: Output only. [Output only] Create time stamp @@ -865,8 +865,8 @@ type Operation struct { // `operations/{unique_id}`. Name string `json:"name,omitempty"` - // Response: The normal response of the operation in case of success. If - // the original method returns no data on success, such as `Delete`, the + // Response: The normal, successful response of the operation. If the + // original method returns no data on success, such as `Delete`, the // response is `google.protobuf.Empty`. If the original method is // standard `Get`/`Create`/`Update`, the response should be the // resource. For other methods, the response should have the type @@ -1169,22 +1169,25 @@ func (s *RunEvaluationRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// SapDiscovery: LINT.IfChange The schema of SAP system discovery data. +// SapDiscovery: The schema of SAP system discovery data. type SapDiscovery struct { - // ApplicationLayer: An SAP system may run without an application layer. + // ApplicationLayer: Optional. An SAP system may run without an + // application layer. ApplicationLayer *SapDiscoveryComponent `json:"applicationLayer,omitempty"` - // DatabaseLayer: An SAP System must have a database. + // DatabaseLayer: Required. An SAP System must have a database. DatabaseLayer *SapDiscoveryComponent `json:"databaseLayer,omitempty"` - // Metadata: The metadata for SAP system discovery data. + // Metadata: Optional. The metadata for SAP system discovery data. Metadata *SapDiscoveryMetadata `json:"metadata,omitempty"` - // SystemId: A combination of database SID, database instance URI and - // tenant DB name to make a unique identifier per-system. + // SystemId: Output only. A combination of database SID, database + // instance URI and tenant DB name to make a unique identifier + // per-system. SystemId string `json:"systemId,omitempty"` - // UpdateTime: Unix timestamp this system has been updated last. + // UpdateTime: Required. Unix timestamp this system has been updated + // last. UpdateTime string `json:"updateTime,omitempty"` // ForceSendFields is a list of field names (e.g. "ApplicationLayer") to @@ -1219,13 +1222,14 @@ type SapDiscoveryComponent struct { // DatabaseProperties: Optional. The component is a SAP database. DatabaseProperties *SapDiscoveryComponentDatabaseProperties `json:"databaseProperties,omitempty"` - // HostProject: Pantheon Project in which the resources reside. + // HostProject: Required. Pantheon Project in which the resources + // reside. HostProject string `json:"hostProject,omitempty"` - // Resources: The resources in a component. + // Resources: Optional. The resources in a component. Resources []*SapDiscoveryResource `json:"resources,omitempty"` - // Sid: The sap identifier, used by the SAP software and helps + // Sid: Optional. The SAP identifier, used by the SAP software and helps // differentiate systems for customers. Sid string `json:"sid,omitempty"` @@ -1264,7 +1268,7 @@ type SapDiscoveryComponentApplicationProperties struct { // "NETWEAVER" - SAP Netweaver ApplicationType string `json:"applicationType,omitempty"` - // AscsUri: Required. Resource URI of the recognized ASCS host of the + // AscsUri: Optional. Resource URI of the recognized ASCS host of the // application. AscsUri string `json:"ascsUri,omitempty"` @@ -1343,17 +1347,19 @@ func (s *SapDiscoveryComponentDatabaseProperties) MarshalJSON() ([]byte, error) // SapDiscoveryMetadata: Message describing SAP discovery system // metadata type SapDiscoveryMetadata struct { - // CustomerRegion: Customer region string for customer's use. Does not - // represent GCP region. + // CustomerRegion: Optional. Customer region string for customer's use. + // Does not represent GCP region. CustomerRegion string `json:"customerRegion,omitempty"` - // DefinedSystem: Customer defined, something like "E-commerce pre prod" + // DefinedSystem: Optional. Customer defined, something like "E-commerce + // pre prod" DefinedSystem string `json:"definedSystem,omitempty"` - // EnvironmentType: Should be "prod", "QA", "dev", "staging", etc. + // EnvironmentType: Optional. Should be "prod", "QA", "dev", "staging", + // etc. EnvironmentType string `json:"environmentType,omitempty"` - // SapProduct: This sap product name + // SapProduct: Optional. This SAP product name SapProduct string `json:"sapProduct,omitempty"` // ForceSendFields is a list of field names (e.g. "CustomerRegion") to @@ -1382,7 +1388,8 @@ func (s *SapDiscoveryMetadata) MarshalJSON() ([]byte, error) { // SapDiscoveryResource: Message describing a resource. type SapDiscoveryResource struct { - // RelatedResources: A list of resource URIs related to this resource. + // RelatedResources: Optional. A list of resource URIs related to this + // resource. RelatedResources []string `json:"relatedResources,omitempty"` // ResourceKind: Required. ComputeInstance, ComputeDisk, VPC, Bare Metal @@ -1415,12 +1422,12 @@ type SapDiscoveryResource struct { // "RESOURCE_TYPE_NETWORK" - This is a network resource. ResourceType string `json:"resourceType,omitempty"` - // ResourceUri: URI of the resource, includes project, location, and - // name. + // ResourceUri: Required. URI of the resource, includes project, + // location, and name. ResourceUri string `json:"resourceUri,omitempty"` - // UpdateTime: Unix timestamp of when this resource last had its - // discovery data updated. + // UpdateTime: Required. Unix timestamp of when this resource last had + // its discovery data updated. UpdateTime string `json:"updateTime,omitempty"` // ForceSendFields is a list of field names (e.g. "RelatedResources") to @@ -1450,7 +1457,7 @@ func (s *SapDiscoveryResource) MarshalJSON() ([]byte, error) { // SapValidation: A presentation of SAP workload insight. The schema of // SAP workloads validation related data. type SapValidation struct { - // ValidationDetails: A list of SAP validation metrics data. + // ValidationDetails: Optional. A list of SAP validation metrics data. ValidationDetails []*SapValidationValidationDetail `json:"validationDetails,omitempty"` // ForceSendFields is a list of field names (e.g. "ValidationDetails") @@ -1480,18 +1487,34 @@ func (s *SapValidation) MarshalJSON() ([]byte, error) { // SapValidationValidationDetail: Message describing the SAP validation // metrics. type SapValidationValidationDetail struct { - // Details: The pairs of metrics data: field name & field value. + // Details: Optional. The pairs of metrics data: field name & field + // value. Details map[string]string `json:"details,omitempty"` - // SapValidationType: The SAP system that the validation data is from. + // SapValidationType: Optional. The SAP system that the validation data + // is from. // // Possible values: // "SAP_VALIDATION_TYPE_UNSPECIFIED" - Unspecified type. - // "SYSTEM" - The SAP system named SYSTEM. - // "COROSYNC" - The SAP system named COROSYNC. - // "PACEMAKER" - The SAP system named PACEMAKER. - // "HANA" - The SAP system named HANA. - // "NETWEAVER" - The SAP system named NETWEAVER. + // "SYSTEM" - The SYSTEM validation type collects underlying system + // data from the VM. + // "COROSYNC" - The COROSYNC validation type collects Corosync + // configuration and runtime data. Corosync enables servers to interact + // as a HA cluster. + // "PACEMAKER" - The PACEMAKER validation type collects Pacemaker + // configuration data. Pacemaker is a high-availability cluster resource + // manager. + // "HANA" - The HANA validation type collects HANA configuration data. + // SAP HANA is an in-memory, column-oriented, relational database + // management system. + // "NETWEAVER" - The NETWEAVER validation type collects NetWeaver + // configuration data. SAP NetWeaver is a software stack for many of SAP + // SE's applications. + // "HANA_SECURITY" - The HANA_SECURITY validation type collects HANA + // configuration data as it relates to SAP security best practices. + // "CUSTOM" - The CUSTOM validation type collects any customer-defined + // data that does not fall into any of the other categories of + // validations. SapValidationType string `json:"sapValidationType,omitempty"` // ForceSendFields is a list of field names (e.g. "Details") to @@ -1548,7 +1571,7 @@ func (s *ScannedResource) MarshalJSON() ([]byte, error) { // SqlserverValidation: A presentation of SQLServer workload insight. // The schema of SqlServer workloads validation related data. type SqlserverValidation struct { - // AgentVersion: The agent version collected this data point + // AgentVersion: Optional. The agent version collected this data point AgentVersion string `json:"agentVersion,omitempty"` // Instance: Required. The instance_name of the instance that the @@ -1561,7 +1584,8 @@ type SqlserverValidation struct { // Insight data comes from. ProjectId string `json:"projectId,omitempty"` - // ValidationDetails: A list of SqlServer validation metrics data. + // ValidationDetails: Optional. A list of SqlServer validation metrics + // data. ValidationDetails []*SqlserverValidationValidationDetail `json:"validationDetails,omitempty"` // ForceSendFields is a list of field names (e.g. "AgentVersion") to @@ -1623,7 +1647,8 @@ type SqlserverValidationValidationDetail struct { // names and values. Details []*SqlserverValidationDetails `json:"details,omitempty"` - // Type: The Sqlserver system that the validation data is from. + // Type: Optional. The Sqlserver system that the validation data is + // from. // // Possible values: // "SQLSERVER_VALIDATION_TYPE_UNSPECIFIED" - Unspecified type. @@ -1636,6 +1661,10 @@ type SqlserverValidationValidationDetail struct { // "DB_BUFFER_POOL_EXTENSION" - The BUFFER_POOL_EXTENSION table. // "DB_MAX_SERVER_MEMORY" - The MAX_SERVER_MEMORY table. // "INSTANCE_METRICS" - The INSTANCE_METRICS table. + // "DB_INDEX_FRAGMENTATION" - The DB_INDEX_FRAGMENTATION table. + // "DB_TABLE_INDEX_COMPRESSION" - The DB_TABLE_INDEX_COMPRESSION + // table. + // "DB_BACKUP_POLICY" - The DB_BACKUP_POLICY table. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Details") to diff --git a/workstations/v1/workstations-api.json b/workstations/v1/workstations-api.json index f92dbc51b41..81ae5a11d8f 100644 --- a/workstations/v1/workstations-api.json +++ b/workstations/v1/workstations-api.json @@ -1195,7 +1195,7 @@ } } }, - "revision": "20230802", + "revision": "20230904", "rootUrl": "https://workstations.googleapis.com/", "schemas": { "AuditConfig": { @@ -1404,6 +1404,13 @@ "description": "Optional. The email address of the service account for Cloud Workstations VMs created with this configuration. When specified, be sure that the service account has `logginglogEntries.create` permission on the project so it can write logs out to Cloud Logging. If using a custom container image, the service account must have permissions to pull the specified image. If you as the administrator want to be able to `ssh` into the underlying VM, you need to set this value to a service account for which you have the `iam.serviceAccounts.actAs` permission. Conversely, if you don't want anyone to be able to `ssh` into the underlying VM, use a service account where no one has that permission. If not set, VMs run with a service account provided by the Cloud Workstations service, and the image must be publicly accessible.", "type": "string" }, + "serviceAccountScopes": { + "description": "Optional. Scopes to grant to the service_account. Various scopes are automatically added based on feature usage. When specified, users of workstations under this configuration must have `iam.serviceAccounts.actAs` on the service account.", + "items": { + "type": "string" + }, + "type": "array" + }, "shieldedInstanceConfig": { "$ref": "GceShieldedInstanceConfig", "description": "Optional. A set of Compute Engine Shielded instance options." @@ -2042,6 +2049,12 @@ "readOnly": true, "type": "boolean" }, + "startTime": { + "description": "Output only. Time when this workstation was most recently successfully started, regardless of the workstation's initial state.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, "state": { "description": "Output only. Current state of the workstation.", "enum": [ @@ -2257,6 +2270,13 @@ "readOnly": true, "type": "boolean" }, + "replicaZones": { + "description": "Optional. Immutable. Specifies the zones used to replicate the VM and disk resources within the region. If set, exactly two zones within the workstation cluster's region must be specified—for example, `['us-central1-a', 'us-central1-f']`. If this field is empty, two default zones within the region are used. Immutable after the workstation configuration is created.", + "items": { + "type": "string" + }, + "type": "array" + }, "runningTimeout": { "description": "Optional. Number of seconds that a workstation can run until it is automatically shut down. We recommend that workstations be shut down daily to reduce costs and so that security updates can be applied upon restart. The idle_timeout and running_timeout fields are independent of each other. Note that the running_timeout field shuts down VMs after the specified time, regardless of whether or not the VMs are idle. Provide duration terminated by `s` for seconds—for example, `\"54000s\"` (15 hours). Defaults to `\"43200s\"` (12 hours). A value of `\"0s\"` indicates that workstations using this configuration should never time out. If encryption_key is set, it must be greater than `\"0s\"` and less than `\"86400s\"` (24 hours). Warning: A value of `\"0s\"` indicates that Cloud Workstations VMs created with this configuration have no maximum running time. This is strongly discouraged because you incur costs and will not pick up security updates.", "format": "google-duration", diff --git a/workstations/v1/workstations-gen.go b/workstations/v1/workstations-gen.go index d9decbcae71..2a0db3f950f 100644 --- a/workstations/v1/workstations-gen.go +++ b/workstations/v1/workstations-gen.go @@ -676,6 +676,13 @@ type GceInstance struct { // and the image must be publicly accessible. ServiceAccount string `json:"serviceAccount,omitempty"` + // ServiceAccountScopes: Optional. Scopes to grant to the + // service_account. Various scopes are automatically added based on + // feature usage. When specified, users of workstations under this + // configuration must have `iam.serviceAccounts.actAs` on the service + // account. + ServiceAccountScopes []string `json:"serviceAccountScopes,omitempty"` + // ShieldedInstanceConfig: Optional. A set of Compute Engine Shielded // instance options. ShieldedInstanceConfig *GceShieldedInstanceConfig `json:"shieldedInstanceConfig,omitempty"` @@ -1844,6 +1851,10 @@ type Workstation struct { // currently being updated to match its intended state. Reconciling bool `json:"reconciling,omitempty"` + // StartTime: Output only. Time when this workstation was most recently + // successfully started, regardless of the workstation's initial state. + StartTime string `json:"startTime,omitempty"` + // State: Output only. Current state of the workstation. // // Possible values: @@ -2086,6 +2097,14 @@ type WorkstationConfig struct { // configuration is currently being updated to match its intended state. Reconciling bool `json:"reconciling,omitempty"` + // ReplicaZones: Optional. Immutable. Specifies the zones used to + // replicate the VM and disk resources within the region. If set, + // exactly two zones within the workstation cluster's region must be + // specified—for example, `['us-central1-a', 'us-central1-f']`. If + // this field is empty, two default zones within the region are used. + // Immutable after the workstation configuration is created. + ReplicaZones []string `json:"replicaZones,omitempty"` + // RunningTimeout: Optional. Number of seconds that a workstation can // run until it is automatically shut down. We recommend that // workstations be shut down daily to reduce costs and so that security diff --git a/workstations/v1beta/workstations-api.json b/workstations/v1beta/workstations-api.json index a57b49a96a4..414171f2e1a 100644 --- a/workstations/v1beta/workstations-api.json +++ b/workstations/v1beta/workstations-api.json @@ -1127,7 +1127,7 @@ } } }, - "revision": "20230802", + "revision": "20230904", "rootUrl": "https://workstations.googleapis.com/", "schemas": { "Accelerator": { @@ -1278,6 +1278,21 @@ }, "type": "object" }, + "EphemeralDirectory": { + "description": "An ephemeral directory which won't persist across workstation sessions. It is freshly created on every workstation start operation.", + "id": "EphemeralDirectory", + "properties": { + "gcePd": { + "$ref": "GcePersistentDisk", + "description": "An EphemeralDirectory backed by a Compute Engine persistent disk." + }, + "mountPath": { + "description": "Required. Location of this directory in the running workstation.", + "type": "string" + } + }, + "type": "object" + }, "Expr": { "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", "id": "Expr", @@ -1359,6 +1374,13 @@ "description": "Optional. The email address of the service account for Cloud Workstations VMs created with this configuration. When specified, be sure that the service account has `logginglogEntries.create` permission on the project so it can write logs out to Cloud Logging. If using a custom container image, the service account must have permissions to pull the specified image. If you as the administrator want to be able to `ssh` into the underlying VM, you need to set this value to a service account for which you have the `iam.serviceAccounts.actAs` permission. Conversely, if you don't want anyone to be able to `ssh` into the underlying VM, use a service account where no one has that permission. If not set, VMs run with a service account provided by the Cloud Workstations service, and the image must be publicly accessible.", "type": "string" }, + "serviceAccountScopes": { + "description": "Optional. Scopes to grant to the service_account. Various scopes are automatically added based on feature usage. When specified, users of workstations under this configuration must have `iam.serviceAccounts.actAs` on the service account.", + "items": { + "type": "string" + }, + "type": "array" + }, "shieldedInstanceConfig": { "$ref": "GceShieldedInstanceConfig", "description": "Optional. A set of Compute Engine Shielded instance options." @@ -1373,6 +1395,29 @@ }, "type": "object" }, + "GcePersistentDisk": { + "description": "An EphemeralDirectory is backed by a Compute Engine persistent disk.", + "id": "GcePersistentDisk", + "properties": { + "diskType": { + "description": "Optional. Type of the disk to use. Defaults to `\"pd-standard\"`.", + "type": "string" + }, + "readOnly": { + "description": "Optional. Whether the disk is read only. If true, the disk may be shared by multiple VMs and source_snapshot must be set.", + "type": "boolean" + }, + "sourceImage": { + "description": "Optional. Name of the disk image to use as the source for the disk. Must be empty if source_snapshot is set. Updating source_image will update content in the ephemeral directory after the workstation is restarted. This field is mutable.", + "type": "string" + }, + "sourceSnapshot": { + "description": "Optional. Name of the snapshot to use as the source for the disk. Must be empty if source_image is set. Updating source_snapshot will update content in the ephemeral directory after the workstation is restarted. This field is mutable.", + "type": "string" + } + }, + "type": "object" + }, "GceRegionalPersistentDisk": { "description": "A PersistentDirectory backed by a Compute Engine regional persistent disk. The persistent_directories field is repeated, but it may contain only one entry. It creates a [persistent disk](https://cloud.google.com/compute/docs/disks/persistent-disks) that mounts to the workstation VM at `/home` when the session starts and detaches when the session ends. If this field is empty, workstations created with this configuration do not have a persistent home directory.", "id": "GceRegionalPersistentDisk", @@ -1952,6 +1997,12 @@ "readOnly": true, "type": "boolean" }, + "startTime": { + "description": "Output only. Time when this workstation was most recently successfully started, regardless of the workstation's initial state.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, "state": { "description": "Output only. Current state of the workstation.", "enum": [ @@ -2128,6 +2179,13 @@ "$ref": "CustomerEncryptionKey", "description": "Immutable. Encrypts resources of this workstation configuration using a customer-managed encryption key (CMEK). If specified, the boot disk of the Compute Engine instance and the persistent disk are encrypted using this encryption key. If this field is not set, the disks are encrypted using a generated key. Customer-managed encryption keys do not protect disk metadata. If the customer-managed encryption key is rotated, when the workstation instance is stopped, the system attempts to recreate the persistent disk with the new version of the key. Be sure to keep older versions of the key until the persistent disk is recreated. Otherwise, data on the persistent disk might be lost. If the encryption key is revoked, the workstation session automatically stops within 7 hours. Immutable after the workstation configuration is created." }, + "ephemeralDirectories": { + "description": "Optional. Ephemeral directories which won't persist across workstation sessions.", + "items": { + "$ref": "EphemeralDirectory" + }, + "type": "array" + }, "etag": { "description": "Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding.", "type": "string" @@ -2171,6 +2229,13 @@ "readOnly": true, "type": "boolean" }, + "replicaZones": { + "description": "Optional. Immutable. Specifies the zones used to replicate the VM and disk resources within the region. If set, exactly two zones within the workstation cluster's region must be specified—for example, `['us-central1-a', 'us-central1-f']`. If this field is empty, two default zones within the region are used. Immutable after the workstation configuration is created.", + "items": { + "type": "string" + }, + "type": "array" + }, "runningTimeout": { "description": "Optional. Number of seconds that a workstation can run until it is automatically shut down. We recommend that workstations be shut down daily to reduce costs and so that security updates can be applied upon restart. The idle_timeout and running_timeout fields are independent of each other. Note that the running_timeout field shuts down VMs after the specified time, regardless of whether or not the VMs are idle. Provide duration terminated by `s` for seconds—for example, `\"54000s\"` (15 hours). Defaults to `\"43200s\"` (12 hours). A value of `\"0s\"` indicates that workstations using this configuration should never time out. If encryption_key is set, it must be greater than `\"0s\"` and less than `\"86400s\"` (24 hours). Warning: A value of `\"0s\"` indicates that Cloud Workstations VMs created with this configuration have no maximum running time. This is strongly discouraged because you incur costs and will not pick up security updates.", "format": "google-duration", diff --git a/workstations/v1beta/workstations-gen.go b/workstations/v1beta/workstations-gen.go index e0ee23b9b33..3b3c9d8c024 100644 --- a/workstations/v1beta/workstations-gen.go +++ b/workstations/v1beta/workstations-gen.go @@ -534,6 +534,41 @@ func (s *CustomerEncryptionKey) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// EphemeralDirectory: An ephemeral directory which won't persist across +// workstation sessions. It is freshly created on every workstation +// start operation. +type EphemeralDirectory struct { + // GcePd: An EphemeralDirectory backed by a Compute Engine persistent + // disk. + GcePd *GcePersistentDisk `json:"gcePd,omitempty"` + + // MountPath: Required. Location of this directory in the running + // workstation. + MountPath string `json:"mountPath,omitempty"` + + // ForceSendFields is a list of field names (e.g. "GcePd") 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. "GcePd") 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 *EphemeralDirectory) MarshalJSON() ([]byte, error) { + type NoMethod EphemeralDirectory + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Expr: Represents a textual expression in the Common Expression // Language (CEL) syntax. CEL is a C-like expression language. The // syntax and semantics of CEL are documented at @@ -712,6 +747,13 @@ type GceInstance struct { // and the image must be publicly accessible. ServiceAccount string `json:"serviceAccount,omitempty"` + // ServiceAccountScopes: Optional. Scopes to grant to the + // service_account. Various scopes are automatically added based on + // feature usage. When specified, users of workstations under this + // configuration must have `iam.serviceAccounts.actAs` on the service + // account. + ServiceAccountScopes []string `json:"serviceAccountScopes,omitempty"` + // ShieldedInstanceConfig: Optional. A set of Compute Engine Shielded // instance options. ShieldedInstanceConfig *GceShieldedInstanceConfig `json:"shieldedInstanceConfig,omitempty"` @@ -747,6 +789,52 @@ func (s *GceInstance) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GcePersistentDisk: An EphemeralDirectory is backed by a Compute +// Engine persistent disk. +type GcePersistentDisk struct { + // DiskType: Optional. Type of the disk to use. Defaults to + // "pd-standard". + DiskType string `json:"diskType,omitempty"` + + // ReadOnly: Optional. Whether the disk is read only. If true, the disk + // may be shared by multiple VMs and source_snapshot must be set. + ReadOnly bool `json:"readOnly,omitempty"` + + // SourceImage: Optional. Name of the disk image to use as the source + // for the disk. Must be empty if source_snapshot is set. Updating + // source_image will update content in the ephemeral directory after the + // workstation is restarted. This field is mutable. + SourceImage string `json:"sourceImage,omitempty"` + + // SourceSnapshot: Optional. Name of the snapshot to use as the source + // for the disk. Must be empty if source_image is set. Updating + // source_snapshot will update content in the ephemeral directory after + // the workstation is restarted. This field is mutable. + SourceSnapshot string `json:"sourceSnapshot,omitempty"` + + // ForceSendFields is a list of field names (e.g. "DiskType") 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. "DiskType") 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 *GcePersistentDisk) MarshalJSON() ([]byte, error) { + type NoMethod GcePersistentDisk + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GceRegionalPersistentDisk: A PersistentDirectory backed by a Compute // Engine regional persistent disk. The persistent_directories field is // repeated, but it may contain only one entry. It creates a persistent @@ -1796,6 +1884,10 @@ type Workstation struct { // currently being updated to match its intended state. Reconciling bool `json:"reconciling,omitempty"` + // StartTime: Output only. Time when this workstation was most recently + // successfully started, regardless of the workstation's initial state. + StartTime string `json:"startTime,omitempty"` + // State: Output only. Current state of the workstation. // // Possible values: @@ -2005,6 +2097,10 @@ type WorkstationConfig struct { // after the workstation configuration is created. EncryptionKey *CustomerEncryptionKey `json:"encryptionKey,omitempty"` + // EphemeralDirectories: Optional. Ephemeral directories which won't + // persist across workstation sessions. + EphemeralDirectories []*EphemeralDirectory `json:"ephemeralDirectories,omitempty"` + // Etag: Optional. Checksum computed by the server. May be sent on // update and delete requests to make sure that the client has an // up-to-date value before proceeding. @@ -2045,6 +2141,14 @@ type WorkstationConfig struct { // configuration is currently being updated to match its intended state. Reconciling bool `json:"reconciling,omitempty"` + // ReplicaZones: Optional. Immutable. Specifies the zones used to + // replicate the VM and disk resources within the region. If set, + // exactly two zones within the workstation cluster's region must be + // specified—for example, `['us-central1-a', 'us-central1-f']`. If + // this field is empty, two default zones within the region are used. + // Immutable after the workstation configuration is created. + ReplicaZones []string `json:"replicaZones,omitempty"` + // RunningTimeout: Optional. Number of seconds that a workstation can // run until it is automatically shut down. We recommend that // workstations be shut down daily to reduce costs and so that security