From 8b9b77c50f3b72bd92c0d3574f6c6209b21f4c8d Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 27 Sep 2024 07:09:22 +0000 Subject: [PATCH] feat(all): auto-regenerate discovery clients --- .../v1/bigquerydatatransfer-api.json | 52 +- clouddeploy/v1/clouddeploy-api.json | 760 ++- clouddeploy/v1/clouddeploy-gen.go | 1315 ++++- cloudidentity/v1/cloudidentity-api.json | 10 +- cloudidentity/v1/cloudidentity-gen.go | 17 +- cloudidentity/v1beta1/cloudidentity-api.json | 22 +- cloudidentity/v1beta1/cloudidentity-gen.go | 45 +- .../v1/containeranalysis-api.json | 8 +- containeranalysis/v1/containeranalysis-gen.go | 2 + .../v1beta/firebasedataconnect-api.json | 1827 +++++++ .../v1beta/firebasedataconnect-gen.go | 4389 +++++++++++++++++ iam/v1/iam-api.json | 4 +- iam/v1/iam-gen.go | 2 +- memcache/v1/memcache-api.json | 390 +- memcache/v1/memcache-gen.go | 420 ++ .../v1beta1/networksecurity-api.json | 55 +- .../v1beta1/networksecurity-gen.go | 94 +- .../v1beta1/networkservices-api.json | 277 +- .../v1beta1/networkservices-gen.go | 764 +-- .../v1alpha1/playdeveloperreporting-api.json | 14 +- .../v1alpha1/playdeveloperreporting-gen.go | 4 + .../v1beta1/playdeveloperreporting-api.json | 14 +- .../v1beta1/playdeveloperreporting-gen.go | 4 + pubsub/v1/pubsub-api.json | 113 +- pubsub/v1/pubsub-gen.go | 137 + .../v1/servicemanagement-api.json | 20 +- servicemanagement/v1/servicemanagement-gen.go | 27 + 27 files changed, 9636 insertions(+), 1150 deletions(-) create mode 100644 firebasedataconnect/v1beta/firebasedataconnect-api.json create mode 100644 firebasedataconnect/v1beta/firebasedataconnect-gen.go diff --git a/bigquerydatatransfer/v1/bigquerydatatransfer-api.json b/bigquerydatatransfer/v1/bigquerydatatransfer-api.json index 24b2a2e1057..93694f46f14 100644 --- a/bigquerydatatransfer/v1/bigquerydatatransfer-api.json +++ b/bigquerydatatransfer/v1/bigquerydatatransfer-api.json @@ -27,6 +27,11 @@ "endpointUrl": "https://bigquerydatatransfer.europe-west3.rep.googleapis.com/", "location": "europe-west3" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://bigquerydatatransfer.europe-west8.rep.googleapis.com/", + "location": "europe-west8" + }, { "description": "Regional Endpoint", "endpointUrl": "https://bigquerydatatransfer.europe-west9.rep.googleapis.com/", @@ -37,20 +42,65 @@ "endpointUrl": "https://bigquerydatatransfer.me-central2.rep.googleapis.com/", "location": "me-central2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://bigquerydatatransfer.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://bigquerydatatransfer.us-central2.rep.googleapis.com/", + "location": "us-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://bigquerydatatransfer.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, { "description": "Regional Endpoint", "endpointUrl": "https://bigquerydatatransfer.us-east4.rep.googleapis.com/", "location": "us-east4" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://bigquerydatatransfer.us-east5.rep.googleapis.com/", + "location": "us-east5" + }, { "description": "Regional Endpoint", "endpointUrl": "https://bigquerydatatransfer.us-east7.rep.googleapis.com/", "location": "us-east7" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://bigquerydatatransfer.us-south1.rep.googleapis.com/", + "location": "us-south1" + }, { "description": "Regional Endpoint", "endpointUrl": "https://bigquerydatatransfer.us-west1.rep.googleapis.com/", "location": "us-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://bigquerydatatransfer.us-west2.rep.googleapis.com/", + "location": "us-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://bigquerydatatransfer.us-west3.rep.googleapis.com/", + "location": "us-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://bigquerydatatransfer.us-west4.rep.googleapis.com/", + "location": "us-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://bigquerydatatransfer.us-west8.rep.googleapis.com/", + "location": "us-west8" } ], "fullyEncodeReservedExpansion": true, @@ -1407,7 +1457,7 @@ } } }, - "revision": "20240914", + "revision": "20240922", "rootUrl": "https://bigquerydatatransfer.googleapis.com/", "schemas": { "CheckValidCredsRequest": { diff --git a/clouddeploy/v1/clouddeploy-api.json b/clouddeploy/v1/clouddeploy-api.json index 384221014d1..a6709d40a84 100644 --- a/clouddeploy/v1/clouddeploy-api.json +++ b/clouddeploy/v1/clouddeploy-api.json @@ -1159,6 +1159,12 @@ "parent" ], "parameters": { + "overrideDeployPolicy": { + "description": "Optional. Deploy policies to override. Format is `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.", + "location": "query", + "repeated": true, + "type": "string" + }, "parent": { "description": "Required. The parent collection in which the `Release` is created. The format is `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}`.", "location": "path", @@ -1361,6 +1367,12 @@ "parent" ], "parameters": { + "overrideDeployPolicy": { + "description": "Optional. Deploy policies to override. Format is `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.", + "location": "query", + "repeated": true, + "type": "string" + }, "parent": { "description": "Required. The parent collection in which the `Rollout` must be created. The format is `projects/{project_id}/locations/{location_name}/deliveryPipelines/{pipeline_name}/releases/{release_name}`.", "location": "path", @@ -1638,6 +1650,218 @@ } } }, + "deployPolicies": { + "methods": { + "create": { + "description": "Creates a new DeployPolicy in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployPolicies", + "httpMethod": "POST", + "id": "clouddeploy.projects.locations.deployPolicies.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "deployPolicyId": { + "description": "Required. ID of the `DeployPolicy`.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent collection in which the `DeployPolicy` must be created. The format is `projects/{project_id}/locations/{location_name}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "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 knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set to true, the request is validated and the user is provided with an expected result, but no actual change is made.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+parent}/deployPolicies", + "request": { + "$ref": "DeployPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single DeployPolicy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployPolicies/{deployPoliciesId}", + "httpMethod": "DELETE", + "id": "clouddeploy.projects.locations.deployPolicies.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If set to true, then deleting an already deleted or non-existing `DeployPolicy` will succeed.", + "location": "query", + "type": "boolean" + }, + "etag": { + "description": "Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the `DeployPolicy` to delete. The format is `projects/{project_id}/locations/{location_name}/deployPolicies/{deploy_policy_name}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/deployPolicies/[^/]+$", + "required": true, + "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 knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the review, but do not actually post it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single DeployPolicy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployPolicies/{deployPoliciesId}", + "httpMethod": "GET", + "id": "clouddeploy.projects.locations.deployPolicies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the `DeployPolicy`. Format must be `projects/{project_id}/locations/{location_name}/deployPolicies/{deploy_policy_name}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/deployPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "DeployPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists DeployPolicies in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployPolicies", + "httpMethod": "GET", + "id": "clouddeploy.projects.locations.deployPolicies.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filter deploy policies to be returned. See https://google.aip.dev/160 for more details. All fields can be used in the filter.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field to sort by. See https://google.aip.dev/132#ordering for more details.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of deploy policies to return. The service may return fewer than this value. If unspecified, at most 50 deploy policies will be returned. The maximum value is 1000; values above 1000 will be set to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListDeployPolicies` call. Provide this to retrieve the subsequent page. When paginating, all other provided parameters match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns this collection of deploy policies. Format must be `projects/{project_id}/locations/{location_name}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/deployPolicies", + "response": { + "$ref": "ListDeployPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single DeployPolicy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deployPolicies/{deployPoliciesId}", + "httpMethod": "PATCH", + "id": "clouddeploy.projects.locations.deployPolicies.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If set to true, updating a `DeployPolicy` that does not exist will result in the creation of a new `DeployPolicy`.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Output only. Name of the `DeployPolicy`. Format is `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. The `deployPolicy` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/deployPolicies/[^/]+$", + "required": true, + "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 knows to ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten by the update in the `DeployPolicy` resource. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it's in the mask. If the user doesn't provide a mask then all fields are overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set to true, the request is validated and the user is provided with an expected result, but no actual change is made.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "DeployPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "operations": { "methods": { "cancel": { @@ -2065,7 +2289,7 @@ } } }, - "revision": "20240809", + "revision": "20240920", "rootUrl": "https://clouddeploy.googleapis.com/", "schemas": { "AbandonReleaseRequest": { @@ -2135,6 +2359,13 @@ "description": "The request object used by `AdvanceRollout`.", "id": "AdvanceRolloutRequest", "properties": { + "overrideDeployPolicy": { + "description": "Optional. Deploy policies to override. Format is `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.", + "items": { + "type": "string" + }, + "type": "array" + }, "phaseId": { "description": "Required. The phase ID to advance the `Rollout` to.", "type": "string" @@ -2194,6 +2425,13 @@ "approved": { "description": "Required. True = approve; false = reject", "type": "boolean" + }, + "overrideDeployPolicy": { + "description": "Optional. Deploy policies to override. Format is `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -2348,6 +2586,7 @@ "TYPE_RESTRICTION_VIOLATED", "TYPE_RESOURCE_DELETED", "TYPE_ROLLOUT_UPDATE", + "TYPE_DEPLOY_POLICY_EVALUATION", "TYPE_RENDER_STATUES_CHANGE" ], "enumDeprecated": [ @@ -2358,6 +2597,7 @@ false, false, false, + false, true ], "enumDescriptions": [ @@ -2368,6 +2608,7 @@ "Restriction check failed.", "Resource deleted.", "Rollout updated.", + "Deploy Policy evaluation.", "Deprecated: This field is never used. Use release_render log type instead." ], "type": "string" @@ -2488,6 +2729,11 @@ "readOnly": true, "type": "string" }, + "policyViolation": { + "$ref": "PolicyViolation", + "description": "Output only. Contains information about what policies prevented the `AutomationRun` to proceed.", + "readOnly": true + }, "promoteReleaseOperation": { "$ref": "PromoteReleaseOperation", "description": "Output only. Promotes a release to a specified 'Target'.", @@ -2594,6 +2840,7 @@ "TYPE_RESTRICTION_VIOLATED", "TYPE_RESOURCE_DELETED", "TYPE_ROLLOUT_UPDATE", + "TYPE_DEPLOY_POLICY_EVALUATION", "TYPE_RENDER_STATUES_CHANGE" ], "enumDeprecated": [ @@ -2604,6 +2851,7 @@ false, false, false, + false, true ], "enumDescriptions": [ @@ -2614,6 +2862,7 @@ "Restriction check failed.", "Resource deleted.", "Rollout updated.", + "Deploy Policy evaluation.", "Deprecated: This field is never used. Use release_render log type instead." ], "type": "string" @@ -2725,7 +2974,15 @@ "CancelRolloutRequest": { "description": "The request object used by `CancelRollout`.", "id": "CancelRolloutRequest", - "properties": {}, + "properties": { + "overrideDeployPolicy": { + "description": "Optional. Deploy policies to override. Format is `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, "type": "object" }, "CancelRolloutResponse": { @@ -3046,6 +3303,7 @@ "TYPE_RESTRICTION_VIOLATED", "TYPE_RESOURCE_DELETED", "TYPE_ROLLOUT_UPDATE", + "TYPE_DEPLOY_POLICY_EVALUATION", "TYPE_RENDER_STATUES_CHANGE" ], "enumDeprecated": [ @@ -3056,6 +3314,7 @@ false, false, false, + false, true ], "enumDescriptions": [ @@ -3066,6 +3325,7 @@ "Restriction check failed.", "Resource deleted.", "Rollout updated.", + "Deploy Policy evaluation.", "Deprecated: This field is never used. Use release_render log type instead." ], "type": "string" @@ -3173,6 +3433,24 @@ }, "type": "object" }, + "DeliveryPipelineAttribute": { + "description": "Contains criteria for selecting DeliveryPipelines.", + "id": "DeliveryPipelineAttribute", + "properties": { + "id": { + "description": "ID of the `DeliveryPipeline`. The value of this field could be one of the following: * The last segment of a pipeline name * \"*\", all delivery pipelines in a location", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "DeliveryPipeline labels.", + "type": "object" + } + }, + "type": "object" + }, "DeliveryPipelineNotificationEvent": { "description": "Payload proto for \"clouddeploy.googleapis.com/deliverypipeline_notification\" Platform Log event that describes the failure to send delivery pipeline status change Pub/Sub notification.", "id": "DeliveryPipelineNotificationEvent", @@ -3199,6 +3477,7 @@ "TYPE_RESTRICTION_VIOLATED", "TYPE_RESOURCE_DELETED", "TYPE_ROLLOUT_UPDATE", + "TYPE_DEPLOY_POLICY_EVALUATION", "TYPE_RENDER_STATUES_CHANGE" ], "enumDeprecated": [ @@ -3209,6 +3488,7 @@ false, false, false, + false, true ], "enumDescriptions": [ @@ -3219,6 +3499,7 @@ "Restriction check failed.", "Resource deleted.", "Rollout updated.", + "Deploy Policy evaluation.", "Deprecated: This field is never used. Use release_render log type instead." ], "type": "string" @@ -3345,6 +3626,167 @@ }, "type": "object" }, + "DeployPolicy": { + "description": "A `DeployPolicy` resource in the Cloud Deploy API. A `DeployPolicy` inhibits manual or automation driven actions within a Delivery Pipeline or Target.", + "id": "DeployPolicy", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. Annotations must meet the following constraints: * Annotations are key/value pairs. * Valid annotation keys have two segments: an optional prefix and name, separated by a slash (`/`). * The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character (`[a-z0-9A-Z]`) with dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics between. * The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots(`.`), not longer than 253 characters in total, followed by a slash (`/`). See https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set for more details.", + "type": "object" + }, + "createTime": { + "description": "Output only. Time at which the deploy policy was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Description of the `DeployPolicy`. Max length is 255 characters.", + "type": "string" + }, + "etag": { + "description": "The weak etag of the `Automation` resource. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be \u003c= 128 bytes.", + "type": "object" + }, + "name": { + "description": "Output only. Name of the `DeployPolicy`. Format is `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. The `deployPolicy` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`", + "readOnly": true, + "type": "string" + }, + "rules": { + "description": "Required. Rules to apply. At least one rule must be present.", + "items": { + "$ref": "PolicyRule" + }, + "type": "array" + }, + "selectors": { + "description": "Required. Selected resources to which the policy will be applied. At least one selector is required. If one selector matches the resource the policy applies. For example, if there are two selectors and the action being attempted matches one of them, the policy will apply to that action.", + "items": { + "$ref": "DeployPolicyResourceSelector" + }, + "type": "array" + }, + "suspended": { + "description": "When suspended, the policy will not prevent actions from occurring, even if the action violates the policy.", + "type": "boolean" + }, + "uid": { + "description": "Output only. Unique identifier of the `DeployPolicy`.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Most recent time at which the deploy policy was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DeployPolicyEvaluationEvent": { + "description": "Payload proto for \"clouddeploy.googleapis.com/deploypolicy_evaluation\" Platform Log event that describes the deploy policy evaluation event.", + "id": "DeployPolicyEvaluationEvent", + "properties": { + "allowed": { + "description": "Whether the request is allowed. Allowed is set as true if: (1) the request complies with the policy; or (2) the request doesn't comply with the policy but the policy was overridden; or (3) the request doesn't comply with the policy but the policy was suspended", + "type": "boolean" + }, + "deliveryPipeline": { + "description": "The name of the `Delivery Pipeline`.", + "type": "string" + }, + "deployPolicy": { + "description": "The name of the `DeployPolicy`.", + "type": "string" + }, + "deployPolicyUid": { + "description": "Unique identifier of the `DeployPolicy`.", + "type": "string" + }, + "invoker": { + "description": "What invoked the action (e.g. a user or automation).", + "enum": [ + "INVOKER_UNSPECIFIED", + "USER", + "DEPLOY_AUTOMATION" + ], + "enumDescriptions": [ + "Unspecified.", + "The action is user-driven. For example, creating a rollout manually via a gcloud create command.", + "Automated action by Cloud Deploy." + ], + "type": "string" + }, + "message": { + "description": "Debug message for when a deploy policy event occurs.", + "type": "string" + }, + "overrides": { + "description": "Things that could have overridden the policy verdict. Overrides together with verdict decide whether the request is allowed.", + "items": { + "enum": [ + "POLICY_VERDICT_OVERRIDE_UNSPECIFIED", + "POLICY_OVERRIDDEN", + "POLICY_SUSPENDED" + ], + "enumDescriptions": [ + "This should never happen.", + "The policy was overridden.", + "The policy was suspended." + ], + "type": "string" + }, + "type": "array" + }, + "pipelineUid": { + "description": "Unique identifier of the `Delivery Pipeline`.", + "type": "string" + }, + "rule": { + "description": "Rule id.", + "type": "string" + }, + "ruleType": { + "description": "Rule type (e.g. Restrict Rollouts).", + "type": "string" + }, + "target": { + "description": "The name of the `Target`. This is an optional field, as a `Target` may not always be applicable to a policy.", + "type": "string" + }, + "targetUid": { + "description": "Unique identifier of the `Target`. This is an optional field, as a `Target` may not always be applicable to a policy.", + "type": "string" + }, + "verdict": { + "description": "The policy verdict of the request.", + "enum": [ + "POLICY_VERDICT_UNSPECIFIED", + "ALLOWED_BY_POLICY", + "DENIED_BY_POLICY" + ], + "enumDescriptions": [ + "This should never happen.", + "Allowed by policy. This enum value is not currently used but may be used in the future. Currently logs are only generated when a request is denied by policy.", + "Denied by policy." + ], + "type": "string" + } + }, + "type": "object" + }, "DeployPolicyNotificationEvent": { "description": "Payload proto for \"clouddeploy.googleapis.com/deploypolicy_notification\". Platform Log event that describes the failure to send a pub/sub notification when there is a DeployPolicy status change.", "id": "DeployPolicyNotificationEvent", @@ -3371,6 +3813,7 @@ "TYPE_RESTRICTION_VIOLATED", "TYPE_RESOURCE_DELETED", "TYPE_ROLLOUT_UPDATE", + "TYPE_DEPLOY_POLICY_EVALUATION", "TYPE_RENDER_STATUES_CHANGE" ], "enumDeprecated": [ @@ -3381,6 +3824,7 @@ false, false, false, + false, true ], "enumDescriptions": [ @@ -3391,6 +3835,7 @@ "Restriction check failed.", "Resource deleted.", "Rollout updated.", + "Deploy Policy evaluation.", "Deprecated: This field is never used. Use release_render log type instead." ], "type": "string" @@ -3398,6 +3843,21 @@ }, "type": "object" }, + "DeployPolicyResourceSelector": { + "description": "Contains information on the resources to select for a deploy policy. Attributes provided must all match the resource in order for policy restrictions to apply. For example, if delivery pipelines attributes given are an id \"prod\" and labels \"foo: bar\", a delivery pipeline resource must match both that id and have that label in order to be subject to the policy.", + "id": "DeployPolicyResourceSelector", + "properties": { + "deliveryPipeline": { + "$ref": "DeliveryPipelineAttribute", + "description": "Optional. Contains attributes about a delivery pipeline." + }, + "target": { + "$ref": "TargetAttribute", + "description": "Optional. Contains attributes about a target." + } + }, + "type": "object" + }, "DeploymentJobs": { "description": "Deployment job composition.", "id": "DeploymentJobs", @@ -3573,6 +4033,13 @@ "description": "Required. The job ID for the Job to ignore.", "type": "string" }, + "overrideDeployPolicy": { + "description": "Optional. Deploy policies to override. Format is `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.", + "items": { + "type": "string" + }, + "type": "array" + }, "phaseId": { "description": "Required. The phase ID the Job to ignore belongs to.", "type": "string" @@ -3811,6 +4278,7 @@ "TYPE_RESTRICTION_VIOLATED", "TYPE_RESOURCE_DELETED", "TYPE_ROLLOUT_UPDATE", + "TYPE_DEPLOY_POLICY_EVALUATION", "TYPE_RENDER_STATUES_CHANGE" ], "enumDeprecated": [ @@ -3821,6 +4289,7 @@ false, false, false, + false, true ], "enumDescriptions": [ @@ -3831,6 +4300,7 @@ "Restriction check failed.", "Resource deleted.", "Rollout updated.", + "Deploy Policy evaluation.", "Deprecated: This field is never used. Use release_render log type instead." ], "type": "string" @@ -3953,6 +4423,31 @@ }, "type": "object" }, + "ListDeployPoliciesResponse": { + "description": "The response object from `ListDeployPolicies`.", + "id": "ListDeployPoliciesResponse", + "properties": { + "deployPolicies": { + "description": "The `DeployPolicy` objects.", + "items": { + "$ref": "DeployPolicy" + }, + "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" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListJobRunsResponse": { "description": "ListJobRunsResponse is the response object returned by `ListJobRuns`.", "id": "ListJobRunsResponse", @@ -4159,6 +4654,29 @@ }, "type": "object" }, + "OneTimeWindow": { + "description": "One-time window within which actions are restricted. For example, blocking actions over New Year's Eve from December 31st at 5pm to January 1st at 9am.", + "id": "OneTimeWindow", + "properties": { + "endDate": { + "$ref": "Date", + "description": "Required. End date." + }, + "endTime": { + "$ref": "TimeOfDay", + "description": "Required. End time (exclusive). You may use 24:00 for the end of the day." + }, + "startDate": { + "$ref": "Date", + "description": "Required. Start date." + }, + "startTime": { + "$ref": "TimeOfDay", + "description": "Required. Start time (inclusive). Use 00:00 for the beginning of the day." + } + }, + "type": "object" + }, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", @@ -4411,6 +4929,50 @@ }, "type": "object" }, + "PolicyRule": { + "description": "Deploy Policy rule.", + "id": "PolicyRule", + "properties": { + "rolloutRestriction": { + "$ref": "RolloutRestriction", + "description": "Rollout restrictions." + } + }, + "type": "object" + }, + "PolicyViolation": { + "description": "Returned from an action if one or more policies were violated, and therefore the action was prevented. Contains information about what policies were violated and why.", + "id": "PolicyViolation", + "properties": { + "policyViolationDetails": { + "description": "Policy violation details.", + "items": { + "$ref": "PolicyViolationDetails" + }, + "type": "array" + } + }, + "type": "object" + }, + "PolicyViolationDetails": { + "description": "Policy violation details.", + "id": "PolicyViolationDetails", + "properties": { + "failureMessage": { + "description": "User readable message about why the request violated a policy. This is not intended for machine parsing.", + "type": "string" + }, + "policy": { + "description": "Name of the policy that was violated. Policy resource will be in the format of `projects/{project}/locations/{location}/policies/{policy}`.", + "type": "string" + }, + "ruleId": { + "description": "Id of the rule that triggered the policy violation.", + "type": "string" + } + }, + "type": "object" + }, "Postdeploy": { "description": "Postdeploy contains the postdeploy job configuration information.", "id": "Postdeploy", @@ -4808,6 +5370,7 @@ "TYPE_RESTRICTION_VIOLATED", "TYPE_RESOURCE_DELETED", "TYPE_ROLLOUT_UPDATE", + "TYPE_DEPLOY_POLICY_EVALUATION", "TYPE_RENDER_STATUES_CHANGE" ], "enumDeprecated": [ @@ -4818,6 +5381,7 @@ false, false, false, + false, true ], "enumDescriptions": [ @@ -4828,6 +5392,7 @@ "Restriction check failed.", "Resource deleted.", "Rollout updated.", + "Deploy Policy evaluation.", "Deprecated: This field is never used. Use release_render log type instead." ], "type": "string" @@ -4888,6 +5453,7 @@ "TYPE_RESTRICTION_VIOLATED", "TYPE_RESOURCE_DELETED", "TYPE_ROLLOUT_UPDATE", + "TYPE_DEPLOY_POLICY_EVALUATION", "TYPE_RENDER_STATUES_CHANGE" ], "enumDeprecated": [ @@ -4898,6 +5464,7 @@ false, false, false, + false, true ], "enumDescriptions": [ @@ -4908,6 +5475,7 @@ "Restriction check failed.", "Resource deleted.", "Rollout updated.", + "Deploy Policy evaluation.", "Deprecated: This field is never used. Use release_render log type instead." ], "type": "string" @@ -5057,6 +5625,13 @@ "description": "Required. The job ID for the Job to retry.", "type": "string" }, + "overrideDeployPolicy": { + "description": "Optional. Deploy policies to override. Format is `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.", + "items": { + "type": "string" + }, + "type": "array" + }, "phaseId": { "description": "Required. The phase ID the Job to retry belongs to.", "type": "string" @@ -5170,6 +5745,13 @@ "description": "The request object for `RollbackTarget`.", "id": "RollbackTargetRequest", "properties": { + "overrideDeployPolicy": { + "description": "Optional. Deploy policies to override. Format is `projects/{project}/locations/{location}/deployPolicies/{deploy_policy}`.", + "items": { + "type": "string" + }, + "type": "array" + }, "releaseId": { "description": "Optional. ID of the `Release` to roll back to. If this isn't specified, the previous successful `Rollout` to the specified target will be used to determine the `Release`.", "type": "string" @@ -5440,6 +6022,7 @@ "TYPE_RESTRICTION_VIOLATED", "TYPE_RESOURCE_DELETED", "TYPE_ROLLOUT_UPDATE", + "TYPE_DEPLOY_POLICY_EVALUATION", "TYPE_RENDER_STATUES_CHANGE" ], "enumDeprecated": [ @@ -5450,6 +6033,7 @@ false, false, false, + false, true ], "enumDescriptions": [ @@ -5460,6 +6044,7 @@ "Restriction check failed.", "Resource deleted.", "Rollout updated.", + "Deploy Policy evaluation.", "Deprecated: This field is never used. Use release_render log type instead." ], "type": "string" @@ -5467,6 +6052,67 @@ }, "type": "object" }, + "RolloutRestriction": { + "description": "Rollout restrictions.", + "id": "RolloutRestriction", + "properties": { + "actions": { + "description": "Optional. Rollout actions to be restricted as part of the policy. If left empty, all actions will be restricted.", + "items": { + "enum": [ + "ROLLOUT_ACTIONS_UNSPECIFIED", + "ADVANCE", + "APPROVE", + "CANCEL", + "CREATE", + "IGNORE_JOB", + "RETRY_JOB", + "ROLLBACK", + "TERMINATE_JOBRUN" + ], + "enumDescriptions": [ + "Unspecified.", + "Advance the rollout to the next phase.", + "Approve the rollout.", + "Cancel the rollout.", + "Create a rollout.", + "Ignore a job result on the rollout.", + "Retry a job for a rollout.", + "Rollback a rollout.", + "Terminate a jobrun." + ], + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "Required. Restriction rule ID. Required and must be unique within a DeployPolicy. The format is `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.", + "type": "string" + }, + "invokers": { + "description": "Optional. What invoked the action. If left empty, all invoker types will be restricted.", + "items": { + "enum": [ + "INVOKER_UNSPECIFIED", + "USER", + "DEPLOY_AUTOMATION" + ], + "enumDescriptions": [ + "Unspecified.", + "The action is user-driven. For example, creating a rollout manually via a gcloud create command.", + "Automated action by Cloud Deploy." + ], + "type": "string" + }, + "type": "array" + }, + "timeWindows": { + "$ref": "TimeWindows", + "description": "Required. Time window within which actions are restricted." + } + }, + "type": "object" + }, "RolloutUpdateEvent": { "description": "Payload proto for \"clouddeploy.googleapis.com/rollout_update\" Platform Log event that describes the rollout update event.", "id": "RolloutUpdateEvent", @@ -5541,6 +6187,7 @@ "TYPE_RESTRICTION_VIOLATED", "TYPE_RESOURCE_DELETED", "TYPE_ROLLOUT_UPDATE", + "TYPE_DEPLOY_POLICY_EVALUATION", "TYPE_RENDER_STATUES_CHANGE" ], "enumDeprecated": [ @@ -5551,6 +6198,7 @@ false, false, false, + false, true ], "enumDescriptions": [ @@ -5561,6 +6209,7 @@ "Restriction check failed.", "Resource deleted.", "Rollout updated.", + "Deploy Policy evaluation.", "Deprecated: This field is never used. Use release_render log type instead." ], "type": "string" @@ -6030,6 +6679,7 @@ "TYPE_RESTRICTION_VIOLATED", "TYPE_RESOURCE_DELETED", "TYPE_ROLLOUT_UPDATE", + "TYPE_DEPLOY_POLICY_EVALUATION", "TYPE_RENDER_STATUES_CHANGE" ], "enumDeprecated": [ @@ -6040,6 +6690,7 @@ false, false, false, + false, true ], "enumDescriptions": [ @@ -6050,6 +6701,7 @@ "Restriction check failed.", "Resource deleted.", "Rollout updated.", + "Deploy Policy evaluation.", "Deprecated: This field is never used. Use release_render log type instead." ], "type": "string" @@ -6162,7 +6814,15 @@ "TerminateJobRunRequest": { "description": "The request object used by `TerminateJobRun`.", "id": "TerminateJobRunRequest", - "properties": {}, + "properties": { + "overrideDeployPolicy": { + "description": "Optional. Deploy policies to override. Format is `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, "type": "object" }, "TerminateJobRunResponse": { @@ -6199,6 +6859,58 @@ }, "type": "object" }, + "TimeOfDay": { + "description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.", + "id": "TimeOfDay", + "properties": { + "hours": { + "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "format": "int32", + "type": "integer" + }, + "minutes": { + "description": "Minutes of hour of day. Must be from 0 to 59.", + "format": "int32", + "type": "integer" + }, + "nanos": { + "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "format": "int32", + "type": "integer" + }, + "seconds": { + "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "TimeWindows": { + "description": "Time windows within which actions are restricted.", + "id": "TimeWindows", + "properties": { + "oneTimeWindows": { + "description": "Optional. One-time windows within which actions are restricted.", + "items": { + "$ref": "OneTimeWindow" + }, + "type": "array" + }, + "timeZone": { + "description": "Required. The time zone in IANA format [IANA Time Zone Database](https://www.iana.org/time-zones) (e.g. America/New_York).", + "type": "string" + }, + "weeklyWindows": { + "description": "Optional. Recurring weekly windows within which actions are restricted.", + "items": { + "$ref": "WeeklyWindow" + }, + "type": "array" + } + }, + "type": "object" + }, "VerifyJob": { "description": "A verify Job.", "id": "VerifyJob", @@ -6252,6 +6964,48 @@ } }, "type": "object" + }, + "WeeklyWindow": { + "description": "Weekly windows. For example, blocking actions every Saturday and Sunday. Another example would be blocking actions every weekday from 5pm to midnight.", + "id": "WeeklyWindow", + "properties": { + "daysOfWeek": { + "description": "Optional. Days of week. If left empty, all days of the week will be included.", + "items": { + "enum": [ + "DAY_OF_WEEK_UNSPECIFIED", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ], + "enumDescriptions": [ + "The day of the week is unspecified.", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "type": "string" + }, + "type": "array" + }, + "endTime": { + "$ref": "TimeOfDay", + "description": "Optional. End time (exclusive). Use 24:00 to indicate midnight. If you specify end_time you must also specify start_time. If left empty, this will block for the entire day for the days specified in days_of_week." + }, + "startTime": { + "$ref": "TimeOfDay", + "description": "Optional. Start time (inclusive). Use 00:00 for the beginning of the day. If you specify start_time you must also specify end_time. If left empty, this will block for the entire day for the days specified in days_of_week." + } + }, + "type": "object" } }, "servicePath": "", diff --git a/clouddeploy/v1/clouddeploy-gen.go b/clouddeploy/v1/clouddeploy-gen.go index 6b8d31a8f48..5e847ed38c0 100644 --- a/clouddeploy/v1/clouddeploy-gen.go +++ b/clouddeploy/v1/clouddeploy-gen.go @@ -170,6 +170,7 @@ func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { rs := &ProjectsLocationsService{s: s} rs.CustomTargetTypes = NewProjectsLocationsCustomTargetTypesService(s) rs.DeliveryPipelines = NewProjectsLocationsDeliveryPipelinesService(s) + rs.DeployPolicies = NewProjectsLocationsDeployPoliciesService(s) rs.Operations = NewProjectsLocationsOperationsService(s) rs.Targets = NewProjectsLocationsTargetsService(s) return rs @@ -182,6 +183,8 @@ type ProjectsLocationsService struct { DeliveryPipelines *ProjectsLocationsDeliveryPipelinesService + DeployPolicies *ProjectsLocationsDeployPoliciesService + Operations *ProjectsLocationsOperationsService Targets *ProjectsLocationsTargetsService @@ -265,6 +268,15 @@ type ProjectsLocationsDeliveryPipelinesReleasesRolloutsJobRunsService struct { s *Service } +func NewProjectsLocationsDeployPoliciesService(s *Service) *ProjectsLocationsDeployPoliciesService { + rs := &ProjectsLocationsDeployPoliciesService{s: s} + return rs +} + +type ProjectsLocationsDeployPoliciesService struct { + s *Service +} + func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService { rs := &ProjectsLocationsOperationsService{s: s} return rs @@ -357,17 +369,20 @@ func (s AdvanceRolloutOperation) MarshalJSON() ([]byte, error) { // AdvanceRolloutRequest: The request object used by `AdvanceRollout`. type AdvanceRolloutRequest struct { + // OverrideDeployPolicy: Optional. Deploy policies to override. Format is + // `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. + OverrideDeployPolicy []string `json:"overrideDeployPolicy,omitempty"` // PhaseId: Required. The phase ID to advance the `Rollout` to. PhaseId string `json:"phaseId,omitempty"` - // ForceSendFields is a list of field names (e.g. "PhaseId") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See + // ForceSendFields is a list of field names (e.g. "OverrideDeployPolicy") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PhaseId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "OverrideDeployPolicy") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } @@ -446,6 +461,9 @@ func (s AnthosCluster) MarshalJSON() ([]byte, error) { type ApproveRolloutRequest struct { // Approved: Required. True = approve; false = reject Approved bool `json:"approved,omitempty"` + // OverrideDeployPolicy: Optional. Deploy policies to override. Format is + // `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. + OverrideDeployPolicy []string `json:"overrideDeployPolicy,omitempty"` // ForceSendFields is a list of field names (e.g. "Approved") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -649,6 +667,7 @@ type AutomationEvent struct { // "TYPE_RESTRICTION_VIOLATED" - Restriction check failed. // "TYPE_RESOURCE_DELETED" - Resource deleted. // "TYPE_ROLLOUT_UPDATE" - Rollout updated. + // "TYPE_DEPLOY_POLICY_EVALUATION" - Deploy Policy evaluation. // "TYPE_RENDER_STATUES_CHANGE" - Deprecated: This field is never used. Use // release_render log type instead. Type string `json:"type,omitempty"` @@ -802,6 +821,9 @@ type AutomationRun struct { // `projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline // }/automationRuns/{automation_run}`. Name string `json:"name,omitempty"` + // PolicyViolation: Output only. Contains information about what policies + // prevented the `AutomationRun` to proceed. + PolicyViolation *PolicyViolation `json:"policyViolation,omitempty"` // PromoteReleaseOperation: Output only. Promotes a release to a specified // 'Target'. PromoteReleaseOperation *PromoteReleaseOperation `json:"promoteReleaseOperation,omitempty"` @@ -886,6 +908,7 @@ type AutomationRunEvent struct { // "TYPE_RESTRICTION_VIOLATED" - Restriction check failed. // "TYPE_RESOURCE_DELETED" - Resource deleted. // "TYPE_ROLLOUT_UPDATE" - Rollout updated. + // "TYPE_DEPLOY_POLICY_EVALUATION" - Deploy Policy evaluation. // "TYPE_RENDER_STATUES_CHANGE" - Deprecated: This field is never used. Use // release_render log type instead. Type string `json:"type,omitempty"` @@ -1114,6 +1137,25 @@ type CancelOperationRequest struct { // CancelRolloutRequest: The request object used by `CancelRollout`. type CancelRolloutRequest struct { + // OverrideDeployPolicy: Optional. Deploy policies to override. Format is + // `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. + OverrideDeployPolicy []string `json:"overrideDeployPolicy,omitempty"` + // ForceSendFields is a list of field names (e.g. "OverrideDeployPolicy") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "OverrideDeployPolicy") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s CancelRolloutRequest) MarshalJSON() ([]byte, error) { + type NoMethod CancelRolloutRequest + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } // CancelRolloutResponse: The response object from `CancelRollout`. @@ -1538,6 +1580,7 @@ type CustomTargetTypeNotificationEvent struct { // "TYPE_RESTRICTION_VIOLATED" - Restriction check failed. // "TYPE_RESOURCE_DELETED" - Resource deleted. // "TYPE_ROLLOUT_UPDATE" - Rollout updated. + // "TYPE_DEPLOY_POLICY_EVALUATION" - Deploy Policy evaluation. // "TYPE_RENDER_STATUES_CHANGE" - Deprecated: This field is never used. Use // release_render log type instead. Type string `json:"type,omitempty"` @@ -1690,6 +1733,33 @@ func (s DeliveryPipeline) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// DeliveryPipelineAttribute: Contains criteria for selecting +// DeliveryPipelines. +type DeliveryPipelineAttribute struct { + // Id: ID of the `DeliveryPipeline`. The value of this field could be one of + // the following: * The last segment of a pipeline name * "*", all delivery + // pipelines in a location + Id string `json:"id,omitempty"` + // Labels: DeliveryPipeline labels. + Labels map[string]string `json:"labels,omitempty"` + // ForceSendFields is a list of field names (e.g. "Id") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Id") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s DeliveryPipelineAttribute) MarshalJSON() ([]byte, error) { + type NoMethod DeliveryPipelineAttribute + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // DeliveryPipelineNotificationEvent: Payload proto for // "clouddeploy.googleapis.com/deliverypipeline_notification" Platform Log // event that describes the failure to send delivery pipeline status change @@ -1712,6 +1782,7 @@ type DeliveryPipelineNotificationEvent struct { // "TYPE_RESTRICTION_VIOLATED" - Restriction check failed. // "TYPE_RESOURCE_DELETED" - Resource deleted. // "TYPE_ROLLOUT_UPDATE" - Rollout updated. + // "TYPE_DEPLOY_POLICY_EVALUATION" - Deploy Policy evaluation. // "TYPE_RENDER_STATUES_CHANGE" - Deprecated: This field is never used. Use // release_render log type instead. Type string `json:"type,omitempty"` @@ -1874,6 +1945,154 @@ func (s DeployParameters) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// DeployPolicy: A `DeployPolicy` resource in the Cloud Deploy API. A +// `DeployPolicy` inhibits manual or automation driven actions within a +// Delivery Pipeline or Target. +type DeployPolicy struct { + // Annotations: User annotations. These attributes can only be set and used by + // the user, and not by Cloud Deploy. Annotations must meet the following + // constraints: * Annotations are key/value pairs. * Valid annotation keys have + // two segments: an optional prefix and name, separated by a slash (`/`). * The + // name segment is required and must be 63 characters or less, beginning and + // ending with an alphanumeric character (`[a-z0-9A-Z]`) with dashes (`-`), + // underscores (`_`), dots (`.`), and alphanumerics between. * The prefix is + // optional. If specified, the prefix must be a DNS subdomain: a series of DNS + // labels separated by dots(`.`), not longer than 253 characters in total, + // followed by a slash (`/`). See + // https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set + // for more details. + Annotations map[string]string `json:"annotations,omitempty"` + // CreateTime: Output only. Time at which the deploy policy was created. + CreateTime string `json:"createTime,omitempty"` + // Description: Description of the `DeployPolicy`. Max length is 255 + // characters. + Description string `json:"description,omitempty"` + // Etag: The weak etag of the `Automation` resource. This checksum is computed + // by the server based on the value of other fields, and may be sent on update + // and delete requests to ensure the client has an up-to-date value before + // proceeding. + Etag string `json:"etag,omitempty"` + // Labels: Labels are attributes that can be set and used by both the user and + // by Cloud Deploy. Labels must meet the following constraints: * Keys and + // values can contain only lowercase letters, numeric characters, underscores, + // and dashes. * All characters must use UTF-8 encoding, and international + // characters are allowed. * Keys must start with a lowercase letter or + // international character. * Each resource is limited to a maximum of 64 + // labels. Both keys and values are additionally constrained to be <= 128 + // bytes. + Labels map[string]string `json:"labels,omitempty"` + // Name: Output only. Name of the `DeployPolicy`. Format is + // `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. The + // `deployPolicy` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` + Name string `json:"name,omitempty"` + // Rules: Required. Rules to apply. At least one rule must be present. + Rules []*PolicyRule `json:"rules,omitempty"` + // Selectors: Required. Selected resources to which the policy will be applied. + // At least one selector is required. If one selector matches the resource the + // policy applies. For example, if there are two selectors and the action being + // attempted matches one of them, the policy will apply to that action. + Selectors []*DeployPolicyResourceSelector `json:"selectors,omitempty"` + // Suspended: When suspended, the policy will not prevent actions from + // occurring, even if the action violates the policy. + Suspended bool `json:"suspended,omitempty"` + // Uid: Output only. Unique identifier of the `DeployPolicy`. + Uid string `json:"uid,omitempty"` + // UpdateTime: Output only. Most recent time at which the deploy policy was + // updated. + UpdateTime string `json:"updateTime,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // 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. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Annotations") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s DeployPolicy) MarshalJSON() ([]byte, error) { + type NoMethod DeployPolicy + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// DeployPolicyEvaluationEvent: Payload proto for +// "clouddeploy.googleapis.com/deploypolicy_evaluation" Platform Log event that +// describes the deploy policy evaluation event. +type DeployPolicyEvaluationEvent struct { + // Allowed: Whether the request is allowed. Allowed is set as true if: (1) the + // request complies with the policy; or (2) the request doesn't comply with the + // policy but the policy was overridden; or (3) the request doesn't comply with + // the policy but the policy was suspended + Allowed bool `json:"allowed,omitempty"` + // DeliveryPipeline: The name of the `Delivery Pipeline`. + DeliveryPipeline string `json:"deliveryPipeline,omitempty"` + // DeployPolicy: The name of the `DeployPolicy`. + DeployPolicy string `json:"deployPolicy,omitempty"` + // DeployPolicyUid: Unique identifier of the `DeployPolicy`. + DeployPolicyUid string `json:"deployPolicyUid,omitempty"` + // Invoker: What invoked the action (e.g. a user or automation). + // + // Possible values: + // "INVOKER_UNSPECIFIED" - Unspecified. + // "USER" - The action is user-driven. For example, creating a rollout + // manually via a gcloud create command. + // "DEPLOY_AUTOMATION" - Automated action by Cloud Deploy. + Invoker string `json:"invoker,omitempty"` + // Message: Debug message for when a deploy policy event occurs. + Message string `json:"message,omitempty"` + // Overrides: Things that could have overridden the policy verdict. Overrides + // together with verdict decide whether the request is allowed. + // + // Possible values: + // "POLICY_VERDICT_OVERRIDE_UNSPECIFIED" - This should never happen. + // "POLICY_OVERRIDDEN" - The policy was overridden. + // "POLICY_SUSPENDED" - The policy was suspended. + Overrides []string `json:"overrides,omitempty"` + // PipelineUid: Unique identifier of the `Delivery Pipeline`. + PipelineUid string `json:"pipelineUid,omitempty"` + // Rule: Rule id. + Rule string `json:"rule,omitempty"` + // RuleType: Rule type (e.g. Restrict Rollouts). + RuleType string `json:"ruleType,omitempty"` + // Target: The name of the `Target`. This is an optional field, as a `Target` + // may not always be applicable to a policy. + Target string `json:"target,omitempty"` + // TargetUid: Unique identifier of the `Target`. This is an optional field, as + // a `Target` may not always be applicable to a policy. + TargetUid string `json:"targetUid,omitempty"` + // Verdict: The policy verdict of the request. + // + // Possible values: + // "POLICY_VERDICT_UNSPECIFIED" - This should never happen. + // "ALLOWED_BY_POLICY" - Allowed by policy. This enum value is not currently + // used but may be used in the future. Currently logs are only generated when a + // request is denied by policy. + // "DENIED_BY_POLICY" - Denied by policy. + Verdict string `json:"verdict,omitempty"` + // ForceSendFields is a list of field names (e.g. "Allowed") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Allowed") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s DeployPolicyEvaluationEvent) MarshalJSON() ([]byte, error) { + type NoMethod DeployPolicyEvaluationEvent + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // DeployPolicyNotificationEvent: Payload proto for // "clouddeploy.googleapis.com/deploypolicy_notification". Platform Log event // that describes the failure to send a pub/sub notification when there is a @@ -1897,6 +2116,7 @@ type DeployPolicyNotificationEvent struct { // "TYPE_RESTRICTION_VIOLATED" - Restriction check failed. // "TYPE_RESOURCE_DELETED" - Resource deleted. // "TYPE_ROLLOUT_UPDATE" - Rollout updated. + // "TYPE_DEPLOY_POLICY_EVALUATION" - Deploy Policy evaluation. // "TYPE_RENDER_STATUES_CHANGE" - Deprecated: This field is never used. Use // release_render log type instead. Type string `json:"type,omitempty"` @@ -1918,6 +2138,35 @@ func (s DeployPolicyNotificationEvent) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// DeployPolicyResourceSelector: Contains information on the resources to +// select for a deploy policy. Attributes provided must all match the resource +// in order for policy restrictions to apply. For example, if delivery +// pipelines attributes given are an id "prod" and labels "foo: bar", a +// delivery pipeline resource must match both that id and have that label in +// order to be subject to the policy. +type DeployPolicyResourceSelector struct { + // DeliveryPipeline: Optional. Contains attributes about a delivery pipeline. + DeliveryPipeline *DeliveryPipelineAttribute `json:"deliveryPipeline,omitempty"` + // Target: Optional. Contains attributes about a target. + Target *TargetAttribute `json:"target,omitempty"` + // ForceSendFields is a list of field names (e.g. "DeliveryPipeline") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "DeliveryPipeline") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s DeployPolicyResourceSelector) MarshalJSON() ([]byte, error) { + type NoMethod DeployPolicyResourceSelector + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // DeploymentJobs: Deployment job composition. type DeploymentJobs struct { // DeployJob: Output only. The deploy Job. This is the deploy job in the phase. @@ -2142,6 +2391,9 @@ func (s GkeCluster) MarshalJSON() ([]byte, error) { type IgnoreJobRequest struct { // JobId: Required. The job ID for the Job to ignore. JobId string `json:"jobId,omitempty"` + // OverrideDeployPolicy: Optional. Deploy policies to override. Format is + // `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. + OverrideDeployPolicy []string `json:"overrideDeployPolicy,omitempty"` // PhaseId: Required. The phase ID the Job to ignore belongs to. PhaseId string `json:"phaseId,omitempty"` // ForceSendFields is a list of field names (e.g. "JobId") to unconditionally @@ -2322,6 +2574,7 @@ type JobRunNotificationEvent struct { // "TYPE_RESTRICTION_VIOLATED" - Restriction check failed. // "TYPE_RESOURCE_DELETED" - Resource deleted. // "TYPE_ROLLOUT_UPDATE" - Rollout updated. + // "TYPE_DEPLOY_POLICY_EVALUATION" - Deploy Policy evaluation. // "TYPE_RENDER_STATUES_CHANGE" - Deprecated: This field is never used. Use // release_render log type instead. Type string `json:"type,omitempty"` @@ -2490,6 +2743,36 @@ func (s ListDeliveryPipelinesResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// ListDeployPoliciesResponse: The response object from `ListDeployPolicies`. +type ListDeployPoliciesResponse struct { + // DeployPolicies: The `DeployPolicy` objects. + DeployPolicies []*DeployPolicy `json:"deployPolicies,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"` + // Unreachable: Locations that could not be reached. + Unreachable []string `json:"unreachable,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "DeployPolicies") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "DeployPolicies") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ListDeployPoliciesResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListDeployPoliciesResponse + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // ListJobRunsResponse: ListJobRunsResponse is the response object returned by // `ListJobRuns`. type ListJobRunsResponse struct { @@ -2757,6 +3040,38 @@ func (s MultiTarget) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// OneTimeWindow: One-time window within which actions are restricted. For +// example, blocking actions over New Year's Eve from December 31st at 5pm to +// January 1st at 9am. +type OneTimeWindow struct { + // EndDate: Required. End date. + EndDate *Date `json:"endDate,omitempty"` + // EndTime: Required. End time (exclusive). You may use 24:00 for the end of + // the day. + EndTime *TimeOfDay `json:"endTime,omitempty"` + // StartDate: Required. Start date. + StartDate *Date `json:"startDate,omitempty"` + // StartTime: Required. Start time (inclusive). Use 00:00 for the beginning of + // the day. + StartTime *TimeOfDay `json:"startTime,omitempty"` + // ForceSendFields is a list of field names (e.g. "EndDate") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "EndDate") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s OneTimeWindow) MarshalJSON() ([]byte, error) { + type NoMethod OneTimeWindow + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // Operation: This resource represents a long-running operation that is the // result of a network API call. type Operation struct { @@ -3102,6 +3417,80 @@ func (s Policy) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// PolicyRule: Deploy Policy rule. +type PolicyRule struct { + // RolloutRestriction: Rollout restrictions. + RolloutRestriction *RolloutRestriction `json:"rolloutRestriction,omitempty"` + // ForceSendFields is a list of field names (e.g. "RolloutRestriction") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "RolloutRestriction") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s PolicyRule) MarshalJSON() ([]byte, error) { + type NoMethod PolicyRule + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// PolicyViolation: Returned from an action if one or more policies were +// violated, and therefore the action was prevented. Contains information about +// what policies were violated and why. +type PolicyViolation struct { + // PolicyViolationDetails: Policy violation details. + PolicyViolationDetails []*PolicyViolationDetails `json:"policyViolationDetails,omitempty"` + // ForceSendFields is a list of field names (e.g. "PolicyViolationDetails") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "PolicyViolationDetails") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s PolicyViolation) MarshalJSON() ([]byte, error) { + type NoMethod PolicyViolation + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// PolicyViolationDetails: Policy violation details. +type PolicyViolationDetails struct { + // FailureMessage: User readable message about why the request violated a + // policy. This is not intended for machine parsing. + FailureMessage string `json:"failureMessage,omitempty"` + // Policy: Name of the policy that was violated. Policy resource will be in the + // format of `projects/{project}/locations/{location}/policies/{policy}`. + Policy string `json:"policy,omitempty"` + // RuleId: Id of the rule that triggered the policy violation. + RuleId string `json:"ruleId,omitempty"` + // ForceSendFields is a list of field names (e.g. "FailureMessage") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "FailureMessage") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s PolicyViolationDetails) MarshalJSON() ([]byte, error) { + type NoMethod PolicyViolationDetails + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // Postdeploy: Postdeploy contains the postdeploy job configuration // information. type Postdeploy struct { @@ -3538,6 +3927,7 @@ type ReleaseNotificationEvent struct { // "TYPE_RESTRICTION_VIOLATED" - Restriction check failed. // "TYPE_RESOURCE_DELETED" - Resource deleted. // "TYPE_ROLLOUT_UPDATE" - Rollout updated. + // "TYPE_DEPLOY_POLICY_EVALUATION" - Deploy Policy evaluation. // "TYPE_RENDER_STATUES_CHANGE" - Deprecated: This field is never used. Use // release_render log type instead. Type string `json:"type,omitempty"` @@ -3620,6 +4010,7 @@ type ReleaseRenderEvent struct { // "TYPE_RESTRICTION_VIOLATED" - Restriction check failed. // "TYPE_RESOURCE_DELETED" - Resource deleted. // "TYPE_ROLLOUT_UPDATE" - Rollout updated. + // "TYPE_DEPLOY_POLICY_EVALUATION" - Deploy Policy evaluation. // "TYPE_RENDER_STATUES_CHANGE" - Deprecated: This field is never used. Use // release_render log type instead. Type string `json:"type,omitempty"` @@ -3802,6 +4193,9 @@ func (s RetryAttempt) MarshalJSON() ([]byte, error) { type RetryJobRequest struct { // JobId: Required. The job ID for the Job to retry. JobId string `json:"jobId,omitempty"` + // OverrideDeployPolicy: Optional. Deploy policies to override. Format is + // `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. + OverrideDeployPolicy []string `json:"overrideDeployPolicy,omitempty"` // PhaseId: Required. The phase ID the Job to retry belongs to. PhaseId string `json:"phaseId,omitempty"` // ForceSendFields is a list of field names (e.g. "JobId") to unconditionally @@ -3927,6 +4321,9 @@ func (s RollbackTargetConfig) MarshalJSON() ([]byte, error) { // RollbackTargetRequest: The request object for `RollbackTarget`. type RollbackTargetRequest struct { + // OverrideDeployPolicy: Optional. Deploy policies to override. Format is + // `projects/{project}/locations/{location}/deployPolicies/{deploy_policy}`. + OverrideDeployPolicy []string `json:"overrideDeployPolicy,omitempty"` // ReleaseId: Optional. ID of the `Release` to roll back to. If this isn't // specified, the previous successful `Rollout` to the specified target will be // used to determine the `Release`. @@ -3943,15 +4340,15 @@ type RollbackTargetRequest struct { // ValidateOnly: Optional. If set to true, the request is validated and the // user is provided with a `RollbackTargetResponse`. ValidateOnly bool `json:"validateOnly,omitempty"` - // ForceSendFields is a list of field names (e.g. "ReleaseId") to + // ForceSendFields is a list of field names (e.g. "OverrideDeployPolicy") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ReleaseId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "OverrideDeployPolicy") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } @@ -4151,6 +4548,7 @@ type RolloutNotificationEvent struct { // "TYPE_RESTRICTION_VIOLATED" - Restriction check failed. // "TYPE_RESOURCE_DELETED" - Resource deleted. // "TYPE_ROLLOUT_UPDATE" - Rollout updated. + // "TYPE_DEPLOY_POLICY_EVALUATION" - Deploy Policy evaluation. // "TYPE_RENDER_STATUES_CHANGE" - Deprecated: This field is never used. Use // release_render log type instead. Type string `json:"type,omitempty"` @@ -4172,6 +4570,54 @@ func (s RolloutNotificationEvent) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// RolloutRestriction: Rollout restrictions. +type RolloutRestriction struct { + // Actions: Optional. Rollout actions to be restricted as part of the policy. + // If left empty, all actions will be restricted. + // + // Possible values: + // "ROLLOUT_ACTIONS_UNSPECIFIED" - Unspecified. + // "ADVANCE" - Advance the rollout to the next phase. + // "APPROVE" - Approve the rollout. + // "CANCEL" - Cancel the rollout. + // "CREATE" - Create a rollout. + // "IGNORE_JOB" - Ignore a job result on the rollout. + // "RETRY_JOB" - Retry a job for a rollout. + // "ROLLBACK" - Rollback a rollout. + // "TERMINATE_JOBRUN" - Terminate a jobrun. + Actions []string `json:"actions,omitempty"` + // Id: Required. Restriction rule ID. Required and must be unique within a + // DeployPolicy. The format is `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. + Id string `json:"id,omitempty"` + // Invokers: Optional. What invoked the action. If left empty, all invoker + // types will be restricted. + // + // Possible values: + // "INVOKER_UNSPECIFIED" - Unspecified. + // "USER" - The action is user-driven. For example, creating a rollout + // manually via a gcloud create command. + // "DEPLOY_AUTOMATION" - Automated action by Cloud Deploy. + Invokers []string `json:"invokers,omitempty"` + // TimeWindows: Required. Time window within which actions are restricted. + TimeWindows *TimeWindows `json:"timeWindows,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. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Actions") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s RolloutRestriction) MarshalJSON() ([]byte, error) { + type NoMethod RolloutRestriction + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // RolloutUpdateEvent: Payload proto for // "clouddeploy.googleapis.com/rollout_update" Platform Log event that // describes the rollout update event. @@ -4219,6 +4665,7 @@ type RolloutUpdateEvent struct { // "TYPE_RESTRICTION_VIOLATED" - Restriction check failed. // "TYPE_RESOURCE_DELETED" - Resource deleted. // "TYPE_ROLLOUT_UPDATE" - Rollout updated. + // "TYPE_DEPLOY_POLICY_EVALUATION" - Deploy Policy evaluation. // "TYPE_RENDER_STATUES_CHANGE" - Deprecated: This field is never used. Use // release_render log type instead. Type string `json:"type,omitempty"` @@ -4818,6 +5265,7 @@ type TargetNotificationEvent struct { // "TYPE_RESTRICTION_VIOLATED" - Restriction check failed. // "TYPE_RESOURCE_DELETED" - Resource deleted. // "TYPE_ROLLOUT_UPDATE" - Rollout updated. + // "TYPE_DEPLOY_POLICY_EVALUATION" - Deploy Policy evaluation. // "TYPE_RENDER_STATUES_CHANGE" - Deprecated: This field is never used. Use // release_render log type instead. Type string `json:"type,omitempty"` @@ -4963,6 +5411,25 @@ func (s TargetsTypeCondition) MarshalJSON() ([]byte, error) { // TerminateJobRunRequest: The request object used by `TerminateJobRun`. type TerminateJobRunRequest struct { + // OverrideDeployPolicy: Optional. Deploy policies to override. Format is + // `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. + OverrideDeployPolicy []string `json:"overrideDeployPolicy,omitempty"` + // ForceSendFields is a list of field names (e.g. "OverrideDeployPolicy") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "OverrideDeployPolicy") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s TerminateJobRunRequest) MarshalJSON() ([]byte, error) { + type NoMethod TerminateJobRunRequest + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } // TerminateJobRunResponse: The response object from `TerminateJobRun`. @@ -5023,15 +5490,77 @@ func (s TestIamPermissionsResponse) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// VerifyJob: A verify Job. -type VerifyJob struct { -} - -// VerifyJobRun: VerifyJobRun contains information specific to a verify -// `JobRun`. -type VerifyJobRun struct { - // ArtifactUri: Output only. URI of a directory containing the verify - // artifacts. This contains the Skaffold event log. +// TimeOfDay: Represents a time of day. The date and time zone are either not +// significant or are specified elsewhere. An API may choose to allow leap +// seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. +type TimeOfDay struct { + // Hours: Hours of day in 24 hour format. Should be from 0 to 23. An API may + // choose to allow the value "24:00:00" for scenarios like business closing + // time. + Hours int64 `json:"hours,omitempty"` + // Minutes: Minutes of hour of day. Must be from 0 to 59. + Minutes int64 `json:"minutes,omitempty"` + // Nanos: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + Nanos int64 `json:"nanos,omitempty"` + // Seconds: Seconds of minutes of the time. Must normally be from 0 to 59. An + // API may allow the value 60 if it allows leap-seconds. + Seconds int64 `json:"seconds,omitempty"` + // ForceSendFields is a list of field names (e.g. "Hours") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Hours") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s TimeOfDay) MarshalJSON() ([]byte, error) { + type NoMethod TimeOfDay + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// TimeWindows: Time windows within which actions are restricted. +type TimeWindows struct { + // OneTimeWindows: Optional. One-time windows within which actions are + // restricted. + OneTimeWindows []*OneTimeWindow `json:"oneTimeWindows,omitempty"` + // TimeZone: Required. The time zone in IANA format IANA Time Zone Database + // (https://www.iana.org/time-zones) (e.g. America/New_York). + TimeZone string `json:"timeZone,omitempty"` + // WeeklyWindows: Optional. Recurring weekly windows within which actions are + // restricted. + WeeklyWindows []*WeeklyWindow `json:"weeklyWindows,omitempty"` + // ForceSendFields is a list of field names (e.g. "OneTimeWindows") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "OneTimeWindows") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s TimeWindows) MarshalJSON() ([]byte, error) { + type NoMethod TimeWindows + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// VerifyJob: A verify Job. +type VerifyJob struct { +} + +// VerifyJobRun: VerifyJobRun contains information specific to a verify +// `JobRun`. +type VerifyJobRun struct { + // ArtifactUri: Output only. URI of a directory containing the verify + // artifacts. This contains the Skaffold event log. ArtifactUri string `json:"artifactUri,omitempty"` // Build: Output only. The resource name of the Cloud Build `Build` object that // is used to verify. Format is @@ -5080,6 +5609,50 @@ func (s VerifyJobRun) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// WeeklyWindow: Weekly windows. For example, blocking actions every Saturday +// and Sunday. Another example would be blocking actions every weekday from 5pm +// to midnight. +type WeeklyWindow struct { + // DaysOfWeek: Optional. Days of week. If left empty, all days of the week will + // be included. + // + // Possible values: + // "DAY_OF_WEEK_UNSPECIFIED" - The day of the week is unspecified. + // "MONDAY" - Monday + // "TUESDAY" - Tuesday + // "WEDNESDAY" - Wednesday + // "THURSDAY" - Thursday + // "FRIDAY" - Friday + // "SATURDAY" - Saturday + // "SUNDAY" - Sunday + DaysOfWeek []string `json:"daysOfWeek,omitempty"` + // EndTime: Optional. End time (exclusive). Use 24:00 to indicate midnight. If + // you specify end_time you must also specify start_time. If left empty, this + // will block for the entire day for the days specified in days_of_week. + EndTime *TimeOfDay `json:"endTime,omitempty"` + // StartTime: Optional. Start time (inclusive). Use 00:00 for the beginning of + // the day. If you specify start_time you must also specify end_time. If left + // empty, this will block for the entire day for the days specified in + // days_of_week. + StartTime *TimeOfDay `json:"startTime,omitempty"` + // ForceSendFields is a list of field names (e.g. "DaysOfWeek") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "DaysOfWeek") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s WeeklyWindow) MarshalJSON() ([]byte, error) { + type NoMethod WeeklyWindow + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + type ProjectsLocationsGetCall struct { s *Service name string @@ -8706,6 +9279,14 @@ func (r *ProjectsLocationsDeliveryPipelinesReleasesService) Create(parent string return c } +// OverrideDeployPolicy sets the optional parameter "overrideDeployPolicy": +// Deploy policies to override. Format is +// `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. +func (c *ProjectsLocationsDeliveryPipelinesReleasesCreateCall) OverrideDeployPolicy(overrideDeployPolicy ...string) *ProjectsLocationsDeliveryPipelinesReleasesCreateCall { + c.urlParams_.SetMulti("overrideDeployPolicy", append([]string{}, overrideDeployPolicy...)) + return c +} + // ReleaseId sets the optional parameter "releaseId": Required. ID of the // `Release`. func (c *ProjectsLocationsDeliveryPipelinesReleasesCreateCall) ReleaseId(releaseId string) *ProjectsLocationsDeliveryPipelinesReleasesCreateCall { @@ -9424,6 +10005,14 @@ func (r *ProjectsLocationsDeliveryPipelinesReleasesRolloutsService) Create(paren return c } +// OverrideDeployPolicy sets the optional parameter "overrideDeployPolicy": +// Deploy policies to override. Format is +// `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. +func (c *ProjectsLocationsDeliveryPipelinesReleasesRolloutsCreateCall) OverrideDeployPolicy(overrideDeployPolicy ...string) *ProjectsLocationsDeliveryPipelinesReleasesRolloutsCreateCall { + c.urlParams_.SetMulti("overrideDeployPolicy", append([]string{}, overrideDeployPolicy...)) + return c +} + // RequestId sets the optional parameter "requestId": A request ID to identify // requests. Specify a unique request ID so that if you must retry your // request, the server knows to ignore the request if it has already been @@ -10398,6 +10987,694 @@ func (c *ProjectsLocationsDeliveryPipelinesReleasesRolloutsJobRunsTerminateCall) return ret, nil } +type ProjectsLocationsDeployPoliciesCreateCall struct { + s *Service + parent string + deploypolicy *DeployPolicy + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a new DeployPolicy in a given project and location. +// +// - parent: The parent collection in which the `DeployPolicy` must be created. +// The format is `projects/{project_id}/locations/{location_name}`. +func (r *ProjectsLocationsDeployPoliciesService) Create(parent string, deploypolicy *DeployPolicy) *ProjectsLocationsDeployPoliciesCreateCall { + c := &ProjectsLocationsDeployPoliciesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.deploypolicy = deploypolicy + return c +} + +// DeployPolicyId sets the optional parameter "deployPolicyId": Required. ID of +// the `DeployPolicy`. +func (c *ProjectsLocationsDeployPoliciesCreateCall) DeployPolicyId(deployPolicyId string) *ProjectsLocationsDeployPoliciesCreateCall { + c.urlParams_.Set("deployPolicyId", deployPolicyId) + return c +} + +// RequestId sets the optional parameter "requestId": A request ID to identify +// requests. Specify a unique request ID so that if you must retry your +// request, the server knows to ignore the request if it has already been +// completed. The server guarantees that for at least 60 minutes after the +// first request. For example, consider a situation where you make an initial +// request and the request times out. If you make the request again with the +// same request ID, the server can check if original operation with the same +// request ID was received, and if so, will ignore the second request. This +// prevents clients from accidentally creating 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 *ProjectsLocationsDeployPoliciesCreateCall) RequestId(requestId string) *ProjectsLocationsDeployPoliciesCreateCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// ValidateOnly sets the optional parameter "validateOnly": If set to true, the +// request is validated and the user is provided with an expected result, but +// no actual change is made. +func (c *ProjectsLocationsDeployPoliciesCreateCall) ValidateOnly(validateOnly bool) *ProjectsLocationsDeployPoliciesCreateCall { + c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsDeployPoliciesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsDeployPoliciesCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsDeployPoliciesCreateCall) Context(ctx context.Context) *ProjectsLocationsDeployPoliciesCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsDeployPoliciesCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsDeployPoliciesCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.deploypolicy) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/deployPolicies") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "clouddeploy.projects.locations.deployPolicies.create" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ProjectsLocationsDeployPoliciesCreateCall) 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 +} + +type ProjectsLocationsDeployPoliciesDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a single DeployPolicy. +// +// - name: The name of the `DeployPolicy` to delete. The format is +// `projects/{project_id}/locations/{location_name}/deployPolicies/{deploy_pol +// icy_name}`. +func (r *ProjectsLocationsDeployPoliciesService) Delete(name string) *ProjectsLocationsDeployPoliciesDeleteCall { + c := &ProjectsLocationsDeployPoliciesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// AllowMissing sets the optional parameter "allowMissing": If set to true, +// then deleting an already deleted or non-existing `DeployPolicy` will +// succeed. +func (c *ProjectsLocationsDeployPoliciesDeleteCall) AllowMissing(allowMissing bool) *ProjectsLocationsDeployPoliciesDeleteCall { + c.urlParams_.Set("allowMissing", fmt.Sprint(allowMissing)) + return c +} + +// Etag sets the optional parameter "etag": This checksum is computed by the +// server based on the value of other fields, and may be sent on update and +// delete requests to ensure the client has an up-to-date value before +// proceeding. +func (c *ProjectsLocationsDeployPoliciesDeleteCall) Etag(etag string) *ProjectsLocationsDeployPoliciesDeleteCall { + c.urlParams_.Set("etag", etag) + return c +} + +// RequestId sets the optional parameter "requestId": A request ID to identify +// requests. Specify a unique request ID so that if you must retry your +// request, the server knows to ignore the request if it has already been +// completed. The server guarantees that for at least 60 minutes after the +// first request. For example, consider a situation where you make an initial +// request and the request times out. If you make the request again with the +// same request ID, the server can check if original operation with the same +// request ID was received, and if so, will ignore the second request. This +// prevents clients from accidentally creating 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 *ProjectsLocationsDeployPoliciesDeleteCall) RequestId(requestId string) *ProjectsLocationsDeployPoliciesDeleteCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// ValidateOnly sets the optional parameter "validateOnly": If set, validate +// the request and preview the review, but do not actually post it. +func (c *ProjectsLocationsDeployPoliciesDeleteCall) ValidateOnly(validateOnly bool) *ProjectsLocationsDeployPoliciesDeleteCall { + c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsDeployPoliciesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsDeployPoliciesDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsDeployPoliciesDeleteCall) Context(ctx context.Context) *ProjectsLocationsDeployPoliciesDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsDeployPoliciesDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsDeployPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("DELETE", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "clouddeploy.projects.locations.deployPolicies.delete" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ProjectsLocationsDeployPoliciesDeleteCall) 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 +} + +type ProjectsLocationsDeployPoliciesGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets details of a single DeployPolicy. +// +// - name: Name of the `DeployPolicy`. Format must be +// `projects/{project_id}/locations/{location_name}/deployPolicies/{deploy_pol +// icy_name}`. +func (r *ProjectsLocationsDeployPoliciesService) Get(name string) *ProjectsLocationsDeployPoliciesGetCall { + c := &ProjectsLocationsDeployPoliciesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsDeployPoliciesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsDeployPoliciesGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *ProjectsLocationsDeployPoliciesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsDeployPoliciesGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsDeployPoliciesGetCall) Context(ctx context.Context) *ProjectsLocationsDeployPoliciesGetCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsDeployPoliciesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsDeployPoliciesGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "clouddeploy.projects.locations.deployPolicies.get" call. +// Any non-2xx status code is an error. Response headers are in either +// *DeployPolicy.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 *ProjectsLocationsDeployPoliciesGetCall) Do(opts ...googleapi.CallOption) (*DeployPolicy, 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 := &DeployPolicy{ + 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 +} + +type ProjectsLocationsDeployPoliciesListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists DeployPolicies in a given project and location. +// +// - parent: The parent, which owns this collection of deploy policies. Format +// must be `projects/{project_id}/locations/{location_name}`. +func (r *ProjectsLocationsDeployPoliciesService) List(parent string) *ProjectsLocationsDeployPoliciesListCall { + c := &ProjectsLocationsDeployPoliciesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// Filter sets the optional parameter "filter": Filter deploy policies to be +// returned. See https://google.aip.dev/160 for more details. All fields can be +// used in the filter. +func (c *ProjectsLocationsDeployPoliciesListCall) Filter(filter string) *ProjectsLocationsDeployPoliciesListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// OrderBy sets the optional parameter "orderBy": Field to sort by. See +// https://google.aip.dev/132#ordering for more details. +func (c *ProjectsLocationsDeployPoliciesListCall) OrderBy(orderBy string) *ProjectsLocationsDeployPoliciesListCall { + c.urlParams_.Set("orderBy", orderBy) + return c +} + +// PageSize sets the optional parameter "pageSize": The maximum number of +// deploy policies to return. The service may return fewer than this value. If +// unspecified, at most 50 deploy policies will be returned. The maximum value +// is 1000; values above 1000 will be set to 1000. +func (c *ProjectsLocationsDeployPoliciesListCall) PageSize(pageSize int64) *ProjectsLocationsDeployPoliciesListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": A page token, received +// from a previous `ListDeployPolicies` call. Provide this to retrieve the +// subsequent page. When paginating, all other provided parameters match the +// call that provided the page token. +func (c *ProjectsLocationsDeployPoliciesListCall) PageToken(pageToken string) *ProjectsLocationsDeployPoliciesListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsDeployPoliciesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsDeployPoliciesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *ProjectsLocationsDeployPoliciesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsDeployPoliciesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsDeployPoliciesListCall) Context(ctx context.Context) *ProjectsLocationsDeployPoliciesListCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsDeployPoliciesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsDeployPoliciesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + 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}/deployPolicies") + 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 "clouddeploy.projects.locations.deployPolicies.list" call. +// Any non-2xx status code is an error. Response headers are in either +// *ListDeployPoliciesResponse.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 *ProjectsLocationsDeployPoliciesListCall) Do(opts ...googleapi.CallOption) (*ListDeployPoliciesResponse, 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 := &ListDeployPoliciesResponse{ + 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 +} + +// 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 *ProjectsLocationsDeployPoliciesListCall) Pages(ctx context.Context, f func(*ListDeployPoliciesResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + +type ProjectsLocationsDeployPoliciesPatchCall struct { + s *Service + name string + deploypolicy *DeployPolicy + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates the parameters of a single DeployPolicy. +// +// - name: Output only. Name of the `DeployPolicy`. Format is +// `projects/{project}/locations/{location}/deployPolicies/{deployPolicy}`. +// The `deployPolicy` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. +func (r *ProjectsLocationsDeployPoliciesService) Patch(name string, deploypolicy *DeployPolicy) *ProjectsLocationsDeployPoliciesPatchCall { + c := &ProjectsLocationsDeployPoliciesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.deploypolicy = deploypolicy + return c +} + +// AllowMissing sets the optional parameter "allowMissing": If set to true, +// updating a `DeployPolicy` that does not exist will result in the creation of +// a new `DeployPolicy`. +func (c *ProjectsLocationsDeployPoliciesPatchCall) AllowMissing(allowMissing bool) *ProjectsLocationsDeployPoliciesPatchCall { + c.urlParams_.Set("allowMissing", fmt.Sprint(allowMissing)) + return c +} + +// RequestId sets the optional parameter "requestId": A request ID to identify +// requests. Specify a unique request ID so that if you must retry your +// request, the server knows to ignore the request if it has already been +// completed. The server guarantees that for at least 60 minutes after the +// first request. For example, consider a situation where you make an initial +// request and the request times out. If you make the request again with the +// same request ID, the server can check if original operation with the same +// request ID was received, and if so, will ignore the second request. This +// prevents clients from accidentally creating 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 *ProjectsLocationsDeployPoliciesPatchCall) RequestId(requestId string) *ProjectsLocationsDeployPoliciesPatchCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// UpdateMask sets the optional parameter "updateMask": Required. Field mask is +// used to specify the fields to be overwritten by the update in the +// `DeployPolicy` resource. The fields specified in the update_mask are +// relative to the resource, not the full request. A field will be overwritten +// if it's in the mask. If the user doesn't provide a mask then all fields are +// overwritten. +func (c *ProjectsLocationsDeployPoliciesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsDeployPoliciesPatchCall { + c.urlParams_.Set("updateMask", updateMask) + return c +} + +// ValidateOnly sets the optional parameter "validateOnly": If set to true, the +// request is validated and the user is provided with an expected result, but +// no actual change is made. +func (c *ProjectsLocationsDeployPoliciesPatchCall) ValidateOnly(validateOnly bool) *ProjectsLocationsDeployPoliciesPatchCall { + c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsDeployPoliciesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsDeployPoliciesPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsDeployPoliciesPatchCall) Context(ctx context.Context) *ProjectsLocationsDeployPoliciesPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsDeployPoliciesPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsDeployPoliciesPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.deploypolicy) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("PATCH", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "clouddeploy.projects.locations.deployPolicies.patch" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ProjectsLocationsDeployPoliciesPatchCall) 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 +} + type ProjectsLocationsOperationsCancelCall struct { s *Service name string diff --git a/cloudidentity/v1/cloudidentity-api.json b/cloudidentity/v1/cloudidentity-api.json index 3f0685c5a4c..f5ed5ca6fec 100644 --- a/cloudidentity/v1/cloudidentity-api.json +++ b/cloudidentity/v1/cloudidentity-api.json @@ -1990,7 +1990,7 @@ } } }, - "revision": "20240902", + "revision": "20240924", "rootUrl": "https://cloudidentity.googleapis.com/", "schemas": { "AddIdpCredentialOperationMetadata": { @@ -2347,7 +2347,7 @@ "type": "string" }, "lastProfileSyncTime": { - "description": "Timestamp in milliseconds since Epoch when the profile/gcm id was last synced.", + "description": "Timestamp in milliseconds since the Unix epoch when the profile/gcm id was last synced.", "format": "google-datetime", "type": "string" } @@ -2355,7 +2355,7 @@ "type": "object" }, "GoogleAppsCloudidentityDevicesV1BrowserInfo": { - "description": "Browser-specific fields reported by the [Endpoint Verification extension](https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1). LINT.IfChange", + "description": "Browser-specific fields reported by the [Endpoint Verification extension](https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1).", "id": "GoogleAppsCloudidentityDevicesV1BrowserInfo", "properties": { "browserManagementState": { @@ -2378,7 +2378,7 @@ "type": "string" }, "browserVersion": { - "description": "Version of the request initiating browser.", + "description": "Version of the request initiating browser. E.g. `91.0.4442.4`.", "type": "string" }, "isBuiltInDnsClientEnabled": { @@ -3083,7 +3083,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Additional signals reported by Endpoint Verification. It includes the following attributes: 1. Non-configurable attributes: hotfixes, av_installed, av_enabled, windows_domain_name, is_os_native_firewall_enabled, and is_secure_boot_enabled. 2. [Configurable attributes](https://cloud.google.com/endpoint-verification/docs/collect-config-attributes): file, folder, and binary attributes; registry entries; and properties in a plist.", + "description": "[Additional signals](https://cloud.google.com/endpoint-verification/docs/device-information) reported by Endpoint Verification. It includes the following attributes: * Non-configurable attributes: hotfixes, av_installed, av_enabled, windows_domain_name, is_os_native_firewall_enabled, and is_secure_boot_enabled. * [Configurable attributes](https://cloud.google.com/endpoint-verification/docs/collect-config-attributes): file, folder, and binary attributes; registry entries; and properties in a plist.", "type": "object" }, "browserAttributes": { diff --git a/cloudidentity/v1/cloudidentity-gen.go b/cloudidentity/v1/cloudidentity-gen.go index c00222d0dda..1b88815924d 100644 --- a/cloudidentity/v1/cloudidentity-gen.go +++ b/cloudidentity/v1/cloudidentity-gen.go @@ -832,7 +832,7 @@ type GoogleAppsCloudidentityDevicesV1BrowserAttributes struct { // ChromeProfileId: Chrome profile ID that is exposed by the Chrome API. It is // unique for each device. ChromeProfileId string `json:"chromeProfileId,omitempty"` - // LastProfileSyncTime: Timestamp in milliseconds since Epoch when the + // LastProfileSyncTime: Timestamp in milliseconds since the Unix epoch when the // profile/gcm id was last synced. LastProfileSyncTime string `json:"lastProfileSyncTime,omitempty"` // ForceSendFields is a list of field names (e.g. "ChromeBrowserInfo") to @@ -856,7 +856,6 @@ func (s GoogleAppsCloudidentityDevicesV1BrowserAttributes) MarshalJSON() ([]byte // GoogleAppsCloudidentityDevicesV1BrowserInfo: Browser-specific fields // reported by the Endpoint Verification extension // (https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1). -// LINT.IfChange type GoogleAppsCloudidentityDevicesV1BrowserInfo struct { // BrowserManagementState: Output only. Browser's management state. // @@ -868,7 +867,8 @@ type GoogleAppsCloudidentityDevicesV1BrowserInfo struct { // "PROFILE_MANAGED" - Profile is managed by customer. // "BROWSER_MANAGED" - Browser is managed by customer. BrowserManagementState string `json:"browserManagementState,omitempty"` - // BrowserVersion: Version of the request initiating browser. + // BrowserVersion: Version of the request initiating browser. E.g. + // `91.0.4442.4`. BrowserVersion string `json:"browserVersion,omitempty"` // IsBuiltInDnsClientEnabled: Current state of built-in DNS client // (https://chromeenterprise.google/policies/#BuiltInDnsClientEnabled). @@ -1508,11 +1508,12 @@ func (s GoogleAppsCloudidentityDevicesV1DeviceUser) MarshalJSON() ([]byte, error // (https://cloud.google.com/endpoint-verification/docs/device-information) of // a device. type GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes struct { - // AdditionalSignals: Additional signals reported by Endpoint Verification. It - // includes the following attributes: 1. Non-configurable attributes: hotfixes, - // av_installed, av_enabled, windows_domain_name, - // is_os_native_firewall_enabled, and is_secure_boot_enabled. 2. Configurable - // attributes + // AdditionalSignals: Additional signals + // (https://cloud.google.com/endpoint-verification/docs/device-information) + // reported by Endpoint Verification. It includes the following attributes: * + // Non-configurable attributes: hotfixes, av_installed, av_enabled, + // windows_domain_name, is_os_native_firewall_enabled, and + // is_secure_boot_enabled. * Configurable attributes // (https://cloud.google.com/endpoint-verification/docs/collect-config-attributes): // file, folder, and binary attributes; registry entries; and properties in a // plist. diff --git a/cloudidentity/v1beta1/cloudidentity-api.json b/cloudidentity/v1beta1/cloudidentity-api.json index 193b43737d6..7fb757cc14c 100644 --- a/cloudidentity/v1beta1/cloudidentity-api.json +++ b/cloudidentity/v1beta1/cloudidentity-api.json @@ -2015,7 +2015,7 @@ } } }, - "revision": "20240902", + "revision": "20240924", "rootUrl": "https://cloudidentity.googleapis.com/", "schemas": { "AddIdpCredentialOperationMetadata": { @@ -2136,19 +2136,19 @@ "type": "object" }, "BrowserAttributes": { - "description": "Contains information about browser profiles reported by the Endpoint Verification extension.", + "description": "Contains information about browser profiles reported by the [Endpoint Verification extension](https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1).", "id": "BrowserAttributes", "properties": { "chromeBrowserInfo": { "$ref": "BrowserInfo", - "description": "Represents the current state of the [Chrome browser attributes](https://cloud.google.com/access-context-manager/docs/browser-attributes) sent by the Endpoint Verification extension." + "description": "Represents the current state of the [Chrome browser attributes](https://cloud.google.com/access-context-manager/docs/browser-attributes) sent by the [Endpoint Verification extension](https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1)." }, "chromeProfileId": { "description": "Chrome profile ID that is exposed by the Chrome API. It is unique for each device.", "type": "string" }, "lastProfileSyncTime": { - "description": "Timestamp in milliseconds since Epoch when the profile/gcm id was last synced.", + "description": "Timestamp in milliseconds since the Unix epoch when the profile/gcm id was last synced.", "format": "google-datetime", "type": "string" } @@ -2156,7 +2156,7 @@ "type": "object" }, "BrowserInfo": { - "description": "Browser-specific fields reported by the Endpoint Verification extension. LINT.IfChange", + "description": "Browser-specific fields reported by the [Endpoint Verification extension](https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1).", "id": "BrowserInfo", "properties": { "browserManagementState": { @@ -2179,7 +2179,7 @@ "type": "string" }, "browserVersion": { - "description": "Version of the request initiating browser.", + "description": "Version of the request initiating browser. E.g. `91.0.4442.4`.", "type": "string" }, "isBuiltInDnsClientEnabled": { @@ -3024,7 +3024,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Additional signals reported by Endpoint Verification. It includes the following attributes: 1. Non-configurable attributes: hotfixes, av_installed, av_enabled, windows_domain_name, is_os_native_firewall_enabled, and is_secure_boot_enabled. 2. Configurable attributes: file_config, registry_config, and plist_config.", + "description": "[Additional signals](https://cloud.google.com/endpoint-verification/docs/device-information) reported by Endpoint Verification. It includes the following attributes: * Non-configurable attributes: hotfixes, av_installed, av_enabled, windows_domain_name, is_os_native_firewall_enabled, and is_secure_boot_enabled. * [Configurable attributes](https://cloud.google.com/endpoint-verification/docs/collect-config-attributes): file, folder, and binary attributes; registry entries; and properties in a plist.", "type": "object" }, "browserAttributes": { @@ -3190,7 +3190,7 @@ "type": "string" }, "lastProfileSyncTime": { - "description": "Timestamp in milliseconds since Epoch when the profile/gcm id was last synced.", + "description": "Timestamp in milliseconds since the Unix epoch when the profile/gcm id was last synced.", "format": "google-datetime", "type": "string" } @@ -3198,7 +3198,7 @@ "type": "object" }, "GoogleAppsCloudidentityDevicesV1BrowserInfo": { - "description": "Browser-specific fields reported by the [Endpoint Verification extension](https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1). LINT.IfChange", + "description": "Browser-specific fields reported by the [Endpoint Verification extension](https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1).", "id": "GoogleAppsCloudidentityDevicesV1BrowserInfo", "properties": { "browserManagementState": { @@ -3221,7 +3221,7 @@ "type": "string" }, "browserVersion": { - "description": "Version of the request initiating browser.", + "description": "Version of the request initiating browser. E.g. `91.0.4442.4`.", "type": "string" }, "isBuiltInDnsClientEnabled": { @@ -3904,7 +3904,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Additional signals reported by Endpoint Verification. It includes the following attributes: 1. Non-configurable attributes: hotfixes, av_installed, av_enabled, windows_domain_name, is_os_native_firewall_enabled, and is_secure_boot_enabled. 2. [Configurable attributes](https://cloud.google.com/endpoint-verification/docs/collect-config-attributes): file, folder, and binary attributes; registry entries; and properties in a plist.", + "description": "[Additional signals](https://cloud.google.com/endpoint-verification/docs/device-information) reported by Endpoint Verification. It includes the following attributes: * Non-configurable attributes: hotfixes, av_installed, av_enabled, windows_domain_name, is_os_native_firewall_enabled, and is_secure_boot_enabled. * [Configurable attributes](https://cloud.google.com/endpoint-verification/docs/collect-config-attributes): file, folder, and binary attributes; registry entries; and properties in a plist.", "type": "object" }, "browserAttributes": { diff --git a/cloudidentity/v1beta1/cloudidentity-gen.go b/cloudidentity/v1beta1/cloudidentity-gen.go index bd0510aa235..13de56ce183 100644 --- a/cloudidentity/v1beta1/cloudidentity-gen.go +++ b/cloudidentity/v1beta1/cloudidentity-gen.go @@ -526,17 +526,19 @@ func (s BlockDeviceUserResponse) MarshalJSON() ([]byte, error) { } // BrowserAttributes: Contains information about browser profiles reported by -// the Endpoint Verification extension. +// the Endpoint Verification extension +// (https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1). type BrowserAttributes struct { // ChromeBrowserInfo: Represents the current state of the Chrome browser // attributes // (https://cloud.google.com/access-context-manager/docs/browser-attributes) - // sent by the Endpoint Verification extension. + // sent by the Endpoint Verification extension + // (https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1). ChromeBrowserInfo *BrowserInfo `json:"chromeBrowserInfo,omitempty"` // ChromeProfileId: Chrome profile ID that is exposed by the Chrome API. It is // unique for each device. ChromeProfileId string `json:"chromeProfileId,omitempty"` - // LastProfileSyncTime: Timestamp in milliseconds since Epoch when the + // LastProfileSyncTime: Timestamp in milliseconds since the Unix epoch when the // profile/gcm id was last synced. LastProfileSyncTime string `json:"lastProfileSyncTime,omitempty"` // ForceSendFields is a list of field names (e.g. "ChromeBrowserInfo") to @@ -558,7 +560,8 @@ func (s BrowserAttributes) MarshalJSON() ([]byte, error) { } // BrowserInfo: Browser-specific fields reported by the Endpoint Verification -// extension. LINT.IfChange +// extension +// (https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1). type BrowserInfo struct { // BrowserManagementState: Output only. Browser's management state. // @@ -570,7 +573,8 @@ type BrowserInfo struct { // "PROFILE_MANAGED" - Profile is managed by customer. // "BROWSER_MANAGED" - Browser is managed by customer. BrowserManagementState string `json:"browserManagementState,omitempty"` - // BrowserVersion: Version of the request initiating browser. + // BrowserVersion: Version of the request initiating browser. E.g. + // `91.0.4442.4`. BrowserVersion string `json:"browserVersion,omitempty"` // IsBuiltInDnsClientEnabled: Current state of built-in DNS client // (https://chromeenterprise.google/policies/#BuiltInDnsClientEnabled). @@ -1412,11 +1416,15 @@ func (s DynamicGroupStatus) MarshalJSON() ([]byte, error) { // (https://cloud.google.com/endpoint-verification/docs/device-information) of // a device. type EndpointVerificationSpecificAttributes struct { - // AdditionalSignals: Additional signals reported by Endpoint Verification. It - // includes the following attributes: 1. Non-configurable attributes: hotfixes, - // av_installed, av_enabled, windows_domain_name, - // is_os_native_firewall_enabled, and is_secure_boot_enabled. 2. Configurable - // attributes: file_config, registry_config, and plist_config. + // AdditionalSignals: Additional signals + // (https://cloud.google.com/endpoint-verification/docs/device-information) + // reported by Endpoint Verification. It includes the following attributes: * + // Non-configurable attributes: hotfixes, av_installed, av_enabled, + // windows_domain_name, is_os_native_firewall_enabled, and + // is_secure_boot_enabled. * Configurable attributes + // (https://cloud.google.com/endpoint-verification/docs/collect-config-attributes): + // file, folder, and binary attributes; registry entries; and properties in a + // plist. AdditionalSignals googleapi.RawMessage `json:"additionalSignals,omitempty"` // BrowserAttributes: Details of browser profiles reported by Endpoint // Verification. @@ -1646,7 +1654,7 @@ type GoogleAppsCloudidentityDevicesV1BrowserAttributes struct { // ChromeProfileId: Chrome profile ID that is exposed by the Chrome API. It is // unique for each device. ChromeProfileId string `json:"chromeProfileId,omitempty"` - // LastProfileSyncTime: Timestamp in milliseconds since Epoch when the + // LastProfileSyncTime: Timestamp in milliseconds since the Unix epoch when the // profile/gcm id was last synced. LastProfileSyncTime string `json:"lastProfileSyncTime,omitempty"` // ForceSendFields is a list of field names (e.g. "ChromeBrowserInfo") to @@ -1670,7 +1678,6 @@ func (s GoogleAppsCloudidentityDevicesV1BrowserAttributes) MarshalJSON() ([]byte // GoogleAppsCloudidentityDevicesV1BrowserInfo: Browser-specific fields // reported by the Endpoint Verification extension // (https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1). -// LINT.IfChange type GoogleAppsCloudidentityDevicesV1BrowserInfo struct { // BrowserManagementState: Output only. Browser's management state. // @@ -1682,7 +1689,8 @@ type GoogleAppsCloudidentityDevicesV1BrowserInfo struct { // "PROFILE_MANAGED" - Profile is managed by customer. // "BROWSER_MANAGED" - Browser is managed by customer. BrowserManagementState string `json:"browserManagementState,omitempty"` - // BrowserVersion: Version of the request initiating browser. + // BrowserVersion: Version of the request initiating browser. E.g. + // `91.0.4442.4`. BrowserVersion string `json:"browserVersion,omitempty"` // IsBuiltInDnsClientEnabled: Current state of built-in DNS client // (https://chromeenterprise.google/policies/#BuiltInDnsClientEnabled). @@ -2257,11 +2265,12 @@ func (s GoogleAppsCloudidentityDevicesV1DeviceUser) MarshalJSON() ([]byte, error // (https://cloud.google.com/endpoint-verification/docs/device-information) of // a device. type GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes struct { - // AdditionalSignals: Additional signals reported by Endpoint Verification. It - // includes the following attributes: 1. Non-configurable attributes: hotfixes, - // av_installed, av_enabled, windows_domain_name, - // is_os_native_firewall_enabled, and is_secure_boot_enabled. 2. Configurable - // attributes + // AdditionalSignals: Additional signals + // (https://cloud.google.com/endpoint-verification/docs/device-information) + // reported by Endpoint Verification. It includes the following attributes: * + // Non-configurable attributes: hotfixes, av_installed, av_enabled, + // windows_domain_name, is_os_native_firewall_enabled, and + // is_secure_boot_enabled. * Configurable attributes // (https://cloud.google.com/endpoint-verification/docs/collect-config-attributes): // file, folder, and binary attributes; registry entries; and properties in a // plist. diff --git a/containeranalysis/v1/containeranalysis-api.json b/containeranalysis/v1/containeranalysis-api.json index cbdf115e2c1..b02408aa153 100644 --- a/containeranalysis/v1/containeranalysis-api.json +++ b/containeranalysis/v1/containeranalysis-api.json @@ -1655,7 +1655,7 @@ } } }, - "revision": "20240816", + "revision": "20240924", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "AliasContext": { @@ -3150,11 +3150,13 @@ "description": "Optional. Option to specify how default logs buckets are setup.", "enum": [ "DEFAULT_LOGS_BUCKET_BEHAVIOR_UNSPECIFIED", - "REGIONAL_USER_OWNED_BUCKET" + "REGIONAL_USER_OWNED_BUCKET", + "LEGACY_BUCKET" ], "enumDescriptions": [ "Unspecified.", - "Bucket is located in user-owned project in the same region as the build. The builder service account must have access to create and write to Cloud Storage buckets in the build project." + "Bucket is located in user-owned project in the same region as the build. The builder service account must have access to create and write to Cloud Storage buckets in the build project.", + "Bucket is located in a Google-owned project and is not regionalized." ], "type": "string" }, diff --git a/containeranalysis/v1/containeranalysis-gen.go b/containeranalysis/v1/containeranalysis-gen.go index 842bd4cbffc..c1c56eeabe2 100644 --- a/containeranalysis/v1/containeranalysis-gen.go +++ b/containeranalysis/v1/containeranalysis-gen.go @@ -1903,6 +1903,8 @@ type ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions struct { // "REGIONAL_USER_OWNED_BUCKET" - Bucket is located in user-owned project in // the same region as the build. The builder service account must have access // to create and write to Cloud Storage buckets in the build project. + // "LEGACY_BUCKET" - Bucket is located in a Google-owned project and is not + // regionalized. DefaultLogsBucketBehavior string `json:"defaultLogsBucketBehavior,omitempty"` // DiskSizeGb: Requested disk size for the VM that runs the build. Note that // this is *NOT* "disk free"; some of the space will be used by the operating diff --git a/firebasedataconnect/v1beta/firebasedataconnect-api.json b/firebasedataconnect/v1beta/firebasedataconnect-api.json new file mode 100644 index 00000000000..3e46dca983c --- /dev/null +++ b/firebasedataconnect/v1beta/firebasedataconnect-api.json @@ -0,0 +1,1827 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://firebasedataconnect.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Firebase Data Connect", + "description": "", + "discoveryVersion": "v1", + "documentationLink": "https://firebase.google.com/docs/data-connect", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "firebasedataconnect:v1beta", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://firebasedataconnect.mtls.googleapis.com/", + "name": "firebasedataconnect", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "firebasedataconnect.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v1beta/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "firebasedataconnect.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return. If not set, the service selects a default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "firebasedataconnect.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "firebasedataconnect.projects.locations.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "firebasedataconnect.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "firebasedataconnect.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "services": { + "methods": { + "create": { + "description": "Creates a new Service in a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services", + "httpMethod": "POST", + "id": "firebasedataconnect.projects.locations.services.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Value of parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "serviceId": { + "description": "Required. The ID to use for the service, which will become the final component of the service's resource name.", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the Service, but do not actually create it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta/{+parent}/services", + "request": { + "$ref": "Service" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single Service.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", + "httpMethod": "DELETE", + "id": "firebasedataconnect.projects.locations.services.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If true and the Service is not found, the request will succeed but no action will be taken on the server.", + "location": "query", + "type": "boolean" + }, + "etag": { + "description": "Optional. The etag of the Service. If this is provided, it must match the server's etag.", + "location": "query", + "type": "string" + }, + "force": { + "description": "Optional. If set to true, any child resources (i.e. Schema, SchemaRevisions, Connectors, and ConnectorRevisions) will also be deleted. Otherwise, the request will only work if the Service has no child resources.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The name of the service to delete, in the format: ``` projects/{project}/locations/{location}/services/{service} ```", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the Service, but do not actually delete it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "executeGraphql": { + "description": "Execute any GraphQL query and mutation against the Firebase Data Connect's generated GraphQL schema. Grants full read and write access to the connected data sources. Note: Use introspection query to explore the generated GraphQL schema.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:executeGraphql", + "httpMethod": "POST", + "id": "firebasedataconnect.projects.locations.services.executeGraphql", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of Firebase Data Connect service, in the format: ``` projects/{project}/locations/{location}/services/{service} ```", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:executeGraphql", + "request": { + "$ref": "GraphqlRequest" + }, + "response": { + "$ref": "GraphqlResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "executeGraphqlRead": { + "description": "Execute any GraphQL query against the Firebase Data Connect's generated GraphQL schema. Grants full read to the connected data sources. `ExecuteGraphqlRead` is identical to `ExecuteGraphql` except it only accepts read-only query.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:executeGraphqlRead", + "httpMethod": "POST", + "id": "firebasedataconnect.projects.locations.services.executeGraphqlRead", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of Firebase Data Connect service, in the format: ``` projects/{project}/locations/{location}/services/{service} ```", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:executeGraphqlRead", + "request": { + "$ref": "GraphqlRequest" + }, + "response": { + "$ref": "GraphqlResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Service.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", + "httpMethod": "GET", + "id": "firebasedataconnect.projects.locations.services.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the service to retrieve, in the format: ``` projects/{project}/locations/{location}/services/{service} ```", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Service" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Services in a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services", + "httpMethod": "GET", + "id": "firebasedataconnect.projects.locations.services.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListServices` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListServices` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Value of parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/services", + "response": { + "$ref": "ListServicesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single Service.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", + "httpMethod": "PATCH", + "id": "firebasedataconnect.projects.locations.services.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If true and the Service is not found, a new Service will be created. In this case, `update_mask` is ignored.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Identifier. The relative resource name of the Firebase Data Connect service, in the format: ``` projects/{project}/locations/{location}/services/{service} ``` Note that the service ID is specific to Firebase Data Connect and does not correspond to any of the instance IDs of the underlying data source connections.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the Service, but do not actually update it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "Service" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "connectors": { + "methods": { + "create": { + "description": "Creates a new Connector in a given project and location. The operations are validated against and must be compatible with the active schema. If the operations and schema are not compatible or if the schema is not present, this will result in an error.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/connectors", + "httpMethod": "POST", + "id": "firebasedataconnect.projects.locations.services.connectors.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "connectorId": { + "description": "Required. The ID to use for the connector, which will become the final component of the connector's resource name.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Value for parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the Connector, but do not actually create it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta/{+parent}/connectors", + "request": { + "$ref": "Connector" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single Connector.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/connectors/{connectorsId}", + "httpMethod": "DELETE", + "id": "firebasedataconnect.projects.locations.services.connectors.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If true and the Connector is not found, the request will succeed but no action will be taken on the server.", + "location": "query", + "type": "boolean" + }, + "etag": { + "description": "Optional. The etag of the Connector. If this is provided, it must match the server's etag.", + "location": "query", + "type": "string" + }, + "force": { + "description": "Optional. If set to true, any child resources (i.e. ConnectorRevisions) will also be deleted. Otherwise, the request will only work if the Connector has no child resources.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The name of the connector to delete, in the format: ``` projects/{project}/locations/{location}/services/{service}/connectors/{connector} ```", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/connectors/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the Connector, but do not actually delete it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "executeMutation": { + "description": "Execute a predefined mutation in a Connector.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/connectors/{connectorsId}:executeMutation", + "httpMethod": "POST", + "id": "firebasedataconnect.projects.locations.services.connectors.executeMutation", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the connector to find the predefined mutation, in the format: ``` projects/{project}/locations/{location}/services/{service}/connectors/{connector} ```", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/connectors/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:executeMutation", + "request": { + "$ref": "ExecuteMutationRequest" + }, + "response": { + "$ref": "ExecuteMutationResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "executeQuery": { + "description": "Execute a predefined query in a Connector.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/connectors/{connectorsId}:executeQuery", + "httpMethod": "POST", + "id": "firebasedataconnect.projects.locations.services.connectors.executeQuery", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the connector to find the predefined query, in the format: ``` projects/{project}/locations/{location}/services/{service}/connectors/{connector} ```", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/connectors/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:executeQuery", + "request": { + "$ref": "ExecuteQueryRequest" + }, + "response": { + "$ref": "ExecuteQueryResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Connector.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/connectors/{connectorsId}", + "httpMethod": "GET", + "id": "firebasedataconnect.projects.locations.services.connectors.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the connector to retrieve, in the format: ``` projects/{project}/locations/{location}/services/{service}/connectors/{connector} ```", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/connectors/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Connector" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Connectors in a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/connectors", + "httpMethod": "GET", + "id": "firebasedataconnect.projects.locations.services.connectors.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListConnectors` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListConnectors` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Value of parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/connectors", + "response": { + "$ref": "ListConnectorsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single Connector, and creates a new ConnectorRevision with the updated Connector. The operations are validated against and must be compatible with the live schema. If the operations and schema are not compatible or if the schema is not present, this will result in an error.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/connectors/{connectorsId}", + "httpMethod": "PATCH", + "id": "firebasedataconnect.projects.locations.services.connectors.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If true and the Connector is not found, a new Connector will be created. In this case, `update_mask` is ignored.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Identifier. The relative resource name of the connector, in the format: ``` projects/{project}/locations/{location}/services/{service}/connectors/{connector} ```", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/connectors/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to specify the fields to be overwritten in the Connector resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the Connector, but do not actually update it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "Connector" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "schemas": { + "methods": { + "create": { + "description": "Creates a new Schema in a given project and location. Only creation of `schemas/main` is supported and calling create with any other schema ID will result in an error.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/schemas", + "httpMethod": "POST", + "id": "firebasedataconnect.projects.locations.services.schemas.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Value for parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "schemaId": { + "description": "Required. The ID to use for the schema, which will become the final component of the schema's resource name. Currently, only `main` is supported and any other schema ID will result in an error.", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the Schema, but do not actually update it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta/{+parent}/schemas", + "request": { + "$ref": "Schema" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single Schema. Because the schema and connectors must be compatible at all times, if this is called while any connectors are active, this will result in an error.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/schemas/{schemasId}", + "httpMethod": "DELETE", + "id": "firebasedataconnect.projects.locations.services.schemas.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If true and the Schema is not found, the request will succeed but no action will be taken on the server.", + "location": "query", + "type": "boolean" + }, + "etag": { + "description": "Optional. The etag of the Schema. If this is provided, it must match the server's etag.", + "location": "query", + "type": "string" + }, + "force": { + "description": "Optional. If set to true, any child resources (i.e. SchemaRevisions) will also be deleted.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The name of the schema to delete, in the format: ``` projects/{project}/locations/{location}/services/{service}/schemas/{schema} ```", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/schemas/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the Schema, but do not actually delete it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Schema.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/schemas/{schemasId}", + "httpMethod": "GET", + "id": "firebasedataconnect.projects.locations.services.schemas.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the schema to retrieve, in the format: ``` projects/{project}/locations/{location}/services/{service}/schemas/{schema} ```", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/schemas/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Schema" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Schemas in a given project and location. Note that only `schemas/main` is supported, so this will always return at most one Schema.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/schemas", + "httpMethod": "GET", + "id": "firebasedataconnect.projects.locations.services.schemas.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListSchemas` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSchemas` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Value of parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/schemas", + "response": { + "$ref": "ListSchemasResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single Schema, and creates a new SchemaRevision with the updated Schema.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/schemas/{schemasId}", + "httpMethod": "PATCH", + "id": "firebasedataconnect.projects.locations.services.schemas.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If true and the Schema is not found, a new Schema will be created. In this case, `update_mask` is ignored.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Identifier. The relative resource name of the schema, in the format: ``` projects/{project}/locations/{location}/services/{service}/schemas/{schema} ``` Right now, the only supported schema is \"main\".", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/schemas/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to specify the fields to be overwritten in the Schema resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the Schema, but do not actually update it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "Schema" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20240918", + "rootUrl": "https://firebasedataconnect.googleapis.com/", + "schemas": { + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "CloudSqlInstance": { + "description": "Settings for CloudSQL instance configuration.", + "id": "CloudSqlInstance", + "properties": { + "instance": { + "description": "Required. Name of the CloudSQL instance, in the format: ``` projects/{project}/locations/{location}/instances/{instance} ```", + "type": "string" + } + }, + "type": "object" + }, + "Connector": { + "description": "Connector consists of a set of operations, i.e. queries and mutations.", + "id": "Connector", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Stores small amounts of arbitrary data.", + "type": "object" + }, + "createTime": { + "description": "Output only. [Output only] Create time stamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Optional. Mutable human-readable name. 63 character limit.", + "type": "string" + }, + "etag": { + "description": "Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. [AIP-154](https://google.aip.dev/154)", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels as key value pairs.", + "type": "object" + }, + "name": { + "description": "Identifier. The relative resource name of the connector, in the format: ``` projects/{project}/locations/{location}/services/{service}/connectors/{connector} ```", + "type": "string" + }, + "reconciling": { + "description": "Output only. A field that if true, indicates that the system is working to compile and deploy the connector.", + "readOnly": true, + "type": "boolean" + }, + "source": { + "$ref": "Source", + "description": "Required. The source files that comprise the connector." + }, + "uid": { + "description": "Output only. System-assigned, unique identifier.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. [Output only] Update time stamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Datasource": { + "description": "A data source that backs Firebase Data Connect services.", + "id": "Datasource", + "properties": { + "postgresql": { + "$ref": "PostgreSql", + "description": "PostgreSQL configurations." + } + }, + "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" + }, + "ExecuteMutationRequest": { + "description": "The ExecuteMutation request to Firebase Data Connect.", + "id": "ExecuteMutationRequest", + "properties": { + "operationName": { + "description": "Required. The name of the GraphQL operation name. Required because all Connector operations must be named. See https://graphql.org/learn/queries/#operation-name.", + "type": "string" + }, + "variables": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Values for GraphQL variables provided in this request.", + "type": "object" + } + }, + "type": "object" + }, + "ExecuteMutationResponse": { + "description": "The ExecuteMutation response from Firebase Data Connect.", + "id": "ExecuteMutationResponse", + "properties": { + "data": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The result of executing the requested operation.", + "type": "object" + }, + "errors": { + "description": "Errors of this response.", + "items": { + "$ref": "GraphqlError" + }, + "type": "array" + } + }, + "type": "object" + }, + "ExecuteQueryRequest": { + "description": "The ExecuteQuery request to Firebase Data Connect.", + "id": "ExecuteQueryRequest", + "properties": { + "operationName": { + "description": "Required. The name of the GraphQL operation name. Required because all Connector operations must be named. See https://graphql.org/learn/queries/#operation-name.", + "type": "string" + }, + "variables": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Values for GraphQL variables provided in this request.", + "type": "object" + } + }, + "type": "object" + }, + "ExecuteQueryResponse": { + "description": "The ExecuteQuery response from Firebase Data Connect.", + "id": "ExecuteQueryResponse", + "properties": { + "data": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The result of executing the requested operation.", + "type": "object" + }, + "errors": { + "description": "Errors of this response.", + "items": { + "$ref": "GraphqlError" + }, + "type": "array" + } + }, + "type": "object" + }, + "File": { + "description": "Individual files.", + "id": "File", + "properties": { + "content": { + "description": "Required. The file's textual content.", + "type": "string" + }, + "path": { + "description": "Required. The file name including folder path, if applicable. The path should be relative to a local workspace (e.g. dataconnect/(schema|connector)/*.gql) and not an absolute path (e.g. /absolute/path/(schema|connector)/*.gql).", + "type": "string" + } + }, + "type": "object" + }, + "GraphqlError": { + "description": "GraphqlError conforms to the GraphQL error spec. https://spec.graphql.org/draft/#sec-Errors Firebase Data Connect API surfaces `GraphqlError` in various APIs: - Upon compile error, `UpdateSchema` and `UpdateConnector` return Code.Invalid_Argument with a list of `GraphqlError` in error details. - Upon query compile error, `ExecuteGraphql` and `ExecuteGraphqlRead` return Code.OK with a list of `GraphqlError` in response body. - Upon query execution error, `ExecuteGraphql`, `ExecuteGraphqlRead`, `ExecuteMutation` and `ExecuteQuery` all return Code.OK with a list of `GraphqlError` in response body.", + "id": "GraphqlError", + "properties": { + "extensions": { + "$ref": "GraphqlErrorExtensions", + "description": "Additional error information." + }, + "locations": { + "description": "The source locations where the error occurred. Locations should help developers and toolings identify the source of error quickly. Included in admin endpoints (`ExecuteGraphql`, `ExecuteGraphqlRead`, `UpdateSchema` and `UpdateConnector`) to reference the provided GraphQL GQL document. Omitted in `ExecuteMutation` and `ExecuteQuery` since the caller shouldn't have access access the underlying GQL source.", + "items": { + "$ref": "SourceLocation" + }, + "type": "array" + }, + "message": { + "description": "The detailed error message. The message should help developer understand the underlying problem without leaking internal data.", + "type": "string" + }, + "path": { + "description": "The result field which could not be populated due to error. Clients can use path to identify whether a null result is intentional or caused by a runtime error. It should be a list of string or index from the root of GraphQL query document.", + "items": { + "type": "any" + }, + "type": "array" + } + }, + "type": "object" + }, + "GraphqlErrorExtensions": { + "description": "GraphqlErrorExtensions contains additional information of `GraphqlError`.", + "id": "GraphqlErrorExtensions", + "properties": { + "file": { + "description": "The source file name where the error occurred. Included only for `UpdateSchema` and `UpdateConnector`, it corresponds to `File.path` of the provided `Source`.", + "type": "string" + } + }, + "type": "object" + }, + "GraphqlRequest": { + "description": "The GraphQL request to Firebase Data Connect. It strives to match the GraphQL over HTTP spec. https://github.com/graphql/graphql-over-http/blob/main/spec/GraphQLOverHTTP.md#post", + "id": "GraphqlRequest", + "properties": { + "extensions": { + "$ref": "GraphqlRequestExtensions", + "description": "Optional. Additional GraphQL request information." + }, + "operationName": { + "description": "Optional. The name of the GraphQL operation name. Required only if `query` contains multiple operations. See https://graphql.org/learn/queries/#operation-name.", + "type": "string" + }, + "query": { + "description": "Required. The GraphQL query document source.", + "type": "string" + }, + "variables": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Values for GraphQL variables provided in this request.", + "type": "object" + } + }, + "type": "object" + }, + "GraphqlRequestExtensions": { + "description": "GraphqlRequestExtensions contains additional information of `GraphqlRequest`.", + "id": "GraphqlRequestExtensions", + "properties": { + "impersonate": { + "$ref": "Impersonation", + "description": "Optional. If set, impersonate a request with given Firebase Auth context and evaluate the auth policies on the operation. If omitted, bypass any defined auth policies." + } + }, + "type": "object" + }, + "GraphqlResponse": { + "description": "The GraphQL response from Firebase Data Connect. It strives to match the GraphQL over HTTP spec. Note: Firebase Data Connect always responds with `Content-Type: application/json`. https://github.com/graphql/graphql-over-http/blob/main/spec/GraphQLOverHTTP.md#body", + "id": "GraphqlResponse", + "properties": { + "data": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The result of the execution of the requested operation. If an error was raised before execution begins, the data entry should not be present in the result. (a request error: https://spec.graphql.org/draft/#sec-Errors.Request-Errors) If an error was raised during the execution that prevented a valid response, the data entry in the response should be null. (a field error: https://spec.graphql.org/draft/#sec-Errors.Error-Result-Format)", + "type": "object" + }, + "errors": { + "description": "Errors of this response. If the data entry in the response is not present, the errors entry must be present. It conforms to https://spec.graphql.org/draft/#sec-Errors.", + "items": { + "$ref": "GraphqlError" + }, + "type": "array" + } + }, + "type": "object" + }, + "Impersonation": { + "description": "Impersonation configures the Firebase Auth context to impersonate.", + "id": "Impersonation", + "properties": { + "authClaims": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Evaluate the auth policy with a customized JWT auth token. Should follow the Firebase Auth token format. https://firebase.google.com/docs/rules/rules-and-auth For example: a verified user may have auth_claims of {\"sub\": , \"email_verified\": true}", + "type": "object" + }, + "unauthenticated": { + "description": "Evaluate the auth policy as an unauthenticated request. Can only be set to true.", + "type": "boolean" + } + }, + "type": "object" + }, + "ListConnectorsResponse": { + "description": "Message for response to listing Connectors.", + "id": "ListConnectorsResponse", + "properties": { + "connectors": { + "description": "The list of Connectors.", + "items": { + "$ref": "Connector" + }, + "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" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListSchemasResponse": { + "description": "Message for response to listing Schemas.", + "id": "ListSchemasResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "schemas": { + "description": "The list of Schemas.", + "items": { + "$ref": "Schema" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListServicesResponse": { + "description": "Message for response to listing Services.", + "id": "ListServicesResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "services": { + "description": "The list of Services.", + "items": { + "$ref": "Service" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents a Google Cloud location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given location.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Represents the metadata of the long-running operation. Note: This message is auto-generated by CCFE. CCFE's storage, called Resource Metadata Store (RMS), holds metadata about long-running operations (i.e. OperationMetadata) and resources (i.e. ResourceMetadata). OperationMetadata documents the status of the operation. See [CCFE documentation for sidechannel data](https://g3doc.corp.google.com/cloud/control2/g3doc/dev/codelab_extras/sidechannel.md?cl=head#sidechannel-data) and yaqs/4289526912465764352.", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "PostgreSql": { + "description": "Settings for PostgreSQL data source.", + "id": "PostgreSql", + "properties": { + "cloudSql": { + "$ref": "CloudSqlInstance", + "description": "Cloud SQL configurations." + }, + "database": { + "description": "Required. Name of the PostgreSQL database.", + "type": "string" + }, + "schemaValidation": { + "description": "Optional. Configure how much Postgresql schema validation to perform. Default to `STRICT` if not specified.", + "enum": [ + "SQL_SCHEMA_VALIDATION_UNSPECIFIED", + "NONE", + "STRICT", + "COMPATIBLE" + ], + "enumDescriptions": [ + "Unspecified SQL schema validation. Default to STRICT.", + "Skip no SQL schema validation. Use it with extreme caution. CreateSchema or UpdateSchema will succeed even if SQL database is unavailable or SQL schema is incompatible. Generated SQL may fail at execution time.", + "Connect to the SQL database and validate that the SQL DDL matches the schema exactly. Surface any discrepancies as `FAILED_PRECONDITION` with an `IncompatibleSqlSchemaError` error detail.", + "Connect to the SQL database and validate that the SQL DDL has all the SQL resources used in the given Firebase Data Connect Schema. Surface any missing resources as `FAILED_PRECONDITION` with an `IncompatibleSqlSchemaError` error detail. Succeed even if there are unknown tables and columns." + ], + "type": "string" + } + }, + "type": "object" + }, + "Schema": { + "description": "The application schema of a Firebase Data Connect service.", + "id": "Schema", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Stores small amounts of arbitrary data.", + "type": "object" + }, + "createTime": { + "description": "Output only. [Output only] Create time stamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "datasources": { + "description": "Required. The data sources linked in the schema.", + "items": { + "$ref": "Datasource" + }, + "type": "array" + }, + "displayName": { + "description": "Optional. Mutable human-readable name. 63 character limit.", + "type": "string" + }, + "etag": { + "description": "Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. [AIP-154](https://google.aip.dev/154)", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels as key value pairs.", + "type": "object" + }, + "name": { + "description": "Identifier. The relative resource name of the schema, in the format: ``` projects/{project}/locations/{location}/services/{service}/schemas/{schema} ``` Right now, the only supported schema is \"main\".", + "type": "string" + }, + "reconciling": { + "description": "Output only. A field that if true, indicates that the system is working to compile and deploy the schema.", + "readOnly": true, + "type": "boolean" + }, + "source": { + "$ref": "Source", + "description": "Required. The source files that comprise the application schema." + }, + "uid": { + "description": "Output only. System-assigned, unique identifier.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. [Output only] Update time stamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Service": { + "description": "A Firebase Data Connect service.", + "id": "Service", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Stores small amounts of arbitrary data.", + "type": "object" + }, + "createTime": { + "description": "Output only. [Output only] Create time stamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Optional. Mutable human-readable name. 63 character limit.", + "type": "string" + }, + "etag": { + "description": "Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. [AIP-154](https://google.aip.dev/154)", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels as key value pairs.", + "type": "object" + }, + "name": { + "description": "Identifier. The relative resource name of the Firebase Data Connect service, in the format: ``` projects/{project}/locations/{location}/services/{service} ``` Note that the service ID is specific to Firebase Data Connect and does not correspond to any of the instance IDs of the underlying data source connections.", + "type": "string" + }, + "reconciling": { + "description": "Output only. A field that if true, indicates that the system is working update the service.", + "readOnly": true, + "type": "boolean" + }, + "uid": { + "description": "Output only. System-assigned, unique identifier.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. [Output only] Update time stamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Source": { + "description": "Used to represent a set of source files.", + "id": "Source", + "properties": { + "files": { + "description": "Required. The files that comprise the source set.", + "items": { + "$ref": "File" + }, + "type": "array" + } + }, + "type": "object" + }, + "SourceLocation": { + "description": "SourceLocation references a location in a GraphQL source.", + "id": "SourceLocation", + "properties": { + "column": { + "description": "Column number starting at 1.", + "format": "int32", + "type": "integer" + }, + "line": { + "description": "Line number starting at 1.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Firebase Data Connect API", + "version": "v1beta", + "version_module": true +} \ No newline at end of file diff --git a/firebasedataconnect/v1beta/firebasedataconnect-gen.go b/firebasedataconnect/v1beta/firebasedataconnect-gen.go new file mode 100644 index 00000000000..66cc4f576ca --- /dev/null +++ b/firebasedataconnect/v1beta/firebasedataconnect-gen.go @@ -0,0 +1,4389 @@ +// Copyright 2024 Google LLC. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated file. DO NOT EDIT. + +// Package firebasedataconnect provides access to the Firebase Data Connect API. +// +// For product documentation, see: https://firebase.google.com/docs/data-connect +// +// # Library status +// +// These client libraries are officially supported by Google. However, this +// library is considered complete and is in maintenance mode. This means +// that we will address critical bugs and security issues but will not add +// any new features. +// +// When possible, we recommend using our newer +// [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go) +// that are still actively being worked and iterated on. +// +// # Creating a client +// +// Usage example: +// +// import "google.golang.org/api/firebasedataconnect/v1beta" +// ... +// ctx := context.Background() +// firebasedataconnectService, err := firebasedataconnect.NewService(ctx) +// +// In this example, Google Application Default Credentials are used for +// authentication. For information on how to create and obtain Application +// Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. +// +// # Other authentication options +// +// To use an API key for authentication (note: some APIs do not support API +// keys), use [google.golang.org/api/option.WithAPIKey]: +// +// firebasedataconnectService, err := firebasedataconnect.NewService(ctx, option.WithAPIKey("AIza...")) +// +// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth +// flow, use [google.golang.org/api/option.WithTokenSource]: +// +// config := &oauth2.Config{...} +// // ... +// token, err := config.Exchange(ctx, ...) +// firebasedataconnectService, err := firebasedataconnect.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) +// +// See [google.golang.org/api/option.ClientOption] for details on options. +package firebasedataconnect // import "google.golang.org/api/firebasedataconnect/v1beta" + +import ( + "bytes" + "context" + "encoding/json" + "errors" + "fmt" + "io" + "net/http" + "net/url" + "strconv" + "strings" + + googleapi "google.golang.org/api/googleapi" + internal "google.golang.org/api/internal" + gensupport "google.golang.org/api/internal/gensupport" + option "google.golang.org/api/option" + internaloption "google.golang.org/api/option/internaloption" + htransport "google.golang.org/api/transport/http" +) + +// Always reference these packages, just in case the auto-generated code +// below doesn't. +var _ = bytes.NewBuffer +var _ = strconv.Itoa +var _ = fmt.Sprintf +var _ = json.NewDecoder +var _ = io.Copy +var _ = url.Parse +var _ = gensupport.MarshalJSON +var _ = googleapi.Version +var _ = errors.New +var _ = strings.Replace +var _ = context.Canceled +var _ = internaloption.WithDefaultEndpoint +var _ = internal.Version + +const apiId = "firebasedataconnect:v1beta" +const apiName = "firebasedataconnect" +const apiVersion = "v1beta" +const basePath = "https://firebasedataconnect.googleapis.com/" +const basePathTemplate = "https://firebasedataconnect.UNIVERSE_DOMAIN/" +const mtlsBasePath = "https://firebasedataconnect.mtls.googleapis.com/" + +// OAuth2 scopes used by this API. +const ( + // See, edit, configure, and delete your Google Cloud data and see the email + // address for your Google Account. + CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" +) + +// NewService creates a new APIService. +func NewService(ctx context.Context, opts ...option.ClientOption) (*APIService, error) { + scopesOption := internaloption.WithDefaultScopes( + "https://www.googleapis.com/auth/cloud-platform", + ) + // NOTE: prepend, so we don't override user-specified scopes. + opts = append([]option.ClientOption{scopesOption}, opts...) + opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) + opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate)) + opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) + opts = append(opts, internaloption.EnableNewAuthLibrary()) + client, endpoint, err := htransport.NewClient(ctx, opts...) + if err != nil { + return nil, err + } + s, err := New(client) + if err != nil { + return nil, err + } + if endpoint != "" { + s.BasePath = endpoint + } + return s, nil +} + +// New creates a new APIService. It uses the provided http.Client for requests. +// +// Deprecated: please use NewService instead. +// To provide a custom HTTP client, use option.WithHTTPClient. +// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. +func New(client *http.Client) (*APIService, error) { + if client == nil { + return nil, errors.New("client is nil") + } + s := &APIService{client: client, BasePath: basePath} + s.Projects = NewProjectsService(s) + return s, nil +} + +type APIService struct { + client *http.Client + BasePath string // API endpoint base URL + UserAgent string // optional additional User-Agent fragment + + Projects *ProjectsService +} + +func (s *APIService) userAgent() string { + if s.UserAgent == "" { + return googleapi.UserAgent + } + return googleapi.UserAgent + " " + s.UserAgent +} + +func NewProjectsService(s *APIService) *ProjectsService { + rs := &ProjectsService{s: s} + rs.Locations = NewProjectsLocationsService(s) + return rs +} + +type ProjectsService struct { + s *APIService + + Locations *ProjectsLocationsService +} + +func NewProjectsLocationsService(s *APIService) *ProjectsLocationsService { + rs := &ProjectsLocationsService{s: s} + rs.Operations = NewProjectsLocationsOperationsService(s) + rs.Services = NewProjectsLocationsServicesService(s) + return rs +} + +type ProjectsLocationsService struct { + s *APIService + + Operations *ProjectsLocationsOperationsService + + Services *ProjectsLocationsServicesService +} + +func NewProjectsLocationsOperationsService(s *APIService) *ProjectsLocationsOperationsService { + rs := &ProjectsLocationsOperationsService{s: s} + return rs +} + +type ProjectsLocationsOperationsService struct { + s *APIService +} + +func NewProjectsLocationsServicesService(s *APIService) *ProjectsLocationsServicesService { + rs := &ProjectsLocationsServicesService{s: s} + rs.Connectors = NewProjectsLocationsServicesConnectorsService(s) + rs.Schemas = NewProjectsLocationsServicesSchemasService(s) + return rs +} + +type ProjectsLocationsServicesService struct { + s *APIService + + Connectors *ProjectsLocationsServicesConnectorsService + + Schemas *ProjectsLocationsServicesSchemasService +} + +func NewProjectsLocationsServicesConnectorsService(s *APIService) *ProjectsLocationsServicesConnectorsService { + rs := &ProjectsLocationsServicesConnectorsService{s: s} + return rs +} + +type ProjectsLocationsServicesConnectorsService struct { + s *APIService +} + +func NewProjectsLocationsServicesSchemasService(s *APIService) *ProjectsLocationsServicesSchemasService { + rs := &ProjectsLocationsServicesSchemasService{s: s} + return rs +} + +type ProjectsLocationsServicesSchemasService struct { + s *APIService +} + +// CancelOperationRequest: The request message for Operations.CancelOperation. +type CancelOperationRequest struct { +} + +// CloudSqlInstance: Settings for CloudSQL instance configuration. +type CloudSqlInstance struct { + // Instance: Required. Name of the CloudSQL instance, in the format: ``` + // projects/{project}/locations/{location}/instances/{instance} ``` + Instance string `json:"instance,omitempty"` + // ForceSendFields is a list of field names (e.g. "Instance") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Instance") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s CloudSqlInstance) MarshalJSON() ([]byte, error) { + type NoMethod CloudSqlInstance + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// Connector: Connector consists of a set of operations, i.e. queries and +// mutations. +type Connector struct { + // Annotations: Optional. Stores small amounts of arbitrary data. + Annotations map[string]string `json:"annotations,omitempty"` + // CreateTime: Output only. [Output only] Create time stamp. + CreateTime string `json:"createTime,omitempty"` + // DisplayName: Optional. Mutable human-readable name. 63 character limit. + DisplayName string `json:"displayName,omitempty"` + // Etag: Output only. This checksum is computed by the server based on the + // value of other fields, and may be sent on update and delete requests to + // ensure the client has an up-to-date value before proceeding. AIP-154 + // (https://google.aip.dev/154) + Etag string `json:"etag,omitempty"` + // Labels: Optional. Labels as key value pairs. + Labels map[string]string `json:"labels,omitempty"` + // Name: Identifier. The relative resource name of the connector, in the + // format: ``` + // projects/{project}/locations/{location}/services/{service}/connectors/{connec + // tor} ``` + Name string `json:"name,omitempty"` + // Reconciling: Output only. A field that if true, indicates that the system is + // working to compile and deploy the connector. + Reconciling bool `json:"reconciling,omitempty"` + // Source: Required. The source files that comprise the connector. + Source *Source `json:"source,omitempty"` + // Uid: Output only. System-assigned, unique identifier. + Uid string `json:"uid,omitempty"` + // UpdateTime: Output only. [Output only] Update time stamp. + UpdateTime string `json:"updateTime,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // 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. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Annotations") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s Connector) MarshalJSON() ([]byte, error) { + type NoMethod Connector + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// Datasource: A data source that backs Firebase Data Connect services. +type Datasource struct { + // Postgresql: PostgreSQL configurations. + Postgresql *PostgreSql `json:"postgresql,omitempty"` + // ForceSendFields is a list of field names (e.g. "Postgresql") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Postgresql") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s Datasource) MarshalJSON() ([]byte, error) { + type NoMethod Datasource + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// Empty: A generic empty message that you can re-use to avoid defining +// duplicated empty messages in your APIs. A typical example is to use it as +// the request or the response type of an API method. For instance: service Foo +// { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } +type Empty struct { + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` +} + +// ExecuteMutationRequest: The ExecuteMutation request to Firebase Data +// Connect. +type ExecuteMutationRequest struct { + // OperationName: Required. The name of the GraphQL operation name. Required + // because all Connector operations must be named. See + // https://graphql.org/learn/queries/#operation-name. + OperationName string `json:"operationName,omitempty"` + // Variables: Optional. Values for GraphQL variables provided in this request. + Variables googleapi.RawMessage `json:"variables,omitempty"` + // ForceSendFields is a list of field names (e.g. "OperationName") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "OperationName") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ExecuteMutationRequest) MarshalJSON() ([]byte, error) { + type NoMethod ExecuteMutationRequest + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// ExecuteMutationResponse: The ExecuteMutation response from Firebase Data +// Connect. +type ExecuteMutationResponse struct { + // Data: The result of executing the requested operation. + Data googleapi.RawMessage `json:"data,omitempty"` + // Errors: Errors of this response. + Errors []*GraphqlError `json:"errors,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. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Data") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ExecuteMutationResponse) MarshalJSON() ([]byte, error) { + type NoMethod ExecuteMutationResponse + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// ExecuteQueryRequest: The ExecuteQuery request to Firebase Data Connect. +type ExecuteQueryRequest struct { + // OperationName: Required. The name of the GraphQL operation name. Required + // because all Connector operations must be named. See + // https://graphql.org/learn/queries/#operation-name. + OperationName string `json:"operationName,omitempty"` + // Variables: Optional. Values for GraphQL variables provided in this request. + Variables googleapi.RawMessage `json:"variables,omitempty"` + // ForceSendFields is a list of field names (e.g. "OperationName") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "OperationName") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ExecuteQueryRequest) MarshalJSON() ([]byte, error) { + type NoMethod ExecuteQueryRequest + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// ExecuteQueryResponse: The ExecuteQuery response from Firebase Data Connect. +type ExecuteQueryResponse struct { + // Data: The result of executing the requested operation. + Data googleapi.RawMessage `json:"data,omitempty"` + // Errors: Errors of this response. + Errors []*GraphqlError `json:"errors,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. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Data") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ExecuteQueryResponse) MarshalJSON() ([]byte, error) { + type NoMethod ExecuteQueryResponse + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// File: Individual files. +type File struct { + // Content: Required. The file's textual content. + Content string `json:"content,omitempty"` + // Path: Required. The file name including folder path, if applicable. The path + // should be relative to a local workspace (e.g. + // dataconnect/(schema|connector)/*.gql) and not an absolute path (e.g. + // /absolute/path/(schema|connector)/*.gql). + Path string `json:"path,omitempty"` + // ForceSendFields is a list of field names (e.g. "Content") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Content") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s File) MarshalJSON() ([]byte, error) { + type NoMethod File + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// GraphqlError: GraphqlError conforms to the GraphQL error spec. +// https://spec.graphql.org/draft/#sec-Errors Firebase Data Connect API +// surfaces `GraphqlError` in various APIs: - Upon compile error, +// `UpdateSchema` and `UpdateConnector` return Code.Invalid_Argument with a +// list of `GraphqlError` in error details. - Upon query compile error, +// `ExecuteGraphql` and `ExecuteGraphqlRead` return Code.OK with a list of +// `GraphqlError` in response body. - Upon query execution error, +// `ExecuteGraphql`, `ExecuteGraphqlRead`, `ExecuteMutation` and `ExecuteQuery` +// all return Code.OK with a list of `GraphqlError` in response body. +type GraphqlError struct { + // Extensions: Additional error information. + Extensions *GraphqlErrorExtensions `json:"extensions,omitempty"` + // Locations: The source locations where the error occurred. Locations should + // help developers and toolings identify the source of error quickly. Included + // in admin endpoints (`ExecuteGraphql`, `ExecuteGraphqlRead`, `UpdateSchema` + // and `UpdateConnector`) to reference the provided GraphQL GQL document. + // Omitted in `ExecuteMutation` and `ExecuteQuery` since the caller shouldn't + // have access access the underlying GQL source. + Locations []*SourceLocation `json:"locations,omitempty"` + // Message: The detailed error message. The message should help developer + // understand the underlying problem without leaking internal data. + Message string `json:"message,omitempty"` + // Path: The result field which could not be populated due to error. Clients + // can use path to identify whether a null result is intentional or caused by a + // runtime error. It should be a list of string or index from the root of + // GraphQL query document. + Path []interface{} `json:"path,omitempty"` + // ForceSendFields is a list of field names (e.g. "Extensions") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Extensions") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GraphqlError) MarshalJSON() ([]byte, error) { + type NoMethod GraphqlError + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// GraphqlErrorExtensions: GraphqlErrorExtensions contains additional +// information of `GraphqlError`. +type GraphqlErrorExtensions struct { + // File: The source file name where the error occurred. Included only for + // `UpdateSchema` and `UpdateConnector`, it corresponds to `File.path` of the + // provided `Source`. + File string `json:"file,omitempty"` + // ForceSendFields is a list of field names (e.g. "File") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "File") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GraphqlErrorExtensions) MarshalJSON() ([]byte, error) { + type NoMethod GraphqlErrorExtensions + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// GraphqlRequest: The GraphQL request to Firebase Data Connect. It strives to +// match the GraphQL over HTTP spec. +// https://github.com/graphql/graphql-over-http/blob/main/spec/GraphQLOverHTTP.md#post +type GraphqlRequest struct { + // Extensions: Optional. Additional GraphQL request information. + Extensions *GraphqlRequestExtensions `json:"extensions,omitempty"` + // OperationName: Optional. The name of the GraphQL operation name. Required + // only if `query` contains multiple operations. See + // https://graphql.org/learn/queries/#operation-name. + OperationName string `json:"operationName,omitempty"` + // Query: Required. The GraphQL query document source. + Query string `json:"query,omitempty"` + // Variables: Optional. Values for GraphQL variables provided in this request. + Variables googleapi.RawMessage `json:"variables,omitempty"` + // ForceSendFields is a list of field names (e.g. "Extensions") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Extensions") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GraphqlRequest) MarshalJSON() ([]byte, error) { + type NoMethod GraphqlRequest + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// GraphqlRequestExtensions: GraphqlRequestExtensions contains additional +// information of `GraphqlRequest`. +type GraphqlRequestExtensions struct { + // Impersonate: Optional. If set, impersonate a request with given Firebase + // Auth context and evaluate the auth policies on the operation. If omitted, + // bypass any defined auth policies. + Impersonate *Impersonation `json:"impersonate,omitempty"` + // ForceSendFields is a list of field names (e.g. "Impersonate") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Impersonate") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GraphqlRequestExtensions) MarshalJSON() ([]byte, error) { + type NoMethod GraphqlRequestExtensions + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// GraphqlResponse: The GraphQL response from Firebase Data Connect. It strives +// to match the GraphQL over HTTP spec. Note: Firebase Data Connect always +// responds with `Content-Type: application/json`. +// https://github.com/graphql/graphql-over-http/blob/main/spec/GraphQLOverHTTP.md#body +type GraphqlResponse struct { + // Data: The result of the execution of the requested operation. If an error + // was raised before execution begins, the data entry should not be present in + // the result. (a request error: + // https://spec.graphql.org/draft/#sec-Errors.Request-Errors) If an error was + // raised during the execution that prevented a valid response, the data entry + // in the response should be null. (a field error: + // https://spec.graphql.org/draft/#sec-Errors.Error-Result-Format) + Data googleapi.RawMessage `json:"data,omitempty"` + // Errors: Errors of this response. If the data entry in the response is not + // present, the errors entry must be present. It conforms to + // https://spec.graphql.org/draft/#sec-Errors. + Errors []*GraphqlError `json:"errors,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. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Data") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s GraphqlResponse) MarshalJSON() ([]byte, error) { + type NoMethod GraphqlResponse + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// Impersonation: Impersonation configures the Firebase Auth context to +// impersonate. +type Impersonation struct { + // AuthClaims: Evaluate the auth policy with a customized JWT auth token. + // Should follow the Firebase Auth token format. + // https://firebase.google.com/docs/rules/rules-and-auth For example: a + // verified user may have auth_claims of {"sub": , "email_verified": true} + AuthClaims googleapi.RawMessage `json:"authClaims,omitempty"` + // Unauthenticated: Evaluate the auth policy as an unauthenticated request. Can + // only be set to true. + Unauthenticated bool `json:"unauthenticated,omitempty"` + // ForceSendFields is a list of field names (e.g. "AuthClaims") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "AuthClaims") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s Impersonation) MarshalJSON() ([]byte, error) { + type NoMethod Impersonation + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// ListConnectorsResponse: Message for response to listing Connectors. +type ListConnectorsResponse struct { + // Connectors: The list of Connectors. + Connectors []*Connector `json:"connectors,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"` + // Unreachable: Locations that could not be reached. + Unreachable []string `json:"unreachable,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "Connectors") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Connectors") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ListConnectorsResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListConnectorsResponse + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// ListLocationsResponse: The response message for Locations.ListLocations. +type ListLocationsResponse struct { + // Locations: A list of locations that matches the specified filter in the + // request. + Locations []*Location `json:"locations,omitempty"` + // NextPageToken: The standard List next-page token. + 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. "Locations") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Locations") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ListLocationsResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListLocationsResponse + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// ListOperationsResponse: The response message for Operations.ListOperations. +type ListOperationsResponse struct { + // NextPageToken: The standard List next-page token. + NextPageToken string `json:"nextPageToken,omitempty"` + // Operations: A list of operations that matches the specified filter in the + // request. + Operations []*Operation `json:"operations,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "NextPageToken") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ListOperationsResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListOperationsResponse + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// ListSchemasResponse: Message for response to listing Schemas. +type ListSchemasResponse struct { + // NextPageToken: A token, which can be sent as `page_token` to retrieve the + // next page. If this field is omitted, there are no subsequent pages. + NextPageToken string `json:"nextPageToken,omitempty"` + // Schemas: The list of Schemas. + Schemas []*Schema `json:"schemas,omitempty"` + // Unreachable: Locations that could not be reached. + Unreachable []string `json:"unreachable,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "NextPageToken") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ListSchemasResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListSchemasResponse + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// ListServicesResponse: Message for response to listing Services. +type ListServicesResponse struct { + // NextPageToken: A token, which can be sent as `page_token` to retrieve the + // next page. If this field is omitted, there are no subsequent pages. + NextPageToken string `json:"nextPageToken,omitempty"` + // Services: The list of Services. + Services []*Service `json:"services,omitempty"` + // Unreachable: Locations that could not be reached. + Unreachable []string `json:"unreachable,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "NextPageToken") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ListServicesResponse) MarshalJSON() ([]byte, error) { + type NoMethod ListServicesResponse + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// Location: A resource that represents a Google Cloud location. +type Location struct { + // DisplayName: The friendly name for this location, typically a nearby city + // name. For example, "Tokyo". + DisplayName string `json:"displayName,omitempty"` + // Labels: Cross-service attributes for the location. For example + // {"cloud.googleapis.com/region": "us-east1"} + Labels map[string]string `json:"labels,omitempty"` + // LocationId: The canonical id for this location. For example: "us-east1". + LocationId string `json:"locationId,omitempty"` + // Metadata: Service-specific metadata. For example the available capacity at + // the given location. + Metadata googleapi.RawMessage `json:"metadata,omitempty"` + // Name: Resource name for the location, which may vary between + // implementations. For example: + // "projects/example-project/locations/us-east1" + Name string `json:"name,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "DisplayName") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "DisplayName") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s Location) MarshalJSON() ([]byte, error) { + type NoMethod Location + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// Operation: This resource represents a long-running operation that is the +// result of a network API call. +type Operation struct { + // Done: If the value is `false`, it means the operation is still in progress. + // If `true`, the operation is completed, and either `error` or `response` is + // available. + Done bool `json:"done,omitempty"` + // Error: The error result of the operation in case of failure or cancellation. + Error *Status `json:"error,omitempty"` + // Metadata: Service-specific metadata associated with the operation. It + // typically contains progress information and common metadata such as create + // time. Some services might not provide such metadata. Any method that returns + // a long-running operation should document the metadata type, if any. + Metadata googleapi.RawMessage `json:"metadata,omitempty"` + // Name: The server-assigned name, which is only unique within the same service + // that originally returns it. If you use the default HTTP mapping, the `name` + // should be a resource name ending with `operations/{unique_id}`. + Name string `json:"name,omitempty"` + // 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 `XxxResponse`, where `Xxx` is the + // original method name. For example, if the original method name is + // `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + Response googleapi.RawMessage `json:"response,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "Done") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Done") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s Operation) MarshalJSON() ([]byte, error) { + type NoMethod Operation + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// OperationMetadata: Represents the metadata of the long-running operation. +// Note: This message is auto-generated by CCFE. CCFE's storage, called +// Resource Metadata Store (RMS), holds metadata about long-running operations +// (i.e. OperationMetadata) and resources (i.e. ResourceMetadata). +// OperationMetadata documents the status of the operation. See CCFE +// documentation for sidechannel data +// (https://g3doc.corp.google.com/cloud/control2/g3doc/dev/codelab_extras/sidechannel.md?cl=head#sidechannel-data) +// and yaqs/4289526912465764352. +type OperationMetadata struct { + // ApiVersion: Output only. API version used to start the operation. + ApiVersion string `json:"apiVersion,omitempty"` + // CreateTime: Output only. The time the operation was created. + CreateTime string `json:"createTime,omitempty"` + // EndTime: Output only. The time the operation finished running. + EndTime string `json:"endTime,omitempty"` + // RequestedCancellation: Output only. Identifies whether the user has + // requested cancellation of the operation. Operations that have been cancelled + // successfully have Operation.error value with a google.rpc.Status.code of 1, + // corresponding to `Code.CANCELLED`. + RequestedCancellation bool `json:"requestedCancellation,omitempty"` + // StatusMessage: Output only. Human-readable status of the operation, if any. + StatusMessage string `json:"statusMessage,omitempty"` + // Target: Output only. Server-defined resource path for the target of the + // operation. + Target string `json:"target,omitempty"` + // Verb: Output only. Name of the verb executed by the operation. + Verb string `json:"verb,omitempty"` + // ForceSendFields is a list of field names (e.g. "ApiVersion") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ApiVersion") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s OperationMetadata) MarshalJSON() ([]byte, error) { + type NoMethod OperationMetadata + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// PostgreSql: Settings for PostgreSQL data source. +type PostgreSql struct { + // CloudSql: Cloud SQL configurations. + CloudSql *CloudSqlInstance `json:"cloudSql,omitempty"` + // Database: Required. Name of the PostgreSQL database. + Database string `json:"database,omitempty"` + // SchemaValidation: Optional. Configure how much Postgresql schema validation + // to perform. Default to `STRICT` if not specified. + // + // Possible values: + // "SQL_SCHEMA_VALIDATION_UNSPECIFIED" - Unspecified SQL schema validation. + // Default to STRICT. + // "NONE" - Skip no SQL schema validation. Use it with extreme caution. + // CreateSchema or UpdateSchema will succeed even if SQL database is + // unavailable or SQL schema is incompatible. Generated SQL may fail at + // execution time. + // "STRICT" - Connect to the SQL database and validate that the SQL DDL + // matches the schema exactly. Surface any discrepancies as + // `FAILED_PRECONDITION` with an `IncompatibleSqlSchemaError` error detail. + // "COMPATIBLE" - Connect to the SQL database and validate that the SQL DDL + // has all the SQL resources used in the given Firebase Data Connect Schema. + // Surface any missing resources as `FAILED_PRECONDITION` with an + // `IncompatibleSqlSchemaError` error detail. Succeed even if there are unknown + // tables and columns. + SchemaValidation string `json:"schemaValidation,omitempty"` + // ForceSendFields is a list of field names (e.g. "CloudSql") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "CloudSql") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s PostgreSql) MarshalJSON() ([]byte, error) { + type NoMethod PostgreSql + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// Schema: The application schema of a Firebase Data Connect service. +type Schema struct { + // Annotations: Optional. Stores small amounts of arbitrary data. + Annotations map[string]string `json:"annotations,omitempty"` + // CreateTime: Output only. [Output only] Create time stamp. + CreateTime string `json:"createTime,omitempty"` + // Datasources: Required. The data sources linked in the schema. + Datasources []*Datasource `json:"datasources,omitempty"` + // DisplayName: Optional. Mutable human-readable name. 63 character limit. + DisplayName string `json:"displayName,omitempty"` + // Etag: Output only. This checksum is computed by the server based on the + // value of other fields, and may be sent on update and delete requests to + // ensure the client has an up-to-date value before proceeding. AIP-154 + // (https://google.aip.dev/154) + Etag string `json:"etag,omitempty"` + // Labels: Optional. Labels as key value pairs. + Labels map[string]string `json:"labels,omitempty"` + // Name: Identifier. The relative resource name of the schema, in the format: + // ``` + // projects/{project}/locations/{location}/services/{service}/schemas/{schema} + // ``` Right now, the only supported schema is "main". + Name string `json:"name,omitempty"` + // Reconciling: Output only. A field that if true, indicates that the system is + // working to compile and deploy the schema. + Reconciling bool `json:"reconciling,omitempty"` + // Source: Required. The source files that comprise the application schema. + Source *Source `json:"source,omitempty"` + // Uid: Output only. System-assigned, unique identifier. + Uid string `json:"uid,omitempty"` + // UpdateTime: Output only. [Output only] Update time stamp. + UpdateTime string `json:"updateTime,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // 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. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Annotations") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s Schema) MarshalJSON() ([]byte, error) { + type NoMethod Schema + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// Service: A Firebase Data Connect service. +type Service struct { + // Annotations: Optional. Stores small amounts of arbitrary data. + Annotations map[string]string `json:"annotations,omitempty"` + // CreateTime: Output only. [Output only] Create time stamp. + CreateTime string `json:"createTime,omitempty"` + // DisplayName: Optional. Mutable human-readable name. 63 character limit. + DisplayName string `json:"displayName,omitempty"` + // Etag: Output only. This checksum is computed by the server based on the + // value of other fields, and may be sent on update and delete requests to + // ensure the client has an up-to-date value before proceeding. AIP-154 + // (https://google.aip.dev/154) + Etag string `json:"etag,omitempty"` + // Labels: Optional. Labels as key value pairs. + Labels map[string]string `json:"labels,omitempty"` + // Name: Identifier. The relative resource name of the Firebase Data Connect + // service, in the format: ``` + // projects/{project}/locations/{location}/services/{service} ``` Note that the + // service ID is specific to Firebase Data Connect and does not correspond to + // any of the instance IDs of the underlying data source connections. + Name string `json:"name,omitempty"` + // Reconciling: Output only. A field that if true, indicates that the system is + // working update the service. + Reconciling bool `json:"reconciling,omitempty"` + // Uid: Output only. System-assigned, unique identifier. + Uid string `json:"uid,omitempty"` + // UpdateTime: Output only. [Output only] Update time stamp. + UpdateTime string `json:"updateTime,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // 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. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Annotations") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s Service) MarshalJSON() ([]byte, error) { + type NoMethod Service + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// Source: Used to represent a set of source files. +type Source struct { + // Files: Required. The files that comprise the source set. + Files []*File `json:"files,omitempty"` + // ForceSendFields is a list of field names (e.g. "Files") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Files") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s Source) MarshalJSON() ([]byte, error) { + type NoMethod Source + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// SourceLocation: SourceLocation references a location in a GraphQL source. +type SourceLocation struct { + // Column: Column number starting at 1. + Column int64 `json:"column,omitempty"` + // Line: Line number starting at 1. + Line int64 `json:"line,omitempty"` + // ForceSendFields is a list of field names (e.g. "Column") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Column") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s SourceLocation) MarshalJSON() ([]byte, error) { + type NoMethod SourceLocation + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// Status: The `Status` type defines a logical error model that is suitable for +// different programming environments, including REST APIs and RPC APIs. It is +// used by gRPC (https://github.com/grpc). Each `Status` message contains three +// pieces of data: error code, error message, and error details. You can find +// out more about this error model and how to work with it in the API Design +// Guide (https://cloud.google.com/apis/design/errors). +type Status struct { + // Code: The status code, which should be an enum value of google.rpc.Code. + Code int64 `json:"code,omitempty"` + // Details: A list of messages that carry the error details. There is a common + // set of message types for APIs to use. + Details []googleapi.RawMessage `json:"details,omitempty"` + // Message: A developer-facing error message, which should be in English. Any + // user-facing error message should be localized and sent in the + // google.rpc.Status.details field, or localized by the client. + Message string `json:"message,omitempty"` + // ForceSendFields is a list of field names (e.g. "Code") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Code") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s Status) MarshalJSON() ([]byte, error) { + type NoMethod Status + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +type ProjectsLocationsGetCall struct { + s *APIService + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets information about a location. +// +// - name: Resource name for the location. +func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall { + c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebasedataconnect.projects.locations.get" call. +// Any non-2xx status code is an error. Response headers are in either +// *Location.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 *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, 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 := &Location{ + 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 +} + +type ProjectsLocationsListCall struct { + s *APIService + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists information about the supported locations for this service. +// +// - name: The resource that owns the locations collection, if applicable. +func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall { + c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Filter sets the optional parameter "filter": A filter to narrow down results +// to a preferred subset. The filtering language accepts strings like +// "displayName=tokyo", and is documented in more detail in AIP-160 +// (https://google.aip.dev/160). +func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// PageSize sets the optional parameter "pageSize": The maximum number of +// results to return. If not set, the service selects a default. +func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": A page token received +// from the `next_page_token` field in the response. Send that page token to +// receive the subsequent page. +func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}/locations") + 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 "firebasedataconnect.projects.locations.list" call. +// Any non-2xx status code is an error. Response headers are in either +// *ListLocationsResponse.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 *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, 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 := &ListLocationsResponse{ + 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 +} + +// 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 *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + +type ProjectsLocationsOperationsCancelCall struct { + s *APIService + name string + canceloperationrequest *CancelOperationRequest + 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 *ProjectsLocationsOperationsService) Cancel(name string, canceloperationrequest *CancelOperationRequest) *ProjectsLocationsOperationsCancelCall { + c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.canceloperationrequest = canceloperationrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsCancelCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsOperationsCancelCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsOperationsCancelCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.canceloperationrequest) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+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 "firebasedataconnect.projects.locations.operations.cancel" call. +// Any non-2xx status code is an error. Response headers are in either +// *Empty.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ProjectsLocationsOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + 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 +} + +type ProjectsLocationsOperationsDeleteCall struct { + s *APIService + 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 *ProjectsLocationsOperationsService) Delete(name string) *ProjectsLocationsOperationsDeleteCall { + c := &ProjectsLocationsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsOperationsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsOperationsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("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 "firebasedataconnect.projects.locations.operations.delete" call. +// 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 *ProjectsLocationsOperationsDeleteCall) 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 +} + +type ProjectsLocationsOperationsGetCall struct { + s *APIService + 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 *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall { + c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsOperationsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebasedataconnect.projects.locations.operations.get" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ProjectsLocationsOperationsGetCall) 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 +} + +type ProjectsLocationsOperationsListCall struct { + s *APIService + 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 *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall { + c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Filter sets the optional parameter "filter": The standard list filter. +func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// PageSize sets the optional parameter "pageSize": The standard list page +// size. +func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The standard list page +// token. +func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsOperationsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}/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 "firebasedataconnect.projects.locations.operations.list" call. +// 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 *ProjectsLocationsOperationsListCall) 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 +} + +// Pages invokes f for each page of results. +// A non-nil error returned from f will halt the iteration. +// The provided context supersedes any context provided to the Context method. +func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + +type ProjectsLocationsServicesCreateCall struct { + s *APIService + parent string + service *Service + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a new Service in a given project and location. +// +// - parent: Value of parent. +func (r *ProjectsLocationsServicesService) Create(parent string, service *Service) *ProjectsLocationsServicesCreateCall { + c := &ProjectsLocationsServicesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.service = service + return c +} + +// RequestId sets the optional parameter "requestId": An optional request ID to +// identify requests. Specify a unique request ID so that if you must retry +// your request, the server will know to ignore the request if it has already +// been completed. The server will guarantee that for at least 60 minutes since +// the first request. For example, consider a situation where you make an +// initial request and the request times out. If you make the request again +// with the same request ID, the server can check if original operation with +// the same request ID was received, and if so, will ignore the second request. +// This prevents clients from accidentally creating 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 *ProjectsLocationsServicesCreateCall) RequestId(requestId string) *ProjectsLocationsServicesCreateCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// ServiceId sets the optional parameter "serviceId": Required. The ID to use +// for the service, which will become the final component of the service's +// resource name. +func (c *ProjectsLocationsServicesCreateCall) ServiceId(serviceId string) *ProjectsLocationsServicesCreateCall { + c.urlParams_.Set("serviceId", serviceId) + return c +} + +// ValidateOnly sets the optional parameter "validateOnly": If set, validate +// the request and preview the Service, but do not actually create it. +func (c *ProjectsLocationsServicesCreateCall) ValidateOnly(validateOnly bool) *ProjectsLocationsServicesCreateCall { + c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsServicesCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsServicesCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsServicesCreateCall) Context(ctx context.Context) *ProjectsLocationsServicesCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsServicesCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsServicesCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.service) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/services") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebasedataconnect.projects.locations.services.create" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ProjectsLocationsServicesCreateCall) 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 +} + +type ProjectsLocationsServicesDeleteCall struct { + s *APIService + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a single Service. +// +// - name: The name of the service to delete, in the format: ``` +// projects/{project}/locations/{location}/services/{service} ```. +func (r *ProjectsLocationsServicesService) Delete(name string) *ProjectsLocationsServicesDeleteCall { + c := &ProjectsLocationsServicesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// AllowMissing sets the optional parameter "allowMissing": If true and the +// Service is not found, the request will succeed but no action will be taken +// on the server. +func (c *ProjectsLocationsServicesDeleteCall) AllowMissing(allowMissing bool) *ProjectsLocationsServicesDeleteCall { + c.urlParams_.Set("allowMissing", fmt.Sprint(allowMissing)) + return c +} + +// Etag sets the optional parameter "etag": The etag of the Service. If this is +// provided, it must match the server's etag. +func (c *ProjectsLocationsServicesDeleteCall) Etag(etag string) *ProjectsLocationsServicesDeleteCall { + c.urlParams_.Set("etag", etag) + return c +} + +// Force sets the optional parameter "force": If set to true, any child +// resources (i.e. Schema, SchemaRevisions, Connectors, and ConnectorRevisions) +// will also be deleted. Otherwise, the request will only work if the Service +// has no child resources. +func (c *ProjectsLocationsServicesDeleteCall) Force(force bool) *ProjectsLocationsServicesDeleteCall { + c.urlParams_.Set("force", fmt.Sprint(force)) + return c +} + +// RequestId sets the optional parameter "requestId": An optional request ID to +// identify requests. Specify a unique request ID so that if you must retry +// your request, the server will know to ignore the request if it has already +// been completed. The server will guarantee that for at least 60 minutes after +// the first request. For example, consider a situation where you make an +// initial request and the request times out. If you make the request again +// with the same request ID, the server can check if original operation with +// the same request ID was received, and if so, will ignore the second request. +// This prevents clients from accidentally creating 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 *ProjectsLocationsServicesDeleteCall) RequestId(requestId string) *ProjectsLocationsServicesDeleteCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// ValidateOnly sets the optional parameter "validateOnly": If set, validate +// the request and preview the Service, but do not actually delete it. +func (c *ProjectsLocationsServicesDeleteCall) ValidateOnly(validateOnly bool) *ProjectsLocationsServicesDeleteCall { + c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsServicesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsServicesDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsServicesDeleteCall) Context(ctx context.Context) *ProjectsLocationsServicesDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsServicesDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsServicesDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("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 "firebasedataconnect.projects.locations.services.delete" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ProjectsLocationsServicesDeleteCall) 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 +} + +type ProjectsLocationsServicesExecuteGraphqlCall struct { + s *APIService + name string + graphqlrequest *GraphqlRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ExecuteGraphql: Execute any GraphQL query and mutation against the Firebase +// Data Connect's generated GraphQL schema. Grants full read and write access +// to the connected data sources. Note: Use introspection query to explore the +// generated GraphQL schema. +// +// - name: The relative resource name of Firebase Data Connect service, in the +// format: ``` projects/{project}/locations/{location}/services/{service} ```. +func (r *ProjectsLocationsServicesService) ExecuteGraphql(name string, graphqlrequest *GraphqlRequest) *ProjectsLocationsServicesExecuteGraphqlCall { + c := &ProjectsLocationsServicesExecuteGraphqlCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.graphqlrequest = graphqlrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsServicesExecuteGraphqlCall) Fields(s ...googleapi.Field) *ProjectsLocationsServicesExecuteGraphqlCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsServicesExecuteGraphqlCall) Context(ctx context.Context) *ProjectsLocationsServicesExecuteGraphqlCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsServicesExecuteGraphqlCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsServicesExecuteGraphqlCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.graphqlrequest) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}:executeGraphql") + 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 "firebasedataconnect.projects.locations.services.executeGraphql" call. +// Any non-2xx status code is an error. Response headers are in either +// *GraphqlResponse.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 *ProjectsLocationsServicesExecuteGraphqlCall) Do(opts ...googleapi.CallOption) (*GraphqlResponse, 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 := &GraphqlResponse{ + 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 +} + +type ProjectsLocationsServicesExecuteGraphqlReadCall struct { + s *APIService + name string + graphqlrequest *GraphqlRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ExecuteGraphqlRead: Execute any GraphQL query against the Firebase Data +// Connect's generated GraphQL schema. Grants full read to the connected data +// sources. `ExecuteGraphqlRead` is identical to `ExecuteGraphql` except it +// only accepts read-only query. +// +// - name: The relative resource name of Firebase Data Connect service, in the +// format: ``` projects/{project}/locations/{location}/services/{service} ```. +func (r *ProjectsLocationsServicesService) ExecuteGraphqlRead(name string, graphqlrequest *GraphqlRequest) *ProjectsLocationsServicesExecuteGraphqlReadCall { + c := &ProjectsLocationsServicesExecuteGraphqlReadCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.graphqlrequest = graphqlrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsServicesExecuteGraphqlReadCall) Fields(s ...googleapi.Field) *ProjectsLocationsServicesExecuteGraphqlReadCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsServicesExecuteGraphqlReadCall) Context(ctx context.Context) *ProjectsLocationsServicesExecuteGraphqlReadCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsServicesExecuteGraphqlReadCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsServicesExecuteGraphqlReadCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.graphqlrequest) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}:executeGraphqlRead") + 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 "firebasedataconnect.projects.locations.services.executeGraphqlRead" call. +// Any non-2xx status code is an error. Response headers are in either +// *GraphqlResponse.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 *ProjectsLocationsServicesExecuteGraphqlReadCall) Do(opts ...googleapi.CallOption) (*GraphqlResponse, 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 := &GraphqlResponse{ + 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 +} + +type ProjectsLocationsServicesGetCall struct { + s *APIService + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets details of a single Service. +// +// - name: The name of the service to retrieve, in the format: ``` +// projects/{project}/locations/{location}/services/{service} ```. +func (r *ProjectsLocationsServicesService) Get(name string) *ProjectsLocationsServicesGetCall { + c := &ProjectsLocationsServicesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsServicesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsServicesGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *ProjectsLocationsServicesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsServicesGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsServicesGetCall) Context(ctx context.Context) *ProjectsLocationsServicesGetCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsServicesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsServicesGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebasedataconnect.projects.locations.services.get" call. +// Any non-2xx status code is an error. Response headers are in either +// *Service.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 *ProjectsLocationsServicesGetCall) Do(opts ...googleapi.CallOption) (*Service, 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 := &Service{ + 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 +} + +type ProjectsLocationsServicesListCall struct { + s *APIService + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists Services in a given project and location. +// +// - parent: Value of parent. +func (r *ProjectsLocationsServicesService) List(parent string) *ProjectsLocationsServicesListCall { + c := &ProjectsLocationsServicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// Filter sets the optional parameter "filter": Filtering results. +func (c *ProjectsLocationsServicesListCall) Filter(filter string) *ProjectsLocationsServicesListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// OrderBy sets the optional parameter "orderBy": Hint for how to order the +// results. +func (c *ProjectsLocationsServicesListCall) OrderBy(orderBy string) *ProjectsLocationsServicesListCall { + c.urlParams_.Set("orderBy", orderBy) + return c +} + +// PageSize sets the optional parameter "pageSize": Requested page size. Server +// may return fewer items than requested. If unspecified, server will pick an +// appropriate default. +func (c *ProjectsLocationsServicesListCall) PageSize(pageSize int64) *ProjectsLocationsServicesListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": A page token, received +// from a previous `ListServices` call. Provide this to retrieve the subsequent +// page. When paginating, all other parameters provided to `ListServices` must +// match the call that provided the page token. +func (c *ProjectsLocationsServicesListCall) PageToken(pageToken string) *ProjectsLocationsServicesListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsServicesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsServicesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *ProjectsLocationsServicesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsServicesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsServicesListCall) Context(ctx context.Context) *ProjectsLocationsServicesListCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsServicesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsServicesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/services") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebasedataconnect.projects.locations.services.list" call. +// Any non-2xx status code is an error. Response headers are in either +// *ListServicesResponse.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 *ProjectsLocationsServicesListCall) Do(opts ...googleapi.CallOption) (*ListServicesResponse, 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 := &ListServicesResponse{ + 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 +} + +// 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 *ProjectsLocationsServicesListCall) Pages(ctx context.Context, f func(*ListServicesResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + +type ProjectsLocationsServicesPatchCall struct { + s *APIService + name string + service *Service + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates the parameters of a single Service. +// +// - name: Identifier. The relative resource name of the Firebase Data Connect +// service, in the format: ``` +// projects/{project}/locations/{location}/services/{service} ``` Note that +// the service ID is specific to Firebase Data Connect and does not +// correspond to any of the instance IDs of the underlying data source +// connections. +func (r *ProjectsLocationsServicesService) Patch(name string, service *Service) *ProjectsLocationsServicesPatchCall { + c := &ProjectsLocationsServicesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.service = service + return c +} + +// AllowMissing sets the optional parameter "allowMissing": If true and the +// Service is not found, a new Service will be created. In this case, +// `update_mask` is ignored. +func (c *ProjectsLocationsServicesPatchCall) AllowMissing(allowMissing bool) *ProjectsLocationsServicesPatchCall { + c.urlParams_.Set("allowMissing", fmt.Sprint(allowMissing)) + return c +} + +// RequestId sets the optional parameter "requestId": An optional request ID to +// identify requests. Specify a unique request ID so that if you must retry +// your request, the server will know to ignore the request if it has already +// been completed. The server will guarantee that for at least 60 minutes since +// the first request. For example, consider a situation where you make an +// initial request and the request times out. If you make the request again +// with the same request ID, the server can check if original operation with +// the same request ID was received, and if so, will ignore the second request. +// This prevents clients from accidentally creating 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 *ProjectsLocationsServicesPatchCall) RequestId(requestId string) *ProjectsLocationsServicesPatchCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// UpdateMask sets the optional parameter "updateMask": Field mask is used to +// specify the fields to be overwritten in the Service resource by the update. +// The fields specified in the update_mask are relative to the resource, not +// the full request. A field will be overwritten if it is in the mask. If the +// user does not provide a mask then all fields will be overwritten. +func (c *ProjectsLocationsServicesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsServicesPatchCall { + c.urlParams_.Set("updateMask", updateMask) + return c +} + +// ValidateOnly sets the optional parameter "validateOnly": If set, validate +// the request and preview the Service, but do not actually update it. +func (c *ProjectsLocationsServicesPatchCall) ValidateOnly(validateOnly bool) *ProjectsLocationsServicesPatchCall { + c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsServicesPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsServicesPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsServicesPatchCall) Context(ctx context.Context) *ProjectsLocationsServicesPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsServicesPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsServicesPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.service) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("PATCH", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebasedataconnect.projects.locations.services.patch" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ProjectsLocationsServicesPatchCall) 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 +} + +type ProjectsLocationsServicesConnectorsCreateCall struct { + s *APIService + parent string + connector *Connector + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a new Connector in a given project and location. The +// operations are validated against and must be compatible with the active +// schema. If the operations and schema are not compatible or if the schema is +// not present, this will result in an error. +// +// - parent: Value for parent. +func (r *ProjectsLocationsServicesConnectorsService) Create(parent string, connector *Connector) *ProjectsLocationsServicesConnectorsCreateCall { + c := &ProjectsLocationsServicesConnectorsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.connector = connector + return c +} + +// ConnectorId sets the optional parameter "connectorId": Required. The ID to +// use for the connector, which will become the final component of the +// connector's resource name. +func (c *ProjectsLocationsServicesConnectorsCreateCall) ConnectorId(connectorId string) *ProjectsLocationsServicesConnectorsCreateCall { + c.urlParams_.Set("connectorId", connectorId) + return c +} + +// RequestId sets the optional parameter "requestId": An optional request ID to +// identify requests. Specify a unique request ID so that if you must retry +// your request, the server will know to ignore the request if it has already +// been completed. The server will guarantee that for at least 60 minutes since +// the first request. For example, consider a situation where you make an +// initial request and the request times out. If you make the request again +// with the same request ID, the server can check if original operation with +// the same request ID was received, and if so, will ignore the second request. +// This prevents clients from accidentally creating 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 *ProjectsLocationsServicesConnectorsCreateCall) RequestId(requestId string) *ProjectsLocationsServicesConnectorsCreateCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// ValidateOnly sets the optional parameter "validateOnly": If set, validate +// the request and preview the Connector, but do not actually create it. +func (c *ProjectsLocationsServicesConnectorsCreateCall) ValidateOnly(validateOnly bool) *ProjectsLocationsServicesConnectorsCreateCall { + c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsServicesConnectorsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsServicesConnectorsCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsServicesConnectorsCreateCall) Context(ctx context.Context) *ProjectsLocationsServicesConnectorsCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsServicesConnectorsCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsServicesConnectorsCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.connector) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/connectors") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebasedataconnect.projects.locations.services.connectors.create" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ProjectsLocationsServicesConnectorsCreateCall) 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 +} + +type ProjectsLocationsServicesConnectorsDeleteCall struct { + s *APIService + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a single Connector. +// +// - name: The name of the connector to delete, in the format: ``` +// projects/{project}/locations/{location}/services/{service}/connectors/{conn +// ector} ```. +func (r *ProjectsLocationsServicesConnectorsService) Delete(name string) *ProjectsLocationsServicesConnectorsDeleteCall { + c := &ProjectsLocationsServicesConnectorsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// AllowMissing sets the optional parameter "allowMissing": If true and the +// Connector is not found, the request will succeed but no action will be taken +// on the server. +func (c *ProjectsLocationsServicesConnectorsDeleteCall) AllowMissing(allowMissing bool) *ProjectsLocationsServicesConnectorsDeleteCall { + c.urlParams_.Set("allowMissing", fmt.Sprint(allowMissing)) + return c +} + +// Etag sets the optional parameter "etag": The etag of the Connector. If this +// is provided, it must match the server's etag. +func (c *ProjectsLocationsServicesConnectorsDeleteCall) Etag(etag string) *ProjectsLocationsServicesConnectorsDeleteCall { + c.urlParams_.Set("etag", etag) + return c +} + +// Force sets the optional parameter "force": If set to true, any child +// resources (i.e. ConnectorRevisions) will also be deleted. Otherwise, the +// request will only work if the Connector has no child resources. +func (c *ProjectsLocationsServicesConnectorsDeleteCall) Force(force bool) *ProjectsLocationsServicesConnectorsDeleteCall { + c.urlParams_.Set("force", fmt.Sprint(force)) + return c +} + +// RequestId sets the optional parameter "requestId": An optional request ID to +// identify requests. Specify a unique request ID so that if you must retry +// your request, the server will know to ignore the request if it has already +// been completed. The server will guarantee that for at least 60 minutes after +// the first request. For example, consider a situation where you make an +// initial request and the request times out. If you make the request again +// with the same request ID, the server can check if original operation with +// the same request ID was received, and if so, will ignore the second request. +// This prevents clients from accidentally creating 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 *ProjectsLocationsServicesConnectorsDeleteCall) RequestId(requestId string) *ProjectsLocationsServicesConnectorsDeleteCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// ValidateOnly sets the optional parameter "validateOnly": If set, validate +// the request and preview the Connector, but do not actually delete it. +func (c *ProjectsLocationsServicesConnectorsDeleteCall) ValidateOnly(validateOnly bool) *ProjectsLocationsServicesConnectorsDeleteCall { + c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsServicesConnectorsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsServicesConnectorsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsServicesConnectorsDeleteCall) Context(ctx context.Context) *ProjectsLocationsServicesConnectorsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsServicesConnectorsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsServicesConnectorsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("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 "firebasedataconnect.projects.locations.services.connectors.delete" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ProjectsLocationsServicesConnectorsDeleteCall) 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 +} + +type ProjectsLocationsServicesConnectorsExecuteMutationCall struct { + s *APIService + name string + executemutationrequest *ExecuteMutationRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ExecuteMutation: Execute a predefined mutation in a Connector. +// +// - name: The resource name of the connector to find the predefined mutation, +// in the format: ``` +// projects/{project}/locations/{location}/services/{service}/connectors/{conn +// ector} ```. +func (r *ProjectsLocationsServicesConnectorsService) ExecuteMutation(name string, executemutationrequest *ExecuteMutationRequest) *ProjectsLocationsServicesConnectorsExecuteMutationCall { + c := &ProjectsLocationsServicesConnectorsExecuteMutationCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.executemutationrequest = executemutationrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsServicesConnectorsExecuteMutationCall) Fields(s ...googleapi.Field) *ProjectsLocationsServicesConnectorsExecuteMutationCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsServicesConnectorsExecuteMutationCall) Context(ctx context.Context) *ProjectsLocationsServicesConnectorsExecuteMutationCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsServicesConnectorsExecuteMutationCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsServicesConnectorsExecuteMutationCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.executemutationrequest) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}:executeMutation") + 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 "firebasedataconnect.projects.locations.services.connectors.executeMutation" call. +// Any non-2xx status code is an error. Response headers are in either +// *ExecuteMutationResponse.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 *ProjectsLocationsServicesConnectorsExecuteMutationCall) Do(opts ...googleapi.CallOption) (*ExecuteMutationResponse, 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 := &ExecuteMutationResponse{ + 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 +} + +type ProjectsLocationsServicesConnectorsExecuteQueryCall struct { + s *APIService + name string + executequeryrequest *ExecuteQueryRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// ExecuteQuery: Execute a predefined query in a Connector. +// +// - name: The resource name of the connector to find the predefined query, in +// the format: ``` +// projects/{project}/locations/{location}/services/{service}/connectors/{conn +// ector} ```. +func (r *ProjectsLocationsServicesConnectorsService) ExecuteQuery(name string, executequeryrequest *ExecuteQueryRequest) *ProjectsLocationsServicesConnectorsExecuteQueryCall { + c := &ProjectsLocationsServicesConnectorsExecuteQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.executequeryrequest = executequeryrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsServicesConnectorsExecuteQueryCall) Fields(s ...googleapi.Field) *ProjectsLocationsServicesConnectorsExecuteQueryCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsServicesConnectorsExecuteQueryCall) Context(ctx context.Context) *ProjectsLocationsServicesConnectorsExecuteQueryCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsServicesConnectorsExecuteQueryCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsServicesConnectorsExecuteQueryCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.executequeryrequest) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}:executeQuery") + 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 "firebasedataconnect.projects.locations.services.connectors.executeQuery" call. +// Any non-2xx status code is an error. Response headers are in either +// *ExecuteQueryResponse.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 *ProjectsLocationsServicesConnectorsExecuteQueryCall) Do(opts ...googleapi.CallOption) (*ExecuteQueryResponse, 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 := &ExecuteQueryResponse{ + 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 +} + +type ProjectsLocationsServicesConnectorsGetCall struct { + s *APIService + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets details of a single Connector. +// +// - name: The name of the connector to retrieve, in the format: ``` +// projects/{project}/locations/{location}/services/{service}/connectors/{conn +// ector} ```. +func (r *ProjectsLocationsServicesConnectorsService) Get(name string) *ProjectsLocationsServicesConnectorsGetCall { + c := &ProjectsLocationsServicesConnectorsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsServicesConnectorsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsServicesConnectorsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *ProjectsLocationsServicesConnectorsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsServicesConnectorsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsServicesConnectorsGetCall) Context(ctx context.Context) *ProjectsLocationsServicesConnectorsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsServicesConnectorsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsServicesConnectorsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebasedataconnect.projects.locations.services.connectors.get" call. +// Any non-2xx status code is an error. Response headers are in either +// *Connector.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 *ProjectsLocationsServicesConnectorsGetCall) Do(opts ...googleapi.CallOption) (*Connector, 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 := &Connector{ + 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 +} + +type ProjectsLocationsServicesConnectorsListCall struct { + s *APIService + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists Connectors in a given project and location. +// +// - parent: Value of parent. +func (r *ProjectsLocationsServicesConnectorsService) List(parent string) *ProjectsLocationsServicesConnectorsListCall { + c := &ProjectsLocationsServicesConnectorsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// Filter sets the optional parameter "filter": Filtering results. +func (c *ProjectsLocationsServicesConnectorsListCall) Filter(filter string) *ProjectsLocationsServicesConnectorsListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// OrderBy sets the optional parameter "orderBy": Hint for how to order the +// results. +func (c *ProjectsLocationsServicesConnectorsListCall) OrderBy(orderBy string) *ProjectsLocationsServicesConnectorsListCall { + c.urlParams_.Set("orderBy", orderBy) + return c +} + +// PageSize sets the optional parameter "pageSize": Requested page size. Server +// may return fewer items than requested. If unspecified, server will pick an +// appropriate default. +func (c *ProjectsLocationsServicesConnectorsListCall) PageSize(pageSize int64) *ProjectsLocationsServicesConnectorsListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": A page token, received +// from a previous `ListConnectors` call. Provide this to retrieve the +// subsequent page. When paginating, all other parameters provided to +// `ListConnectors` must match the call that provided the page token. +func (c *ProjectsLocationsServicesConnectorsListCall) PageToken(pageToken string) *ProjectsLocationsServicesConnectorsListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsServicesConnectorsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsServicesConnectorsListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *ProjectsLocationsServicesConnectorsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsServicesConnectorsListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsServicesConnectorsListCall) Context(ctx context.Context) *ProjectsLocationsServicesConnectorsListCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsServicesConnectorsListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsServicesConnectorsListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/connectors") + 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 "firebasedataconnect.projects.locations.services.connectors.list" call. +// Any non-2xx status code is an error. Response headers are in either +// *ListConnectorsResponse.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 *ProjectsLocationsServicesConnectorsListCall) Do(opts ...googleapi.CallOption) (*ListConnectorsResponse, 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 := &ListConnectorsResponse{ + 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 +} + +// 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 *ProjectsLocationsServicesConnectorsListCall) Pages(ctx context.Context, f func(*ListConnectorsResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + +type ProjectsLocationsServicesConnectorsPatchCall struct { + s *APIService + name string + connector *Connector + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates the parameters of a single Connector, and creates a new +// ConnectorRevision with the updated Connector. The operations are validated +// against and must be compatible with the live schema. If the operations and +// schema are not compatible or if the schema is not present, this will result +// in an error. +// +// - name: Identifier. The relative resource name of the connector, in the +// format: ``` +// projects/{project}/locations/{location}/services/{service}/connectors/{conn +// ector} ```. +func (r *ProjectsLocationsServicesConnectorsService) Patch(name string, connector *Connector) *ProjectsLocationsServicesConnectorsPatchCall { + c := &ProjectsLocationsServicesConnectorsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.connector = connector + return c +} + +// AllowMissing sets the optional parameter "allowMissing": If true and the +// Connector is not found, a new Connector will be created. In this case, +// `update_mask` is ignored. +func (c *ProjectsLocationsServicesConnectorsPatchCall) AllowMissing(allowMissing bool) *ProjectsLocationsServicesConnectorsPatchCall { + c.urlParams_.Set("allowMissing", fmt.Sprint(allowMissing)) + return c +} + +// RequestId sets the optional parameter "requestId": An optional request ID to +// identify requests. Specify a unique request ID so that if you must retry +// your request, the server will know to ignore the request if it has already +// been completed. The server will guarantee that for at least 60 minutes since +// the first request. For example, consider a situation where you make an +// initial request and the request times out. If you make the request again +// with the same request ID, the server can check if original operation with +// the same request ID was received, and if so, will ignore the second request. +// This prevents clients from accidentally creating 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 *ProjectsLocationsServicesConnectorsPatchCall) RequestId(requestId string) *ProjectsLocationsServicesConnectorsPatchCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// UpdateMask sets the optional parameter "updateMask": Field mask is used to +// specify the fields to be overwritten in the Connector resource by the +// update. The fields specified in the update_mask are relative to the +// resource, not the full request. A field will be overwritten if it is in the +// mask. If the user does not provide a mask then all fields will be +// overwritten. +func (c *ProjectsLocationsServicesConnectorsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsServicesConnectorsPatchCall { + c.urlParams_.Set("updateMask", updateMask) + return c +} + +// ValidateOnly sets the optional parameter "validateOnly": If set, validate +// the request and preview the Connector, but do not actually update it. +func (c *ProjectsLocationsServicesConnectorsPatchCall) ValidateOnly(validateOnly bool) *ProjectsLocationsServicesConnectorsPatchCall { + c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsServicesConnectorsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsServicesConnectorsPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsServicesConnectorsPatchCall) Context(ctx context.Context) *ProjectsLocationsServicesConnectorsPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsServicesConnectorsPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsServicesConnectorsPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.connector) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("PATCH", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebasedataconnect.projects.locations.services.connectors.patch" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ProjectsLocationsServicesConnectorsPatchCall) 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 +} + +type ProjectsLocationsServicesSchemasCreateCall struct { + s *APIService + parent string + schema *Schema + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Create: Creates a new Schema in a given project and location. Only creation +// of `schemas/main` is supported and calling create with any other schema ID +// will result in an error. +// +// - parent: Value for parent. +func (r *ProjectsLocationsServicesSchemasService) Create(parent string, schema *Schema) *ProjectsLocationsServicesSchemasCreateCall { + c := &ProjectsLocationsServicesSchemasCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.schema = schema + return c +} + +// RequestId sets the optional parameter "requestId": An optional request ID to +// identify requests. Specify a unique request ID so that if you must retry +// your request, the server will know to ignore the request if it has already +// been completed. The server will guarantee that for at least 60 minutes since +// the first request. For example, consider a situation where you make an +// initial request and the request times out. If you make the request again +// with the same request ID, the server can check if original operation with +// the same request ID was received, and if so, will ignore the second request. +// This prevents clients from accidentally creating 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 *ProjectsLocationsServicesSchemasCreateCall) RequestId(requestId string) *ProjectsLocationsServicesSchemasCreateCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// SchemaId sets the optional parameter "schemaId": Required. The ID to use for +// the schema, which will become the final component of the schema's resource +// name. Currently, only `main` is supported and any other schema ID will +// result in an error. +func (c *ProjectsLocationsServicesSchemasCreateCall) SchemaId(schemaId string) *ProjectsLocationsServicesSchemasCreateCall { + c.urlParams_.Set("schemaId", schemaId) + return c +} + +// ValidateOnly sets the optional parameter "validateOnly": If set, validate +// the request and preview the Schema, but do not actually update it. +func (c *ProjectsLocationsServicesSchemasCreateCall) ValidateOnly(validateOnly bool) *ProjectsLocationsServicesSchemasCreateCall { + c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsServicesSchemasCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsServicesSchemasCreateCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsServicesSchemasCreateCall) Context(ctx context.Context) *ProjectsLocationsServicesSchemasCreateCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsServicesSchemasCreateCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsServicesSchemasCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.schema) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/schemas") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebasedataconnect.projects.locations.services.schemas.create" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ProjectsLocationsServicesSchemasCreateCall) 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 +} + +type ProjectsLocationsServicesSchemasDeleteCall struct { + s *APIService + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a single Schema. Because the schema and connectors must be +// compatible at all times, if this is called while any connectors are active, +// this will result in an error. +// +// - name: The name of the schema to delete, in the format: ``` +// projects/{project}/locations/{location}/services/{service}/schemas/{schema} +// ```. +func (r *ProjectsLocationsServicesSchemasService) Delete(name string) *ProjectsLocationsServicesSchemasDeleteCall { + c := &ProjectsLocationsServicesSchemasDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// AllowMissing sets the optional parameter "allowMissing": If true and the +// Schema is not found, the request will succeed but no action will be taken on +// the server. +func (c *ProjectsLocationsServicesSchemasDeleteCall) AllowMissing(allowMissing bool) *ProjectsLocationsServicesSchemasDeleteCall { + c.urlParams_.Set("allowMissing", fmt.Sprint(allowMissing)) + return c +} + +// Etag sets the optional parameter "etag": The etag of the Schema. If this is +// provided, it must match the server's etag. +func (c *ProjectsLocationsServicesSchemasDeleteCall) Etag(etag string) *ProjectsLocationsServicesSchemasDeleteCall { + c.urlParams_.Set("etag", etag) + return c +} + +// Force sets the optional parameter "force": If set to true, any child +// resources (i.e. SchemaRevisions) will also be deleted. +func (c *ProjectsLocationsServicesSchemasDeleteCall) Force(force bool) *ProjectsLocationsServicesSchemasDeleteCall { + c.urlParams_.Set("force", fmt.Sprint(force)) + return c +} + +// RequestId sets the optional parameter "requestId": An optional request ID to +// identify requests. Specify a unique request ID so that if you must retry +// your request, the server will know to ignore the request if it has already +// been completed. The server will guarantee that for at least 60 minutes after +// the first request. For example, consider a situation where you make an +// initial request and the request times out. If you make the request again +// with the same request ID, the server can check if original operation with +// the same request ID was received, and if so, will ignore the second request. +// This prevents clients from accidentally creating 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 *ProjectsLocationsServicesSchemasDeleteCall) RequestId(requestId string) *ProjectsLocationsServicesSchemasDeleteCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// ValidateOnly sets the optional parameter "validateOnly": If set, validate +// the request and preview the Schema, but do not actually delete it. +func (c *ProjectsLocationsServicesSchemasDeleteCall) ValidateOnly(validateOnly bool) *ProjectsLocationsServicesSchemasDeleteCall { + c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsServicesSchemasDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsServicesSchemasDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsServicesSchemasDeleteCall) Context(ctx context.Context) *ProjectsLocationsServicesSchemasDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsServicesSchemasDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsServicesSchemasDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("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 "firebasedataconnect.projects.locations.services.schemas.delete" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ProjectsLocationsServicesSchemasDeleteCall) 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 +} + +type ProjectsLocationsServicesSchemasGetCall struct { + s *APIService + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets details of a single Schema. +// +// - name: The name of the schema to retrieve, in the format: ``` +// projects/{project}/locations/{location}/services/{service}/schemas/{schema} +// ```. +func (r *ProjectsLocationsServicesSchemasService) Get(name string) *ProjectsLocationsServicesSchemasGetCall { + c := &ProjectsLocationsServicesSchemasGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsServicesSchemasGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsServicesSchemasGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *ProjectsLocationsServicesSchemasGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsServicesSchemasGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsServicesSchemasGetCall) Context(ctx context.Context) *ProjectsLocationsServicesSchemasGetCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsServicesSchemasGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsServicesSchemasGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebasedataconnect.projects.locations.services.schemas.get" call. +// Any non-2xx status code is an error. Response headers are in either +// *Schema.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 *ProjectsLocationsServicesSchemasGetCall) Do(opts ...googleapi.CallOption) (*Schema, 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 := &Schema{ + 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 +} + +type ProjectsLocationsServicesSchemasListCall struct { + s *APIService + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists Schemas in a given project and location. Note that only +// `schemas/main` is supported, so this will always return at most one Schema. +// +// - parent: Value of parent. +func (r *ProjectsLocationsServicesSchemasService) List(parent string) *ProjectsLocationsServicesSchemasListCall { + c := &ProjectsLocationsServicesSchemasListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// Filter sets the optional parameter "filter": Filtering results. +func (c *ProjectsLocationsServicesSchemasListCall) Filter(filter string) *ProjectsLocationsServicesSchemasListCall { + c.urlParams_.Set("filter", filter) + return c +} + +// OrderBy sets the optional parameter "orderBy": Hint for how to order the +// results. +func (c *ProjectsLocationsServicesSchemasListCall) OrderBy(orderBy string) *ProjectsLocationsServicesSchemasListCall { + c.urlParams_.Set("orderBy", orderBy) + return c +} + +// PageSize sets the optional parameter "pageSize": Requested page size. Server +// may return fewer items than requested. If unspecified, server will pick an +// appropriate default. +func (c *ProjectsLocationsServicesSchemasListCall) PageSize(pageSize int64) *ProjectsLocationsServicesSchemasListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": A page token, received +// from a previous `ListSchemas` call. Provide this to retrieve the subsequent +// page. When paginating, all other parameters provided to `ListSchemas` must +// match the call that provided the page token. +func (c *ProjectsLocationsServicesSchemasListCall) PageToken(pageToken string) *ProjectsLocationsServicesSchemasListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsServicesSchemasListCall) Fields(s ...googleapi.Field) *ProjectsLocationsServicesSchemasListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *ProjectsLocationsServicesSchemasListCall) IfNoneMatch(entityTag string) *ProjectsLocationsServicesSchemasListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsServicesSchemasListCall) Context(ctx context.Context) *ProjectsLocationsServicesSchemasListCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsServicesSchemasListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsServicesSchemasListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+parent}/schemas") + 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 "firebasedataconnect.projects.locations.services.schemas.list" call. +// Any non-2xx status code is an error. Response headers are in either +// *ListSchemasResponse.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 *ProjectsLocationsServicesSchemasListCall) Do(opts ...googleapi.CallOption) (*ListSchemasResponse, 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 := &ListSchemasResponse{ + 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 +} + +// 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 *ProjectsLocationsServicesSchemasListCall) Pages(ctx context.Context, f func(*ListSchemasResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + +type ProjectsLocationsServicesSchemasPatchCall struct { + s *APIService + name string + schema *Schema + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Patch: Updates the parameters of a single Schema, and creates a new +// SchemaRevision with the updated Schema. +// +// - name: Identifier. The relative resource name of the schema, in the format: +// ``` +// projects/{project}/locations/{location}/services/{service}/schemas/{schema} +// ``` Right now, the only supported schema is "main". +func (r *ProjectsLocationsServicesSchemasService) Patch(name string, schema *Schema) *ProjectsLocationsServicesSchemasPatchCall { + c := &ProjectsLocationsServicesSchemasPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.schema = schema + return c +} + +// AllowMissing sets the optional parameter "allowMissing": If true and the +// Schema is not found, a new Schema will be created. In this case, +// `update_mask` is ignored. +func (c *ProjectsLocationsServicesSchemasPatchCall) AllowMissing(allowMissing bool) *ProjectsLocationsServicesSchemasPatchCall { + c.urlParams_.Set("allowMissing", fmt.Sprint(allowMissing)) + return c +} + +// RequestId sets the optional parameter "requestId": An optional request ID to +// identify requests. Specify a unique request ID so that if you must retry +// your request, the server will know to ignore the request if it has already +// been completed. The server will guarantee that for at least 60 minutes since +// the first request. For example, consider a situation where you make an +// initial request and the request times out. If you make the request again +// with the same request ID, the server can check if original operation with +// the same request ID was received, and if so, will ignore the second request. +// This prevents clients from accidentally creating 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 *ProjectsLocationsServicesSchemasPatchCall) RequestId(requestId string) *ProjectsLocationsServicesSchemasPatchCall { + c.urlParams_.Set("requestId", requestId) + return c +} + +// UpdateMask sets the optional parameter "updateMask": Field mask is used to +// specify the fields to be overwritten in the Schema resource by the update. +// The fields specified in the update_mask are relative to the resource, not +// the full request. A field will be overwritten if it is in the mask. If the +// user does not provide a mask then all fields will be overwritten. +func (c *ProjectsLocationsServicesSchemasPatchCall) UpdateMask(updateMask string) *ProjectsLocationsServicesSchemasPatchCall { + c.urlParams_.Set("updateMask", updateMask) + return c +} + +// ValidateOnly sets the optional parameter "validateOnly": If set, validate +// the request and preview the Schema, but do not actually update it. +func (c *ProjectsLocationsServicesSchemasPatchCall) ValidateOnly(validateOnly bool) *ProjectsLocationsServicesSchemasPatchCall { + c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly)) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsServicesSchemasPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsServicesSchemasPatchCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsServicesSchemasPatchCall) Context(ctx context.Context) *ProjectsLocationsServicesSchemasPatchCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsServicesSchemasPatchCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsServicesSchemasPatchCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.schema) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("PATCH", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "firebasedataconnect.projects.locations.services.schemas.patch" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ProjectsLocationsServicesSchemasPatchCall) 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 +} diff --git a/iam/v1/iam-api.json b/iam/v1/iam-api.json index e527addb821..2dd20fbd4d1 100644 --- a/iam/v1/iam-api.json +++ b/iam/v1/iam-api.json @@ -3188,7 +3188,7 @@ } } }, - "revision": "20240725", + "revision": "20240918", "rootUrl": "https://iam.googleapis.com/", "schemas": { "AccessRestrictions": { @@ -3555,7 +3555,7 @@ ], "enumDescriptions": [ "No AttributesType specified.", - "Used to get the user's group claims from the Azure AD identity provider using configuration provided in ExtraAttributesOAuth2Client and `mail` property of the `microsoft.graph.group` object is used for claim mapping. See https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties for more details on `microsoft.graph.group` properties. The attributes obtained from idntity provider are mapped to `assertion.groups`." + "Used to get the user's group claims from the Microsoft Entra ID identity provider using configuration provided in ExtraAttributesOAuth2Client and `mail` property of the `microsoft.graph.group` object is used for claim mapping. See https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties for more details on `microsoft.graph.group` properties. The attributes obtained from idntity provider are mapped to `assertion.groups`." ], "type": "string" }, diff --git a/iam/v1/iam-gen.go b/iam/v1/iam-gen.go index dc431241388..a769cfefba7 100644 --- a/iam/v1/iam-gen.go +++ b/iam/v1/iam-gen.go @@ -1183,7 +1183,7 @@ type GoogleIamAdminV1WorkforcePoolProviderExtraAttributesOAuth2Client struct { // Possible values: // "ATTRIBUTES_TYPE_UNSPECIFIED" - No AttributesType specified. // "AZURE_AD_GROUPS_MAIL" - Used to get the user's group claims from the - // Azure AD identity provider using configuration provided in + // Microsoft Entra ID identity provider using configuration provided in // ExtraAttributesOAuth2Client and `mail` property of the // `microsoft.graph.group` object is used for claim mapping. See // https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties diff --git a/memcache/v1/memcache-api.json b/memcache/v1/memcache-api.json index b9c07175fe6..c9e6a241e09 100644 --- a/memcache/v1/memcache-api.json +++ b/memcache/v1/memcache-api.json @@ -584,7 +584,7 @@ } } }, - "revision": "20240604", + "revision": "20240919", "rootUrl": "https://memcache.googleapis.com/", "schemas": { "ApplyParametersRequest": { @@ -605,12 +605,85 @@ }, "type": "object" }, + "AssetLocation": { + "description": "Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on its behalf.", + "id": "AssetLocation", + "properties": { + "ccfeRmsPath": { + "description": "Spanner path of the CCFE RMS database. It is only applicable for CCFE tenants that use CCFE RMS for storing resource metadata.", + "type": "string" + }, + "expected": { + "$ref": "IsolationExpectations", + "description": "Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of asset creation." + }, + "extraParameters": { + "description": "Defines extra parameters required for specific asset types.", + "items": { + "$ref": "ExtraParameter" + }, + "type": "array" + }, + "locationData": { + "description": "Contains all kinds of physical location definitions for this asset.", + "items": { + "$ref": "LocationData" + }, + "type": "array" + }, + "parentAsset": { + "description": "Defines parents assets if any in order to allow later generation of child_asset_location data via child assets.", + "items": { + "$ref": "CloudAsset" + }, + "type": "array" + } + }, + "type": "object" + }, + "BlobstoreLocation": { + "description": "Policy ID that identified data placement in Blobstore as per go/blobstore-user-guide#data-metadata-placement-and-failure-domains", + "id": "BlobstoreLocation", + "properties": { + "policyId": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", "properties": {}, "type": "object" }, + "CloudAsset": { + "id": "CloudAsset", + "properties": { + "assetName": { + "type": "string" + }, + "assetType": { + "type": "string" + } + }, + "type": "object" + }, + "CloudAssetComposition": { + "id": "CloudAssetComposition", + "properties": { + "childAsset": { + "items": { + "$ref": "CloudAsset" + }, + "type": "array" + } + }, + "type": "object" + }, "DailyCycle": { "description": "Time window specified for daily operations.", "id": "DailyCycle", @@ -668,12 +741,35 @@ }, "type": "object" }, + "DirectLocationAssignment": { + "id": "DirectLocationAssignment", + "properties": { + "location": { + "items": { + "$ref": "LocationAssignment" + }, + "type": "array" + } + }, + "type": "object" + }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" }, + "ExtraParameter": { + "description": "Defines parameters that should only be used for specific asset types.", + "id": "ExtraParameter", + "properties": { + "regionalMigDistributionPolicy": { + "$ref": "RegionalMigDistributionPolicy", + "description": "Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances." + } + }, + "type": "object" + }, "GoogleCloudMemcacheV1LocationMetadata": { "description": "Metadata for the given google.cloud.location.Location.", "id": "GoogleCloudMemcacheV1LocationMetadata", @@ -1232,6 +1328,131 @@ }, "type": "object" }, + "IsolationExpectations": { + "id": "IsolationExpectations", + "properties": { + "requirementOverride": { + "$ref": "RequirementOverride", + "description": "Explicit overrides for ZI and ZS requirements to be used for resources that should be excluded from ZI/ZS verification logic." + }, + "ziOrgPolicy": { + "enum": [ + "ZI_UNSPECIFIED", + "ZI_UNKNOWN", + "ZI_NOT_REQUIRED", + "ZI_PREFERRED", + "ZI_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "", + "" + ], + "type": "string" + }, + "ziRegionPolicy": { + "enum": [ + "ZI_REGION_POLICY_UNSPECIFIED", + "ZI_REGION_POLICY_UNKNOWN", + "ZI_REGION_POLICY_NOT_SET", + "ZI_REGION_POLICY_FAIL_OPEN", + "ZI_REGION_POLICY_FAIL_CLOSED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "", + "" + ], + "type": "string" + }, + "ziRegionState": { + "enum": [ + "ZI_REGION_UNSPECIFIED", + "ZI_REGION_UNKNOWN", + "ZI_REGION_NOT_ENABLED", + "ZI_REGION_ENABLED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "" + ], + "type": "string" + }, + "zoneIsolation": { + "deprecated": true, + "description": "Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as per go/zicy-publish-physical-location.", + "enum": [ + "ZI_UNSPECIFIED", + "ZI_UNKNOWN", + "ZI_NOT_REQUIRED", + "ZI_PREFERRED", + "ZI_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "", + "" + ], + "type": "string" + }, + "zoneSeparation": { + "deprecated": true, + "description": "Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per go/zicy-publish-physical-location.", + "enum": [ + "ZS_UNSPECIFIED", + "ZS_UNKNOWN", + "ZS_NOT_REQUIRED", + "ZS_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "" + ], + "type": "string" + }, + "zsOrgPolicy": { + "enum": [ + "ZS_UNSPECIFIED", + "ZS_UNKNOWN", + "ZS_NOT_REQUIRED", + "ZS_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "" + ], + "type": "string" + }, + "zsRegionState": { + "enum": [ + "ZS_REGION_UNSPECIFIED", + "ZS_REGION_UNKNOWN", + "ZS_REGION_NOT_ENABLED", + "ZS_REGION_ENABLED" + ], + "enumDescriptions": [ + "", + "To be used if tracking of the asset ZS-bit is not available", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "ListInstancesResponse": { "description": "Response for ListInstances.", "id": "ListInstancesResponse", @@ -1327,6 +1548,64 @@ }, "type": "object" }, + "LocationAssignment": { + "id": "LocationAssignment", + "properties": { + "location": { + "type": "string" + }, + "locationType": { + "enum": [ + "UNSPECIFIED", + "CLUSTER", + "POP", + "CLOUD_ZONE", + "CLOUD_REGION", + "MULTI_REGION_GEO", + "MULTI_REGION_JURISDICTION", + "GLOBAL", + "OTHER" + ], + "enumDescriptions": [ + "", + "1-10: Physical failure domains.", + "", + "11-20: Logical failure domains.", + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "LocationData": { + "id": "LocationData", + "properties": { + "blobstoreLocation": { + "$ref": "BlobstoreLocation" + }, + "childAssetLocation": { + "$ref": "CloudAssetComposition" + }, + "directLocation": { + "$ref": "DirectLocationAssignment" + }, + "gcpProjectProxy": { + "$ref": "TenantProjectProxy" + }, + "placerLocation": { + "$ref": "PlacerLocation" + }, + "spannerLocation": { + "$ref": "SpannerLocation" + } + }, + "type": "object" + }, "LocationMetadata": { "description": "Metadata for the given google.cloud.location.Location.", "id": "LocationMetadata", @@ -1616,6 +1895,74 @@ }, "type": "object" }, + "PlacerLocation": { + "description": "Message describing that the location of the customer resource is tied to placer allocations", + "id": "PlacerLocation", + "properties": { + "placerConfig": { + "description": "Directory with a config related to it in placer (e.g. \"/placer/prod/home/my-root/my-dir\")", + "type": "string" + } + }, + "type": "object" + }, + "RegionalMigDistributionPolicy": { + "description": "To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances", + "id": "RegionalMigDistributionPolicy", + "properties": { + "targetShape": { + "description": "The shape in which the group converges around distribution of resources. Instance of proto2 enum", + "format": "int32", + "type": "integer" + }, + "zones": { + "description": "Cloud zones used by regional MIG to create instances.", + "items": { + "$ref": "ZoneConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "RequirementOverride": { + "id": "RequirementOverride", + "properties": { + "ziOverride": { + "enum": [ + "ZI_UNSPECIFIED", + "ZI_UNKNOWN", + "ZI_NOT_REQUIRED", + "ZI_PREFERRED", + "ZI_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "", + "" + ], + "type": "string" + }, + "zsOverride": { + "enum": [ + "ZS_UNSPECIFIED", + "ZS_UNKNOWN", + "ZS_NOT_REQUIRED", + "ZS_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "RescheduleMaintenanceRequest": { "description": "Request for RescheduleMaintenance.", "id": "RescheduleMaintenanceRequest", @@ -1684,6 +2031,26 @@ }, "type": "object" }, + "SpannerLocation": { + "id": "SpannerLocation", + "properties": { + "backupName": { + "description": "Set of backups used by the resource with name in the same format as what is available at http://table/spanner_automon.backup_metadata", + "items": { + "type": "string" + }, + "type": "array" + }, + "dbName": { + "description": "Set of databases used by the resource in format /span//", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", "id": "Status", @@ -1711,6 +2078,18 @@ }, "type": "object" }, + "TenantProjectProxy": { + "id": "TenantProjectProxy", + "properties": { + "projectNumbers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "TimeOfDay": { "description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.", "id": "TimeOfDay", @@ -1846,6 +2225,15 @@ }, "type": "object" }, + "ZoneConfiguration": { + "id": "ZoneConfiguration", + "properties": { + "zone": { + "type": "string" + } + }, + "type": "object" + }, "ZoneMetadata": { "id": "ZoneMetadata", "properties": {}, diff --git a/memcache/v1/memcache-gen.go b/memcache/v1/memcache-gen.go index 08bcd84185a..c4fa00ae862 100644 --- a/memcache/v1/memcache-gen.go +++ b/memcache/v1/memcache-gen.go @@ -225,10 +225,108 @@ func (s ApplyParametersRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// AssetLocation: Provides the mapping of a cloud asset to a direct physical +// location or to a proxy that defines the location on its behalf. +type AssetLocation struct { + // CcfeRmsPath: Spanner path of the CCFE RMS database. It is only applicable + // for CCFE tenants that use CCFE RMS for storing resource metadata. + CcfeRmsPath string `json:"ccfeRmsPath,omitempty"` + // Expected: Defines the customer expectation around ZI/ZS for this asset and + // ZI/ZS state of the region at the time of asset creation. + Expected *IsolationExpectations `json:"expected,omitempty"` + // ExtraParameters: Defines extra parameters required for specific asset types. + ExtraParameters []*ExtraParameter `json:"extraParameters,omitempty"` + // LocationData: Contains all kinds of physical location definitions for this + // asset. + LocationData []*LocationData `json:"locationData,omitempty"` + // ParentAsset: Defines parents assets if any in order to allow later + // generation of child_asset_location data via child assets. + ParentAsset []*CloudAsset `json:"parentAsset,omitempty"` + // ForceSendFields is a list of field names (e.g. "CcfeRmsPath") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "CcfeRmsPath") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s AssetLocation) MarshalJSON() ([]byte, error) { + type NoMethod AssetLocation + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// BlobstoreLocation: Policy ID that identified data placement in Blobstore as +// per go/blobstore-user-guide#data-metadata-placement-and-failure-domains +type BlobstoreLocation struct { + PolicyId []string `json:"policyId,omitempty"` + // ForceSendFields is a list of field names (e.g. "PolicyId") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "PolicyId") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s BlobstoreLocation) MarshalJSON() ([]byte, error) { + type NoMethod BlobstoreLocation + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // CancelOperationRequest: The request message for Operations.CancelOperation. type CancelOperationRequest struct { } +type CloudAsset struct { + AssetName string `json:"assetName,omitempty"` + AssetType string `json:"assetType,omitempty"` + // ForceSendFields is a list of field names (e.g. "AssetName") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "AssetName") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s CloudAsset) MarshalJSON() ([]byte, error) { + type NoMethod CloudAsset + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +type CloudAssetComposition struct { + ChildAsset []*CloudAsset `json:"childAsset,omitempty"` + // ForceSendFields is a list of field names (e.g. "ChildAsset") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ChildAsset") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s CloudAssetComposition) MarshalJSON() ([]byte, error) { + type NoMethod CloudAssetComposition + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // DailyCycle: Time window specified for daily operations. type DailyCycle struct { // Duration: Output only. Duration of the time window, set by service producer. @@ -326,6 +424,26 @@ func (s DenyMaintenancePeriod) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +type DirectLocationAssignment struct { + Location []*LocationAssignment `json:"location,omitempty"` + // ForceSendFields is a list of field names (e.g. "Location") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Location") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s DirectLocationAssignment) MarshalJSON() ([]byte, error) { + type NoMethod DirectLocationAssignment + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // Empty: A generic empty message that you can re-use to avoid defining // duplicated empty messages in your APIs. A typical example is to use it as // the request or the response type of an API method. For instance: service Foo @@ -335,6 +453,30 @@ type Empty struct { googleapi.ServerResponse `json:"-"` } +// ExtraParameter: Defines parameters that should only be used for specific +// asset types. +type ExtraParameter struct { + // RegionalMigDistributionPolicy: Details about zones used by regional + // compute.googleapis.com/InstanceGroupManager to create instances. + RegionalMigDistributionPolicy *RegionalMigDistributionPolicy `json:"regionalMigDistributionPolicy,omitempty"` + // ForceSendFields is a list of field names (e.g. + // "RegionalMigDistributionPolicy") to unconditionally include in API requests. + // By default, fields with empty or default values are omitted from API + // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields + // for more details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "RegionalMigDistributionPolicy") + // to include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ExtraParameter) MarshalJSON() ([]byte, error) { + type NoMethod ExtraParameter + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // GoogleCloudMemcacheV1LocationMetadata: Metadata for the given // google.cloud.location.Location. type GoogleCloudMemcacheV1LocationMetadata struct { @@ -976,6 +1118,81 @@ func (s InstanceMessage) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +type IsolationExpectations struct { + // RequirementOverride: Explicit overrides for ZI and ZS requirements to be + // used for resources that should be excluded from ZI/ZS verification logic. + RequirementOverride *RequirementOverride `json:"requirementOverride,omitempty"` + // Possible values: + // "ZI_UNSPECIFIED" + // "ZI_UNKNOWN" - To be used if tracking is not available + // "ZI_NOT_REQUIRED" + // "ZI_PREFERRED" + // "ZI_REQUIRED" + ZiOrgPolicy string `json:"ziOrgPolicy,omitempty"` + // Possible values: + // "ZI_REGION_POLICY_UNSPECIFIED" + // "ZI_REGION_POLICY_UNKNOWN" - To be used if tracking is not available + // "ZI_REGION_POLICY_NOT_SET" + // "ZI_REGION_POLICY_FAIL_OPEN" + // "ZI_REGION_POLICY_FAIL_CLOSED" + ZiRegionPolicy string `json:"ziRegionPolicy,omitempty"` + // Possible values: + // "ZI_REGION_UNSPECIFIED" + // "ZI_REGION_UNKNOWN" - To be used if tracking is not available + // "ZI_REGION_NOT_ENABLED" + // "ZI_REGION_ENABLED" + ZiRegionState string `json:"ziRegionState,omitempty"` + // ZoneIsolation: Deprecated: use zi_org_policy, zi_region_policy and + // zi_region_state instead for setting ZI expectations as per + // go/zicy-publish-physical-location. + // + // Possible values: + // "ZI_UNSPECIFIED" + // "ZI_UNKNOWN" - To be used if tracking is not available + // "ZI_NOT_REQUIRED" + // "ZI_PREFERRED" + // "ZI_REQUIRED" + ZoneIsolation string `json:"zoneIsolation,omitempty"` + // ZoneSeparation: Deprecated: use zs_org_policy, and zs_region_stateinstead + // for setting Zs expectations as per go/zicy-publish-physical-location. + // + // Possible values: + // "ZS_UNSPECIFIED" + // "ZS_UNKNOWN" - To be used if tracking is not available + // "ZS_NOT_REQUIRED" + // "ZS_REQUIRED" + ZoneSeparation string `json:"zoneSeparation,omitempty"` + // Possible values: + // "ZS_UNSPECIFIED" + // "ZS_UNKNOWN" - To be used if tracking is not available + // "ZS_NOT_REQUIRED" + // "ZS_REQUIRED" + ZsOrgPolicy string `json:"zsOrgPolicy,omitempty"` + // Possible values: + // "ZS_REGION_UNSPECIFIED" + // "ZS_REGION_UNKNOWN" - To be used if tracking of the asset ZS-bit is not + // available + // "ZS_REGION_NOT_ENABLED" + // "ZS_REGION_ENABLED" + ZsRegionState string `json:"zsRegionState,omitempty"` + // ForceSendFields is a list of field names (e.g. "RequirementOverride") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "RequirementOverride") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s IsolationExpectations) MarshalJSON() ([]byte, error) { + type NoMethod IsolationExpectations + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // ListInstancesResponse: Response for ListInstances. type ListInstancesResponse struct { // Instances: A list of Memcached instances in the project in the specified @@ -1103,6 +1320,62 @@ func (s Location) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +type LocationAssignment struct { + Location string `json:"location,omitempty"` + // Possible values: + // "UNSPECIFIED" + // "CLUSTER" - 1-10: Physical failure domains. + // "POP" + // "CLOUD_ZONE" - 11-20: Logical failure domains. + // "CLOUD_REGION" + // "MULTI_REGION_GEO" + // "MULTI_REGION_JURISDICTION" + // "GLOBAL" + // "OTHER" + LocationType string `json:"locationType,omitempty"` + // ForceSendFields is a list of field names (e.g. "Location") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Location") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s LocationAssignment) MarshalJSON() ([]byte, error) { + type NoMethod LocationAssignment + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +type LocationData struct { + BlobstoreLocation *BlobstoreLocation `json:"blobstoreLocation,omitempty"` + ChildAssetLocation *CloudAssetComposition `json:"childAssetLocation,omitempty"` + DirectLocation *DirectLocationAssignment `json:"directLocation,omitempty"` + GcpProjectProxy *TenantProjectProxy `json:"gcpProjectProxy,omitempty"` + PlacerLocation *PlacerLocation `json:"placerLocation,omitempty"` + SpannerLocation *SpannerLocation `json:"spannerLocation,omitempty"` + // ForceSendFields is a list of field names (e.g. "BlobstoreLocation") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "BlobstoreLocation") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s LocationData) MarshalJSON() ([]byte, error) { + type NoMethod LocationData + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // LocationMetadata: Metadata for the given google.cloud.location.Location. type LocationMetadata struct { // AvailableZones: Output only. The set of available zones in the location. The @@ -1416,6 +1689,89 @@ func (s OperationMetadata) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// PlacerLocation: Message describing that the location of the customer +// resource is tied to placer allocations +type PlacerLocation struct { + // PlacerConfig: Directory with a config related to it in placer (e.g. + // "/placer/prod/home/my-root/my-dir") + PlacerConfig string `json:"placerConfig,omitempty"` + // ForceSendFields is a list of field names (e.g. "PlacerConfig") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "PlacerConfig") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s PlacerLocation) MarshalJSON() ([]byte, error) { + type NoMethod PlacerLocation + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +// RegionalMigDistributionPolicy: To be used for specifying the intended +// distribution of regional compute.googleapis.com/InstanceGroupManager +// instances +type RegionalMigDistributionPolicy struct { + // TargetShape: The shape in which the group converges around distribution of + // resources. Instance of proto2 enum + TargetShape int64 `json:"targetShape,omitempty"` + // Zones: Cloud zones used by regional MIG to create instances. + Zones []*ZoneConfiguration `json:"zones,omitempty"` + // ForceSendFields is a list of field names (e.g. "TargetShape") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "TargetShape") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s RegionalMigDistributionPolicy) MarshalJSON() ([]byte, error) { + type NoMethod RegionalMigDistributionPolicy + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + +type RequirementOverride struct { + // Possible values: + // "ZI_UNSPECIFIED" + // "ZI_UNKNOWN" - To be used if tracking is not available + // "ZI_NOT_REQUIRED" + // "ZI_PREFERRED" + // "ZI_REQUIRED" + ZiOverride string `json:"ziOverride,omitempty"` + // Possible values: + // "ZS_UNSPECIFIED" + // "ZS_UNKNOWN" - To be used if tracking is not available + // "ZS_NOT_REQUIRED" + // "ZS_REQUIRED" + ZsOverride string `json:"zsOverride,omitempty"` + // ForceSendFields is a list of field names (e.g. "ZiOverride") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ZiOverride") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s RequirementOverride) MarshalJSON() ([]byte, error) { + type NoMethod RequirementOverride + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // RescheduleMaintenanceRequest: Request for RescheduleMaintenance. type RescheduleMaintenanceRequest struct { // RescheduleType: Required. If reschedule type is SPECIFIC_TIME, must set up @@ -1487,6 +1843,30 @@ func (s Schedule) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +type SpannerLocation struct { + // BackupName: Set of backups used by the resource with name in the same format + // as what is available at http://table/spanner_automon.backup_metadata + BackupName []string `json:"backupName,omitempty"` + // DbName: Set of databases used by the resource in format /span// + DbName []string `json:"dbName,omitempty"` + // ForceSendFields is a list of field names (e.g. "BackupName") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "BackupName") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s SpannerLocation) MarshalJSON() ([]byte, error) { + type NoMethod SpannerLocation + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // Status: The `Status` type defines a logical error model that is suitable for // different programming environments, including REST APIs and RPC APIs. It is // used by gRPC (https://github.com/grpc). Each `Status` message contains three @@ -1521,6 +1901,26 @@ func (s Status) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +type TenantProjectProxy struct { + ProjectNumbers []string `json:"projectNumbers,omitempty"` + // ForceSendFields is a list of field names (e.g. "ProjectNumbers") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ProjectNumbers") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s TenantProjectProxy) MarshalJSON() ([]byte, error) { + type NoMethod TenantProjectProxy + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // TimeOfDay: Represents a time of day. The date and time zone are either not // significant or are specified elsewhere. An API may choose to allow leap // seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. @@ -1685,6 +2085,26 @@ func (s WeeklyMaintenanceWindow) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +type ZoneConfiguration struct { + Zone string `json:"zone,omitempty"` + // ForceSendFields is a list of field names (e.g. "Zone") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Zone") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s ZoneConfiguration) MarshalJSON() ([]byte, error) { + type NoMethod ZoneConfiguration + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + type ZoneMetadata struct { } diff --git a/networksecurity/v1beta1/networksecurity-api.json b/networksecurity/v1beta1/networksecurity-api.json index 98d2218917d..73d69b750bc 100644 --- a/networksecurity/v1beta1/networksecurity-api.json +++ b/networksecurity/v1beta1/networksecurity-api.json @@ -1923,7 +1923,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Used to specify the fields to be overwritten in the `AuthzPolicy` resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not specify a mask, then all fields are overwritten.", + "description": "Required. Used to specify the fields to be overwritten in the `AuthzPolicy` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not specify a mask, then all fields are overwritten.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -4159,7 +4159,7 @@ } } }, - "revision": "20240828", + "revision": "20240919", "rootUrl": "https://networksecurity.googleapis.com/", "schemas": { "AddAddressGroupItemsRequest": { @@ -4322,7 +4322,7 @@ "id": "AuthzPolicy", "properties": { "action": { - "description": "Required. Can be one of ALLOW, DENY, CUSTOM. When the action is CUSTOM, customProvider must be specified. When the action is ALLOW, only requests matching the policy will be allowed. When the action is DENY, only requests matching the policy will be denied. When a request arrives, the policies are evaluated in the following order: 1. If there is a CUSTOM policy that matches the request, the CUSTOM policy is evaluated using the custom authorization providers and the request is denied if the provider rejects the request. 2. If there are any DENY policies that match the request, the request is denied. 3. If there are no ALLOW policies for the resource or if any of the ALLOW policies match the request, the request is allowed. 4. Else the request is denied by default if none of the configured AuthzPolicies with ALLOW action match the request.", + "description": "Required. Can be one of `ALLOW`, `DENY`, `CUSTOM`. When the action is `CUSTOM`, `customProvider` must be specified. When the action is `ALLOW`, only requests matching the policy will be allowed. When the action is `DENY`, only requests matching the policy will be denied. When a request arrives, the policies are evaluated in the following order: 1. If there is a `CUSTOM` policy that matches the request, the `CUSTOM` policy is evaluated using the custom authorization providers and the request is denied if the provider rejects the request. 2. If there are any `DENY` policies that match the request, the request is denied. 3. If there are no `ALLOW` policies for the resource or if any of the `ALLOW` policies match the request, the request is allowed. 4. Else the request is denied by default if none of the configured AuthzPolicies with `ALLOW` action match the request.", "enum": [ "AUTHZ_ACTION_UNSPECIFIED", "ALLOW", @@ -4345,14 +4345,14 @@ }, "customProvider": { "$ref": "AuthzPolicyCustomProvider", - "description": "Optional. Required if the action is CUSTOM. Allows delegating authorization decisions to Cloud IAP or to Service Extensions. One of cloudIap or authzExtension must be specified." + "description": "Optional. Required if the action is `CUSTOM`. Allows delegating authorization decisions to Cloud IAP or to Service Extensions. One of `cloudIap` or `authzExtension` must be specified." }, "description": { "description": "Optional. A human-readable description of the resource.", "type": "string" }, "httpRules": { - "description": "Optional. A list of authorization HTTP rules to match against the incoming request. A policy match occurs when at least one HTTP rule matches the request or when no HTTP rules are specified in the policy. At least one HTTP Rule is required for Allow or Deny Action.", + "description": "Optional. A list of authorization HTTP rules to match against the incoming request. A policy match occurs when at least one HTTP rule matches the request or when no HTTP rules are specified in the policy. At least one HTTP Rule is required for Allow or Deny Action. Limited to 5 rules.", "items": { "$ref": "AuthzPolicyAuthzRule" }, @@ -4413,7 +4413,7 @@ "type": "array" }, "sources": { - "description": "Optional. Describes the properties of a request's sources. At least one of sources or notSources must be specified. Limited to 10 sources. A match occurs when ANY source (in sources or notSources) matches the request. Within a single source, the match follows AND semantics across fields and OR semantics within a single field, i.e. a match occurs when ANY principal matches AND ANY ipBlocks match.", + "description": "Optional. Describes the properties of a request's sources. At least one of sources or notSources must be specified. Limited to 5 sources. A match occurs when ANY source (in sources or notSources) matches the request. Within a single source, the match follows AND semantics across fields and OR semantics within a single field, i.e. a match occurs when ANY principal matches AND ANY ipBlocks match.", "items": { "$ref": "AuthzPolicyAuthzRuleFromRequestSource" }, @@ -4427,14 +4427,14 @@ "id": "AuthzPolicyAuthzRuleFromRequestSource", "properties": { "principals": { - "description": "Optional. A list of identities derived from the client's certificate. This field will not match on a request unless mutual TLS is enabled for the Forwarding rule or Gateway. Each identity is a string whose value is matched against the URI SAN, or DNS SAN or the subject field in the client's certificate. The match can be exact, prefix, suffix or a substring match. One of exact, prefix, suffix or contains must be specified. Limited to 10 principals.", + "description": "Optional. A list of identities derived from the client's certificate. This field will not match on a request unless mutual TLS is enabled for the Forwarding rule or Gateway. Each identity is a string whose value is matched against the URI SAN, or DNS SAN or the subject field in the client's certificate. The match can be exact, prefix, suffix or a substring match. One of exact, prefix, suffix or contains must be specified. Limited to 5 principals.", "items": { "$ref": "AuthzPolicyAuthzRuleStringMatch" }, "type": "array" }, "resources": { - "description": "Optional. A list of resources to match against the resource of the source VM of a request. Limited to 10 resources.", + "description": "Optional. A list of resources to match against the resource of the source VM of a request. Limited to 5 resources.", "items": { "$ref": "AuthzPolicyAuthzRuleRequestResource" }, @@ -4478,7 +4478,7 @@ "id": "AuthzPolicyAuthzRuleRequestResourceTagValueIdSet", "properties": { "ids": { - "description": "Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 10 matches.", + "description": "Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 matches.", "items": { "format": "int64", "type": "string" @@ -4527,7 +4527,7 @@ "type": "array" }, "operations": { - "description": "Optional. Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 10 operations. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches.", + "description": "Optional. Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 5 operations. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches.", "items": { "$ref": "AuthzPolicyAuthzRuleToRequestOperation" }, @@ -4545,7 +4545,7 @@ "description": "Optional. A list of headers to match against in http header." }, "hosts": { - "description": "Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 matches.", + "description": "Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches.", "items": { "$ref": "AuthzPolicyAuthzRuleStringMatch" }, @@ -4559,7 +4559,7 @@ "type": "array" }, "paths": { - "description": "Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 matches. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method.", + "description": "Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method.", "items": { "$ref": "AuthzPolicyAuthzRuleStringMatch" }, @@ -4573,7 +4573,7 @@ "id": "AuthzPolicyAuthzRuleToRequestOperationHeaderSet", "properties": { "headers": { - "description": "Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 matches.", + "description": "Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches.", "items": { "$ref": "AuthzPolicyAuthzRuleHeaderMatch" }, @@ -4622,7 +4622,7 @@ "id": "AuthzPolicyTarget", "properties": { "loadBalancingScheme": { - "description": "Required. All gateways and forwarding rules referenced by this policy and extensions must share the same load balancing scheme. Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Choosing a load balancer](https://cloud.google.com/load-balancing/docs/backend-service).", + "description": "Required. All gateways and forwarding rules referenced by this policy and extensions must share the same load balancing scheme. Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service).", "enum": [ "LOAD_BALANCING_SCHEME_UNSPECIFIED", "INTERNAL_MANAGED", @@ -4728,6 +4728,17 @@ }, "type": "object" }, + "CustomMirroringProfile": { + "description": "CustomMirroringProfile defines an action for mirroring traffic to a collector's EndpointGroup", + "id": "CustomMirroringProfile", + "properties": { + "mirroringEndpointGroup": { + "description": "Required. The MirroringEndpointGroup to which traffic associated with the SP should be mirrored.", + "type": "string" + } + }, + "type": "object" + }, "Destination": { "description": "Specification of traffic destination attributes.", "id": "Destination", @@ -5880,7 +5891,7 @@ "type": "object" }, "MirroringEndpointGroup": { - "description": "Message describing MirroringEndpointGroup object", + "description": "Message describing MirroringEndpointGroup object. Next ID: 10", "id": "MirroringEndpointGroup", "properties": { "createTime": { @@ -6170,6 +6181,10 @@ "readOnly": true, "type": "string" }, + "customMirroringProfile": { + "$ref": "CustomMirroringProfile", + "description": "The custom Packet Mirroring v2 configuration for the SecurityProfile." + }, "description": { "description": "Optional. An optional description of the profile. Max length 512 characters.", "type": "string" @@ -6198,11 +6213,13 @@ "description": "Immutable. The single ProfileType that the SecurityProfile resource configures.", "enum": [ "PROFILE_TYPE_UNSPECIFIED", - "THREAT_PREVENTION" + "THREAT_PREVENTION", + "CUSTOM_MIRRORING" ], "enumDescriptions": [ "Profile type not specified.", - "Profile type for threat prevention." + "Profile type for threat prevention.", + "Profile type for packet mirroring v2" ], "type": "string" }, @@ -6225,6 +6242,10 @@ "readOnly": true, "type": "string" }, + "customMirroringProfile": { + "description": "Optional. Reference to a SecurityProfile with the CustomMirroring configuration.", + "type": "string" + }, "description": { "description": "Optional. An optional description of the profile group. Max length 2048 characters.", "type": "string" diff --git a/networksecurity/v1beta1/networksecurity-gen.go b/networksecurity/v1beta1/networksecurity-gen.go index 1d18176b2fa..39825573059 100644 --- a/networksecurity/v1beta1/networksecurity-gen.go +++ b/networksecurity/v1beta1/networksecurity-gen.go @@ -588,18 +588,18 @@ func (s AuthorizationPolicy) MarshalJSON() ([]byte, error) { // AuthzPolicy: `AuthzPolicy` is a resource that allows to forward traffic to a // callout backend designed to scan the traffic for security purposes. type AuthzPolicy struct { - // Action: Required. Can be one of ALLOW, DENY, CUSTOM. When the action is - // CUSTOM, customProvider must be specified. When the action is ALLOW, only - // requests matching the policy will be allowed. When the action is DENY, only - // requests matching the policy will be denied. When a request arrives, the - // policies are evaluated in the following order: 1. If there is a CUSTOM - // policy that matches the request, the CUSTOM policy is evaluated using the - // custom authorization providers and the request is denied if the provider - // rejects the request. 2. If there are any DENY policies that match the - // request, the request is denied. 3. If there are no ALLOW policies for the - // resource or if any of the ALLOW policies match the request, the request is - // allowed. 4. Else the request is denied by default if none of the configured - // AuthzPolicies with ALLOW action match the request. + // Action: Required. Can be one of `ALLOW`, `DENY`, `CUSTOM`. When the action + // is `CUSTOM`, `customProvider` must be specified. When the action is `ALLOW`, + // only requests matching the policy will be allowed. When the action is + // `DENY`, only requests matching the policy will be denied. When a request + // arrives, the policies are evaluated in the following order: 1. If there is a + // `CUSTOM` policy that matches the request, the `CUSTOM` policy is evaluated + // using the custom authorization providers and the request is denied if the + // provider rejects the request. 2. If there are any `DENY` policies that match + // the request, the request is denied. 3. If there are no `ALLOW` policies for + // the resource or if any of the `ALLOW` policies match the request, the + // request is allowed. 4. Else the request is denied by default if none of the + // configured AuthzPolicies with `ALLOW` action match the request. // // Possible values: // "AUTHZ_ACTION_UNSPECIFIED" - Unspecified action. @@ -610,16 +610,16 @@ type AuthzPolicy struct { Action string `json:"action,omitempty"` // CreateTime: Output only. The timestamp when the resource was created. CreateTime string `json:"createTime,omitempty"` - // CustomProvider: Optional. Required if the action is CUSTOM. Allows + // CustomProvider: Optional. Required if the action is `CUSTOM`. Allows // delegating authorization decisions to Cloud IAP or to Service Extensions. - // One of cloudIap or authzExtension must be specified. + // One of `cloudIap` or `authzExtension` must be specified. CustomProvider *AuthzPolicyCustomProvider `json:"customProvider,omitempty"` // Description: Optional. A human-readable description of the resource. Description string `json:"description,omitempty"` // HttpRules: Optional. A list of authorization HTTP rules to match against the // incoming request. A policy match occurs when at least one HTTP rule matches // the request or when no HTTP rules are specified in the policy. At least one - // HTTP Rule is required for Allow or Deny Action. + // HTTP Rule is required for Allow or Deny Action. Limited to 5 rules. HttpRules []*AuthzPolicyAuthzRule `json:"httpRules,omitempty"` // Labels: Optional. Set of labels associated with the `AuthzPolicy` resource. // The format must comply with the following requirements @@ -691,7 +691,7 @@ type AuthzPolicyAuthzRuleFrom struct { // this field. At least one of sources or notSources must be specified. NotSources []*AuthzPolicyAuthzRuleFromRequestSource `json:"notSources,omitempty"` // Sources: Optional. Describes the properties of a request's sources. At least - // one of sources or notSources must be specified. Limited to 10 sources. A + // one of sources or notSources must be specified. Limited to 5 sources. A // match occurs when ANY source (in sources or notSources) matches the request. // Within a single source, the match follows AND semantics across fields and OR // semantics within a single field, i.e. a match occurs when ANY principal @@ -724,10 +724,10 @@ type AuthzPolicyAuthzRuleFromRequestSource struct { // value is matched against the URI SAN, or DNS SAN or the subject field in the // client's certificate. The match can be exact, prefix, suffix or a substring // match. One of exact, prefix, suffix or contains must be specified. Limited - // to 10 principals. + // to 5 principals. Principals []*AuthzPolicyAuthzRuleStringMatch `json:"principals,omitempty"` // Resources: Optional. A list of resources to match against the resource of - // the source VM of a request. Limited to 10 resources. + // the source VM of a request. Limited to 5 resources. Resources []*AuthzPolicyAuthzRuleRequestResource `json:"resources,omitempty"` // ForceSendFields is a list of field names (e.g. "Principals") to // unconditionally include in API requests. By default, fields with empty or @@ -807,7 +807,7 @@ type AuthzPolicyAuthzRuleRequestResourceTagValueIdSet struct { // Ids: Required. A list of resource tag value permanent IDs to match against // the resource manager tags value associated with the source VM of a request. // The match follows AND semantics which means all the ids must match. Limited - // to 10 matches. + // to 5 matches. Ids googleapi.Int64s `json:"ids,omitempty"` // ForceSendFields is a list of field names (e.g. "Ids") to unconditionally // include in API requests. By default, fields with empty or default values are @@ -877,10 +877,10 @@ type AuthzPolicyAuthzRuleTo struct { NotOperations []*AuthzPolicyAuthzRuleToRequestOperation `json:"notOperations,omitempty"` // Operations: Optional. Describes properties of one or more targets of a // request. At least one of operations or notOperations must be specified. - // Limited to 10 operations. A match occurs when ANY operation (in operations - // or notOperations) matches. Within an operation, the match follows AND - // semantics across fields and OR semantics within a field, i.e. a match occurs - // when ANY path matches AND ANY header matches and ANY method matches. + // Limited to 5 operations. A match occurs when ANY operation (in operations or + // notOperations) matches. Within an operation, the match follows AND semantics + // across fields and OR semantics within a field, i.e. a match occurs when ANY + // path matches AND ANY header matches and ANY method matches. Operations []*AuthzPolicyAuthzRuleToRequestOperation `json:"operations,omitempty"` // ForceSendFields is a list of field names (e.g. "NotOperations") to // unconditionally include in API requests. By default, fields with empty or @@ -907,7 +907,7 @@ type AuthzPolicyAuthzRuleToRequestOperation struct { HeaderSet *AuthzPolicyAuthzRuleToRequestOperationHeaderSet `json:"headerSet,omitempty"` // Hosts: Optional. A list of HTTP Hosts to match against. The match can be one // of exact, prefix, suffix, or contains (substring match). Matches are always - // case sensitive unless the ignoreCase is set. Limited to 10 matches. + // case sensitive unless the ignoreCase is set. Limited to 5 matches. Hosts []*AuthzPolicyAuthzRuleStringMatch `json:"hosts,omitempty"` // Methods: Optional. A list of HTTP methods to match against. Each entry must // be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). @@ -915,8 +915,8 @@ type AuthzPolicyAuthzRuleToRequestOperation struct { Methods []string `json:"methods,omitempty"` // Paths: Optional. A list of paths to match against. The match can be one of // exact, prefix, suffix, or contains (substring match). Matches are always - // case sensitive unless the ignoreCase is set. Limited to 10 matches. Note - // that this path match includes the query parameters. For gRPC services, this + // case sensitive unless the ignoreCase is set. Limited to 5 matches. Note that + // this path match includes the query parameters. For gRPC services, this // should be a fully-qualified name of the form /package.service/method. Paths []*AuthzPolicyAuthzRuleStringMatch `json:"paths,omitempty"` // ForceSendFields is a list of field names (e.g. "HeaderSet") to @@ -943,8 +943,8 @@ type AuthzPolicyAuthzRuleToRequestOperationHeaderSet struct { // Headers: Required. A list of headers to match against in http header. The // match can be one of exact, prefix, suffix, or contains (substring match). // The match follows AND semantics which means all the headers must match. - // Matches are always case sensitive unless the ignoreCase is set. Limited to - // 10 matches. + // Matches are always case sensitive unless the ignoreCase is set. Limited to 5 + // matches. Headers []*AuthzPolicyAuthzRuleHeaderMatch `json:"headers,omitempty"` // ForceSendFields is a list of field names (e.g. "Headers") to unconditionally // include in API requests. By default, fields with empty or default values are @@ -1036,7 +1036,7 @@ type AuthzPolicyTarget struct { // LoadBalancingScheme: Required. All gateways and forwarding rules referenced // by this policy and extensions must share the same load balancing scheme. // Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more - // information, refer to Choosing a load balancer + // information, refer to Backend services overview // (https://cloud.google.com/load-balancing/docs/backend-service). // // Possible values: @@ -1185,6 +1185,30 @@ func (s CloneAddressGroupItemsRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// CustomMirroringProfile: CustomMirroringProfile defines an action for +// mirroring traffic to a collector's EndpointGroup +type CustomMirroringProfile struct { + // MirroringEndpointGroup: Required. The MirroringEndpointGroup to which + // traffic associated with the SP should be mirrored. + MirroringEndpointGroup string `json:"mirroringEndpointGroup,omitempty"` + // ForceSendFields is a list of field names (e.g. "MirroringEndpointGroup") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "MirroringEndpointGroup") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s CustomMirroringProfile) MarshalJSON() ([]byte, error) { + type NoMethod CustomMirroringProfile + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // Destination: Specification of traffic destination attributes. type Destination struct { // Hosts: Required. List of host names to match. Matched against the @@ -2816,7 +2840,8 @@ func (s MirroringDeploymentGroupConnectedEndpointGroup) MarshalJSON() ([]byte, e return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// MirroringEndpointGroup: Message describing MirroringEndpointGroup object +// MirroringEndpointGroup: Message describing MirroringEndpointGroup object. +// Next ID: 10 type MirroringEndpointGroup struct { // CreateTime: Output only. [Output only] Create time stamp CreateTime string `json:"createTime,omitempty"` @@ -3122,6 +3147,9 @@ func (s Rule) MarshalJSON() ([]byte, error) { type SecurityProfile struct { // CreateTime: Output only. Resource creation timestamp. CreateTime string `json:"createTime,omitempty"` + // CustomMirroringProfile: The custom Packet Mirroring v2 configuration for the + // SecurityProfile. + CustomMirroringProfile *CustomMirroringProfile `json:"customMirroringProfile,omitempty"` // Description: Optional. An optional description of the profile. Max length // 512 characters. Description string `json:"description,omitempty"` @@ -3145,6 +3173,7 @@ type SecurityProfile struct { // Possible values: // "PROFILE_TYPE_UNSPECIFIED" - Profile type not specified. // "THREAT_PREVENTION" - Profile type for threat prevention. + // "CUSTOM_MIRRORING" - Profile type for packet mirroring v2 Type string `json:"type,omitempty"` // UpdateTime: Output only. Last resource update timestamp. UpdateTime string `json:"updateTime,omitempty"` @@ -3174,6 +3203,9 @@ func (s SecurityProfile) MarshalJSON() ([]byte, error) { type SecurityProfileGroup struct { // CreateTime: Output only. Resource creation timestamp. CreateTime string `json:"createTime,omitempty"` + // CustomMirroringProfile: Optional. Reference to a SecurityProfile with the + // CustomMirroring configuration. + CustomMirroringProfile string `json:"customMirroringProfile,omitempty"` // Description: Optional. An optional description of the profile group. Max // length 2048 characters. Description string `json:"description,omitempty"` @@ -10260,7 +10292,7 @@ func (c *ProjectsLocationsAuthzPoliciesPatchCall) RequestId(requestId string) *P // UpdateMask sets the optional parameter "updateMask": Required. Used to // specify the fields to be overwritten in the `AuthzPolicy` resource by the -// update. The fields specified in the update_mask are relative to the +// update. The fields specified in the `update_mask` are relative to the // resource, not the full request. A field is overwritten if it is in the mask. // If the user does not specify a mask, then all fields are overwritten. func (c *ProjectsLocationsAuthzPoliciesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAuthzPoliciesPatchCall { diff --git a/networkservices/v1beta1/networkservices-api.json b/networkservices/v1beta1/networkservices-api.json index deac9e3fd2e..cd86f26d00f 100644 --- a/networkservices/v1beta1/networkservices-api.json +++ b/networkservices/v1beta1/networkservices-api.json @@ -340,7 +340,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Used to specify the fields to be overwritten in the `AuthzExtension` resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not specify a mask, then all fields are overwritten.", + "description": "Required. Used to specify the fields to be overwritten in the `AuthzExtension` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not specify a mask, then all fields are overwritten.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1150,7 +1150,7 @@ "type": "string" }, "updateMask": { - "description": "Optional. Used to specify the fields to be overwritten in the `LbRouteExtension` resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not specify a mask, then all fields are overwritten.", + "description": "Optional. Used to specify the fields to be overwritten in the `LbRouteExtension` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not specify a mask, then all fields are overwritten.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1332,7 +1332,7 @@ "type": "string" }, "updateMask": { - "description": "Optional. Used to specify the fields to be overwritten in the `LbTrafficExtension` resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not specify a mask, then all fields are overwritten.", + "description": "Optional. Used to specify the fields to be overwritten in the `LbTrafficExtension` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not specify a mask, then all fields are overwritten.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1839,37 +1839,6 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, - "getIamPolicy": { - "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serviceLbPolicies/{serviceLbPoliciesId}:getIamPolicy", - "httpMethod": "GET", - "id": "networkservices.projects.locations.serviceLbPolicies.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/[^/]+/serviceLbPolicies/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+resource}:getIamPolicy", - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, "list": { "description": "Lists ServiceLbPolicies in a given project and location.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serviceLbPolicies", @@ -1939,62 +1908,6 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] - }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serviceLbPolicies/{serviceLbPoliciesId}:setIamPolicy", - "httpMethod": "POST", - "id": "networkservices.projects.locations.serviceLbPolicies.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/[^/]+/serviceLbPolicies/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+resource}:setIamPolicy", - "request": { - "$ref": "SetIamPolicyRequest" - }, - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serviceLbPolicies/{serviceLbPoliciesId}:testIamPermissions", - "httpMethod": "POST", - "id": "networkservices.projects.locations.serviceLbPolicies.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/[^/]+/serviceLbPolicies/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+resource}:testIamPermissions", - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] } } }, @@ -2317,59 +2230,11 @@ } } }, - "revision": "20240913", + "revision": "20240919", "rootUrl": "https://networkservices.googleapis.com/", "schemas": { - "AuditConfig": { - "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", - "id": "AuditConfig", - "properties": { - "auditLogConfigs": { - "description": "The configuration for logging of each type of permission.", - "items": { - "$ref": "AuditLogConfig" - }, - "type": "array" - }, - "service": { - "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", - "type": "string" - } - }, - "type": "object" - }, - "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", - "id": "AuditLogConfig", - "properties": { - "exemptedMembers": { - "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", - "items": { - "type": "string" - }, - "type": "array" - }, - "logType": { - "description": "The log type that this config enables.", - "enum": [ - "LOG_TYPE_UNSPECIFIED", - "ADMIN_READ", - "DATA_WRITE", - "DATA_READ" - ], - "enumDescriptions": [ - "Default case. Should never be this.", - "Admin reads. Example: CloudIAM getIamPolicy", - "Data writes. Example: CloudSQL Users create", - "Data reads. Example: CloudSQL Users list" - ], - "type": "string" - } - }, - "type": "object" - }, "AuthzExtension": { - "description": "`AuthzExtension` is a resource that allows traffic forwarding to a callout backend to make an authorization decision.", + "description": "`AuthzExtension` is a resource that allows traffic forwarding to a callout backend service to make an authorization decision.", "id": "AuthzExtension", "properties": { "authority": { @@ -2405,7 +2270,7 @@ "type": "object" }, "loadBalancingScheme": { - "description": "Required. All backend services and forwarding rules referenced by this extension must share the same load balancing scheme. Supported values: `INTERNAL_MANAGED`, `EXTERNAL_MANAGED`. For more information, refer to [Choosing a load balancer](https://cloud.google.com/load-balancing/docs/backend-service).", + "description": "Required. All backend services and forwarding rules referenced by this extension must share the same load balancing scheme. Supported values: `INTERNAL_MANAGED`, `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service).", "enum": [ "LOAD_BALANCING_SCHEME_UNSPECIFIED", "INTERNAL_MANAGED", @@ -2431,7 +2296,7 @@ "type": "string" }, "service": { - "description": "Required. The reference to the service that runs the extension. Currently only callout extensions are supported here. To configure a callout extension, `service` must be a fully-qualified reference to a [backend service](https://cloud.google.com/compute/docs/reference/rest/v1/backendServices) in the format: `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/backendServices/{backendService}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/backendServices/{backendService}`.", + "description": "Required. The reference to the service that runs the extension. To configure a callout extension, `service` must be a fully-qualified reference to a [backend service](https://cloud.google.com/compute/docs/reference/rest/v1/backendServices) in the format: `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/backendServices/{backendService}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/backendServices/{backendService}`.", "type": "string" }, "timeout": { @@ -2460,28 +2325,6 @@ }, "type": "object" }, - "Binding": { - "description": "Associates `members`, or principals, with a `role`.", - "id": "Binding", - "properties": { - "condition": { - "$ref": "Expr", - "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." - }, - "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", - "items": { - "type": "string" - }, - "type": "array" - }, - "role": { - "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", - "type": "string" - } - }, - "type": "object" - }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", @@ -2573,29 +2416,6 @@ }, "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", - "properties": { - "description": { - "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", - "type": "string" - }, - "expression": { - "description": "Textual representation of an expression in Common Expression Language syntax.", - "type": "string" - }, - "location": { - "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", - "type": "string" - }, - "title": { - "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", - "type": "string" - } - }, - "type": "object" - }, "ExtensionChain": { "description": "A single extension chain wrapper that contains the match conditions and extensions to execute.", "id": "ExtensionChain", @@ -3717,7 +3537,7 @@ "type": "object" }, "loadBalancingScheme": { - "description": "Required. All backend services and forwarding rules referenced by this extension must share the same load balancing scheme. Supported values: `INTERNAL_MANAGED`, `EXTERNAL_MANAGED`. For more information, refer to [Choosing a load balancer](https://cloud.google.com/load-balancing/docs/backend-service).", + "description": "Required. All backend services and forwarding rules referenced by this extension must share the same load balancing scheme. Supported values: `INTERNAL_MANAGED`, `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service).", "enum": [ "LOAD_BALANCING_SCHEME_UNSPECIFIED", "INTERNAL_MANAGED", @@ -3735,7 +3555,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Optional. The metadata provided here is included as part of the `metadata_context` (of type `google.protobuf.Struct`) in the `ProcessingRequest` message sent to the extension server. The metadata is available under the namespace `com.google.lb_route_extension.`. The following variables are supported in the metadata Struct: `{forwarding_rule_id}` - substituted with the forwarding rule's fully qualified resource name. Only one of the resource level metadata and extension level metadata can be set.", + "description": "Optional. The metadata provided here is included as part of the `metadata_context` (of type `google.protobuf.Struct`) in the `ProcessingRequest` message sent to the extension server. The metadata is available under the namespace `com.google.lb_route_extension.`. The following variables are supported in the metadata Struct: `{forwarding_rule_id}` - substituted with the forwarding rule's fully qualified resource name.", "type": "object" }, "name": { @@ -3787,7 +3607,7 @@ "type": "object" }, "loadBalancingScheme": { - "description": "Required. All backend services and forwarding rules referenced by this extension must share the same load balancing scheme. Supported values: `INTERNAL_MANAGED`, `EXTERNAL_MANAGED`. For more information, refer to [Choosing a load balancer](https://cloud.google.com/load-balancing/docs/backend-service).", + "description": "Required. All backend services and forwarding rules referenced by this extension must share the same load balancing scheme. Supported values: `INTERNAL_MANAGED`, `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service).", "enum": [ "LOAD_BALANCING_SCHEME_UNSPECIFIED", "INTERNAL_MANAGED", @@ -3805,7 +3625,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Optional. The metadata provided here is included in the `ProcessingRequest.metadata_context.filter_metadata` map field. The metadata is available under the key `com.google.lb_traffic_extension.`. The following variables are supported in the metadata: `{forwarding_rule_id}` - substituted with the forwarding rule's fully qualified resource name. Only one of the resource level metadata and extension level metadata can be set.", + "description": "Optional. The metadata provided here is included in the `ProcessingRequest.metadata_context.filter_metadata` map field. The metadata is available under the key `com.google.lb_traffic_extension.`. The following variables are supported in the metadata: `{forwarding_rule_id}` - substituted with the forwarding rule's fully qualified resource name.", "type": "object" }, "name": { @@ -4350,37 +4170,6 @@ }, "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", - "properties": { - "auditConfigs": { - "description": "Specifies cloud audit logging configuration for this policy.", - "items": { - "$ref": "AuditConfig" - }, - "type": "array" - }, - "bindings": { - "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", - "items": { - "$ref": "Binding" - }, - "type": "array" - }, - "etag": { - "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", - "format": "byte", - "type": "string" - }, - "version": { - "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, "RetryFilterPerRouteConfig": { "id": "RetryFilterPerRouteConfig", "properties": { @@ -4517,22 +4306,6 @@ }, "type": "object" }, - "SetIamPolicyRequest": { - "description": "Request message for `SetIamPolicy` method.", - "id": "SetIamPolicyRequest", - "properties": { - "policy": { - "$ref": "Policy", - "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." - }, - "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", - "format": "google-fieldmask", - "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", @@ -4692,34 +4465,6 @@ }, "type": "object" }, - "TestIamPermissionsRequest": { - "description": "Request message for `TestIamPermissions` method.", - "id": "TestIamPermissionsRequest", - "properties": { - "permissions": { - "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "TestIamPermissionsResponse": { - "description": "Response message for `TestIamPermissions` method.", - "id": "TestIamPermissionsResponse", - "properties": { - "permissions": { - "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "TlsRoute": { "description": "TlsRoute defines how traffic should be routed based on SNI and other matching L3 attributes.", "id": "TlsRoute", diff --git a/networkservices/v1beta1/networkservices-gen.go b/networkservices/v1beta1/networkservices-gen.go index f7f91ee8312..c62b094c690 100644 --- a/networkservices/v1beta1/networkservices-gen.go +++ b/networkservices/v1beta1/networkservices-gen.go @@ -331,84 +331,8 @@ type ProjectsLocationsTlsRoutesService struct { s *Service } -// AuditConfig: Specifies the audit configuration for a service. The -// configuration determines which permission types are logged, and what -// identities, if any, are exempted from logging. An AuditConfig must have one -// or more AuditLogConfigs. If there are AuditConfigs for both `allServices` -// and a specific service, the union of the two AuditConfigs is used for that -// service: the log_types specified in each AuditConfig are enabled, and the -// exempted_members in each AuditLogConfig are exempted. Example Policy with -// multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", -// "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ -// "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": -// "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", -// "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": -// "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For -// sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ -// logging. It also exempts `jose@example.com` from DATA_READ logging, and -// `aliya@example.com` from DATA_WRITE logging. -type AuditConfig struct { - // AuditLogConfigs: The configuration for logging of each type of permission. - AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"` - // Service: Specifies a service that will be enabled for audit logging. For - // example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` - // is a special value that covers all services. - Service string `json:"service,omitempty"` - // ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AuditLogConfigs") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s AuditConfig) MarshalJSON() ([]byte, error) { - type NoMethod AuditConfig - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - -// AuditLogConfig: Provides the configuration for logging a type of -// permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", -// "exempted_members": [ "user:jose@example.com" ] }, { "log_type": -// "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while -// exempting jose@example.com from DATA_READ logging. -type AuditLogConfig struct { - // ExemptedMembers: Specifies the identities that do not cause logging for this - // type of permission. Follows the same format of Binding.members. - ExemptedMembers []string `json:"exemptedMembers,omitempty"` - // LogType: The log type that this config enables. - // - // Possible values: - // "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this. - // "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy - // "DATA_WRITE" - Data writes. Example: CloudSQL Users create - // "DATA_READ" - Data reads. Example: CloudSQL Users list - LogType string `json:"logType,omitempty"` - // ForceSendFields is a list of field names (e.g. "ExemptedMembers") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ExemptedMembers") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s AuditLogConfig) MarshalJSON() ([]byte, error) { - type NoMethod AuditLogConfig - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // AuthzExtension: `AuthzExtension` is a resource that allows traffic -// forwarding to a callout backend to make an authorization decision. +// forwarding to a callout backend service to make an authorization decision. type AuthzExtension struct { // Authority: Required. The `:authority` header in the gRPC request sent from // Envoy to the extension service. @@ -439,7 +363,7 @@ type AuthzExtension struct { // LoadBalancingScheme: Required. All backend services and forwarding rules // referenced by this extension must share the same load balancing scheme. // Supported values: `INTERNAL_MANAGED`, `EXTERNAL_MANAGED`. For more - // information, refer to Choosing a load balancer + // information, refer to Backend services overview // (https://cloud.google.com/load-balancing/docs/backend-service). // // Possible values: @@ -460,10 +384,9 @@ type AuthzExtension struct { // following format: // `projects/{project}/locations/{location}/authzExtensions/{authz_extension}`. Name string `json:"name,omitempty"` - // Service: Required. The reference to the service that runs the extension. - // Currently only callout extensions are supported here. To configure a callout - // extension, `service` must be a fully-qualified reference to a backend - // service + // Service: Required. The reference to the service that runs the extension. To + // configure a callout extension, `service` must be a fully-qualified reference + // to a backend service // (https://cloud.google.com/compute/docs/reference/rest/v1/backendServices) in // the format: // `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/ba @@ -504,105 +427,6 @@ func (s AuthzExtension) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// Binding: Associates `members`, or principals, with a `role`. -type Binding struct { - // Condition: The condition that is associated with this binding. If the - // condition evaluates to `true`, then this binding applies to the current - // request. If the condition evaluates to `false`, then this binding does not - // apply to the current request. However, a different role binding might grant - // the same role to one or more of the principals in this binding. To learn - // which resources support conditions in their IAM policies, see the IAM - // documentation - // (https://cloud.google.com/iam/help/conditions/resource-policies). - Condition *Expr `json:"condition,omitempty"` - // Members: Specifies the principals requesting access for a Google Cloud - // resource. `members` can have the following values: * `allUsers`: A special - // identifier that represents anyone who is on the internet; with or without a - // Google account. * `allAuthenticatedUsers`: A special identifier that - // represents anyone who is authenticated with a Google account or a service - // account. Does not include identities that come from external identity - // providers (IdPs) through identity federation. * `user:{emailid}`: An email - // address that represents a specific Google account. For example, - // `alice@example.com` . * `serviceAccount:{emailid}`: An email address that - // represents a Google service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * - // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An - // identifier for a Kubernetes service account - // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). - // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * - // `group:{emailid}`: An email address that represents a Google group. For - // example, `admins@example.com`. * `domain:{domain}`: The G Suite domain - // (primary) that represents all the users of that domain. For example, - // `google.com` or `example.com`. * - // `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/sub - // ject/{subject_attribute_value}`: A single identity in a workforce identity - // pool. * - // `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/ - // group/{group_id}`: All workforce identities in a group. * - // `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/ - // attribute.{attribute_name}/{attribute_value}`: All workforce identities with - // a specific attribute value. * - // `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/ - // *`: All identities in a workforce identity pool. * - // `principal://iam.googleapis.com/projects/{project_number}/locations/global/wo - // rkloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single - // identity in a workload identity pool. * - // `principalSet://iam.googleapis.com/projects/{project_number}/locations/global - // /workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool - // group. * - // `principalSet://iam.googleapis.com/projects/{project_number}/locations/global - // /workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value} - // `: All identities in a workload identity pool with a certain attribute. * - // `principalSet://iam.googleapis.com/projects/{project_number}/locations/global - // /workloadIdentityPools/{pool_id}/*`: All identities in a workload identity - // pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus - // unique identifier) representing a user that has been recently deleted. For - // example, `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered user - // retains the role in the binding. * - // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus - // unique identifier) representing a service account that has been recently - // deleted. For example, - // `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the - // service account is undeleted, this value reverts to - // `serviceAccount:{emailid}` and the undeleted service account retains the - // role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email - // address (plus unique identifier) representing a Google group that has been - // recently deleted. For example, - // `admins@example.com?uid=123456789012345678901`. If the group is recovered, - // this value reverts to `group:{emailid}` and the recovered group retains the - // role in the binding. * - // `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool - // _id}/subject/{subject_attribute_value}`: Deleted single identity in a - // workforce identity pool. For example, - // `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-po - // ol-id/subject/my-subject-attribute-value`. - Members []string `json:"members,omitempty"` - // Role: Role that is assigned to the list of `members`, or principals. For - // example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview - // of the IAM roles and permissions, see the IAM documentation - // (https://cloud.google.com/iam/docs/roles-overview). For a list of the - // available pre-defined roles, see here - // (https://cloud.google.com/iam/docs/understanding-roles). - Role string `json:"role,omitempty"` - // ForceSendFields is a list of field names (e.g. "Condition") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Condition") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s Binding) MarshalJSON() ([]byte, error) { - type NoMethod Binding - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // CancelOperationRequest: The request message for Operations.CancelOperation. type CancelOperationRequest struct { } @@ -713,54 +537,6 @@ func (s EndpointPolicy) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), 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 https://github.com/google/cel-spec. Example -// (Comparison): title: "Summary size limit" description: "Determines if a -// summary is less than 100 chars" expression: "document.summary.size() < 100" -// Example (Equality): title: "Requestor is owner" description: "Determines if -// requestor is the document owner" expression: "document.owner == -// request.auth.claims.email" Example (Logic): title: "Public documents" -// description: "Determine whether the document should be publicly visible" -// expression: "document.type != 'private' && document.type != 'internal'" -// Example (Data Manipulation): title: "Notification string" description: -// "Create a notification string with a timestamp." expression: "'New message -// received at ' + string(document.create_time)" The exact variables and -// functions that may be referenced within an expression are determined by the -// service that evaluates it. See the service documentation for additional -// information. -type Expr struct { - // Description: Optional. Description of the expression. This is a longer text - // which describes the expression, e.g. when hovered over it in a UI. - Description string `json:"description,omitempty"` - // Expression: Textual representation of an expression in Common Expression - // Language syntax. - Expression string `json:"expression,omitempty"` - // Location: Optional. String indicating the location of the expression for - // error reporting, e.g. a file name and a position in the file. - Location string `json:"location,omitempty"` - // Title: Optional. Title for the expression, i.e. a short string describing - // its purpose. This can be used e.g. in UIs which allow to enter the - // expression. - Title string `json:"title,omitempty"` - // ForceSendFields is a list of field names (e.g. "Description") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Description") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s Expr) MarshalJSON() ([]byte, error) { - type NoMethod Expr - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // ExtensionChain: A single extension chain wrapper that contains the match // conditions and extensions to execute. type ExtensionChain struct { @@ -2238,7 +2014,7 @@ type LbRouteExtension struct { // LoadBalancingScheme: Required. All backend services and forwarding rules // referenced by this extension must share the same load balancing scheme. // Supported values: `INTERNAL_MANAGED`, `EXTERNAL_MANAGED`. For more - // information, refer to Choosing a load balancer + // information, refer to Backend services overview // (https://cloud.google.com/load-balancing/docs/backend-service). // // Possible values: @@ -2254,8 +2030,7 @@ type LbRouteExtension struct { // available under the namespace `com.google.lb_route_extension.`. The // following variables are supported in the metadata Struct: // `{forwarding_rule_id}` - substituted with the forwarding rule's fully - // qualified resource name. Only one of the resource level metadata and - // extension level metadata can be set. + // qualified resource name. Metadata googleapi.RawMessage `json:"metadata,omitempty"` // Name: Required. Identifier. Name of the `LbRouteExtension` resource in the // following format: @@ -2314,7 +2089,7 @@ type LbTrafficExtension struct { // LoadBalancingScheme: Required. All backend services and forwarding rules // referenced by this extension must share the same load balancing scheme. // Supported values: `INTERNAL_MANAGED`, `EXTERNAL_MANAGED`. For more - // information, refer to Choosing a load balancer + // information, refer to Backend services overview // (https://cloud.google.com/load-balancing/docs/backend-service). // // Possible values: @@ -2328,8 +2103,7 @@ type LbTrafficExtension struct { // `ProcessingRequest.metadata_context.filter_metadata` map field. The metadata // is available under the key `com.google.lb_traffic_extension.`. The following // variables are supported in the metadata: `{forwarding_rule_id}` - - // substituted with the forwarding rule's fully qualified resource name. Only - // one of the resource level metadata and extension level metadata can be set. + // substituted with the forwarding rule's fully qualified resource name. Metadata googleapi.RawMessage `json:"metadata,omitempty"` // Name: Required. Identifier. Name of the `LbTrafficExtension` resource in the // following format: @@ -3077,98 +2851,6 @@ func (s OperationMetadata) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), 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 principals, to a -// single `role`. Principals can be user accounts, service accounts, Google -// groups, and domains (such as G Suite). A `role` is a named list of -// permissions; each `role` can be an IAM predefined role or a user-created -// custom role. For some types of Google Cloud resources, a `binding` can also -// specify a `condition`, which is a logical expression that allows access to a -// resource only if the expression evaluates to `true`. A condition can add -// constraints based on attributes of the request, the resource, or both. To -// learn which resources support conditions in their IAM policies, see the IAM -// documentation -// (https://cloud.google.com/iam/help/conditions/resource-policies). **JSON -// example:** ``` { "bindings": [ { "role": -// "roles/resourcemanager.organizationAdmin", "members": [ -// "user:mike@example.com", "group:admins@example.com", "domain:google.com", -// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": -// "roles/resourcemanager.organizationViewer", "members": [ -// "user:eve@example.com" ], "condition": { "title": "expirable access", -// "description": "Does not grant access after Sep 2020", "expression": -// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": -// "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - -// members: - user:mike@example.com - group:admins@example.com - -// domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com -// role: roles/resourcemanager.organizationAdmin - members: - -// user:eve@example.com role: roles/resourcemanager.organizationViewer -// condition: title: expirable access description: Does not grant access after -// Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') -// etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, -// see the IAM documentation (https://cloud.google.com/iam/docs/). -type Policy struct { - // AuditConfigs: Specifies cloud audit logging configuration for this policy. - AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"` - // Bindings: Associates a list of `members`, or principals, with a `role`. - // Optionally, may specify a `condition` that determines how and when the - // `bindings` are applied. Each of the `bindings` must contain at least one - // principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; - // up to 250 of these principals can be Google groups. Each occurrence of a - // principal counts towards these limits. For example, if the `bindings` grant - // 50 different roles to `user:alice@example.com`, and not to any other - // principal, then you can add another 1,450 principals to the `bindings` in - // the `Policy`. - Bindings []*Binding `json:"bindings,omitempty"` - // Etag: `etag` is used for optimistic concurrency control as a way to help - // prevent simultaneous updates of a policy from overwriting each other. It is - // strongly suggested that systems make use of the `etag` in the - // read-modify-write cycle to perform policy updates in order to avoid race - // conditions: An `etag` is returned in the response to `getIamPolicy`, and - // systems are expected to put that etag in the request to `setIamPolicy` to - // ensure that their change will be applied to the same version of the policy. - // **Important:** If you use IAM Conditions, you must include the `etag` field - // whenever you call `setIamPolicy`. If you omit this field, then IAM allows - // you to overwrite a version `3` policy with a version `1` policy, and all of - // the conditions in the version `3` policy are lost. - Etag string `json:"etag,omitempty"` - // Version: Specifies the format of the policy. Valid values are `0`, `1`, and - // `3`. Requests that specify an invalid value are rejected. Any operation that - // affects conditional role bindings must specify version `3`. This requirement - // applies to the following operations: * Getting a policy that includes a - // conditional role binding * Adding a conditional role binding to a policy * - // Changing a conditional role binding in a policy * Removing any role binding, - // with or without a condition, from a policy that includes conditions - // **Important:** If you use IAM Conditions, you must include the `etag` field - // whenever you call `setIamPolicy`. If you omit this field, then IAM allows - // you to overwrite a version `3` policy with a version `1` policy, and all of - // the conditions in the version `3` policy are lost. If a policy does not - // include any conditions, operations on that policy may specify any valid - // version or leave the field unset. To learn which resources support - // conditions in their IAM policies, see the IAM documentation - // (https://cloud.google.com/iam/help/conditions/resource-policies). - Version int64 `json:"version,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the server. - googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "AuditConfigs") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AuditConfigs") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s Policy) MarshalJSON() ([]byte, error) { - type NoMethod Policy - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - type RetryFilterPerRouteConfig struct { // CryptoKeyName: The name of the crypto key to use for encrypting event data. CryptoKeyName string `json:"cryptoKeyName,omitempty"` @@ -3351,35 +3033,6 @@ func (s ServiceLbPolicyFailoverConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// SetIamPolicyRequest: Request message for `SetIamPolicy` method. -type SetIamPolicyRequest struct { - // Policy: REQUIRED: The complete policy to be applied to the `resource`. The - // size of the policy is limited to a few 10s of KB. An empty policy is a valid - // policy but certain Google Cloud services (such as Projects) might reject - // them. - Policy *Policy `json:"policy,omitempty"` - // UpdateMask: OPTIONAL: A FieldMask specifying which fields of the policy to - // modify. Only the fields in the mask will be modified. If no mask is - // provided, the following default mask is used: `paths: "bindings, etag" - UpdateMask string `json:"updateMask,omitempty"` - // ForceSendFields is a list of field names (e.g. "Policy") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Policy") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s SetIamPolicyRequest) MarshalJSON() ([]byte, error) { - type NoMethod SetIamPolicyRequest - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // Status: The `Status` type defines a logical error model that is suitable for // different programming environments, including REST APIs and RPC APIs. It is // used by gRPC (https://github.com/grpc). Each `Status` message contains three @@ -3595,58 +3248,6 @@ func (s TcpRouteRouteRule) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } -// TestIamPermissionsRequest: Request message for `TestIamPermissions` method. -type TestIamPermissionsRequest struct { - // Permissions: The set of permissions to check for the `resource`. Permissions - // with wildcards (such as `*` or `storage.*`) are not allowed. For more - // information see IAM Overview - // (https://cloud.google.com/iam/docs/overview#permissions). - Permissions []string `json:"permissions,omitempty"` - // ForceSendFields is a list of field names (e.g. "Permissions") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Permissions") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s TestIamPermissionsRequest) MarshalJSON() ([]byte, error) { - type NoMethod TestIamPermissionsRequest - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - -// TestIamPermissionsResponse: Response message for `TestIamPermissions` -// method. -type TestIamPermissionsResponse struct { - // Permissions: A subset of `TestPermissionsRequest.permissions` that the - // caller is allowed. - Permissions []string `json:"permissions,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the server. - googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "Permissions") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Permissions") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s TestIamPermissionsResponse) MarshalJSON() ([]byte, error) { - type NoMethod TestIamPermissionsResponse - return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) -} - // TlsRoute: TlsRoute defines how traffic should be routed based on SNI and // other matching L3 attributes. type TlsRoute struct { @@ -4650,7 +4251,7 @@ func (c *ProjectsLocationsAuthzExtensionsPatchCall) RequestId(requestId string) // UpdateMask sets the optional parameter "updateMask": Required. Used to // specify the fields to be overwritten in the `AuthzExtension` resource by the -// update. The fields specified in the update_mask are relative to the +// update. The fields specified in the `update_mask` are relative to the // resource, not the full request. A field is overwritten if it is in the mask. // If the user does not specify a mask, then all fields are overwritten. func (c *ProjectsLocationsAuthzExtensionsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsAuthzExtensionsPatchCall { @@ -7577,7 +7178,7 @@ func (c *ProjectsLocationsLbRouteExtensionsPatchCall) RequestId(requestId string // UpdateMask sets the optional parameter "updateMask": Used to specify the // fields to be overwritten in the `LbRouteExtension` resource by the update. -// The fields specified in the update_mask are relative to the resource, not +// The fields specified in the `update_mask` are relative to the resource, not // the full request. A field is overwritten if it is in the mask. If the user // does not specify a mask, then all fields are overwritten. func (c *ProjectsLocationsLbRouteExtensionsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsLbRouteExtensionsPatchCall { @@ -8219,7 +7820,7 @@ func (c *ProjectsLocationsLbTrafficExtensionsPatchCall) RequestId(requestId stri // UpdateMask sets the optional parameter "updateMask": Used to specify the // fields to be overwritten in the `LbTrafficExtension` resource by the update. -// The fields specified in the update_mask are relative to the resource, not +// The fields specified in the `update_mask` are relative to the resource, not // the full request. A field is overwritten if it is in the mask. If the user // does not specify a mask, then all fields are overwritten. func (c *ProjectsLocationsLbTrafficExtensionsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsLbTrafficExtensionsPatchCall { @@ -10121,133 +9722,6 @@ func (c *ProjectsLocationsServiceLbPoliciesGetCall) Do(opts ...googleapi.CallOpt return ret, nil } -type ProjectsLocationsServiceLbPoliciesGetIamPolicyCall 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 *ProjectsLocationsServiceLbPoliciesService) GetIamPolicy(resource string) *ProjectsLocationsServiceLbPoliciesGetIamPolicyCall { - c := &ProjectsLocationsServiceLbPoliciesGetIamPolicyCall{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 *ProjectsLocationsServiceLbPoliciesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsServiceLbPoliciesGetIamPolicyCall { - 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 -// details. -func (c *ProjectsLocationsServiceLbPoliciesGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsServiceLbPoliciesGetIamPolicyCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// IfNoneMatch sets an optional parameter which makes the operation fail if the -// object's ETag matches the given value. This is useful for getting updates -// only after the object has changed since the last request. -func (c *ProjectsLocationsServiceLbPoliciesGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsServiceLbPoliciesGetIamPolicyCall { - c.ifNoneMatch_ = entityTag - return c -} - -// Context sets the context to be used in this call's Do method. -func (c *ProjectsLocationsServiceLbPoliciesGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsServiceLbPoliciesGetIamPolicyCall { - c.ctx_ = ctx - return c -} - -// Header returns a http.Header that can be modified by the caller to add -// headers to the request. -func (c *ProjectsLocationsServiceLbPoliciesGetIamPolicyCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsLocationsServiceLbPoliciesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) - 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, "v1beta1/{+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 "networkservices.projects.locations.serviceLbPolicies.getIamPolicy" call. -// Any non-2xx status code is an error. Response headers are in either -// *Policy.ServerResponse.Header or (if a response was returned at all) in -// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check -// whether the returned error was because http.StatusNotModified was returned. -func (c *ProjectsLocationsServiceLbPoliciesGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { - gensupport.SetOptions(c.urlParams_, opts...) - res, err := c.doRequest("json") - if res != nil && res.StatusCode == http.StatusNotModified { - if res.Body != nil { - res.Body.Close() - } - return nil, 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 := &Policy{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := gensupport.DecodeResponse(target, res); err != nil { - return nil, err - } - return ret, nil -} - type ProjectsLocationsServiceLbPoliciesListCall struct { s *Service parent string @@ -10509,220 +9983,6 @@ func (c *ProjectsLocationsServiceLbPoliciesPatchCall) Do(opts ...googleapi.CallO return ret, nil } -type ProjectsLocationsServiceLbPoliciesSetIamPolicyCall struct { - s *Service - resource string - setiampolicyrequest *SetIamPolicyRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// SetIamPolicy: Sets the access control policy on the specified resource. -// Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, -// and `PERMISSION_DENIED` errors. -// -// - resource: REQUIRED: The resource for which the policy is being specified. -// See Resource names (https://cloud.google.com/apis/design/resource_names) -// for the appropriate value for this field. -func (r *ProjectsLocationsServiceLbPoliciesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsServiceLbPoliciesSetIamPolicyCall { - c := &ProjectsLocationsServiceLbPoliciesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.resource = resource - c.setiampolicyrequest = setiampolicyrequest - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more -// details. -func (c *ProjectsLocationsServiceLbPoliciesSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsServiceLbPoliciesSetIamPolicyCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. -func (c *ProjectsLocationsServiceLbPoliciesSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsServiceLbPoliciesSetIamPolicyCall { - c.ctx_ = ctx - return c -} - -// Header returns a http.Header that can be modified by the caller to add -// headers to the request. -func (c *ProjectsLocationsServiceLbPoliciesSetIamPolicyCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsLocationsServiceLbPoliciesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest) - if err != nil { - return nil, err - } - c.urlParams_.Set("alt", alt) - c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+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 "networkservices.projects.locations.serviceLbPolicies.setIamPolicy" call. -// Any non-2xx status code is an error. Response headers are in either -// *Policy.ServerResponse.Header or (if a response was returned at all) in -// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check -// whether the returned error was because http.StatusNotModified was returned. -func (c *ProjectsLocationsServiceLbPoliciesSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { - gensupport.SetOptions(c.urlParams_, opts...) - res, err := c.doRequest("json") - if res != nil && res.StatusCode == http.StatusNotModified { - if res.Body != nil { - res.Body.Close() - } - return nil, 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 := &Policy{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := gensupport.DecodeResponse(target, res); err != nil { - return nil, err - } - return ret, nil -} - -type ProjectsLocationsServiceLbPoliciesTestIamPermissionsCall struct { - s *Service - resource string - testiampermissionsrequest *TestIamPermissionsRequest - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header -} - -// TestIamPermissions: Returns permissions that a caller has on the specified -// resource. If the resource does not exist, this will return an empty set of -// permissions, not a `NOT_FOUND` error. Note: This operation is designed to be -// used for building permission-aware UIs and command-line tools, not for -// authorization checking. This operation may "fail open" without warning. -// -// - resource: REQUIRED: The resource for which the policy detail is being -// requested. See Resource names -// (https://cloud.google.com/apis/design/resource_names) for the appropriate -// value for this field. -func (r *ProjectsLocationsServiceLbPoliciesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsServiceLbPoliciesTestIamPermissionsCall { - c := &ProjectsLocationsServiceLbPoliciesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.resource = resource - c.testiampermissionsrequest = testiampermissionsrequest - return c -} - -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more -// details. -func (c *ProjectsLocationsServiceLbPoliciesTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsServiceLbPoliciesTestIamPermissionsCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. -func (c *ProjectsLocationsServiceLbPoliciesTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsServiceLbPoliciesTestIamPermissionsCall { - c.ctx_ = ctx - return c -} - -// Header returns a http.Header that can be modified by the caller to add -// headers to the request. -func (c *ProjectsLocationsServiceLbPoliciesTestIamPermissionsCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsLocationsServiceLbPoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) - var body io.Reader = nil - body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest) - if err != nil { - return nil, err - } - c.urlParams_.Set("alt", alt) - c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+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 "networkservices.projects.locations.serviceLbPolicies.testIamPermissions" call. -// Any non-2xx status code is an error. Response headers are in either -// *TestIamPermissionsResponse.ServerResponse.Header or (if a response was -// returned at all) in error.(*googleapi.Error).Header. Use -// googleapi.IsNotModified to check whether the returned error was because -// http.StatusNotModified was returned. -func (c *ProjectsLocationsServiceLbPoliciesTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) { - gensupport.SetOptions(c.urlParams_, opts...) - res, err := c.doRequest("json") - if res != nil && res.StatusCode == http.StatusNotModified { - if res.Body != nil { - res.Body.Close() - } - return nil, 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 := &TestIamPermissionsResponse{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := gensupport.DecodeResponse(target, res); err != nil { - return nil, err - } - return ret, nil -} - type ProjectsLocationsTcpRoutesCreateCall struct { s *Service parent string diff --git a/playdeveloperreporting/v1alpha1/playdeveloperreporting-api.json b/playdeveloperreporting/v1alpha1/playdeveloperreporting-api.json index 747fe5be181..06b26467677 100644 --- a/playdeveloperreporting/v1alpha1/playdeveloperreporting-api.json +++ b/playdeveloperreporting/v1alpha1/playdeveloperreporting-api.json @@ -947,7 +947,7 @@ } } }, - "revision": "20240704", + "revision": "20240924", "rootUrl": "https://playdeveloperreporting.googleapis.com/", "schemas": { "GooglePlayDeveloperReportingV1alpha1Anomaly": { @@ -1197,12 +1197,14 @@ "enum": [ "ERROR_TYPE_UNSPECIFIED", "APPLICATION_NOT_RESPONDING", - "CRASH" + "CRASH", + "NON_FATAL" ], "enumDescriptions": [ "Unspecified error type.", "Application Not Responding (ANR) error. To learn more about this type of errors visit the corresponding Android Developers documentation.", - "Crash caused by an unhandled exception in Java (or Kotlin or any other JVM language) or a signal in native code such as SIGSEGV." + "Crash caused by an unhandled exception in Java (or Kotlin or any other JVM language) or a signal in native code such as SIGSEGV.", + "Non-fatal caused by events that do not immediately cause crashes, but is likely to lead to one." ], "type": "string" } @@ -1247,12 +1249,14 @@ "enum": [ "ERROR_TYPE_UNSPECIFIED", "APPLICATION_NOT_RESPONDING", - "CRASH" + "CRASH", + "NON_FATAL" ], "enumDescriptions": [ "Unspecified error type.", "Application Not Responding (ANR) error. To learn more about this type of errors visit the corresponding Android Developers documentation.", - "Crash caused by an unhandled exception in Java (or Kotlin or any other JVM language) or a signal in native code such as SIGSEGV." + "Crash caused by an unhandled exception in Java (or Kotlin or any other JVM language) or a signal in native code such as SIGSEGV.", + "Non-fatal caused by events that do not immediately cause crashes, but is likely to lead to one." ], "type": "string" }, diff --git a/playdeveloperreporting/v1alpha1/playdeveloperreporting-gen.go b/playdeveloperreporting/v1alpha1/playdeveloperreporting-gen.go index f302aec6c10..2727bd89f93 100644 --- a/playdeveloperreporting/v1alpha1/playdeveloperreporting-gen.go +++ b/playdeveloperreporting/v1alpha1/playdeveloperreporting-gen.go @@ -835,6 +835,8 @@ type GooglePlayDeveloperReportingV1alpha1ErrorIssue struct { // Developers documentation. // "CRASH" - Crash caused by an unhandled exception in Java (or Kotlin or any // other JVM language) or a signal in native code such as SIGSEGV. + // "NON_FATAL" - Non-fatal caused by events that do not immediately cause + // crashes, but is likely to lead to one. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Cause") to unconditionally // include in API requests. By default, fields with empty or default values are @@ -896,6 +898,8 @@ type GooglePlayDeveloperReportingV1alpha1ErrorReport struct { // Developers documentation. // "CRASH" - Crash caused by an unhandled exception in Java (or Kotlin or any // other JVM language) or a signal in native code such as SIGSEGV. + // "NON_FATAL" - Non-fatal caused by events that do not immediately cause + // crashes, but is likely to lead to one. Type string `json:"type,omitempty"` // VcsInformation: Version control system information from // BUNDLE-METADATA/version-control-info.textproto or diff --git a/playdeveloperreporting/v1beta1/playdeveloperreporting-api.json b/playdeveloperreporting/v1beta1/playdeveloperreporting-api.json index e951a57c397..4b31dcff014 100644 --- a/playdeveloperreporting/v1beta1/playdeveloperreporting-api.json +++ b/playdeveloperreporting/v1beta1/playdeveloperreporting-api.json @@ -947,7 +947,7 @@ } } }, - "revision": "20240704", + "revision": "20240924", "rootUrl": "https://playdeveloperreporting.googleapis.com/", "schemas": { "GooglePlayDeveloperReportingV1beta1Anomaly": { @@ -1197,12 +1197,14 @@ "enum": [ "ERROR_TYPE_UNSPECIFIED", "APPLICATION_NOT_RESPONDING", - "CRASH" + "CRASH", + "NON_FATAL" ], "enumDescriptions": [ "Unspecified error type.", "Application Not Responding (ANR) error. To learn more about this type of errors visit the corresponding Android Developers documentation.", - "Crash caused by an unhandled exception in Java (or Kotlin or any other JVM language) or a signal in native code such as SIGSEGV." + "Crash caused by an unhandled exception in Java (or Kotlin or any other JVM language) or a signal in native code such as SIGSEGV.", + "Non-fatal caused by events that do not immediately cause crashes, but is likely to lead to one." ], "type": "string" } @@ -1247,12 +1249,14 @@ "enum": [ "ERROR_TYPE_UNSPECIFIED", "APPLICATION_NOT_RESPONDING", - "CRASH" + "CRASH", + "NON_FATAL" ], "enumDescriptions": [ "Unspecified error type.", "Application Not Responding (ANR) error. To learn more about this type of errors visit the corresponding Android Developers documentation.", - "Crash caused by an unhandled exception in Java (or Kotlin or any other JVM language) or a signal in native code such as SIGSEGV." + "Crash caused by an unhandled exception in Java (or Kotlin or any other JVM language) or a signal in native code such as SIGSEGV.", + "Non-fatal caused by events that do not immediately cause crashes, but is likely to lead to one." ], "type": "string" }, diff --git a/playdeveloperreporting/v1beta1/playdeveloperreporting-gen.go b/playdeveloperreporting/v1beta1/playdeveloperreporting-gen.go index 164fafe3320..c50ca13625e 100644 --- a/playdeveloperreporting/v1beta1/playdeveloperreporting-gen.go +++ b/playdeveloperreporting/v1beta1/playdeveloperreporting-gen.go @@ -835,6 +835,8 @@ type GooglePlayDeveloperReportingV1beta1ErrorIssue struct { // Developers documentation. // "CRASH" - Crash caused by an unhandled exception in Java (or Kotlin or any // other JVM language) or a signal in native code such as SIGSEGV. + // "NON_FATAL" - Non-fatal caused by events that do not immediately cause + // crashes, but is likely to lead to one. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Cause") to unconditionally // include in API requests. By default, fields with empty or default values are @@ -896,6 +898,8 @@ type GooglePlayDeveloperReportingV1beta1ErrorReport struct { // Developers documentation. // "CRASH" - Crash caused by an unhandled exception in Java (or Kotlin or any // other JVM language) or a signal in native code such as SIGSEGV. + // "NON_FATAL" - Non-fatal caused by events that do not immediately cause + // crashes, but is likely to lead to one. Type string `json:"type,omitempty"` // VcsInformation: Version control system information from // BUNDLE-METADATA/version-control-info.textproto or diff --git a/pubsub/v1/pubsub-api.json b/pubsub/v1/pubsub-api.json index 36e8a27931c..b638bd10d63 100644 --- a/pubsub/v1/pubsub-api.json +++ b/pubsub/v1/pubsub-api.json @@ -1638,7 +1638,7 @@ } } }, - "revision": "20240912", + "revision": "20240918", "rootUrl": "https://pubsub.googleapis.com/", "schemas": { "AcknowledgeRequest": { @@ -1685,6 +1685,12 @@ }, "type": "object" }, + "AvroFormat": { + "description": "Configuration for reading Cloud Storage data in Avro binary format. The bytes of each object will be set to the `data` field of a Pub/Sub message.", + "id": "AvroFormat", + "properties": {}, + "type": "object" + }, "AwsKinesis": { "description": "Ingestion settings for Amazon Kinesis Data Streams.", "id": "AwsKinesis", @@ -1803,6 +1809,59 @@ }, "type": "object" }, + "CloudStorage": { + "description": "Ingestion settings for Cloud Storage.", + "id": "CloudStorage", + "properties": { + "avroFormat": { + "$ref": "AvroFormat", + "description": "Optional. Data from Cloud Storage will be interpreted in Avro format." + }, + "bucket": { + "description": "Optional. Cloud Storage bucket. The bucket name must be without any prefix like \"gs://\". See the [bucket naming requirements] (https://cloud.google.com/storage/docs/buckets#naming).", + "type": "string" + }, + "matchGlob": { + "description": "Optional. Glob pattern used to match objects that will be ingested. If unset, all objects will be ingested. See the [supported patterns](https://cloud.google.com/storage/docs/json_api/v1/objects/list#list-objects-and-prefixes-using-glob).", + "type": "string" + }, + "minimumObjectCreateTime": { + "description": "Optional. Only objects with a larger or equal creation timestamp will be ingested.", + "format": "google-datetime", + "type": "string" + }, + "pubsubAvroFormat": { + "$ref": "PubSubAvroFormat", + "description": "Optional. It will be assumed data from Cloud Storage was written via [Cloud Storage subscriptions](https://cloud.google.com/pubsub/docs/cloudstorage)." + }, + "state": { + "description": "Output only. An output-only field that indicates the state of the Cloud Storage ingestion source.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "CLOUD_STORAGE_PERMISSION_DENIED", + "PUBLISH_PERMISSION_DENIED", + "BUCKET_NOT_FOUND", + "TOO_MANY_OBJECTS" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Ingestion is active.", + "Permission denied encountered while calling the Cloud Storage API. This can happen if the Pub/Sub SA has not been granted the [appropriate permissions](https://cloud.google.com/storage/docs/access-control/iam-permissions): - storage.objects.list: to list the objects in a bucket. - storage.objects.get: to read the objects in a bucket. - storage.buckets.get: to verify the bucket exists.", + "Permission denied encountered while publishing to the topic. This can happen if the Pub/Sub SA has not been granted the [appropriate publish permissions](https://cloud.google.com/pubsub/docs/access-control#pubsub.publisher)", + "The provided Cloud Storage bucket doesn't exist.", + "The Cloud Storage bucket has too many objects, ingestion will be paused." + ], + "readOnly": true, + "type": "string" + }, + "textFormat": { + "$ref": "TextFormat", + "description": "Optional. Data from Cloud Storage will be interpreted as text." + } + }, + "type": "object" + }, "CloudStorageConfig": { "description": "Configuration for a Cloud Storage subscription.", "id": "CloudStorageConfig", @@ -1973,6 +2032,14 @@ "awsKinesis": { "$ref": "AwsKinesis", "description": "Optional. Amazon Kinesis Data Streams." + }, + "cloudStorage": { + "$ref": "CloudStorage", + "description": "Optional. Cloud Storage." + }, + "platformLogsSettings": { + "$ref": "PlatformLogsSettings", + "description": "Optional. Platform Logs settings. If unset, no Platform Logs will be generated." } }, "type": "object" @@ -2177,6 +2244,33 @@ }, "type": "object" }, + "PlatformLogsSettings": { + "description": "Settings for Platform Logs produced by Pub/Sub.", + "id": "PlatformLogsSettings", + "properties": { + "severity": { + "description": "Optional. The minimum severity level of Platform Logs that will be written.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "DISABLED", + "DEBUG", + "INFO", + "WARNING", + "ERROR" + ], + "enumDescriptions": [ + "Default value. Logs level is unspecified. Logs will be disabled.", + "Logs will be disabled.", + "Debug logs and higher-severity logs will be written.", + "Info logs and higher-severity logs will be written.", + "Warning logs and higher-severity logs will be written.", + "Only error logs will be written." + ], + "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", @@ -2201,6 +2295,12 @@ }, "type": "object" }, + "PubSubAvroFormat": { + "description": "Configuration for reading Cloud Storage data written via [Cloud Storage subscriptions](https://cloud.google.com/pubsub/docs/cloudstorage). The data and attributes fields of the originally exported Pub/Sub message will be restored when publishing.", + "id": "PubSubAvroFormat", + "properties": {}, + "type": "object" + }, "PublishRequest": { "description": "Request for the Publish method.", "id": "PublishRequest", @@ -2645,6 +2745,17 @@ "properties": {}, "type": "object" }, + "TextFormat": { + "description": "Configuration for reading Cloud Storage data in text format. Each line of text as specified by the delimiter will be set to the `data` field of a Pub/Sub message.", + "id": "TextFormat", + "properties": { + "delimiter": { + "description": "Optional. When unset, '\\n' is used.", + "type": "string" + } + }, + "type": "object" + }, "Topic": { "description": "A topic resource.", "id": "Topic", diff --git a/pubsub/v1/pubsub-gen.go b/pubsub/v1/pubsub-gen.go index 4ed28e396f1..bedf9465b3c 100644 --- a/pubsub/v1/pubsub-gen.go +++ b/pubsub/v1/pubsub-gen.go @@ -332,6 +332,12 @@ func (s AvroConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// AvroFormat: Configuration for reading Cloud Storage data in Avro binary +// format. The bytes of each object will be set to the `data` field of a +// Pub/Sub message. +type AvroFormat struct { +} + // AwsKinesis: Ingestion settings for Amazon Kinesis Data Streams. type AwsKinesis struct { // AwsRoleArn: Required. AWS role ARN to be used for Federated Identity @@ -558,6 +564,68 @@ func (s Binding) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// CloudStorage: Ingestion settings for Cloud Storage. +type CloudStorage struct { + // AvroFormat: Optional. Data from Cloud Storage will be interpreted in Avro + // format. + AvroFormat *AvroFormat `json:"avroFormat,omitempty"` + // Bucket: Optional. Cloud Storage bucket. The bucket name must be without any + // prefix like "gs://". See the [bucket naming requirements] + // (https://cloud.google.com/storage/docs/buckets#naming). + Bucket string `json:"bucket,omitempty"` + // MatchGlob: Optional. Glob pattern used to match objects that will be + // ingested. If unset, all objects will be ingested. See the supported patterns + // (https://cloud.google.com/storage/docs/json_api/v1/objects/list#list-objects-and-prefixes-using-glob). + MatchGlob string `json:"matchGlob,omitempty"` + // MinimumObjectCreateTime: Optional. Only objects with a larger or equal + // creation timestamp will be ingested. + MinimumObjectCreateTime string `json:"minimumObjectCreateTime,omitempty"` + // PubsubAvroFormat: Optional. It will be assumed data from Cloud Storage was + // written via Cloud Storage subscriptions + // (https://cloud.google.com/pubsub/docs/cloudstorage). + PubsubAvroFormat *PubSubAvroFormat `json:"pubsubAvroFormat,omitempty"` + // State: Output only. An output-only field that indicates the state of the + // Cloud Storage ingestion source. + // + // Possible values: + // "STATE_UNSPECIFIED" - Default value. This value is unused. + // "ACTIVE" - Ingestion is active. + // "CLOUD_STORAGE_PERMISSION_DENIED" - Permission denied encountered while + // calling the Cloud Storage API. This can happen if the Pub/Sub SA has not + // been granted the [appropriate + // permissions](https://cloud.google.com/storage/docs/access-control/iam-permiss + // ions): - storage.objects.list: to list the objects in a bucket. - + // storage.objects.get: to read the objects in a bucket. - storage.buckets.get: + // to verify the bucket exists. + // "PUBLISH_PERMISSION_DENIED" - Permission denied encountered while + // publishing to the topic. This can happen if the Pub/Sub SA has not been + // granted the [appropriate publish + // permissions](https://cloud.google.com/pubsub/docs/access-control#pubsub.publi + // sher) + // "BUCKET_NOT_FOUND" - The provided Cloud Storage bucket doesn't exist. + // "TOO_MANY_OBJECTS" - The Cloud Storage bucket has too many objects, + // ingestion will be paused. + State string `json:"state,omitempty"` + // TextFormat: Optional. Data from Cloud Storage will be interpreted as text. + TextFormat *TextFormat `json:"textFormat,omitempty"` + // ForceSendFields is a list of field names (e.g. "AvroFormat") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "AvroFormat") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s CloudStorage) MarshalJSON() ([]byte, error) { + type NoMethod CloudStorage + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // CloudStorageConfig: Configuration for a Cloud Storage subscription. type CloudStorageConfig struct { // AvroConfig: Optional. If set, message data will be written to Cloud Storage @@ -828,6 +896,11 @@ func (s Expr) MarshalJSON() ([]byte, error) { type IngestionDataSourceSettings struct { // AwsKinesis: Optional. Amazon Kinesis Data Streams. AwsKinesis *AwsKinesis `json:"awsKinesis,omitempty"` + // CloudStorage: Optional. Cloud Storage. + CloudStorage *CloudStorage `json:"cloudStorage,omitempty"` + // PlatformLogsSettings: Optional. Platform Logs settings. If unset, no + // Platform Logs will be generated. + PlatformLogsSettings *PlatformLogsSettings `json:"platformLogsSettings,omitempty"` // ForceSendFields is a list of field names (e.g. "AwsKinesis") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -1199,6 +1272,38 @@ func (s OidcToken) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// PlatformLogsSettings: Settings for Platform Logs produced by Pub/Sub. +type PlatformLogsSettings struct { + // Severity: Optional. The minimum severity level of Platform Logs that will be + // written. + // + // Possible values: + // "SEVERITY_UNSPECIFIED" - Default value. Logs level is unspecified. Logs + // will be disabled. + // "DISABLED" - Logs will be disabled. + // "DEBUG" - Debug logs and higher-severity logs will be written. + // "INFO" - Info logs and higher-severity logs will be written. + // "WARNING" - Warning logs and higher-severity logs will be written. + // "ERROR" - Only error logs will be written. + Severity string `json:"severity,omitempty"` + // ForceSendFields is a list of field names (e.g. "Severity") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Severity") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s PlatformLogsSettings) MarshalJSON() ([]byte, error) { + type NoMethod PlatformLogsSettings + return gensupport.MarshalJSON(NoMethod(s), 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 principals, to a @@ -1289,6 +1394,14 @@ func (s Policy) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// PubSubAvroFormat: Configuration for reading Cloud Storage data written via +// Cloud Storage subscriptions +// (https://cloud.google.com/pubsub/docs/cloudstorage). The data and attributes +// fields of the originally exported Pub/Sub message will be restored when +// publishing. +type PubSubAvroFormat struct { +} + // PublishRequest: Request for the Publish method. type PublishRequest struct { // Messages: Required. The messages to publish. @@ -2003,6 +2116,30 @@ func (s TestIamPermissionsResponse) MarshalJSON() ([]byte, error) { type TextConfig struct { } +// TextFormat: Configuration for reading Cloud Storage data in text format. +// Each line of text as specified by the delimiter will be set to the `data` +// field of a Pub/Sub message. +type TextFormat struct { + // Delimiter: Optional. When unset, '\n' is used. + Delimiter string `json:"delimiter,omitempty"` + // ForceSendFields is a list of field names (e.g. "Delimiter") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Delimiter") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s TextFormat) MarshalJSON() ([]byte, error) { + type NoMethod TextFormat + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // Topic: A topic resource. type Topic struct { // IngestionDataSourceSettings: Optional. Settings for ingestion from a data diff --git a/servicemanagement/v1/servicemanagement-api.json b/servicemanagement/v1/servicemanagement-api.json index 438085ddbca..105ac370dda 100644 --- a/servicemanagement/v1/servicemanagement-api.json +++ b/servicemanagement/v1/servicemanagement-api.json @@ -830,7 +830,7 @@ } } }, - "revision": "20240823", + "revision": "20240920", "rootUrl": "https://servicemanagement.googleapis.com/", "schemas": { "Advice": { @@ -1283,6 +1283,10 @@ "deprecated": true, "description": "Link to automatically generated reference documentation. Example: https://cloud.google.com/nodejs/docs/reference/asset/latest", "type": "string" + }, + "selectiveGapicGeneration": { + "$ref": "SelectiveGapicGeneration", + "description": "Configuration for which RPCs should be generated in the GAPIC client." } }, "type": "object" @@ -3175,6 +3179,20 @@ }, "type": "object" }, + "SelectiveGapicGeneration": { + "description": "This message is used to configure the generation of a subset of the RPCs in a service for client libraries.", + "id": "SelectiveGapicGeneration", + "properties": { + "methods": { + "description": "An allowlist of the fully qualified names of RPCs that should be included on public client surfaces.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "Service": { "description": "`Service` is the root object of Google API service configuration (service config). It describes the basic information about a logical service, such as the service name and the user-facing title, and delegates other aspects to sub-sections. Each sub-section is either a proto message or a repeated proto message that configures a specific aspect, such as auth. For more information, see each proto message definition. Example: type: google.api.Service name: calendar.googleapis.com title: Google Calendar API apis: - name: google.calendar.v3.Calendar visibility: rules: - selector: \"google.calendar.v3.*\" restriction: PREVIEW backend: rules: - selector: \"google.calendar.v3.*\" address: calendar.example.com authentication: providers: - id: google_calendar_auth jwks_uri: https://www.googleapis.com/oauth2/v1/certs issuer: https://securetoken.google.com rules: - selector: \"*\" requirements: provider_id: google_calendar_auth", "id": "Service", diff --git a/servicemanagement/v1/servicemanagement-gen.go b/servicemanagement/v1/servicemanagement-gen.go index b205ed59f43..d38ff49289e 100644 --- a/servicemanagement/v1/servicemanagement-gen.go +++ b/servicemanagement/v1/servicemanagement-gen.go @@ -978,6 +978,9 @@ type CommonLanguageSettings struct { // ReferenceDocsUri: Link to automatically generated reference documentation. // Example: https://cloud.google.com/nodejs/docs/reference/asset/latest ReferenceDocsUri string `json:"referenceDocsUri,omitempty"` + // SelectiveGapicGeneration: Configuration for which RPCs should be generated + // in the GAPIC client. + SelectiveGapicGeneration *SelectiveGapicGeneration `json:"selectiveGapicGeneration,omitempty"` // ForceSendFields is a list of field names (e.g. "Destinations") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -3916,6 +3919,30 @@ func (s RubySettings) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// SelectiveGapicGeneration: This message is used to configure the generation +// of a subset of the RPCs in a service for client libraries. +type SelectiveGapicGeneration struct { + // Methods: An allowlist of the fully qualified names of RPCs that should be + // included on public client surfaces. + Methods []string `json:"methods,omitempty"` + // ForceSendFields is a list of field names (e.g. "Methods") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Methods") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s SelectiveGapicGeneration) MarshalJSON() ([]byte, error) { + type NoMethod SelectiveGapicGeneration + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // Service: `Service` is the root object of Google API service configuration // (service config). It describes the basic information about a logical // service, such as the service name and the user-facing title, and delegates