From 8ddba9b6319c83929d20cf822ce7f59e696e036f Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:41:36 +0000 Subject: [PATCH 01/65] feat: Generate Google.Apis.Aiplatform.v1 version 1.72.0.3957 --- DiscoveryJson/aiplatform.v1.json | 98 +++++++- .../Google.Apis.Aiplatform.v1.cs | 233 +++++++++++++++++- .../Google.Apis.Aiplatform.v1.csproj | 2 +- 3 files changed, 322 insertions(+), 11 deletions(-) diff --git a/DiscoveryJson/aiplatform.v1.json b/DiscoveryJson/aiplatform.v1.json index 0b407e74de3..0d4bc56313e 100644 --- a/DiscoveryJson/aiplatform.v1.json +++ b/DiscoveryJson/aiplatform.v1.json @@ -7719,6 +7719,37 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:getIamPolicy", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.datasets.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/[^/]+/datasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "import": { "description": "Imports data into a Dataset.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:import", @@ -7929,6 +7960,65 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:setIamPolicy", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.datasets.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/[^/]+/datasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}:testIamPermissions", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.datasets.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "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).", + "location": "query", + "repeated": true, + "type": "string" + }, + "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/[^/]+/datasets/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { @@ -28603,7 +28693,7 @@ } } }, - "revision": "20251028", + "revision": "20251101", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "CloudAiLargeModelsVisionGenerateVideoResponse": { @@ -32002,7 +32092,7 @@ "id": "GoogleCloudAiplatformV1CustomCodeExecutionSpec", "properties": { "evaluationFunction": { - "description": "Required. Python function. Expected user to define the following function, e.g.: def evaluate(instance: dict[str, Any]) -> float: Please include this function signature in the code snippet. Instance is the evaluation instance, any fields populated in the instance are available to the function as instance[field_name]. Example: Example input: ``` instance= EvaluationInstance( response=EvaluationInstance.InstanceData(text=\"The answer is 4.\"), reference=EvaluationInstance.InstanceData(text=\"4\") ) ``` Example converted input: ``` { 'response': {'text': 'The answer is 4.'}, 'reference': {'text': '4'} } ``` Example python function: ``` def evaluate(instance: dict[str, Any]) -> float: if instance'response' == instance'reference': return 1.0 return 0.0 ```", + "description": "Required. Python function. Expected user to define the following function, e.g.: def evaluate(instance: dict[str, Any]) -> float: Please include this function signature in the code snippet. Instance is the evaluation instance, any fields populated in the instance are available to the function as instance[field_name]. Example: Example input: ``` instance= EvaluationInstance( response=EvaluationInstance.InstanceData(text=\"The answer is 4.\"), reference=EvaluationInstance.InstanceData(text=\"4\") ) ``` Example converted input: ``` { 'response': {'text': 'The answer is 4.'}, 'reference': {'text': '4'} } ``` Example python function: ``` def evaluate(instance: dict[str, Any]) -> float: if instance'response' == instance'reference': return 1.0 return 0.0 ``` CustomCodeExecutionSpec is also supported in Batch Evaluation (EvalDataset RPC) and Tuning Evaluation. Each line in the input jsonl file will be converted to dict[str, Any] and passed to the evaluation function.", "type": "string" } }, @@ -34455,10 +34545,6 @@ "$ref": "GoogleCloudAiplatformV1EvaluationInstanceAgentDataEvents", "description": "A list of events." }, - "eventsText": { - "description": "A JSON string containing a sequence of events.", - "type": "string" - }, "tools": { "$ref": "GoogleCloudAiplatformV1EvaluationInstanceAgentDataTools", "deprecated": true, diff --git a/Src/Generated/Google.Apis.Aiplatform.v1/Google.Apis.Aiplatform.v1.cs b/Src/Generated/Google.Apis.Aiplatform.v1/Google.Apis.Aiplatform.v1.cs index b09ef706077..0d6c493e119 100644 --- a/Src/Generated/Google.Apis.Aiplatform.v1/Google.Apis.Aiplatform.v1.cs +++ b/Src/Generated/Google.Apis.Aiplatform.v1/Google.Apis.Aiplatform.v1.cs @@ -19657,6 +19657,86 @@ protected override void InitParameters() } } + /// + /// Gets the access control policy for a resource. Returns an empty policy if the resource exists and + /// does not have a policy set. + /// + /// + /// 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. + /// + public virtual GetIamPolicyRequest GetIamPolicy(string resource) + { + return new GetIamPolicyRequest(this.service, resource); + } + + /// + /// Gets the access control policy for a resource. Returns an empty policy if the resource exists and + /// does not have a policy set. + /// + public class GetIamPolicyRequest : AiplatformBaseServiceRequest + { + /// Constructs a new GetIamPolicy request. + public GetIamPolicyRequest(Google.Apis.Services.IClientService service, string resource) : base(service) + { + Resource = resource; + InitParameters(); + } + + /// + /// 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. + /// + [Google.Apis.Util.RequestParameterAttribute("resource", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Resource { get; private set; } + + /// + /// Optional. The maximum policy version that will be used to format the policy. Valid values are 0, + /// 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any + /// conditional role bindings must specify version 3. Policies with no conditional role bindings may + /// specify any valid value or leave the field unset. The policy in the response might use the + /// policy version that you specified, or it might use a lower policy version. For example, if you + /// specify version 3, but the policy has no conditional role bindings, the response uses version 1. + /// To learn which resources support conditions in their IAM policies, see the [IAM + /// documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + /// + [Google.Apis.Util.RequestParameterAttribute("options.requestedPolicyVersion", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable OptionsRequestedPolicyVersion { get; set; } + + /// Gets the method name. + public override string MethodName => "getIamPolicy"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1/{+resource}:getIamPolicy"; + + /// Initializes GetIamPolicy parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter + { + Name = "resource", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", + }); + RequestParameters.Add("options.requestedPolicyVersion", new Google.Apis.Discovery.Parameter + { + Name = "options.requestedPolicyVersion", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + /// Imports data into a Dataset. /// The body of the request. /// @@ -20157,6 +20237,152 @@ protected override void InitParameters() }); } } + + /// + /// Sets the access control policy on the specified resource. Replaces any existing policy. Can return + /// `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + /// + /// The body of the request. + /// + /// 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. + /// + public virtual SetIamPolicyRequest SetIamPolicy(Google.Apis.Aiplatform.v1.Data.GoogleIamV1SetIamPolicyRequest body, string resource) + { + return new SetIamPolicyRequest(this.service, body, resource); + } + + /// + /// Sets the access control policy on the specified resource. Replaces any existing policy. Can return + /// `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + /// + public class SetIamPolicyRequest : AiplatformBaseServiceRequest + { + /// Constructs a new SetIamPolicy request. + public SetIamPolicyRequest(Google.Apis.Services.IClientService service, Google.Apis.Aiplatform.v1.Data.GoogleIamV1SetIamPolicyRequest body, string resource) : base(service) + { + Resource = resource; + Body = body; + InitParameters(); + } + + /// + /// 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. + /// + [Google.Apis.Util.RequestParameterAttribute("resource", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Resource { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.Aiplatform.v1.Data.GoogleIamV1SetIamPolicyRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "setIamPolicy"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1/{+resource}:setIamPolicy"; + + /// Initializes SetIamPolicy parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter + { + Name = "resource", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", + }); + } + } + + /// + /// 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. + /// + /// + /// 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. + /// + public virtual TestIamPermissionsRequest TestIamPermissions(string resource) + { + return new TestIamPermissionsRequest(this.service, resource); + } + + /// + /// 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. + /// + public class TestIamPermissionsRequest : AiplatformBaseServiceRequest + { + /// Constructs a new TestIamPermissions request. + public TestIamPermissionsRequest(Google.Apis.Services.IClientService service, string resource) : base(service) + { + Resource = resource; + InitParameters(); + } + + /// + /// 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. + /// + [Google.Apis.Util.RequestParameterAttribute("resource", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Resource { get; private set; } + + /// + /// 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). + /// + [Google.Apis.Util.RequestParameterAttribute("permissions", Google.Apis.Util.RequestParameterType.Query)] + public virtual Google.Apis.Util.Repeatable Permissions { get; set; } + + /// Gets the method name. + public override string MethodName => "testIamPermissions"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1/{+resource}:testIamPermissions"; + + /// Initializes TestIamPermissions parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter + { + Name = "resource", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", + }); + RequestParameters.Add("permissions", new Google.Apis.Discovery.Parameter + { + Name = "permissions", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } } /// Gets the DeploymentResourcePools resource. @@ -70098,6 +70324,9 @@ public class GoogleCloudAiplatformV1CustomCodeExecutionSpec : Google.Apis.Reques /// evaluate(instance: dict[str, Any]) -&gt; float: if instance'response' == instance'reference': return 1.0 /// return 0.0 /// ``` + /// CustomCodeExecutionSpec is also supported in Batch Evaluation (EvalDataset RPC) and Tuning + /// Evaluation. Each line in the input jsonl file will be converted to dict[str, Any] and passed to the + /// evaluation function. /// [Newtonsoft.Json.JsonPropertyAttribute("evaluationFunction")] public virtual string EvaluationFunction { get; set; } @@ -73491,10 +73720,6 @@ public class GoogleCloudAiplatformV1EvaluationInstanceAgentData : Google.Apis.Re [Newtonsoft.Json.JsonPropertyAttribute("events")] public virtual GoogleCloudAiplatformV1EvaluationInstanceAgentDataEvents Events { get; set; } - /// A JSON string containing a sequence of events. - [Newtonsoft.Json.JsonPropertyAttribute("eventsText")] - public virtual string EventsText { get; set; } - /// List of tools. [Newtonsoft.Json.JsonPropertyAttribute("tools")] public virtual GoogleCloudAiplatformV1EvaluationInstanceAgentDataTools Tools { get; set; } diff --git a/Src/Generated/Google.Apis.Aiplatform.v1/Google.Apis.Aiplatform.v1.csproj b/Src/Generated/Google.Apis.Aiplatform.v1/Google.Apis.Aiplatform.v1.csproj index a88bbd10b76..93d5c58e8b0 100644 --- a/Src/Generated/Google.Apis.Aiplatform.v1/Google.Apis.Aiplatform.v1.csproj +++ b/Src/Generated/Google.Apis.Aiplatform.v1/Google.Apis.Aiplatform.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Aiplatform.v1 Client Library - 1.72.0.3953 + 1.72.0.3957 Google LLC Copyright 2025 Google LLC Google From 70eb5865392b56a5062ed5e0c364075658ea235b Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:41:38 +0000 Subject: [PATCH 02/65] feat: Generate Google.Apis.AndroidManagement.v1 version 1.72.0.3960 --- DiscoveryJson/androidmanagement.v1.json | 8 +++++--- .../Google.Apis.AndroidManagement.v1.csproj | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/androidmanagement.v1.json b/DiscoveryJson/androidmanagement.v1.json index 77a2862a5dd..fd95e105816 100644 --- a/DiscoveryJson/androidmanagement.v1.json +++ b/DiscoveryJson/androidmanagement.v1.json @@ -1265,7 +1265,7 @@ } } }, - "revision": "20251022", + "revision": "20251104", "rootUrl": "https://androidmanagement.googleapis.com/", "schemas": { "AdbShellCommandEvent": { @@ -5445,7 +5445,8 @@ "REQUIRED_ACCOUNT_NOT_IN_ENTERPRISE", "NEW_ACCOUNT_NOT_IN_ENTERPRISE", "DEFAULT_APPLICATION_SETTING_UNSUPPORTED_SCOPES", - "DEFAULT_APPLICATION_SETTING_FAILED_FOR_SCOPE" + "DEFAULT_APPLICATION_SETTING_FAILED_FOR_SCOPE", + "PRIVATE_DNS_HOST_NOT_SERVING" ], "enumDescriptions": [ "Specific non-compliance reason is not specified. Fields in specific_non_compliance_context are not set.", @@ -5461,7 +5462,8 @@ "Work account required by the workAccountSetupConfig policy setting is not part of the enterprise anymore. nonComplianceReason is set to USER_ACTION.", "Work account added by the user is not part of the enterprise. nonComplianceReason is set to USER_ACTION.", "The default application setting is applied to the scopes that are not supported by the management mode, even if the management mode itself is supported for the app type (e.g., a policy with DEFAULT_BROWSER app type and SCOPE_PERSONAL_PROFILE list sent to a fully managed device results in the scopes being inapplicable for the management mode). If the management mode is not supported for the app type, a NonComplianceDetail with MANAGEMENT_MODE is reported, without a specificNonComplianceReason.nonComplianceReason is set to MANAGEMENT_MODE.", - "The default application setting failed to apply for a specific scope. defaultApplicationContext is set. nonComplianceReason is set to INVALID_VALUE or APP_NOT_INSTALLED." + "The default application setting failed to apply for a specific scope. defaultApplicationContext is set. nonComplianceReason is set to INVALID_VALUE or APP_NOT_INSTALLED.", + "The specified host for private DNS is a valid hostname but was found to not be a private DNS server. nonComplianceReason is set to INVALID_VALUE." ], "type": "string" } diff --git a/Src/Generated/Google.Apis.AndroidManagement.v1/Google.Apis.AndroidManagement.v1.csproj b/Src/Generated/Google.Apis.AndroidManagement.v1/Google.Apis.AndroidManagement.v1.csproj index 5c76703fc1a..654e1b0a53f 100644 --- a/Src/Generated/Google.Apis.AndroidManagement.v1/Google.Apis.AndroidManagement.v1.csproj +++ b/Src/Generated/Google.Apis.AndroidManagement.v1/Google.Apis.AndroidManagement.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.AndroidManagement.v1 Client Library - 1.72.0.3947 + 1.72.0.3960 Google LLC Copyright 2025 Google LLC Google From 60478c2227c1e8d29af06dd6a17564e00400524c Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:41:40 +0000 Subject: [PATCH 03/65] feat: Generate Google.Apis.Appengine.v1 version 1.72.0.3959 --- DiscoveryJson/appengine.v1.json | 76 ++++++++-- .../Google.Apis.Appengine.v1.cs | 141 +++++++++++++++--- .../Google.Apis.Appengine.v1.csproj | 6 +- 3 files changed, 191 insertions(+), 32 deletions(-) diff --git a/DiscoveryJson/appengine.v1.json b/DiscoveryJson/appengine.v1.json index eccbf5eb979..48b23e80326 100644 --- a/DiscoveryJson/appengine.v1.json +++ b/DiscoveryJson/appengine.v1.json @@ -959,7 +959,7 @@ "type": "string" }, "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -2189,6 +2189,57 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, + "list": { + "description": "Lists the domain mappings on an application.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/domainMappings", + "httpMethod": "GET", + "id": "appengine.projects.locations.applications.domainMappings.list", + "parameterOrder": [ + "projectsId", + "locationsId", + "applicationsId" + ], + "parameters": { + "applicationsId": { + "description": "Part of `parent`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "locationsId": { + "description": "Part of `parent`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Maximum results to return per page.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Continuation token for fetching the next page of results.", + "location": "query", + "type": "string" + }, + "projectsId": { + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/domainMappings", + "response": { + "$ref": "ListDomainMappingsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, "patch": { "description": "Updates the specified domain mapping. To map an SSL certificate to a domain mapping, update certificate_id to point to an AuthorizedCertificate resource. A user must be authorized to administer the associated domain in order to update a DomainMapping resource.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/domainMappings/{domainMappingsId}", @@ -2479,7 +2530,7 @@ } } }, - "revision": "20250930", + "revision": "20251103", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "ApiConfigHandler": { @@ -2694,10 +2745,11 @@ "type": "integer" }, "domainNames": { - "description": "Topmost applicable domains of this certificate. This certificate applies to these domains and their subdomains. Example: example.com.@OutputOnly", + "description": "Output only. Topmost applicable domains of this certificate. This certificate applies to these domains and their subdomains. Example: example.com.@OutputOnly", "items": { "type": "string" }, + "readOnly": true, "type": "array" }, "expireTime": { @@ -2706,7 +2758,8 @@ "type": "string" }, "id": { - "description": "Relative name of the certificate. This is a unique value autogenerated on AuthorizedCertificate resource creation. Example: 12345.@OutputOnly", + "description": "Output only. Relative name of the certificate. This is a unique value autogenerated on AuthorizedCertificate resource creation. Example: 12345.@OutputOnly", + "readOnly": true, "type": "string" }, "managedCertificate": { @@ -2714,14 +2767,16 @@ "description": "Only applicable if this certificate is managed by App Engine. Managed certificates are tied to the lifecycle of a DomainMapping and cannot be updated or deleted via the AuthorizedCertificates API. If this certificate is manually administered by the user, this field will be empty.@OutputOnly" }, "name": { - "description": "Full path to the AuthorizedCertificate resource in the API. Example: apps/myapp/authorizedCertificates/12345.@OutputOnly", + "description": "Output only. Full path to the AuthorizedCertificate resource in the API. Example: apps/myapp/authorizedCertificates/12345.@OutputOnly", + "readOnly": true, "type": "string" }, "visibleDomainMappings": { - "description": "The full paths to user visible Domain Mapping resources that have this certificate mapped. Example: apps/myapp/domainMappings/example.com.This may not represent the full list of mapped domain mappings if the user does not have VIEWER permissions on all of the applications that have this certificate mapped. See domain_mappings_count for a complete count.Only returned by GET or LIST requests when specifically requested by the view=FULL_CERTIFICATE option.@OutputOnly", + "description": "Output only. The full paths to user visible Domain Mapping resources that have this certificate mapped. Example: apps/myapp/domainMappings/example.com.This may not represent the full list of mapped domain mappings if the user does not have VIEWER permissions on all of the applications that have this certificate mapped. See domain_mappings_count for a complete count.Only returned by GET or LIST requests when specifically requested by the view=FULL_CERTIFICATE option.@OutputOnly", "items": { "type": "string" }, + "readOnly": true, "type": "array" } }, @@ -3071,14 +3126,16 @@ "type": "string" }, "name": { - "description": "Full path to the DomainMapping resource in the API. Example: apps/myapp/domainMapping/example.com.@OutputOnly", + "description": "Output only. Full path to the DomainMapping resource in the API. Example: apps/myapp/domainMapping/example.com.@OutputOnly", + "readOnly": true, "type": "string" }, "resourceRecords": { - "description": "The resource records required to configure this domain mapping. These records must be added to the domain's DNS configuration in order to serve the application via this domain mapping.@OutputOnly", + "description": "Output only. The resource records required to configure this domain mapping. These records must be added to the domain's DNS configuration in order to serve the application via this domain mapping.@OutputOnly", "items": { "$ref": "ResourceRecord" }, + "readOnly": true, "type": "array" }, "sslSettings": { @@ -4559,7 +4616,8 @@ "type": "string" }, "pendingManagedCertificateId": { - "description": "ID of the managed AuthorizedCertificate resource currently being provisioned, if applicable. Until the new managed certificate has been successfully provisioned, the previous SSL state will be preserved. Once the provisioning process completes, the certificate_id field will reflect the new managed certificate and this field will be left empty. To remove SSL support while there is still a pending managed certificate, clear the certificate_id field with an UpdateDomainMappingRequest.@OutputOnly", + "description": "Output only. ID of the managed AuthorizedCertificate resource currently being provisioned, if applicable. Until the new managed certificate has been successfully provisioned, the previous SSL state will be preserved. Once the provisioning process completes, the certificate_id field will reflect the new managed certificate and this field will be left empty. To remove SSL support while there is still a pending managed certificate, clear the certificate_id field with an UpdateDomainMappingRequest.@OutputOnly", + "readOnly": true, "type": "string" }, "sslManagementType": { diff --git a/Src/Generated/Google.Apis.Appengine.v1/Google.Apis.Appengine.v1.cs b/Src/Generated/Google.Apis.Appengine.v1/Google.Apis.Appengine.v1.cs index 234d6d822f6..2af2485786b 100644 --- a/Src/Generated/Google.Apis.Appengine.v1/Google.Apis.Appengine.v1.cs +++ b/Src/Generated/Google.Apis.Appengine.v1/Google.Apis.Appengine.v1.cs @@ -1818,8 +1818,8 @@ public ListRequest(Google.Apis.Services.IClientService service, string appsId) : public virtual string AppsId { get; private set; } /// - /// Optional. Unless explicitly documented otherwise, don't use this unsupported field which is - /// primarily intended for internal usage. + /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented + /// otherwise. This is primarily for internal usage. /// [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } @@ -4885,6 +4885,107 @@ protected override void InitParameters() } } + /// Lists the domain mappings on an application. + /// + /// Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. + /// + /// Part of `parent`. See documentation of `projectsId`. + /// Part of `parent`. See documentation of `projectsId`. + public virtual ListRequest List(string projectsId, string locationsId, string applicationsId) + { + return new ListRequest(this.service, projectsId, locationsId, applicationsId); + } + + /// Lists the domain mappings on an application. + public class ListRequest : AppengineBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string projectsId, string locationsId, string applicationsId) : base(service) + { + ProjectsId = projectsId; + LocationsId = locationsId; + ApplicationsId = applicationsId; + InitParameters(); + } + + /// + /// Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. + /// + [Google.Apis.Util.RequestParameterAttribute("projectsId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string ProjectsId { get; private set; } + + /// Part of `parent`. See documentation of `projectsId`. + [Google.Apis.Util.RequestParameterAttribute("locationsId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string LocationsId { get; private set; } + + /// Part of `parent`. See documentation of `projectsId`. + [Google.Apis.Util.RequestParameterAttribute("applicationsId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string ApplicationsId { get; private set; } + + /// Maximum results to return per page. + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// Continuation token for fetching the next page of results. + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/domainMappings"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("projectsId", new Google.Apis.Discovery.Parameter + { + Name = "projectsId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("locationsId", new Google.Apis.Discovery.Parameter + { + Name = "locationsId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("applicationsId", new Google.Apis.Discovery.Parameter + { + Name = "applicationsId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + /// /// Updates the specified domain mapping. To map an SSL certificate to a domain mapping, update /// certificate_id to point to an AuthorizedCertificate resource. A user must be authorized to @@ -5861,8 +5962,8 @@ public class AuthorizedCertificate : Google.Apis.Requests.IDirectResponseSchema public virtual System.Nullable DomainMappingsCount { get; set; } /// - /// Topmost applicable domains of this certificate. This certificate applies to these domains and their - /// subdomains. Example: example.com.@OutputOnly + /// Output only. Topmost applicable domains of this certificate. This certificate applies to these domains and + /// their subdomains. Example: example.com.@OutputOnly /// [Newtonsoft.Json.JsonPropertyAttribute("domainNames")] public virtual System.Collections.Generic.IList DomainNames { get; set; } @@ -5909,8 +6010,8 @@ public virtual System.DateTimeOffset? ExpireTimeDateTimeOffset } /// - /// Relative name of the certificate. This is a unique value autogenerated on AuthorizedCertificate resource - /// creation. Example: 12345.@OutputOnly + /// Output only. Relative name of the certificate. This is a unique value autogenerated on AuthorizedCertificate + /// resource creation. Example: 12345.@OutputOnly /// [Newtonsoft.Json.JsonPropertyAttribute("id")] public virtual string Id { get; set; } @@ -5924,18 +6025,18 @@ public virtual System.DateTimeOffset? ExpireTimeDateTimeOffset public virtual ManagedCertificate ManagedCertificate { get; set; } /// - /// Full path to the AuthorizedCertificate resource in the API. Example: + /// Output only. Full path to the AuthorizedCertificate resource in the API. Example: /// apps/myapp/authorizedCertificates/12345.@OutputOnly /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } /// - /// The full paths to user visible Domain Mapping resources that have this certificate mapped. Example: - /// apps/myapp/domainMappings/example.com.This may not represent the full list of mapped domain mappings if the - /// user does not have VIEWER permissions on all of the applications that have this certificate mapped. See - /// domain_mappings_count for a complete count.Only returned by GET or LIST requests when specifically requested - /// by the view=FULL_CERTIFICATE option.@OutputOnly + /// Output only. The full paths to user visible Domain Mapping resources that have this certificate mapped. + /// Example: apps/myapp/domainMappings/example.com.This may not represent the full list of mapped domain + /// mappings if the user does not have VIEWER permissions on all of the applications that have this certificate + /// mapped. See domain_mappings_count for a complete count.Only returned by GET or LIST requests when + /// specifically requested by the view=FULL_CERTIFICATE option.@OutputOnly /// [Newtonsoft.Json.JsonPropertyAttribute("visibleDomainMappings")] public virtual System.Collections.Generic.IList VisibleDomainMappings { get; set; } @@ -6345,15 +6446,15 @@ public class DomainMapping : Google.Apis.Requests.IDirectResponseSchema public virtual string Id { get; set; } /// - /// Full path to the DomainMapping resource in the API. Example: + /// Output only. Full path to the DomainMapping resource in the API. Example: /// apps/myapp/domainMapping/example.com.@OutputOnly /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } /// - /// The resource records required to configure this domain mapping. These records must be added to the domain's - /// DNS configuration in order to serve the application via this domain mapping.@OutputOnly + /// Output only. The resource records required to configure this domain mapping. These records must be added to + /// the domain's DNS configuration in order to serve the application via this domain mapping.@OutputOnly /// [Newtonsoft.Json.JsonPropertyAttribute("resourceRecords")] public virtual System.Collections.Generic.IList ResourceRecords { get; set; } @@ -7958,11 +8059,11 @@ public class SslSettings : Google.Apis.Requests.IDirectResponseSchema public virtual string CertificateId { get; set; } /// - /// ID of the managed AuthorizedCertificate resource currently being provisioned, if applicable. Until the new - /// managed certificate has been successfully provisioned, the previous SSL state will be preserved. Once the - /// provisioning process completes, the certificate_id field will reflect the new managed certificate and this - /// field will be left empty. To remove SSL support while there is still a pending managed certificate, clear - /// the certificate_id field with an UpdateDomainMappingRequest.@OutputOnly + /// Output only. ID of the managed AuthorizedCertificate resource currently being provisioned, if applicable. + /// Until the new managed certificate has been successfully provisioned, the previous SSL state will be + /// preserved. Once the provisioning process completes, the certificate_id field will reflect the new managed + /// certificate and this field will be left empty. To remove SSL support while there is still a pending managed + /// certificate, clear the certificate_id field with an UpdateDomainMappingRequest.@OutputOnly /// [Newtonsoft.Json.JsonPropertyAttribute("pendingManagedCertificateId")] public virtual string PendingManagedCertificateId { get; set; } diff --git a/Src/Generated/Google.Apis.Appengine.v1/Google.Apis.Appengine.v1.csproj b/Src/Generated/Google.Apis.Appengine.v1/Google.Apis.Appengine.v1.csproj index da1b618bf09..ae6ae3eeeba 100644 --- a/Src/Generated/Google.Apis.Appengine.v1/Google.Apis.Appengine.v1.csproj +++ b/Src/Generated/Google.Apis.Appengine.v1/Google.Apis.Appengine.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Appengine.v1 Client Library - 1.71.0.3925 + 1.72.0.3959 Google LLC Copyright 2025 Google LLC Google @@ -60,8 +60,8 @@ - - + + From 1dbbb81874bc5285f560549e0e1dd4a680669219 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:41:42 +0000 Subject: [PATCH 04/65] feat: Generate Google.Apis.Appengine.v1alpha version 1.72.0.3959 --- DiscoveryJson/appengine.v1alpha.json | 78 ++++++++-- .../Google.Apis.Appengine.v1alpha.cs | 139 +++++++++++++++--- .../Google.Apis.Appengine.v1alpha.csproj | 6 +- 3 files changed, 191 insertions(+), 32 deletions(-) diff --git a/DiscoveryJson/appengine.v1alpha.json b/DiscoveryJson/appengine.v1alpha.json index 0e4f61e89da..12e0ef817b7 100644 --- a/DiscoveryJson/appengine.v1alpha.json +++ b/DiscoveryJson/appengine.v1alpha.json @@ -599,7 +599,7 @@ "type": "string" }, "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -766,7 +766,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -1286,6 +1286,57 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, + "list": { + "description": "Lists the domain mappings on an application.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/domainMappings", + "httpMethod": "GET", + "id": "appengine.projects.locations.applications.domainMappings.list", + "parameterOrder": [ + "projectsId", + "locationsId", + "applicationsId" + ], + "parameters": { + "applicationsId": { + "description": "Part of `parent`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "locationsId": { + "description": "Part of `parent`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Maximum results to return per page.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Continuation token for fetching the next page of results.", + "location": "query", + "type": "string" + }, + "projectsId": { + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/domainMappings", + "response": { + "$ref": "ListDomainMappingsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, "patch": { "description": "Updates the specified domain mapping. To map an SSL certificate to a domain mapping, update certificate_id to point to an AuthorizedCertificate resource. A user must be authorized to administer the associated domain in order to update a DomainMapping resource.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/domainMappings/{domainMappingsId}", @@ -1452,7 +1503,7 @@ } } }, - "revision": "20250930", + "revision": "20251103", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "AuthorizedCertificate": { @@ -1473,10 +1524,11 @@ "type": "integer" }, "domainNames": { - "description": "Topmost applicable domains of this certificate. This certificate applies to these domains and their subdomains. Example: example.com.@OutputOnly", + "description": "Output only. Topmost applicable domains of this certificate. This certificate applies to these domains and their subdomains. Example: example.com.@OutputOnly", "items": { "type": "string" }, + "readOnly": true, "type": "array" }, "expireTime": { @@ -1485,7 +1537,8 @@ "type": "string" }, "id": { - "description": "Relative name of the certificate. This is a unique value autogenerated on AuthorizedCertificate resource creation. Example: 12345.@OutputOnly", + "description": "Output only. Relative name of the certificate. This is a unique value autogenerated on AuthorizedCertificate resource creation. Example: 12345.@OutputOnly", + "readOnly": true, "type": "string" }, "managedCertificate": { @@ -1493,14 +1546,16 @@ "description": "Only applicable if this certificate is managed by App Engine. Managed certificates are tied to the lifecycle of a DomainMapping and cannot be updated or deleted via the AuthorizedCertificates API. If this certificate is manually administered by the user, this field will be empty.@OutputOnly" }, "name": { - "description": "Full path to the AuthorizedCertificate resource in the API. Example: apps/myapp/authorizedCertificates/12345.@OutputOnly", + "description": "Output only. Full path to the AuthorizedCertificate resource in the API. Example: apps/myapp/authorizedCertificates/12345.@OutputOnly", + "readOnly": true, "type": "string" }, "visibleDomainMappings": { - "description": "The full paths to user visible Domain Mapping resources that have this certificate mapped. Example: apps/myapp/domainMappings/example.com.This may not represent the full list of mapped domain mappings if the user does not have VIEWER permissions on all of the applications that have this certificate mapped. See domain_mappings_count for a complete count.Only returned by GET or LIST requests when specifically requested by the view=FULL_CERTIFICATE option.@OutputOnly", + "description": "Output only. The full paths to user visible Domain Mapping resources that have this certificate mapped. Example: apps/myapp/domainMappings/example.com.This may not represent the full list of mapped domain mappings if the user does not have VIEWER permissions on all of the applications that have this certificate mapped. See domain_mappings_count for a complete count.Only returned by GET or LIST requests when specifically requested by the view=FULL_CERTIFICATE option.@OutputOnly", "items": { "type": "string" }, + "readOnly": true, "type": "array" } }, @@ -1608,14 +1663,16 @@ "type": "string" }, "name": { - "description": "Full path to the DomainMapping resource in the API. Example: apps/myapp/domainMapping/example.com.@OutputOnly", + "description": "Output only. Full path to the DomainMapping resource in the API. Example: apps/myapp/domainMapping/example.com.@OutputOnly", + "readOnly": true, "type": "string" }, "resourceRecords": { - "description": "The resource records required to configure this domain mapping. These records must be added to the domain's DNS configuration in order to serve the application via this domain mapping.@OutputOnly", + "description": "Output only. The resource records required to configure this domain mapping. These records must be added to the domain's DNS configuration in order to serve the application via this domain mapping.@OutputOnly", "items": { "$ref": "ResourceRecord" }, + "readOnly": true, "type": "array" }, "sslSettings": { @@ -2272,7 +2329,8 @@ "type": "string" }, "isManagedCertificate": { - "description": "Whether the mapped certificate is an App Engine managed certificate. Managed certificates are created by default with a domain mapping. To opt out, specify no_managed_certificate on a CREATE or UPDATE request.@OutputOnly", + "description": "Output only. Whether the mapped certificate is an App Engine managed certificate. Managed certificates are created by default with a domain mapping. To opt out, specify no_managed_certificate on a CREATE or UPDATE request.@OutputOnly", + "readOnly": true, "type": "boolean" } }, diff --git a/Src/Generated/Google.Apis.Appengine.v1alpha/Google.Apis.Appengine.v1alpha.cs b/Src/Generated/Google.Apis.Appengine.v1alpha/Google.Apis.Appengine.v1alpha.cs index 7f091ea8015..eab316864e9 100644 --- a/Src/Generated/Google.Apis.Appengine.v1alpha/Google.Apis.Appengine.v1alpha.cs +++ b/Src/Generated/Google.Apis.Appengine.v1alpha/Google.Apis.Appengine.v1alpha.cs @@ -1382,8 +1382,8 @@ public ListRequest(Google.Apis.Services.IClientService service, string appsId) : public virtual string AppsId { get; private set; } /// - /// Optional. Unless explicitly documented otherwise, don't use this unsupported field which is - /// primarily intended for internal usage. + /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented + /// otherwise. This is primarily for internal usage. /// [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } @@ -2768,6 +2768,107 @@ protected override void InitParameters() } } + /// Lists the domain mappings on an application. + /// + /// Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. + /// + /// Part of `parent`. See documentation of `projectsId`. + /// Part of `parent`. See documentation of `projectsId`. + public virtual ListRequest List(string projectsId, string locationsId, string applicationsId) + { + return new ListRequest(this.service, projectsId, locationsId, applicationsId); + } + + /// Lists the domain mappings on an application. + public class ListRequest : AppengineBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string projectsId, string locationsId, string applicationsId) : base(service) + { + ProjectsId = projectsId; + LocationsId = locationsId; + ApplicationsId = applicationsId; + InitParameters(); + } + + /// + /// Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. + /// + [Google.Apis.Util.RequestParameterAttribute("projectsId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string ProjectsId { get; private set; } + + /// Part of `parent`. See documentation of `projectsId`. + [Google.Apis.Util.RequestParameterAttribute("locationsId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string LocationsId { get; private set; } + + /// Part of `parent`. See documentation of `projectsId`. + [Google.Apis.Util.RequestParameterAttribute("applicationsId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string ApplicationsId { get; private set; } + + /// Maximum results to return per page. + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// Continuation token for fetching the next page of results. + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1alpha/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/domainMappings"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("projectsId", new Google.Apis.Discovery.Parameter + { + Name = "projectsId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("locationsId", new Google.Apis.Discovery.Parameter + { + Name = "locationsId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("applicationsId", new Google.Apis.Discovery.Parameter + { + Name = "applicationsId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + /// /// Updates the specified domain mapping. To map an SSL certificate to a domain mapping, update /// certificate_id to point to an AuthorizedCertificate resource. A user must be authorized to @@ -3207,8 +3308,8 @@ public ListRequest(Google.Apis.Services.IClientService service, string projectsI public virtual string ProjectsId { get; private set; } /// - /// Optional. Unless explicitly documented otherwise, don't use this unsupported field which is - /// primarily intended for internal usage. + /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented + /// otherwise. This is primarily for internal usage. /// [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } @@ -3322,8 +3423,8 @@ public class AuthorizedCertificate : Google.Apis.Requests.IDirectResponseSchema public virtual System.Nullable DomainMappingsCount { get; set; } /// - /// Topmost applicable domains of this certificate. This certificate applies to these domains and their - /// subdomains. Example: example.com.@OutputOnly + /// Output only. Topmost applicable domains of this certificate. This certificate applies to these domains and + /// their subdomains. Example: example.com.@OutputOnly /// [Newtonsoft.Json.JsonPropertyAttribute("domainNames")] public virtual System.Collections.Generic.IList DomainNames { get; set; } @@ -3370,8 +3471,8 @@ public virtual System.DateTimeOffset? ExpireTimeDateTimeOffset } /// - /// Relative name of the certificate. This is a unique value autogenerated on AuthorizedCertificate resource - /// creation. Example: 12345.@OutputOnly + /// Output only. Relative name of the certificate. This is a unique value autogenerated on AuthorizedCertificate + /// resource creation. Example: 12345.@OutputOnly /// [Newtonsoft.Json.JsonPropertyAttribute("id")] public virtual string Id { get; set; } @@ -3385,18 +3486,18 @@ public virtual System.DateTimeOffset? ExpireTimeDateTimeOffset public virtual ManagedCertificate ManagedCertificate { get; set; } /// - /// Full path to the AuthorizedCertificate resource in the API. Example: + /// Output only. Full path to the AuthorizedCertificate resource in the API. Example: /// apps/myapp/authorizedCertificates/12345.@OutputOnly /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } /// - /// The full paths to user visible Domain Mapping resources that have this certificate mapped. Example: - /// apps/myapp/domainMappings/example.com.This may not represent the full list of mapped domain mappings if the - /// user does not have VIEWER permissions on all of the applications that have this certificate mapped. See - /// domain_mappings_count for a complete count.Only returned by GET or LIST requests when specifically requested - /// by the view=FULL_CERTIFICATE option.@OutputOnly + /// Output only. The full paths to user visible Domain Mapping resources that have this certificate mapped. + /// Example: apps/myapp/domainMappings/example.com.This may not represent the full list of mapped domain + /// mappings if the user does not have VIEWER permissions on all of the applications that have this certificate + /// mapped. See domain_mappings_count for a complete count.Only returned by GET or LIST requests when + /// specifically requested by the view=FULL_CERTIFICATE option.@OutputOnly /// [Newtonsoft.Json.JsonPropertyAttribute("visibleDomainMappings")] public virtual System.Collections.Generic.IList VisibleDomainMappings { get; set; } @@ -3527,15 +3628,15 @@ public class DomainMapping : Google.Apis.Requests.IDirectResponseSchema public virtual string Id { get; set; } /// - /// Full path to the DomainMapping resource in the API. Example: + /// Output only. Full path to the DomainMapping resource in the API. Example: /// apps/myapp/domainMapping/example.com.@OutputOnly /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } /// - /// The resource records required to configure this domain mapping. These records must be added to the domain's - /// DNS configuration in order to serve the application via this domain mapping.@OutputOnly + /// Output only. The resource records required to configure this domain mapping. These records must be added to + /// the domain's DNS configuration in order to serve the application via this domain mapping.@OutputOnly /// [Newtonsoft.Json.JsonPropertyAttribute("resourceRecords")] public virtual System.Collections.Generic.IList ResourceRecords { get; set; } @@ -4339,8 +4440,8 @@ public class SslSettings : Google.Apis.Requests.IDirectResponseSchema public virtual string CertificateId { get; set; } /// - /// Whether the mapped certificate is an App Engine managed certificate. Managed certificates are created by - /// default with a domain mapping. To opt out, specify no_managed_certificate on a CREATE or UPDATE + /// Output only. Whether the mapped certificate is an App Engine managed certificate. Managed certificates are + /// created by default with a domain mapping. To opt out, specify no_managed_certificate on a CREATE or UPDATE /// request.@OutputOnly /// [Newtonsoft.Json.JsonPropertyAttribute("isManagedCertificate")] diff --git a/Src/Generated/Google.Apis.Appengine.v1alpha/Google.Apis.Appengine.v1alpha.csproj b/Src/Generated/Google.Apis.Appengine.v1alpha/Google.Apis.Appengine.v1alpha.csproj index efb92b7768b..6d581b6e9eb 100644 --- a/Src/Generated/Google.Apis.Appengine.v1alpha/Google.Apis.Appengine.v1alpha.csproj +++ b/Src/Generated/Google.Apis.Appengine.v1alpha/Google.Apis.Appengine.v1alpha.csproj @@ -3,7 +3,7 @@ Google.Apis.Appengine.v1alpha Client Library - 1.71.0.3925 + 1.72.0.3959 Google LLC Copyright 2025 Google LLC Google @@ -59,8 +59,8 @@ - - + + From cf85cc474000b9a70c9a22fadaaf8e5c28ff2dc9 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:41:44 +0000 Subject: [PATCH 05/65] feat: Generate Google.Apis.Appengine.v1beta version 1.72.0.3959 --- DiscoveryJson/appengine.v1beta.json | 78 ++++++++-- .../Google.Apis.Appengine.v1beta.cs | 145 +++++++++++++++--- .../Google.Apis.Appengine.v1beta.csproj | 2 +- 3 files changed, 192 insertions(+), 33 deletions(-) diff --git a/DiscoveryJson/appengine.v1beta.json b/DiscoveryJson/appengine.v1beta.json index 63a31cd6f65..af9dcde0cc1 100644 --- a/DiscoveryJson/appengine.v1beta.json +++ b/DiscoveryJson/appengine.v1beta.json @@ -959,7 +959,7 @@ "type": "string" }, "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -1738,7 +1738,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -2302,6 +2302,57 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, + "list": { + "description": "Lists the domain mappings on an application.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/domainMappings", + "httpMethod": "GET", + "id": "appengine.projects.locations.applications.domainMappings.list", + "parameterOrder": [ + "projectsId", + "locationsId", + "applicationsId" + ], + "parameters": { + "applicationsId": { + "description": "Part of `parent`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "locationsId": { + "description": "Part of `parent`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Maximum results to return per page.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Continuation token for fetching the next page of results.", + "location": "query", + "type": "string" + }, + "projectsId": { + "description": "Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1beta/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/domainMappings", + "response": { + "$ref": "ListDomainMappingsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/appengine.admin", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, "patch": { "description": "Updates the specified domain mapping. To map an SSL certificate to a domain mapping, update certificate_id to point to an AuthorizedCertificate resource. A user must be authorized to administer the associated domain in order to update a DomainMapping resource.", "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/domainMappings/{domainMappingsId}", @@ -2690,7 +2741,7 @@ } } }, - "revision": "20251005", + "revision": "20251103", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "ApiConfigHandler": { @@ -2905,10 +2956,11 @@ "type": "integer" }, "domainNames": { - "description": "Topmost applicable domains of this certificate. This certificate applies to these domains and their subdomains. Example: example.com.@OutputOnly", + "description": "Output only. Topmost applicable domains of this certificate. This certificate applies to these domains and their subdomains. Example: example.com.@OutputOnly", "items": { "type": "string" }, + "readOnly": true, "type": "array" }, "expireTime": { @@ -2917,7 +2969,8 @@ "type": "string" }, "id": { - "description": "Relative name of the certificate. This is a unique value autogenerated on AuthorizedCertificate resource creation. Example: 12345.@OutputOnly", + "description": "Output only. Relative name of the certificate. This is a unique value autogenerated on AuthorizedCertificate resource creation. Example: 12345.@OutputOnly", + "readOnly": true, "type": "string" }, "managedCertificate": { @@ -2925,14 +2978,16 @@ "description": "Only applicable if this certificate is managed by App Engine. Managed certificates are tied to the lifecycle of a DomainMapping and cannot be updated or deleted via the AuthorizedCertificates API. If this certificate is manually administered by the user, this field will be empty.@OutputOnly" }, "name": { - "description": "Full path to the AuthorizedCertificate resource in the API. Example: apps/myapp/authorizedCertificates/12345.@OutputOnly", + "description": "Output only. Full path to the AuthorizedCertificate resource in the API. Example: apps/myapp/authorizedCertificates/12345.@OutputOnly", + "readOnly": true, "type": "string" }, "visibleDomainMappings": { - "description": "The full paths to user visible Domain Mapping resources that have this certificate mapped. Example: apps/myapp/domainMappings/example.com.This may not represent the full list of mapped domain mappings if the user does not have VIEWER permissions on all of the applications that have this certificate mapped. See domain_mappings_count for a complete count.Only returned by GET or LIST requests when specifically requested by the view=FULL_CERTIFICATE option.@OutputOnly", + "description": "Output only. The full paths to user visible Domain Mapping resources that have this certificate mapped. Example: apps/myapp/domainMappings/example.com.This may not represent the full list of mapped domain mappings if the user does not have VIEWER permissions on all of the applications that have this certificate mapped. See domain_mappings_count for a complete count.Only returned by GET or LIST requests when specifically requested by the view=FULL_CERTIFICATE option.@OutputOnly", "items": { "type": "string" }, + "readOnly": true, "type": "array" } }, @@ -3333,14 +3388,16 @@ "type": "string" }, "name": { - "description": "Full path to the DomainMapping resource in the API. Example: apps/myapp/domainMapping/example.com.@OutputOnly", + "description": "Output only. Full path to the DomainMapping resource in the API. Example: apps/myapp/domainMapping/example.com.@OutputOnly", + "readOnly": true, "type": "string" }, "resourceRecords": { - "description": "The resource records required to configure this domain mapping. These records must be added to the domain's DNS configuration in order to serve the application via this domain mapping.@OutputOnly", + "description": "Output only. The resource records required to configure this domain mapping. These records must be added to the domain's DNS configuration in order to serve the application via this domain mapping.@OutputOnly", "items": { "$ref": "ResourceRecord" }, + "readOnly": true, "type": "array" }, "sslSettings": { @@ -4819,7 +4876,8 @@ "type": "string" }, "pendingManagedCertificateId": { - "description": "ID of the managed AuthorizedCertificate resource currently being provisioned, if applicable. Until the new managed certificate has been successfully provisioned, the previous SSL state will be preserved. Once the provisioning process completes, the certificate_id field will reflect the new managed certificate and this field will be left empty. To remove SSL support while there is still a pending managed certificate, clear the certificate_id field with an UpdateDomainMappingRequest.@OutputOnly", + "description": "Output only. ID of the managed AuthorizedCertificate resource currently being provisioned, if applicable. Until the new managed certificate has been successfully provisioned, the previous SSL state will be preserved. Once the provisioning process completes, the certificate_id field will reflect the new managed certificate and this field will be left empty. To remove SSL support while there is still a pending managed certificate, clear the certificate_id field with an UpdateDomainMappingRequest.@OutputOnly", + "readOnly": true, "type": "string" }, "sslManagementType": { diff --git a/Src/Generated/Google.Apis.Appengine.v1beta/Google.Apis.Appengine.v1beta.cs b/Src/Generated/Google.Apis.Appengine.v1beta/Google.Apis.Appengine.v1beta.cs index 74bb180ffe6..14a299f1fd6 100644 --- a/Src/Generated/Google.Apis.Appengine.v1beta/Google.Apis.Appengine.v1beta.cs +++ b/Src/Generated/Google.Apis.Appengine.v1beta/Google.Apis.Appengine.v1beta.cs @@ -1818,8 +1818,8 @@ public ListRequest(Google.Apis.Services.IClientService service, string appsId) : public virtual string AppsId { get; private set; } /// - /// Optional. Unless explicitly documented otherwise, don't use this unsupported field which is - /// primarily intended for internal usage. + /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented + /// otherwise. This is primarily for internal usage. /// [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } @@ -4942,6 +4942,107 @@ protected override void InitParameters() } } + /// Lists the domain mappings on an application. + /// + /// Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. + /// + /// Part of `parent`. See documentation of `projectsId`. + /// Part of `parent`. See documentation of `projectsId`. + public virtual ListRequest List(string projectsId, string locationsId, string applicationsId) + { + return new ListRequest(this.service, projectsId, locationsId, applicationsId); + } + + /// Lists the domain mappings on an application. + public class ListRequest : AppengineBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string projectsId, string locationsId, string applicationsId) : base(service) + { + ProjectsId = projectsId; + LocationsId = locationsId; + ApplicationsId = applicationsId; + InitParameters(); + } + + /// + /// Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. + /// + [Google.Apis.Util.RequestParameterAttribute("projectsId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string ProjectsId { get; private set; } + + /// Part of `parent`. See documentation of `projectsId`. + [Google.Apis.Util.RequestParameterAttribute("locationsId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string LocationsId { get; private set; } + + /// Part of `parent`. See documentation of `projectsId`. + [Google.Apis.Util.RequestParameterAttribute("applicationsId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string ApplicationsId { get; private set; } + + /// Maximum results to return per page. + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// Continuation token for fetching the next page of results. + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1beta/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/domainMappings"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("projectsId", new Google.Apis.Discovery.Parameter + { + Name = "projectsId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("locationsId", new Google.Apis.Discovery.Parameter + { + Name = "locationsId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("applicationsId", new Google.Apis.Discovery.Parameter + { + Name = "applicationsId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + /// /// Updates the specified domain mapping. To map an SSL certificate to a domain mapping, update /// certificate_id to point to an AuthorizedCertificate resource. A user must be authorized to @@ -6036,8 +6137,8 @@ public ListRequest(Google.Apis.Services.IClientService service, string projectsI public virtual string ProjectsId { get; private set; } /// - /// Optional. Unless explicitly documented otherwise, don't use this unsupported field which is - /// primarily intended for internal usage. + /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented + /// otherwise. This is primarily for internal usage. /// [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } @@ -6299,8 +6400,8 @@ public class AuthorizedCertificate : Google.Apis.Requests.IDirectResponseSchema public virtual System.Nullable DomainMappingsCount { get; set; } /// - /// Topmost applicable domains of this certificate. This certificate applies to these domains and their - /// subdomains. Example: example.com.@OutputOnly + /// Output only. Topmost applicable domains of this certificate. This certificate applies to these domains and + /// their subdomains. Example: example.com.@OutputOnly /// [Newtonsoft.Json.JsonPropertyAttribute("domainNames")] public virtual System.Collections.Generic.IList DomainNames { get; set; } @@ -6347,8 +6448,8 @@ public virtual System.DateTimeOffset? ExpireTimeDateTimeOffset } /// - /// Relative name of the certificate. This is a unique value autogenerated on AuthorizedCertificate resource - /// creation. Example: 12345.@OutputOnly + /// Output only. Relative name of the certificate. This is a unique value autogenerated on AuthorizedCertificate + /// resource creation. Example: 12345.@OutputOnly /// [Newtonsoft.Json.JsonPropertyAttribute("id")] public virtual string Id { get; set; } @@ -6362,18 +6463,18 @@ public virtual System.DateTimeOffset? ExpireTimeDateTimeOffset public virtual ManagedCertificate ManagedCertificate { get; set; } /// - /// Full path to the AuthorizedCertificate resource in the API. Example: + /// Output only. Full path to the AuthorizedCertificate resource in the API. Example: /// apps/myapp/authorizedCertificates/12345.@OutputOnly /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } /// - /// The full paths to user visible Domain Mapping resources that have this certificate mapped. Example: - /// apps/myapp/domainMappings/example.com.This may not represent the full list of mapped domain mappings if the - /// user does not have VIEWER permissions on all of the applications that have this certificate mapped. See - /// domain_mappings_count for a complete count.Only returned by GET or LIST requests when specifically requested - /// by the view=FULL_CERTIFICATE option.@OutputOnly + /// Output only. The full paths to user visible Domain Mapping resources that have this certificate mapped. + /// Example: apps/myapp/domainMappings/example.com.This may not represent the full list of mapped domain + /// mappings if the user does not have VIEWER permissions on all of the applications that have this certificate + /// mapped. See domain_mappings_count for a complete count.Only returned by GET or LIST requests when + /// specifically requested by the view=FULL_CERTIFICATE option.@OutputOnly /// [Newtonsoft.Json.JsonPropertyAttribute("visibleDomainMappings")] public virtual System.Collections.Generic.IList VisibleDomainMappings { get; set; } @@ -6841,15 +6942,15 @@ public class DomainMapping : Google.Apis.Requests.IDirectResponseSchema public virtual string Id { get; set; } /// - /// Full path to the DomainMapping resource in the API. Example: + /// Output only. Full path to the DomainMapping resource in the API. Example: /// apps/myapp/domainMapping/example.com.@OutputOnly /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } /// - /// The resource records required to configure this domain mapping. These records must be added to the domain's - /// DNS configuration in order to serve the application via this domain mapping.@OutputOnly + /// Output only. The resource records required to configure this domain mapping. These records must be added to + /// the domain's DNS configuration in order to serve the application via this domain mapping.@OutputOnly /// [Newtonsoft.Json.JsonPropertyAttribute("resourceRecords")] public virtual System.Collections.Generic.IList ResourceRecords { get; set; } @@ -8454,11 +8555,11 @@ public class SslSettings : Google.Apis.Requests.IDirectResponseSchema public virtual string CertificateId { get; set; } /// - /// ID of the managed AuthorizedCertificate resource currently being provisioned, if applicable. Until the new - /// managed certificate has been successfully provisioned, the previous SSL state will be preserved. Once the - /// provisioning process completes, the certificate_id field will reflect the new managed certificate and this - /// field will be left empty. To remove SSL support while there is still a pending managed certificate, clear - /// the certificate_id field with an UpdateDomainMappingRequest.@OutputOnly + /// Output only. ID of the managed AuthorizedCertificate resource currently being provisioned, if applicable. + /// Until the new managed certificate has been successfully provisioned, the previous SSL state will be + /// preserved. Once the provisioning process completes, the certificate_id field will reflect the new managed + /// certificate and this field will be left empty. To remove SSL support while there is still a pending managed + /// certificate, clear the certificate_id field with an UpdateDomainMappingRequest.@OutputOnly /// [Newtonsoft.Json.JsonPropertyAttribute("pendingManagedCertificateId")] public virtual string PendingManagedCertificateId { get; set; } diff --git a/Src/Generated/Google.Apis.Appengine.v1beta/Google.Apis.Appengine.v1beta.csproj b/Src/Generated/Google.Apis.Appengine.v1beta/Google.Apis.Appengine.v1beta.csproj index 4f13fc10419..c63b904ca92 100644 --- a/Src/Generated/Google.Apis.Appengine.v1beta/Google.Apis.Appengine.v1beta.csproj +++ b/Src/Generated/Google.Apis.Appengine.v1beta/Google.Apis.Appengine.v1beta.csproj @@ -3,7 +3,7 @@ Google.Apis.Appengine.v1beta Client Library - 1.72.0.3930 + 1.72.0.3959 Google LLC Copyright 2025 Google LLC Google From 412b183890659b96d4998183400fd3ee7c72b2b3 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:41:46 +0000 Subject: [PATCH 06/65] feat: Generate Google.Apis.ArtifactRegistry.v1 version 1.72.0.3954 --- DiscoveryJson/artifactregistry.v1.json | 4 ++-- .../Google.Apis.ArtifactRegistry.v1.cs | 4 ++-- .../Google.Apis.ArtifactRegistry.v1.csproj | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/DiscoveryJson/artifactregistry.v1.json b/DiscoveryJson/artifactregistry.v1.json index 3ebf1240cdd..bcdd3bf0b58 100644 --- a/DiscoveryJson/artifactregistry.v1.json +++ b/DiscoveryJson/artifactregistry.v1.json @@ -473,7 +473,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -2493,7 +2493,7 @@ } } }, - "revision": "20251017", + "revision": "20251029", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "AptArtifact": { diff --git a/Src/Generated/Google.Apis.ArtifactRegistry.v1/Google.Apis.ArtifactRegistry.v1.cs b/Src/Generated/Google.Apis.ArtifactRegistry.v1/Google.Apis.ArtifactRegistry.v1.cs index 8f26acd182e..ac18f2445ef 100644 --- a/Src/Generated/Google.Apis.ArtifactRegistry.v1/Google.Apis.ArtifactRegistry.v1.cs +++ b/Src/Generated/Google.Apis.ArtifactRegistry.v1/Google.Apis.ArtifactRegistry.v1.cs @@ -5660,8 +5660,8 @@ public ListRequest(Google.Apis.Services.IClientService service, string name) : b public virtual string Name { get; private set; } /// - /// Optional. Unless explicitly documented otherwise, don't use this unsupported field which is - /// primarily intended for internal usage. + /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented + /// otherwise. This is primarily for internal usage. /// [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } diff --git a/Src/Generated/Google.Apis.ArtifactRegistry.v1/Google.Apis.ArtifactRegistry.v1.csproj b/Src/Generated/Google.Apis.ArtifactRegistry.v1/Google.Apis.ArtifactRegistry.v1.csproj index b3e2bfa86bb..3242a38d44d 100644 --- a/Src/Generated/Google.Apis.ArtifactRegistry.v1/Google.Apis.ArtifactRegistry.v1.csproj +++ b/Src/Generated/Google.Apis.ArtifactRegistry.v1/Google.Apis.ArtifactRegistry.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.ArtifactRegistry.v1 Client Library - 1.72.0.3942 + 1.72.0.3954 Google LLC Copyright 2025 Google LLC Google From 76e1ad7b331219853608b4a4182d34411900e0ff Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:41:48 +0000 Subject: [PATCH 07/65] feat: Generate Google.Apis.ArtifactRegistry.v1beta1 version 1.72.0.3954 --- DiscoveryJson/artifactregistry.v1beta1.json | 4 ++-- .../Google.Apis.ArtifactRegistry.v1beta1.cs | 4 ++-- .../Google.Apis.ArtifactRegistry.v1beta1.csproj | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/DiscoveryJson/artifactregistry.v1beta1.json b/DiscoveryJson/artifactregistry.v1beta1.json index 1868ad8fb64..fa15f1bb610 100644 --- a/DiscoveryJson/artifactregistry.v1beta1.json +++ b/DiscoveryJson/artifactregistry.v1beta1.json @@ -385,7 +385,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -1182,7 +1182,7 @@ } } }, - "revision": "20250925", + "revision": "20251029", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "Binding": { diff --git a/Src/Generated/Google.Apis.ArtifactRegistry.v1beta1/Google.Apis.ArtifactRegistry.v1beta1.cs b/Src/Generated/Google.Apis.ArtifactRegistry.v1beta1/Google.Apis.ArtifactRegistry.v1beta1.cs index 45729562ac0..08a0b72ae4e 100644 --- a/Src/Generated/Google.Apis.ArtifactRegistry.v1beta1/Google.Apis.ArtifactRegistry.v1beta1.cs +++ b/Src/Generated/Google.Apis.ArtifactRegistry.v1beta1/Google.Apis.ArtifactRegistry.v1beta1.cs @@ -1995,8 +1995,8 @@ public ListRequest(Google.Apis.Services.IClientService service, string name) : b public virtual string Name { get; private set; } /// - /// Optional. Unless explicitly documented otherwise, don't use this unsupported field which is - /// primarily intended for internal usage. + /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented + /// otherwise. This is primarily for internal usage. /// [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } diff --git a/Src/Generated/Google.Apis.ArtifactRegistry.v1beta1/Google.Apis.ArtifactRegistry.v1beta1.csproj b/Src/Generated/Google.Apis.ArtifactRegistry.v1beta1/Google.Apis.ArtifactRegistry.v1beta1.csproj index 5abfb957eb1..0114907a883 100644 --- a/Src/Generated/Google.Apis.ArtifactRegistry.v1beta1/Google.Apis.ArtifactRegistry.v1beta1.csproj +++ b/Src/Generated/Google.Apis.ArtifactRegistry.v1beta1/Google.Apis.ArtifactRegistry.v1beta1.csproj @@ -3,7 +3,7 @@ Google.Apis.ArtifactRegistry.v1beta1 Client Library - 1.71.0.3920 + 1.72.0.3954 Google LLC Copyright 2025 Google LLC Google @@ -59,8 +59,8 @@ - - + + From 80dfc29d80fc06b29654339cd6cd42dc7c548ac9 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:41:50 +0000 Subject: [PATCH 08/65] feat: Generate Google.Apis.AuthorizedBuyersMarketplace.v1 version 1.72.0.3960 --- DiscoveryJson/authorizedbuyersmarketplace.v1.json | 5 +++-- .../Google.Apis.AuthorizedBuyersMarketplace.v1.cs | 2 +- .../Google.Apis.AuthorizedBuyersMarketplace.v1.csproj | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/authorizedbuyersmarketplace.v1.json b/DiscoveryJson/authorizedbuyersmarketplace.v1.json index c7d764a2f76..15cdff9b3b7 100644 --- a/DiscoveryJson/authorizedbuyersmarketplace.v1.json +++ b/DiscoveryJson/authorizedbuyersmarketplace.v1.json @@ -1395,7 +1395,7 @@ } } }, - "revision": "20251028", + "revision": "20251104", "rootUrl": "https://authorizedbuyersmarketplace.googleapis.com/", "schemas": { "AcceptProposalRequest": { @@ -2500,10 +2500,11 @@ "type": "object" }, "MediaPlanner": { - "description": "Describes a single Media Planner account.", + "description": "Represents a media planner account.", "id": "MediaPlanner", "properties": { "accountId": { + "deprecated": true, "description": "Output only. Account ID of the media planner.", "readOnly": true, "type": "string" diff --git a/Src/Generated/Google.Apis.AuthorizedBuyersMarketplace.v1/Google.Apis.AuthorizedBuyersMarketplace.v1.cs b/Src/Generated/Google.Apis.AuthorizedBuyersMarketplace.v1/Google.Apis.AuthorizedBuyersMarketplace.v1.cs index 6b1ee34b65a..303b806f8ac 100644 --- a/Src/Generated/Google.Apis.AuthorizedBuyersMarketplace.v1/Google.Apis.AuthorizedBuyersMarketplace.v1.cs +++ b/Src/Generated/Google.Apis.AuthorizedBuyersMarketplace.v1/Google.Apis.AuthorizedBuyersMarketplace.v1.cs @@ -4468,7 +4468,7 @@ public class MarketplaceTargeting : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } - /// Describes a single Media Planner account. + /// Represents a media planner account. public class MediaPlanner : Google.Apis.Requests.IDirectResponseSchema { /// Output only. Account ID of the media planner. diff --git a/Src/Generated/Google.Apis.AuthorizedBuyersMarketplace.v1/Google.Apis.AuthorizedBuyersMarketplace.v1.csproj b/Src/Generated/Google.Apis.AuthorizedBuyersMarketplace.v1/Google.Apis.AuthorizedBuyersMarketplace.v1.csproj index 38ae661fcd7..f83c248c355 100644 --- a/Src/Generated/Google.Apis.AuthorizedBuyersMarketplace.v1/Google.Apis.AuthorizedBuyersMarketplace.v1.csproj +++ b/Src/Generated/Google.Apis.AuthorizedBuyersMarketplace.v1/Google.Apis.AuthorizedBuyersMarketplace.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.AuthorizedBuyersMarketplace.v1 Client Library - 1.72.0.3953 + 1.72.0.3960 Google LLC Copyright 2025 Google LLC Google From aa6b2de31f304f6fa4fe93aac1b386940ac79fce Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:41:52 +0000 Subject: [PATCH 09/65] feat: Generate Google.Apis.AuthorizedBuyersMarketplace.v1alpha version 1.72.0.3960 --- DiscoveryJson/authorizedbuyersmarketplace.v1alpha.json | 5 +++-- .../Google.Apis.AuthorizedBuyersMarketplace.v1alpha.cs | 2 +- .../Google.Apis.AuthorizedBuyersMarketplace.v1alpha.csproj | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/authorizedbuyersmarketplace.v1alpha.json b/DiscoveryJson/authorizedbuyersmarketplace.v1alpha.json index dd0ac6d490b..c5182048a8b 100644 --- a/DiscoveryJson/authorizedbuyersmarketplace.v1alpha.json +++ b/DiscoveryJson/authorizedbuyersmarketplace.v1alpha.json @@ -1578,7 +1578,7 @@ } } }, - "revision": "20251028", + "revision": "20251104", "rootUrl": "https://authorizedbuyersmarketplace.googleapis.com/", "schemas": { "AcceptProposalRequest": { @@ -2755,10 +2755,11 @@ "type": "object" }, "MediaPlanner": { - "description": "Describes a single Media Planner account.", + "description": "Represents a media planner account.", "id": "MediaPlanner", "properties": { "accountId": { + "deprecated": true, "description": "Output only. Account ID of the media planner.", "readOnly": true, "type": "string" diff --git a/Src/Generated/Google.Apis.AuthorizedBuyersMarketplace.v1alpha/Google.Apis.AuthorizedBuyersMarketplace.v1alpha.cs b/Src/Generated/Google.Apis.AuthorizedBuyersMarketplace.v1alpha/Google.Apis.AuthorizedBuyersMarketplace.v1alpha.cs index 09d6b01f096..b3792efd97c 100644 --- a/Src/Generated/Google.Apis.AuthorizedBuyersMarketplace.v1alpha/Google.Apis.AuthorizedBuyersMarketplace.v1alpha.cs +++ b/Src/Generated/Google.Apis.AuthorizedBuyersMarketplace.v1alpha/Google.Apis.AuthorizedBuyersMarketplace.v1alpha.cs @@ -5024,7 +5024,7 @@ public class MarketplaceTargeting : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } - /// Describes a single Media Planner account. + /// Represents a media planner account. public class MediaPlanner : Google.Apis.Requests.IDirectResponseSchema { /// Output only. Account ID of the media planner. diff --git a/Src/Generated/Google.Apis.AuthorizedBuyersMarketplace.v1alpha/Google.Apis.AuthorizedBuyersMarketplace.v1alpha.csproj b/Src/Generated/Google.Apis.AuthorizedBuyersMarketplace.v1alpha/Google.Apis.AuthorizedBuyersMarketplace.v1alpha.csproj index 7e250243f99..b8e54270c03 100644 --- a/Src/Generated/Google.Apis.AuthorizedBuyersMarketplace.v1alpha/Google.Apis.AuthorizedBuyersMarketplace.v1alpha.csproj +++ b/Src/Generated/Google.Apis.AuthorizedBuyersMarketplace.v1alpha/Google.Apis.AuthorizedBuyersMarketplace.v1alpha.csproj @@ -3,7 +3,7 @@ Google.Apis.AuthorizedBuyersMarketplace.v1alpha Client Library - 1.72.0.3953 + 1.72.0.3960 Google LLC Copyright 2025 Google LLC Google From a04f5fd8ac986a3d33770422d25455b4fc45e8a8 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:41:54 +0000 Subject: [PATCH 10/65] feat: Generate Google.Apis.Backupdr.v1 version 1.72.0.3954 --- DiscoveryJson/backupdr.v1.json | 9 ++++++++- .../Google.Apis.Backupdr.v1/Google.Apis.Backupdr.v1.cs | 4 ++++ .../Google.Apis.Backupdr.v1.csproj | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/backupdr.v1.json b/DiscoveryJson/backupdr.v1.json index 2e0ffb2dad1..ea6037fcee0 100644 --- a/DiscoveryJson/backupdr.v1.json +++ b/DiscoveryJson/backupdr.v1.json @@ -2234,7 +2234,7 @@ } } }, - "revision": "20251022", + "revision": "20251029", "rootUrl": "https://backupdr.googleapis.com/", "schemas": { "AbandonBackupRequest": { @@ -5129,6 +5129,13 @@ "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" diff --git a/Src/Generated/Google.Apis.Backupdr.v1/Google.Apis.Backupdr.v1.cs b/Src/Generated/Google.Apis.Backupdr.v1/Google.Apis.Backupdr.v1.cs index 58571b83b0f..4e7173d364b 100644 --- a/Src/Generated/Google.Apis.Backupdr.v1/Google.Apis.Backupdr.v1.cs +++ b/Src/Generated/Google.Apis.Backupdr.v1/Google.Apis.Backupdr.v1.cs @@ -9182,6 +9182,10 @@ public class ListDataSourceReferencesResponse : Google.Apis.Requests.IDirectResp [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] public virtual string NextPageToken { get; set; } + /// Locations that could not be reached. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } + /// The ETag of the item. public virtual string ETag { get; set; } } diff --git a/Src/Generated/Google.Apis.Backupdr.v1/Google.Apis.Backupdr.v1.csproj b/Src/Generated/Google.Apis.Backupdr.v1/Google.Apis.Backupdr.v1.csproj index eca8048f4b0..c393b6dfb51 100644 --- a/Src/Generated/Google.Apis.Backupdr.v1/Google.Apis.Backupdr.v1.csproj +++ b/Src/Generated/Google.Apis.Backupdr.v1/Google.Apis.Backupdr.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Backupdr.v1 Client Library - 1.72.0.3947 + 1.72.0.3954 Google LLC Copyright 2025 Google LLC Google From 07a754fd7da67fb18bf10de7e4eede73f07ea798 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:41:56 +0000 Subject: [PATCH 11/65] feat: Generate Google.Apis.Calendar.v3 version 1.72.0.3953 --- DiscoveryJson/calendar.v3.json | 18 +++++--- .../Google.Apis.Calendar.v3.cs | 44 +++++++++++++++---- .../Google.Apis.Calendar.v3.csproj | 6 +-- 3 files changed, 51 insertions(+), 17 deletions(-) diff --git a/DiscoveryJson/calendar.v3.json b/DiscoveryJson/calendar.v3.json index a3d4a2820aa..2db08486e95 100644 --- a/DiscoveryJson/calendar.v3.json +++ b/DiscoveryJson/calendar.v3.json @@ -736,7 +736,7 @@ ] }, "insert": { - "description": "Creates a secondary calendar.", + "description": "Creates a secondary calendar.\nThe authenticated user for the request is made the data owner of the new calendar.\n\nNote: We recommend to authenticate as the intended data owner of the calendar. You can use domain-wide delegation of authority to allow applications to act on behalf of a specific user. Don't use a service account for authentication. If you use a service account for authentication, the service account is the data owner, which can lead to unexpected behavior. For example, if a service account is the data owner, data ownership cannot be transferred.", "httpMethod": "POST", "id": "calendar.calendars.insert", "path": "calendars", @@ -1890,7 +1890,7 @@ } } }, - "revision": "20250404", + "revision": "20251028", "rootUrl": "https://www.googleapis.com/", "schemas": { "Acl": { @@ -1945,7 +1945,7 @@ "calendar.acl.insert" ] }, - "description": "The role assigned to the scope. Possible values are: \n- \"none\" - Provides no access. \n- \"freeBusyReader\" - Provides read access to free/busy information. \n- \"reader\" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden. \n- \"writer\" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible. Provides read access to the calendar's ACLs. \n- \"owner\" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to manipulate ACLs.", + "description": "The role assigned to the scope. Possible values are: \n- \"none\" - Provides no access. \n- \"freeBusyReader\" - Provides read access to free/busy information. \n- \"reader\" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden. \n- \"writer\" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible. Provides read access to the calendar's ACLs. \n- \"owner\" - Provides manager access to the calendar. This role has all of the permissions of the writer role with the additional ability to modify access levels of other users.\nImportant: the owner role is different from the calendar's data owner. A calendar has a single data owner, but can have multiple users with owner role.", "type": "string" }, "scope": { @@ -1984,6 +1984,10 @@ "$ref": "ConferenceProperties", "description": "Conferencing properties for this calendar, for example what types of conferences are allowed." }, + "dataOwner": { + "description": "The email of the owner of the calendar. Set only for secondary calendars. Read-only.", + "type": "string" + }, "description": { "description": "Description of the calendar. Optional.", "type": "string" @@ -2055,7 +2059,7 @@ "id": "CalendarListEntry", "properties": { "accessRole": { - "description": "The effective access role that the authenticated user has on the calendar. Read-only. Possible values are: \n- \"freeBusyReader\" - Provides read access to free/busy information. \n- \"reader\" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden. \n- \"writer\" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible. \n- \"owner\" - Provides ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.", + "description": "The effective access role that the authenticated user has on the calendar. Read-only. Possible values are: \n- \"freeBusyReader\" - Provides read access to free/busy information. \n- \"reader\" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden. \n- \"writer\" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible. \n- \"owner\" - Provides manager access to the calendar. This role has all of the permissions of the writer role with the additional ability to see and modify access levels of other users.\nImportant: the owner role is different from the calendar's data owner. A calendar has a single data owner, but can have multiple users with owner role.", "type": "string" }, "backgroundColor": { @@ -2070,6 +2074,10 @@ "$ref": "ConferenceProperties", "description": "Conferencing properties for this calendar, for example what types of conferences are allowed." }, + "dataOwner": { + "description": "The email of the owner of the calendar. Set only for secondary calendars. Read-only.", + "type": "string" + }, "defaultReminders": { "description": "The default reminders that the authenticated user has for this calendar.", "items": { @@ -3015,7 +3023,7 @@ "id": "Events", "properties": { "accessRole": { - "description": "The user's access role for this calendar. Read-only. Possible values are: \n- \"none\" - The user has no access. \n- \"freeBusyReader\" - The user has read access to free/busy information. \n- \"reader\" - The user has read access to the calendar. Private events will appear to users with reader access, but event details will be hidden. \n- \"writer\" - The user has read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible. \n- \"owner\" - The user has ownership of the calendar. This role has all of the permissions of the writer role with the additional ability to see and manipulate ACLs.", + "description": "The user's access role for this calendar. Read-only. Possible values are: \n- \"none\" - The user has no access. \n- \"freeBusyReader\" - The user has read access to free/busy information. \n- \"reader\" - The user has read access to the calendar. Private events will appear to users with reader access, but event details will be hidden. \n- \"writer\" - The user has read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible. \n- \"owner\" - The user has manager access to the calendar. This role has all of the permissions of the writer role with the additional ability to see and modify access levels of other users.\nImportant: the owner role is different from the calendar's data owner. A calendar has a single data owner, but can have multiple users with owner role.", "type": "string" }, "defaultReminders": { diff --git a/Src/Generated/Google.Apis.Calendar.v3/Google.Apis.Calendar.v3.cs b/Src/Generated/Google.Apis.Calendar.v3/Google.Apis.Calendar.v3.cs index e194520ebd8..3a8197af5c4 100644 --- a/Src/Generated/Google.Apis.Calendar.v3/Google.Apis.Calendar.v3.cs +++ b/Src/Generated/Google.Apis.Calendar.v3/Google.Apis.Calendar.v3.cs @@ -1746,14 +1746,28 @@ protected override void InitParameters() } } - /// Creates a secondary calendar. + /// + /// Creates a secondary calendar. The authenticated user for the request is made the data owner of the new + /// calendar. Note: We recommend to authenticate as the intended data owner of the calendar. You can use + /// domain-wide delegation of authority to allow applications to act on behalf of a specific user. Don't use a + /// service account for authentication. If you use a service account for authentication, the service account is + /// the data owner, which can lead to unexpected behavior. For example, if a service account is the data owner, + /// data ownership cannot be transferred. + /// /// The body of the request. public virtual InsertRequest Insert(Google.Apis.Calendar.v3.Data.Calendar body) { return new InsertRequest(this.service, body); } - /// Creates a secondary calendar. + /// + /// Creates a secondary calendar. The authenticated user for the request is made the data owner of the new + /// calendar. Note: We recommend to authenticate as the intended data owner of the calendar. You can use + /// domain-wide delegation of authority to allow applications to act on behalf of a specific user. Don't use a + /// service account for authentication. If you use a service account for authentication, the service account is + /// the data owner, which can lead to unexpected behavior. For example, if a service account is the data owner, + /// data ownership cannot be transferred. + /// public class InsertRequest : CalendarBaseServiceRequest { /// Constructs a new Insert request. @@ -4596,9 +4610,10 @@ public class AclRule : Google.Apis.Requests.IDirectResponseSchema /// Provides read access to free/busy information. - "reader" - Provides read access to the calendar. Private /// events will appear to users with reader access, but event details will be hidden. - "writer" - Provides /// read and write access to the calendar. Private events will appear to users with writer access, and event - /// details will be visible. Provides read access to the calendar's ACLs. - "owner" - Provides ownership of the - /// calendar. This role has all of the permissions of the writer role with the additional ability to manipulate - /// ACLs. + /// details will be visible. Provides read access to the calendar's ACLs. - "owner" - Provides manager access + /// to the calendar. This role has all of the permissions of the writer role with the additional ability to + /// modify access levels of other users. Important: the owner role is different from the calendar's data owner. + /// A calendar has a single data owner, but can have multiple users with owner role. /// [Newtonsoft.Json.JsonPropertyAttribute("role")] public virtual string Role { get; set; } @@ -4636,6 +4651,10 @@ public class Calendar : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("conferenceProperties")] public virtual ConferenceProperties ConferenceProperties { get; set; } + /// The email of the owner of the calendar. Set only for secondary calendars. Read-only. + [Newtonsoft.Json.JsonPropertyAttribute("dataOwner")] + public virtual string DataOwner { get; set; } + /// Description of the calendar. Optional. [Newtonsoft.Json.JsonPropertyAttribute("description")] public virtual string Description { get; set; } @@ -4704,8 +4723,10 @@ public class CalendarListEntry : Google.Apis.Requests.IDirectResponseSchema /// - "freeBusyReader" - Provides read access to free/busy information. - "reader" - Provides read access to /// the calendar. Private events will appear to users with reader access, but event details will be hidden. - /// "writer" - Provides read and write access to the calendar. Private events will appear to users with writer - /// access, and event details will be visible. - "owner" - Provides ownership of the calendar. This role has - /// all of the permissions of the writer role with the additional ability to see and manipulate ACLs. + /// access, and event details will be visible. - "owner" - Provides manager access to the calendar. This role + /// has all of the permissions of the writer role with the additional ability to see and modify access levels of + /// other users. Important: the owner role is different from the calendar's data owner. A calendar has a single + /// data owner, but can have multiple users with owner role. /// [Newtonsoft.Json.JsonPropertyAttribute("accessRole")] public virtual string AccessRole { get; set; } @@ -4732,6 +4753,10 @@ public class CalendarListEntry : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("conferenceProperties")] public virtual ConferenceProperties ConferenceProperties { get; set; } + /// The email of the owner of the calendar. Set only for secondary calendars. Read-only. + [Newtonsoft.Json.JsonPropertyAttribute("dataOwner")] + public virtual string DataOwner { get; set; } + /// The default reminders that the authenticated user has for this calendar. [Newtonsoft.Json.JsonPropertyAttribute("defaultReminders")] public virtual System.Collections.Generic.IList DefaultReminders { get; set; } @@ -6016,9 +6041,10 @@ public class Events : Google.Apis.Requests.IDirectResponseSchema /// access. - "freeBusyReader" - The user has read access to free/busy information. - "reader" - The user has /// read access to the calendar. Private events will appear to users with reader access, but event details will /// be hidden. - "writer" - The user has read and write access to the calendar. Private events will appear to - /// users with writer access, and event details will be visible. - "owner" - The user has ownership of the + /// users with writer access, and event details will be visible. - "owner" - The user has manager access to the /// calendar. This role has all of the permissions of the writer role with the additional ability to see and - /// manipulate ACLs. + /// modify access levels of other users. Important: the owner role is different from the calendar's data owner. + /// A calendar has a single data owner, but can have multiple users with owner role. /// [Newtonsoft.Json.JsonPropertyAttribute("accessRole")] public virtual string AccessRole { get; set; } diff --git a/Src/Generated/Google.Apis.Calendar.v3/Google.Apis.Calendar.v3.csproj b/Src/Generated/Google.Apis.Calendar.v3/Google.Apis.Calendar.v3.csproj index 3c92d100252..408826fbd19 100644 --- a/Src/Generated/Google.Apis.Calendar.v3/Google.Apis.Calendar.v3.csproj +++ b/Src/Generated/Google.Apis.Calendar.v3/Google.Apis.Calendar.v3.csproj @@ -3,7 +3,7 @@ Google.Apis.Calendar.v3 Client Library - 1.69.0.3746 + 1.72.0.3953 Google LLC Copyright 2025 Google LLC Google @@ -59,8 +59,8 @@ - - + + From 19e186545c665aad3e3bd968c82812b8658ae178 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:41:58 +0000 Subject: [PATCH 12/65] feat: Generate Google.Apis.CertificateManager.v1 version 1.72.0.3952 --- DiscoveryJson/certificatemanager.v1.json | 4 ++-- .../Google.Apis.CertificateManager.v1.cs | 4 ++-- .../Google.Apis.CertificateManager.v1.csproj | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/DiscoveryJson/certificatemanager.v1.json b/DiscoveryJson/certificatemanager.v1.json index 4a57c017c4a..236581e9071 100644 --- a/DiscoveryJson/certificatemanager.v1.json +++ b/DiscoveryJson/certificatemanager.v1.json @@ -144,7 +144,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -1325,7 +1325,7 @@ } } }, - "revision": "20250924", + "revision": "20251027", "rootUrl": "https://certificatemanager.googleapis.com/", "schemas": { "AllowlistedCertificate": { diff --git a/Src/Generated/Google.Apis.CertificateManager.v1/Google.Apis.CertificateManager.v1.cs b/Src/Generated/Google.Apis.CertificateManager.v1/Google.Apis.CertificateManager.v1.cs index d82ca1e5ad1..0ddb23db933 100644 --- a/Src/Generated/Google.Apis.CertificateManager.v1/Google.Apis.CertificateManager.v1.cs +++ b/Src/Generated/Google.Apis.CertificateManager.v1/Google.Apis.CertificateManager.v1.cs @@ -2925,8 +2925,8 @@ public ListRequest(Google.Apis.Services.IClientService service, string name) : b public virtual string Name { get; private set; } /// - /// Optional. Unless explicitly documented otherwise, don't use this unsupported field which is - /// primarily intended for internal usage. + /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented + /// otherwise. This is primarily for internal usage. /// [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } diff --git a/Src/Generated/Google.Apis.CertificateManager.v1/Google.Apis.CertificateManager.v1.csproj b/Src/Generated/Google.Apis.CertificateManager.v1/Google.Apis.CertificateManager.v1.csproj index 7a78d2b2b97..04dc20196b8 100644 --- a/Src/Generated/Google.Apis.CertificateManager.v1/Google.Apis.CertificateManager.v1.csproj +++ b/Src/Generated/Google.Apis.CertificateManager.v1/Google.Apis.CertificateManager.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.CertificateManager.v1 Client Library - 1.71.0.3919 + 1.72.0.3952 Google LLC Copyright 2025 Google LLC Google @@ -60,8 +60,8 @@ - - + + From e53145b50af6e92a3e1cc7edde824c6ff626dc25 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:00 +0000 Subject: [PATCH 13/65] feat: Generate Google.Apis.ChromeManagement.v1 version 1.72.0.3961 --- DiscoveryJson/chromemanagement.v1.json | 217 ++++++++++- .../Google.Apis.ChromeManagement.v1.cs | 343 ++++++++++++++++++ .../Google.Apis.ChromeManagement.v1.csproj | 2 +- 3 files changed, 560 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/chromemanagement.v1.json b/DiscoveryJson/chromemanagement.v1.json index d0620e66680..def3de9bf7d 100644 --- a/DiscoveryJson/chromemanagement.v1.json +++ b/DiscoveryJson/chromemanagement.v1.json @@ -705,6 +705,49 @@ }, "reports": { "methods": { + "countActiveDevices": { + "description": "Get a count of active devices per set time frames.", + "flatPath": "v1/customers/{customersId}/reports:countActiveDevices", + "httpMethod": "GET", + "id": "chromemanagement.customers.reports.countActiveDevices", + "parameterOrder": [ + "customer" + ], + "parameters": { + "customer": { + "description": "Required. Obfuscated customer ID prefixed with \"customers/C\" or \"customers/my_customer\".", + "location": "path", + "pattern": "^customers/[^/]+$", + "required": true, + "type": "string" + }, + "date.day": { + "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "date.month": { + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "date.year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "location": "query", + "type": "integer" + } + }, + "path": "v1/{+customer}/reports:countActiveDevices", + "response": { + "$ref": "GoogleChromeManagementV1CountActiveDevicesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/chrome.management.reports.readonly" + ] + }, "countChromeBrowsersNeedingAttention": { "description": "Count of Chrome Browsers that have been recently enrolled, have new policy to be synced, or have no recent activity.", "flatPath": "v1/customers/{customersId}/reports:countChromeBrowsersNeedingAttention", @@ -933,6 +976,92 @@ "https://www.googleapis.com/auth/chrome.management.reports.readonly" ] }, + "countDevicesPerBootType": { + "description": "Get a count of devices per boot type.", + "flatPath": "v1/customers/{customersId}/reports:countDevicesPerBootType", + "httpMethod": "GET", + "id": "chromemanagement.customers.reports.countDevicesPerBootType", + "parameterOrder": [ + "customer" + ], + "parameters": { + "customer": { + "description": "Required. Obfuscated customer ID prefixed with \"customers/C\" or \"customers/my_customer\".", + "location": "path", + "pattern": "^customers/[^/]+$", + "required": true, + "type": "string" + }, + "date.day": { + "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "date.month": { + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "date.year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "location": "query", + "type": "integer" + } + }, + "path": "v1/{+customer}/reports:countDevicesPerBootType", + "response": { + "$ref": "GoogleChromeManagementV1CountDevicesPerBootTypeResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/chrome.management.reports.readonly" + ] + }, + "countDevicesPerReleaseChannel": { + "description": "Get a count of devices per channel.", + "flatPath": "v1/customers/{customersId}/reports:countDevicesPerReleaseChannel", + "httpMethod": "GET", + "id": "chromemanagement.customers.reports.countDevicesPerReleaseChannel", + "parameterOrder": [ + "customer" + ], + "parameters": { + "customer": { + "description": "Required. Obfuscated customer ID prefixed with \"customers/C\" or \"customers/my_customer\".", + "location": "path", + "pattern": "^customers/[^/]+$", + "required": true, + "type": "string" + }, + "date.day": { + "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "date.month": { + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "date.year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "location": "query", + "type": "integer" + } + }, + "path": "v1/{+customer}/reports:countDevicesPerReleaseChannel", + "response": { + "$ref": "GoogleChromeManagementV1CountDevicesPerReleaseChannelResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/chrome.management.reports.readonly" + ] + }, "countInstalledApps": { "description": "Generate report of app installations.", "flatPath": "v1/customers/{customersId}/reports:countInstalledApps", @@ -1657,7 +1786,7 @@ } } }, - "revision": "20251014", + "revision": "20251105", "rootUrl": "https://chromemanagement.googleapis.com/", "schemas": { "GoogleChromeManagementV1AndroidAppInfo": { @@ -2375,6 +2504,23 @@ }, "type": "object" }, + "GoogleChromeManagementV1CountActiveDevicesResponse": { + "description": "Response containing the number of active devices.", + "id": "GoogleChromeManagementV1CountActiveDevicesResponse", + "properties": { + "sevenDaysCount": { + "description": "Number of active devices in the 7 days leading up to the date specified in the request.", + "format": "int64", + "type": "string" + }, + "thirtyDaysCount": { + "description": "Number of active devices in the 30 days leading up to the date specified in the request.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "GoogleChromeManagementV1CountChromeAppRequestsResponse": { "description": "Response containing summary of requested app installations.", "id": "GoogleChromeManagementV1CountChromeAppRequestsResponse", @@ -2558,6 +2704,75 @@ }, "type": "object" }, + "GoogleChromeManagementV1CountDevicesPerBootTypeResponse": { + "description": "Response containing the number of devices with the given boot type.", + "id": "GoogleChromeManagementV1CountDevicesPerBootTypeResponse", + "properties": { + "devBootTypeCount": { + "description": "Number of devices with dev boot type.", + "format": "int64", + "type": "string" + }, + "unreportedBootTypeCount": { + "description": "Number of devices with unreported boot type.", + "format": "int64", + "type": "string" + }, + "verifiedBootTypeCount": { + "description": "Number of devices with verified boot type.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementV1CountDevicesPerReleaseChannelResponse": { + "description": "Response containing the number of devices with the given channel.", + "id": "GoogleChromeManagementV1CountDevicesPerReleaseChannelResponse", + "properties": { + "betaChannelCount": { + "description": "Number of devices with beta release channel.", + "format": "int64", + "type": "string" + }, + "canaryChannelCount": { + "description": "Number of devices with canary release channel.", + "format": "int64", + "type": "string" + }, + "devChannelCount": { + "description": "Number of devices with dev release channel.", + "format": "int64", + "type": "string" + }, + "ltcChannelCount": { + "description": "Number of devices with ltc release channel.", + "format": "int64", + "type": "string" + }, + "ltsChannelCount": { + "description": "Number of devices with lts release channel.", + "format": "int64", + "type": "string" + }, + "stableChannelCount": { + "description": "Number of devices with stable release channel.", + "format": "int64", + "type": "string" + }, + "unreportedChannelCount": { + "description": "Number of devices with an unreported release channel.", + "format": "int64", + "type": "string" + }, + "unsupportedChannelCount": { + "description": "Number of devices with unsupported release channel.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "GoogleChromeManagementV1CountInstalledAppsResponse": { "description": "Response containing details of queried installed apps.", "id": "GoogleChromeManagementV1CountInstalledAppsResponse", diff --git a/Src/Generated/Google.Apis.ChromeManagement.v1/Google.Apis.ChromeManagement.v1.cs b/Src/Generated/Google.Apis.ChromeManagement.v1/Google.Apis.ChromeManagement.v1.cs index fcc221c36fe..6d2ffeac560 100644 --- a/Src/Generated/Google.Apis.ChromeManagement.v1/Google.Apis.ChromeManagement.v1.cs +++ b/Src/Generated/Google.Apis.ChromeManagement.v1/Google.Apis.ChromeManagement.v1.cs @@ -1726,6 +1726,96 @@ public ReportsResource(Google.Apis.Services.IClientService service) this.service = service; } + /// Get a count of active devices per set time frames. + /// + /// Required. Obfuscated customer ID prefixed with "customers/C" or "customers/my_customer". + /// + public virtual CountActiveDevicesRequest CountActiveDevices(string customer) + { + return new CountActiveDevicesRequest(this.service, customer); + } + + /// Get a count of active devices per set time frames. + public class CountActiveDevicesRequest : ChromeManagementBaseServiceRequest + { + /// Constructs a new CountActiveDevices request. + public CountActiveDevicesRequest(Google.Apis.Services.IClientService service, string customer) : base(service) + { + Customer = customer; + InitParameters(); + } + + /// + /// Required. Obfuscated customer ID prefixed with "customers/C" or "customers/my_customer". + /// + [Google.Apis.Util.RequestParameterAttribute("customer", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Customer { get; private set; } + + /// + /// Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by + /// itself or a year and month where the day isn't significant. + /// + [Google.Apis.Util.RequestParameterAttribute("date.day", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable DateDay { get; set; } + + /// + /// Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + /// + [Google.Apis.Util.RequestParameterAttribute("date.month", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable DateMonth { get; set; } + + /// Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + [Google.Apis.Util.RequestParameterAttribute("date.year", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable DateYear { get; set; } + + /// Gets the method name. + public override string MethodName => "countActiveDevices"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+customer}/reports:countActiveDevices"; + + /// Initializes CountActiveDevices parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("customer", new Google.Apis.Discovery.Parameter + { + Name = "customer", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^customers/[^/]+$", + }); + RequestParameters.Add("date.day", new Google.Apis.Discovery.Parameter + { + Name = "date.day", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("date.month", new Google.Apis.Discovery.Parameter + { + Name = "date.month", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("date.year", new Google.Apis.Discovery.Parameter + { + Name = "date.year", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + /// /// Count of Chrome Browsers that have been recently enrolled, have new policy to be synced, or have no /// recent activity. @@ -2238,6 +2328,186 @@ protected override void InitParameters() } } + /// Get a count of devices per boot type. + /// + /// Required. Obfuscated customer ID prefixed with "customers/C" or "customers/my_customer". + /// + public virtual CountDevicesPerBootTypeRequest CountDevicesPerBootType(string customer) + { + return new CountDevicesPerBootTypeRequest(this.service, customer); + } + + /// Get a count of devices per boot type. + public class CountDevicesPerBootTypeRequest : ChromeManagementBaseServiceRequest + { + /// Constructs a new CountDevicesPerBootType request. + public CountDevicesPerBootTypeRequest(Google.Apis.Services.IClientService service, string customer) : base(service) + { + Customer = customer; + InitParameters(); + } + + /// + /// Required. Obfuscated customer ID prefixed with "customers/C" or "customers/my_customer". + /// + [Google.Apis.Util.RequestParameterAttribute("customer", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Customer { get; private set; } + + /// + /// Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by + /// itself or a year and month where the day isn't significant. + /// + [Google.Apis.Util.RequestParameterAttribute("date.day", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable DateDay { get; set; } + + /// + /// Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + /// + [Google.Apis.Util.RequestParameterAttribute("date.month", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable DateMonth { get; set; } + + /// Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + [Google.Apis.Util.RequestParameterAttribute("date.year", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable DateYear { get; set; } + + /// Gets the method name. + public override string MethodName => "countDevicesPerBootType"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+customer}/reports:countDevicesPerBootType"; + + /// Initializes CountDevicesPerBootType parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("customer", new Google.Apis.Discovery.Parameter + { + Name = "customer", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^customers/[^/]+$", + }); + RequestParameters.Add("date.day", new Google.Apis.Discovery.Parameter + { + Name = "date.day", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("date.month", new Google.Apis.Discovery.Parameter + { + Name = "date.month", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("date.year", new Google.Apis.Discovery.Parameter + { + Name = "date.year", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Get a count of devices per channel. + /// + /// Required. Obfuscated customer ID prefixed with "customers/C" or "customers/my_customer". + /// + public virtual CountDevicesPerReleaseChannelRequest CountDevicesPerReleaseChannel(string customer) + { + return new CountDevicesPerReleaseChannelRequest(this.service, customer); + } + + /// Get a count of devices per channel. + public class CountDevicesPerReleaseChannelRequest : ChromeManagementBaseServiceRequest + { + /// Constructs a new CountDevicesPerReleaseChannel request. + public CountDevicesPerReleaseChannelRequest(Google.Apis.Services.IClientService service, string customer) : base(service) + { + Customer = customer; + InitParameters(); + } + + /// + /// Required. Obfuscated customer ID prefixed with "customers/C" or "customers/my_customer". + /// + [Google.Apis.Util.RequestParameterAttribute("customer", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Customer { get; private set; } + + /// + /// Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by + /// itself or a year and month where the day isn't significant. + /// + [Google.Apis.Util.RequestParameterAttribute("date.day", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable DateDay { get; set; } + + /// + /// Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + /// + [Google.Apis.Util.RequestParameterAttribute("date.month", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable DateMonth { get; set; } + + /// Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + [Google.Apis.Util.RequestParameterAttribute("date.year", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable DateYear { get; set; } + + /// Gets the method name. + public override string MethodName => "countDevicesPerReleaseChannel"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+customer}/reports:countDevicesPerReleaseChannel"; + + /// Initializes CountDevicesPerReleaseChannel parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("customer", new Google.Apis.Discovery.Parameter + { + Name = "customer", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^customers/[^/]+$", + }); + RequestParameters.Add("date.day", new Google.Apis.Discovery.Parameter + { + Name = "date.day", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("date.month", new Google.Apis.Discovery.Parameter + { + Name = "date.month", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("date.year", new Google.Apis.Discovery.Parameter + { + Name = "date.year", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + /// Generate report of app installations. /// /// Required. Customer id or "my_customer" to use the customer associated to the account making the request. @@ -4853,6 +5123,21 @@ public class GoogleChromeManagementV1ChromeAppSiteAccess : Google.Apis.Requests. public virtual string ETag { get; set; } } + /// Response containing the number of active devices. + public class GoogleChromeManagementV1CountActiveDevicesResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// Number of active devices in the 7 days leading up to the date specified in the request. + [Newtonsoft.Json.JsonPropertyAttribute("sevenDaysCount")] + public virtual System.Nullable SevenDaysCount { get; set; } + + /// Number of active devices in the 30 days leading up to the date specified in the request. + [Newtonsoft.Json.JsonPropertyAttribute("thirtyDaysCount")] + public virtual System.Nullable ThirtyDaysCount { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Response containing summary of requested app installations. public class GoogleChromeManagementV1CountChromeAppRequestsResponse : Google.Apis.Requests.IDirectResponseSchema { @@ -5011,6 +5296,64 @@ public class GoogleChromeManagementV1CountChromeVersionsResponse : Google.Apis.R public virtual string ETag { get; set; } } + /// Response containing the number of devices with the given boot type. + public class GoogleChromeManagementV1CountDevicesPerBootTypeResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// Number of devices with dev boot type. + [Newtonsoft.Json.JsonPropertyAttribute("devBootTypeCount")] + public virtual System.Nullable DevBootTypeCount { get; set; } + + /// Number of devices with unreported boot type. + [Newtonsoft.Json.JsonPropertyAttribute("unreportedBootTypeCount")] + public virtual System.Nullable UnreportedBootTypeCount { get; set; } + + /// Number of devices with verified boot type. + [Newtonsoft.Json.JsonPropertyAttribute("verifiedBootTypeCount")] + public virtual System.Nullable VerifiedBootTypeCount { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Response containing the number of devices with the given channel. + public class GoogleChromeManagementV1CountDevicesPerReleaseChannelResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// Number of devices with beta release channel. + [Newtonsoft.Json.JsonPropertyAttribute("betaChannelCount")] + public virtual System.Nullable BetaChannelCount { get; set; } + + /// Number of devices with canary release channel. + [Newtonsoft.Json.JsonPropertyAttribute("canaryChannelCount")] + public virtual System.Nullable CanaryChannelCount { get; set; } + + /// Number of devices with dev release channel. + [Newtonsoft.Json.JsonPropertyAttribute("devChannelCount")] + public virtual System.Nullable DevChannelCount { get; set; } + + /// Number of devices with ltc release channel. + [Newtonsoft.Json.JsonPropertyAttribute("ltcChannelCount")] + public virtual System.Nullable LtcChannelCount { get; set; } + + /// Number of devices with lts release channel. + [Newtonsoft.Json.JsonPropertyAttribute("ltsChannelCount")] + public virtual System.Nullable LtsChannelCount { get; set; } + + /// Number of devices with stable release channel. + [Newtonsoft.Json.JsonPropertyAttribute("stableChannelCount")] + public virtual System.Nullable StableChannelCount { get; set; } + + /// Number of devices with an unreported release channel. + [Newtonsoft.Json.JsonPropertyAttribute("unreportedChannelCount")] + public virtual System.Nullable UnreportedChannelCount { get; set; } + + /// Number of devices with unsupported release channel. + [Newtonsoft.Json.JsonPropertyAttribute("unsupportedChannelCount")] + public virtual System.Nullable UnsupportedChannelCount { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Response containing details of queried installed apps. public class GoogleChromeManagementV1CountInstalledAppsResponse : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.ChromeManagement.v1/Google.Apis.ChromeManagement.v1.csproj b/Src/Generated/Google.Apis.ChromeManagement.v1/Google.Apis.ChromeManagement.v1.csproj index b98f3d29d93..9d30c2e12b7 100644 --- a/Src/Generated/Google.Apis.ChromeManagement.v1/Google.Apis.ChromeManagement.v1.csproj +++ b/Src/Generated/Google.Apis.ChromeManagement.v1/Google.Apis.ChromeManagement.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.ChromeManagement.v1 Client Library - 1.72.0.3939 + 1.72.0.3961 Google LLC Copyright 2025 Google LLC Google From 8ca8e6001e9114e8c308eca53f6d97dd401f30ff Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:01 +0000 Subject: [PATCH 14/65] feat: Generate Google.Apis.Classroom.v1 version 1.72.0.3960 --- DiscoveryJson/classroom.v1.json | 10 +++++----- .../Google.Apis.Classroom.v1.cs | 8 ++++---- .../Google.Apis.Classroom.v1.csproj | 6 +++--- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/DiscoveryJson/classroom.v1.json b/DiscoveryJson/classroom.v1.json index a1522c981e4..321ded65798 100644 --- a/DiscoveryJson/classroom.v1.json +++ b/DiscoveryJson/classroom.v1.json @@ -4107,7 +4107,7 @@ } } }, - "revision": "20250929", + "revision": "20251104", "rootUrl": "https://classroom.googleapis.com/", "schemas": { "AddOnAttachment": { @@ -4995,11 +4995,11 @@ "type": "string" }, "title": { - "description": "Title of the Gem. Read-only.", + "description": "Title of the Gem.", "type": "string" }, "url": { - "description": "URL that can be used to access the Gem. Read-only.", + "description": "URL that can be used to access the Gem.", "type": "string" } }, @@ -5751,11 +5751,11 @@ "type": "string" }, "title": { - "description": "Title of the Notebook. Read-only.", + "description": "Title of the Notebook.", "type": "string" }, "url": { - "description": "URL that can be used to access the Notebook. Read-only.", + "description": "URL that can be used to access the Notebook.", "type": "string" } }, diff --git a/Src/Generated/Google.Apis.Classroom.v1/Google.Apis.Classroom.v1.cs b/Src/Generated/Google.Apis.Classroom.v1/Google.Apis.Classroom.v1.cs index f70ce317cf9..488fb0c60fb 100644 --- a/Src/Generated/Google.Apis.Classroom.v1/Google.Apis.Classroom.v1.cs +++ b/Src/Generated/Google.Apis.Classroom.v1/Google.Apis.Classroom.v1.cs @@ -11805,11 +11805,11 @@ public class GeminiGem : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("id")] public virtual string Id { get; set; } - /// Title of the Gem. Read-only. + /// Title of the Gem. [Newtonsoft.Json.JsonPropertyAttribute("title")] public virtual string Title { get; set; } - /// URL that can be used to access the Gem. Read-only. + /// URL that can be used to access the Gem. [Newtonsoft.Json.JsonPropertyAttribute("url")] public virtual string Url { get; set; } @@ -12571,11 +12571,11 @@ public class NotebookLmNotebook : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("id")] public virtual string Id { get; set; } - /// Title of the Notebook. Read-only. + /// Title of the Notebook. [Newtonsoft.Json.JsonPropertyAttribute("title")] public virtual string Title { get; set; } - /// URL that can be used to access the Notebook. Read-only. + /// URL that can be used to access the Notebook. [Newtonsoft.Json.JsonPropertyAttribute("url")] public virtual string Url { get; set; } diff --git a/Src/Generated/Google.Apis.Classroom.v1/Google.Apis.Classroom.v1.csproj b/Src/Generated/Google.Apis.Classroom.v1/Google.Apis.Classroom.v1.csproj index 0fde14960b8..6227cbb5343 100644 --- a/Src/Generated/Google.Apis.Classroom.v1/Google.Apis.Classroom.v1.csproj +++ b/Src/Generated/Google.Apis.Classroom.v1/Google.Apis.Classroom.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Classroom.v1 Client Library - 1.71.0.3924 + 1.72.0.3960 Google LLC Copyright 2025 Google LLC Google @@ -59,8 +59,8 @@ - - + + From 2346c329ceed6c6e944c343fe035deadea558699 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:03 +0000 Subject: [PATCH 15/65] feat: Generate Google.Apis.CloudShell.v1 version 1.72.0.3961 --- DiscoveryJson/cloudshell.v1.json | 50 +++++++- .../Google.Apis.CloudShell.v1.cs | 110 ++++++++++++++++++ .../Google.Apis.CloudShell.v1.csproj | 6 +- 3 files changed, 162 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/cloudshell.v1.json b/DiscoveryJson/cloudshell.v1.json index bf21a0d7187..7fea848f5dd 100644 --- a/DiscoveryJson/cloudshell.v1.json +++ b/DiscoveryJson/cloudshell.v1.json @@ -293,6 +293,43 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "generateAccessToken": { + "description": "Generates an access token for the user's environment.", + "flatPath": "v1/users/{usersId}/environments/{environmentsId}:generateAccessToken", + "httpMethod": "GET", + "id": "cloudshell.users.environments.generateAccessToken", + "parameterOrder": [ + "environment" + ], + "parameters": { + "environment": { + "description": "Required. The environment to generate the access token for.", + "location": "path", + "pattern": "^users/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + }, + "expireTime": { + "description": "Desired expiration time of the access token. This value must be at most 24 hours in the future. If a value is not specified, the token's expiration time will be set to a default value of 1 hour in the future.", + "format": "google-datetime", + "location": "query", + "type": "string" + }, + "ttl": { + "description": "Desired lifetime duration of the access token. This value must be at most 24 hours. If a value is not specified, the token's lifetime will be set to a default value of 1 hour.", + "format": "google-duration", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+environment}:generateAccessToken", + "response": { + "$ref": "GenerateAccessTokenResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "get": { "description": "Gets an environment. Returns NOT_FOUND if the environment does not exist.", "flatPath": "v1/users/{usersId}/environments/{environmentsId}", @@ -379,7 +416,7 @@ } } }, - "revision": "20250930", + "revision": "20251105", "rootUrl": "https://cloudshell.googleapis.com/", "schemas": { "AddPublicKeyMetadata": { @@ -534,6 +571,17 @@ }, "type": "object" }, + "GenerateAccessTokenResponse": { + "description": "Response message for GenerateAccessToken.", + "id": "GenerateAccessTokenResponse", + "properties": { + "accessToken": { + "description": "The access token.", + "type": "string" + } + }, + "type": "object" + }, "ListOperationsResponse": { "description": "The response message for Operations.ListOperations.", "id": "ListOperationsResponse", diff --git a/Src/Generated/Google.Apis.CloudShell.v1/Google.Apis.CloudShell.v1.cs b/Src/Generated/Google.Apis.CloudShell.v1/Google.Apis.CloudShell.v1.cs index a3f0d82e2dc..d23fcce2e25 100644 --- a/Src/Generated/Google.Apis.CloudShell.v1/Google.Apis.CloudShell.v1.cs +++ b/Src/Generated/Google.Apis.CloudShell.v1/Google.Apis.CloudShell.v1.cs @@ -719,6 +719,105 @@ protected override void InitParameters() } } + /// Generates an access token for the user's environment. + /// Required. The environment to generate the access token for. + public virtual GenerateAccessTokenRequest GenerateAccessToken(string environment) + { + return new GenerateAccessTokenRequest(this.service, environment); + } + + /// Generates an access token for the user's environment. + public class GenerateAccessTokenRequest : CloudShellBaseServiceRequest + { + /// Constructs a new GenerateAccessToken request. + public GenerateAccessTokenRequest(Google.Apis.Services.IClientService service, string environment) : base(service) + { + Environment = environment; + InitParameters(); + } + + /// Required. The environment to generate the access token for. + [Google.Apis.Util.RequestParameterAttribute("environment", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Environment { get; private set; } + + private object _expireTime; + + /// + /// String representation of , formatted for inclusion in the HTTP + /// request. + /// + [Google.Apis.Util.RequestParameterAttribute("expireTime", Google.Apis.Util.RequestParameterType.Query)] + public virtual string ExpireTimeRaw { get; private set; } + + /// representation of . + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use ExpireTimeDateTimeOffset instead.")] + public virtual object ExpireTime + { + get => _expireTime; + set + { + ExpireTimeRaw = Google.Apis.Util.Utilities.ConvertToString(value); + _expireTime = value; + } + } + + public virtual System.DateTimeOffset? ExpireTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(ExpireTimeRaw); + set + { + ExpireTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + _expireTime = value; + } + } + + /// + /// Desired lifetime duration of the access token. This value must be at most 24 hours. If a value is + /// not specified, the token's lifetime will be set to a default value of 1 hour. + /// + [Google.Apis.Util.RequestParameterAttribute("ttl", Google.Apis.Util.RequestParameterType.Query)] + public virtual object Ttl { get; set; } + + /// Gets the method name. + public override string MethodName => "generateAccessToken"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+environment}:generateAccessToken"; + + /// Initializes GenerateAccessToken parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("environment", new Google.Apis.Discovery.Parameter + { + Name = "environment", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^users/[^/]+/environments/[^/]+$", + }); + RequestParameters.Add("expireTime", new Google.Apis.Discovery.Parameter + { + Name = "expireTime", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("ttl", new Google.Apis.Discovery.Parameter + { + Name = "ttl", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + /// Gets an environment. Returns NOT_FOUND if the environment does not exist. /// /// Required. Name of the requested resource, for example `users/me/environments/default` or @@ -1111,6 +1210,17 @@ public class Environment : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// Response message for GenerateAccessToken. + public class GenerateAccessTokenResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The access token. + [Newtonsoft.Json.JsonPropertyAttribute("accessToken")] + public virtual string AccessToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// The response message for Operations.ListOperations. public class ListOperationsResponse : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.CloudShell.v1/Google.Apis.CloudShell.v1.csproj b/Src/Generated/Google.Apis.CloudShell.v1/Google.Apis.CloudShell.v1.csproj index e11a752bffc..e8f81b58125 100644 --- a/Src/Generated/Google.Apis.CloudShell.v1/Google.Apis.CloudShell.v1.csproj +++ b/Src/Generated/Google.Apis.CloudShell.v1/Google.Apis.CloudShell.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudShell.v1 Client Library - 1.71.0.3925 + 1.72.0.3961 Google LLC Copyright 2025 Google LLC Google @@ -60,8 +60,8 @@ - - + + From 9253d8bce7df93e13cce9b95d641b79c9b3364d9 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:06 +0000 Subject: [PATCH 16/65] feat: Generate Google.Apis.Compute.v1 version 1.72.0.3956 --- DiscoveryJson/compute.v1.json | 48 ++--- .../Google.Apis.Compute.v1.cs | 175 +++++++++++------- .../Google.Apis.Compute.v1.csproj | 2 +- 3 files changed, 139 insertions(+), 86 deletions(-) diff --git a/DiscoveryJson/compute.v1.json b/DiscoveryJson/compute.v1.json index a61705f7343..4838cde7749 100644 --- a/DiscoveryJson/compute.v1.json +++ b/DiscoveryJson/compute.v1.json @@ -20556,7 +20556,7 @@ "organizationSecurityPolicies": { "methods": { "addAssociation": { - "description": "Inserts an association for the specified security policy.\n\nThis has billing implications. Projects in the hierarchy with effective\nhierarchical security policies will be automatically enrolled into Cloud\nArmor Enterprise if not already enrolled.\n\nUse of this API to modify firewall policies is deprecated. Use\nfirewallPolicies.addAssociation instead if possible.", + "description": "Inserts an association for the specified security policy.\n\nThis has billing implications. Projects in the hierarchy with effective\nhierarchical security policies will be automatically enrolled into Cloud\nArmor Enterprise if not already enrolled.\n\nUse this API to modify Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to modify firewall policies. This usage is\nnow disabled for most organizations. Use firewallPolicies.addAssociation\ninstead.", "flatPath": "locations/global/securityPolicies/{securityPolicy}/addAssociation", "httpMethod": "POST", "id": "compute.organizationSecurityPolicies.addAssociation", @@ -20595,7 +20595,7 @@ ] }, "addRule": { - "description": "Inserts a rule into a security policy.", + "description": "Inserts a rule into a security policy.\n\nUse this API to modify Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to modify firewall policies. This usage is\nnow disabled for most organizations. Use firewallPolicies.addRule instead.", "flatPath": "locations/global/securityPolicies/{securityPolicy}/addRule", "httpMethod": "POST", "id": "compute.organizationSecurityPolicies.addRule", @@ -20629,7 +20629,7 @@ ] }, "copyRules": { - "description": "Copies rules to the specified security policy.\n\nUse of this API to modify firewall policies is deprecated. Use\nfirewallPolicies.copyRules instead.", + "description": "Copies rules to the specified security policy.\n\nUse this API to modify Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to modify firewall policies. This usage is\nnow disabled for most organizations. Use firewallPolicies.cloneRules\ninstead.", "flatPath": "locations/global/securityPolicies/{securityPolicy}/copyRules", "httpMethod": "POST", "id": "compute.organizationSecurityPolicies.copyRules", @@ -20665,7 +20665,7 @@ ] }, "delete": { - "description": "Deletes the specified policy.\n\nUse of this API to remove firewall policies is deprecated. Use\nfirewallPolicies.delete instead.", + "description": "Deletes the specified policy.\n\nUse this API to remove Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to remove firewall policies. This usage is\nnow disabled for most organizations. Use firewallPolicies.delete instead.", "flatPath": "locations/global/securityPolicies/{securityPolicy}", "httpMethod": "DELETE", "id": "compute.organizationSecurityPolicies.delete", @@ -20696,7 +20696,7 @@ ] }, "get": { - "description": "List all of the ordered rules present in a single specified policy.\n\nUse of this API to read firewall policies is deprecated. Use\nfirewallPolicies.get instead.", + "description": "List all of the ordered rules present in a single specified policy.\n\nUse this API to read Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to read firewall policies. This usage is now\ndisabled for most organizations. Use firewallPolicies.get instead.", "flatPath": "locations/global/securityPolicies/{securityPolicy}", "httpMethod": "GET", "id": "compute.organizationSecurityPolicies.get", @@ -20723,7 +20723,7 @@ ] }, "getAssociation": { - "description": "Gets an association with the specified name.\n\nUse of this API to read firewall policies is deprecated. Use\nfirewallPolicies.getAssociation instead if possible.", + "description": "Gets an association with the specified name.\n\nUse this API to read Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to read firewall policies. This usage is\nnow disabled for most organizations. Use firewallPolicies.getAssociation\ninstead.", "flatPath": "locations/global/securityPolicies/{securityPolicy}/getAssociation", "httpMethod": "GET", "id": "compute.organizationSecurityPolicies.getAssociation", @@ -20755,7 +20755,7 @@ ] }, "getRule": { - "description": "Gets a rule at the specified priority.\n\nUse of this API to read firewall policies is deprecated. Use\nfirewallPolicies.getRule instead.", + "description": "Gets a rule at the specified priority.\n\nUse this API to read Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to read firewall policies. This usage is now\ndisabled for most organizations. Use firewallPolicies.getRule instead.", "flatPath": "locations/global/securityPolicies/{securityPolicy}/getRule", "httpMethod": "GET", "id": "compute.organizationSecurityPolicies.getRule", @@ -20788,7 +20788,7 @@ ] }, "insert": { - "description": "Creates a new policy in the specified organization using the data included\nin the request.\n\nUse of this API to insert firewall policies is deprecated. Use\nfirewallPolicies.insert instead.", + "description": "Creates a new policy in the specified organization using the data included\nin the request.\n\nUse this API to add Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to add firewall policies. This usage is now\ndisabled for most organizations. Use firewallPolicies.insert instead.", "flatPath": "locations/global/securityPolicies", "httpMethod": "POST", "id": "compute.organizationSecurityPolicies.insert", @@ -20817,7 +20817,7 @@ ] }, "list": { - "description": "List all the policies that have been configured for the specified\norganization.\n\nUse of this API to read firewall policies is deprecated. Use\nfirewallPolicies.list instead.", + "description": "List all the policies that have been configured for the specified\norganization.\n\nUse this API to read Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to read firewall policies. This usage is now\ndisabled for most organizations. Use firewallPolicies.list instead.", "flatPath": "locations/global/securityPolicies", "httpMethod": "GET", "id": "compute.organizationSecurityPolicies.list", @@ -20867,7 +20867,7 @@ ] }, "listAssociations": { - "description": "Lists associations of a specified target, i.e., organization or folder.\n\nUse of this API to read firewall policies is deprecated. Use\nfirewallPolicies.listAssociations instead if possible.", + "description": "Lists associations of a specified target, i.e., organization or folder.\n\nUse this API to read Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to read firewall policies. This usage is\nnow disabled for most organizations. Use firewallPolicies.listAssociations\ninstead.", "flatPath": "locations/global/securityPolicies/listAssociations", "httpMethod": "GET", "id": "compute.organizationSecurityPolicies.listAssociations", @@ -20939,7 +20939,7 @@ ] }, "move": { - "description": "Moves the specified security policy.\n\nUse of this API to modify firewall policies is deprecated. Use\nfirewallPolicies.move instead.", + "description": "Moves the specified security policy.\n\nUse this API to modify Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to modify firewall policies. This usage is\nnow disabled for most organizations. Use firewallPolicies.move instead.", "flatPath": "locations/global/securityPolicies/{securityPolicy}/move", "httpMethod": "POST", "id": "compute.organizationSecurityPolicies.move", @@ -20975,7 +20975,7 @@ ] }, "patch": { - "description": "Patches the specified policy with the data included in the request.\n\nUse of this API to modify firewall policies is deprecated. Use\nfirewallPolicies.patch instead.", + "description": "Patches the specified policy with the data included in the request.\n\nUse this API to modify Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to modify firewall policies. This usage is\nnow disabled for most organizations. Use firewallPolicies.patch instead.", "flatPath": "locations/global/securityPolicies/{securityPolicy}", "httpMethod": "PATCH", "id": "compute.organizationSecurityPolicies.patch", @@ -21009,7 +21009,7 @@ ] }, "patchRule": { - "description": "Patches a rule at the specified priority.\n\nUse of this API to modify firewall policies is deprecated. Use\nfirewallPolicies.patchRule instead.", + "description": "Patches a rule at the specified priority.\n\nUse this API to modify Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to modify firewall policies. This usage is\nnow disabled for most organizations. Use firewallPolicies.patchRule\ninstead.", "flatPath": "locations/global/securityPolicies/{securityPolicy}/patchRule", "httpMethod": "POST", "id": "compute.organizationSecurityPolicies.patchRule", @@ -21049,7 +21049,7 @@ ] }, "removeAssociation": { - "description": "Removes an association for the specified security policy.\n\nUse of this API to modify firewall policies is deprecated. Use\nfirewallPolicies.removeAssociation instead if possible.", + "description": "Removes an association for the specified security policy.\n\nUse this API to modify Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to modify firewall policies. This usage is\nnow disabled for most organizations. Use firewallPolicies.removeAssociation\ninstead.", "flatPath": "locations/global/securityPolicies/{securityPolicy}/removeAssociation", "httpMethod": "POST", "id": "compute.organizationSecurityPolicies.removeAssociation", @@ -21085,7 +21085,7 @@ ] }, "removeRule": { - "description": "Deletes a rule at the specified priority.", + "description": "Deletes a rule at the specified priority.\n\nUse this API to modify Cloud Armor policies. Previously, alpha and beta\nversions of this API were used to modify firewall policies. This usage is\nnow disabled for most organizations. Use firewallPolicies.removeRule\ninstead.", "flatPath": "locations/global/securityPolicies/{securityPolicy}/removeRule", "httpMethod": "POST", "id": "compute.organizationSecurityPolicies.removeRule", @@ -42423,7 +42423,7 @@ } } }, - "revision": "20251019", + "revision": "20251031", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -47842,6 +47842,7 @@ "GENERAL_PURPOSE_N2", "GENERAL_PURPOSE_N2D", "GENERAL_PURPOSE_N4", + "GENERAL_PURPOSE_N4D", "GENERAL_PURPOSE_T2D", "GRAPHICS_OPTIMIZED", "MEMORY_OPTIMIZED", @@ -47884,6 +47885,7 @@ "", "", "", + "", "Note for internal users: When adding a new enum Type for v1, make sure\nto also add it in the comment for the `optional Type type` definition.\nThis ensures that the public documentation displays the new enum Type." ], "type": "string" @@ -55155,7 +55157,7 @@ "description": "The header value must be an integer and its value must be in the range\nspecified in rangeMatch. If the header does not contain an\ninteger, number or is empty, the match fails.\n\nFor example for a range [-5, 0]\n \n \n - -3 will match.\n - 0 will not match.\n - 0.25 will not match.\n - -3someString will not match.\n\nOnly one of exactMatch, prefixMatch,suffixMatch, regexMatch,presentMatch or rangeMatch must be set.\n\nrangeMatch is not supported for load balancers\nthat have loadBalancingScheme set to EXTERNAL." }, "regexMatch": { - "description": "The value of the header must match the regular expression specified inregexMatch.\nFor more information about regular expression syntax, see Syntax.\n\nFor matching against a port specified in the HTTP request, use a\nheaderMatch with headerName set to PORT and a regular expression that\nsatisfies the RFC2616 Host header's port specifier.\n\nOnly one of exactMatch, prefixMatch,suffixMatch, regexMatch,presentMatch or rangeMatch must be set.\n\nRegular expressions can only be used when the loadBalancingScheme is\nset to INTERNAL_SELF_MANAGED.", + "description": "The value of the header must match the regular expression specified inregexMatch.\nFor more information about regular expression syntax, see Syntax.\n\nFor matching against a port specified in the HTTP request, use a\nheaderMatch with headerName set to PORT and a regular expression that\nsatisfies the RFC2616 Host header's port specifier.\n\nOnly one of exactMatch, prefixMatch,suffixMatch, regexMatch,presentMatch or rangeMatch must be set.\n\nRegular expressions can only be used when the loadBalancingScheme is\nset to INTERNAL_SELF_MANAGED, EXTERNAL_MANAGED orINTERNAL_MANAGED.", "type": "string" }, "suffixMatch": { @@ -55423,7 +55425,7 @@ "type": "boolean" }, "regexMatch": { - "description": "The queryParameterMatch matches if the value of the\nparameter matches the regular expression specified byregexMatch. For\nmore information about regular expression syntax, see Syntax.\n\nOnly one of presentMatch, exactMatch, orregexMatch must be set.\n\nRegular expressions can only be used when the loadBalancingScheme is\nset to INTERNAL_SELF_MANAGED.", + "description": "The queryParameterMatch matches if the value of the\nparameter matches the regular expression specified byregexMatch. For\nmore information about regular expression syntax, see Syntax.\n\nOnly one of presentMatch, exactMatch, orregexMatch must be set.\n\nRegular expressions can only be used when the loadBalancingScheme is\nset to INTERNAL_SELF_MANAGED, EXTERNAL_MANAGED orINTERNAL_MANAGED.", "type": "string" } }, @@ -55586,7 +55588,7 @@ "id": "HttpRouteRuleMatch", "properties": { "fullPathMatch": { - "description": "For satisfying the matchRule condition, the path of the\nrequest must exactly match the value specified infullPathMatch after removing any query parameters and anchor\nthat may be part of the original URL.\n\nfullPathMatch must be from 1 to 1024 characters.\n\nOnly one of prefixMatch, fullPathMatch or regexMatch must be\nspecified.", + "description": "For satisfying the matchRule condition, the path of the\nrequest must exactly match the value specified infullPathMatch after removing any query parameters and anchor\nthat may be part of the original URL.\n\nfullPathMatch must be from 1 to 1024 characters.\n\nOnly one of prefixMatch, fullPathMatch,regexMatch or path_template_match must be\nspecified.", "type": "string" }, "headerMatches": { @@ -55612,7 +55614,7 @@ "type": "string" }, "prefixMatch": { - "description": "For satisfying the matchRule condition, the request's\npath must begin with the specified prefixMatch.prefixMatch must begin with a /.\n\nThe value must be from 1 to 1024 characters.\n\nOnly one of prefixMatch, fullPathMatch or regexMatch must be\nspecified.", + "description": "For satisfying the matchRule condition, the request's\npath must begin with the specified prefixMatch.prefixMatch must begin with a /.\n\nThe value must be from 1 to 1024 characters.\n\nOnly one of prefixMatch, fullPathMatch,regexMatch or path_template_match must be\nspecified.\nspecified.", "type": "string" }, "queryParameterMatches": { @@ -55623,7 +55625,7 @@ "type": "array" }, "regexMatch": { - "description": "For satisfying the matchRule condition, the path of the\nrequest must satisfy the regular expression specified inregexMatch after removing any query parameters and anchor\nsupplied with the original URL. For\nmore information about regular expression syntax, see Syntax.\n\nOnly one of prefixMatch, fullPathMatch orregexMatch must be\nspecified.\n\nRegular expressions can only be used when the loadBalancingScheme is\nset to INTERNAL_SELF_MANAGED.", + "description": "For satisfying the matchRule condition, the path of the\nrequest must satisfy the regular expression specified inregexMatch after removing any query parameters and anchor\nsupplied with the original URL. For\nmore information about regular expression syntax, see Syntax.\n\nOnly one of prefixMatch, fullPathMatch,regexMatch or path_template_match must be\nspecified.\n\nRegular expressions can only be used when the loadBalancingScheme is\nset to INTERNAL_SELF_MANAGED, EXTERNAL_MANAGED orINTERNAL_MANAGED.", "type": "string" } }, @@ -83742,6 +83744,10 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "parent": { + "description": "[Output Only] The parent of the security policy.", + "type": "string" + }, "recaptchaOptionsConfig": { "$ref": "SecurityPolicyRecaptchaOptionsConfig" }, diff --git a/Src/Generated/Google.Apis.Compute.v1/Google.Apis.Compute.v1.cs b/Src/Generated/Google.Apis.Compute.v1/Google.Apis.Compute.v1.cs index db58d83b021..0260e4d2b4f 100644 --- a/Src/Generated/Google.Apis.Compute.v1/Google.Apis.Compute.v1.cs +++ b/Src/Generated/Google.Apis.Compute.v1/Google.Apis.Compute.v1.cs @@ -46987,8 +46987,9 @@ public OrganizationSecurityPoliciesResource(Google.Apis.Services.IClientService /// /// Inserts an association for the specified security policy. This has billing implications. Projects in the /// hierarchy with effective hierarchical security policies will be automatically enrolled into Cloud Armor - /// Enterprise if not already enrolled. Use of this API to modify firewall policies is deprecated. Use - /// firewallPolicies.addAssociation instead if possible. + /// Enterprise if not already enrolled. Use this API to modify Cloud Armor policies. Previously, alpha and beta + /// versions of this API were used to modify firewall policies. This usage is now disabled for most + /// organizations. Use firewallPolicies.addAssociation instead. /// /// The body of the request. /// Name of the security policy to update. @@ -47000,8 +47001,9 @@ public virtual AddAssociationRequest AddAssociation(Google.Apis.Compute.v1.Data. /// /// Inserts an association for the specified security policy. This has billing implications. Projects in the /// hierarchy with effective hierarchical security policies will be automatically enrolled into Cloud Armor - /// Enterprise if not already enrolled. Use of this API to modify firewall policies is deprecated. Use - /// firewallPolicies.addAssociation instead if possible. + /// Enterprise if not already enrolled. Use this API to modify Cloud Armor policies. Previously, alpha and beta + /// versions of this API were used to modify firewall policies. This usage is now disabled for most + /// organizations. Use firewallPolicies.addAssociation instead. /// public class AddAssociationRequest : ComputeBaseServiceRequest { @@ -47082,7 +47084,11 @@ protected override void InitParameters() } } - /// Inserts a rule into a security policy. + /// + /// Inserts a rule into a security policy. Use this API to modify Cloud Armor policies. Previously, alpha and + /// beta versions of this API were used to modify firewall policies. This usage is now disabled for most + /// organizations. Use firewallPolicies.addRule instead. + /// /// The body of the request. /// Name of the security policy to update. public virtual AddRuleRequest AddRule(Google.Apis.Compute.v1.Data.SecurityPolicyRule body, string securityPolicy) @@ -47090,7 +47096,11 @@ public virtual AddRuleRequest AddRule(Google.Apis.Compute.v1.Data.SecurityPolicy return new AddRuleRequest(this.service, body, securityPolicy); } - /// Inserts a rule into a security policy. + /// + /// Inserts a rule into a security policy. Use this API to modify Cloud Armor policies. Previously, alpha and + /// beta versions of this API were used to modify firewall policies. This usage is now disabled for most + /// organizations. Use firewallPolicies.addRule instead. + /// public class AddRuleRequest : ComputeBaseServiceRequest { /// Constructs a new AddRule request. @@ -47156,8 +47166,9 @@ protected override void InitParameters() } /// - /// Copies rules to the specified security policy. Use of this API to modify firewall policies is deprecated. - /// Use firewallPolicies.copyRules instead. + /// Copies rules to the specified security policy. Use this API to modify Cloud Armor policies. Previously, + /// alpha and beta versions of this API were used to modify firewall policies. This usage is now disabled for + /// most organizations. Use firewallPolicies.cloneRules instead. /// /// Name of the security policy to update. public virtual CopyRulesRequest CopyRules(string securityPolicy) @@ -47166,8 +47177,9 @@ public virtual CopyRulesRequest CopyRules(string securityPolicy) } /// - /// Copies rules to the specified security policy. Use of this API to modify firewall policies is deprecated. - /// Use firewallPolicies.copyRules instead. + /// Copies rules to the specified security policy. Use this API to modify Cloud Armor policies. Previously, + /// alpha and beta versions of this API were used to modify firewall policies. This usage is now disabled for + /// most organizations. Use firewallPolicies.cloneRules instead. /// public class CopyRulesRequest : ComputeBaseServiceRequest { @@ -47239,8 +47251,9 @@ protected override void InitParameters() } /// - /// Deletes the specified policy. Use of this API to remove firewall policies is deprecated. Use - /// firewallPolicies.delete instead. + /// Deletes the specified policy. Use this API to remove Cloud Armor policies. Previously, alpha and beta + /// versions of this API were used to remove firewall policies. This usage is now disabled for most + /// organizations. Use firewallPolicies.delete instead. /// /// Name of the security policy to delete. public virtual DeleteRequest Delete(string securityPolicy) @@ -47249,8 +47262,9 @@ public virtual DeleteRequest Delete(string securityPolicy) } /// - /// Deletes the specified policy. Use of this API to remove firewall policies is deprecated. Use - /// firewallPolicies.delete instead. + /// Deletes the specified policy. Use this API to remove Cloud Armor policies. Previously, alpha and beta + /// versions of this API were used to remove firewall policies. This usage is now disabled for most + /// organizations. Use firewallPolicies.delete instead. /// public class DeleteRequest : ComputeBaseServiceRequest { @@ -47310,8 +47324,9 @@ protected override void InitParameters() } /// - /// List all of the ordered rules present in a single specified policy. Use of this API to read firewall - /// policies is deprecated. Use firewallPolicies.get instead. + /// List all of the ordered rules present in a single specified policy. Use this API to read Cloud Armor + /// policies. Previously, alpha and beta versions of this API were used to read firewall policies. This usage is + /// now disabled for most organizations. Use firewallPolicies.get instead. /// /// Name of the security policy to get. public virtual GetRequest Get(string securityPolicy) @@ -47320,8 +47335,9 @@ public virtual GetRequest Get(string securityPolicy) } /// - /// List all of the ordered rules present in a single specified policy. Use of this API to read firewall - /// policies is deprecated. Use firewallPolicies.get instead. + /// List all of the ordered rules present in a single specified policy. Use this API to read Cloud Armor + /// policies. Previously, alpha and beta versions of this API were used to read firewall policies. This usage is + /// now disabled for most organizations. Use firewallPolicies.get instead. /// public class GetRequest : ComputeBaseServiceRequest { @@ -47361,8 +47377,9 @@ protected override void InitParameters() } /// - /// Gets an association with the specified name. Use of this API to read firewall policies is deprecated. Use - /// firewallPolicies.getAssociation instead if possible. + /// Gets an association with the specified name. Use this API to read Cloud Armor policies. Previously, alpha + /// and beta versions of this API were used to read firewall policies. This usage is now disabled for most + /// organizations. Use firewallPolicies.getAssociation instead. /// /// Name of the security policy to which the queried rule belongs. public virtual GetAssociationRequest GetAssociation(string securityPolicy) @@ -47371,8 +47388,9 @@ public virtual GetAssociationRequest GetAssociation(string securityPolicy) } /// - /// Gets an association with the specified name. Use of this API to read firewall policies is deprecated. Use - /// firewallPolicies.getAssociation instead if possible. + /// Gets an association with the specified name. Use this API to read Cloud Armor policies. Previously, alpha + /// and beta versions of this API were used to read firewall policies. This usage is now disabled for most + /// organizations. Use firewallPolicies.getAssociation instead. /// public class GetAssociationRequest : ComputeBaseServiceRequest { @@ -47424,8 +47442,9 @@ protected override void InitParameters() } /// - /// Gets a rule at the specified priority. Use of this API to read firewall policies is deprecated. Use - /// firewallPolicies.getRule instead. + /// Gets a rule at the specified priority. Use this API to read Cloud Armor policies. Previously, alpha and + /// beta versions of this API were used to read firewall policies. This usage is now disabled for most + /// organizations. Use firewallPolicies.getRule instead. /// /// Name of the security policy to which the queried rule belongs. public virtual GetRuleRequest GetRule(string securityPolicy) @@ -47434,8 +47453,9 @@ public virtual GetRuleRequest GetRule(string securityPolicy) } /// - /// Gets a rule at the specified priority. Use of this API to read firewall policies is deprecated. Use - /// firewallPolicies.getRule instead. + /// Gets a rule at the specified priority. Use this API to read Cloud Armor policies. Previously, alpha and + /// beta versions of this API were used to read firewall policies. This usage is now disabled for most + /// organizations. Use firewallPolicies.getRule instead. /// public class GetRuleRequest : ComputeBaseServiceRequest { @@ -47487,8 +47507,9 @@ protected override void InitParameters() } /// - /// Creates a new policy in the specified organization using the data included in the request. Use of this API - /// to insert firewall policies is deprecated. Use firewallPolicies.insert instead. + /// Creates a new policy in the specified organization using the data included in the request. Use this API to + /// add Cloud Armor policies. Previously, alpha and beta versions of this API were used to add firewall + /// policies. This usage is now disabled for most organizations. Use firewallPolicies.insert instead. /// /// The body of the request. public virtual InsertRequest Insert(Google.Apis.Compute.v1.Data.SecurityPolicy body) @@ -47497,8 +47518,9 @@ public virtual InsertRequest Insert(Google.Apis.Compute.v1.Data.SecurityPolicy b } /// - /// Creates a new policy in the specified organization using the data included in the request. Use of this API - /// to insert firewall policies is deprecated. Use firewallPolicies.insert instead. + /// Creates a new policy in the specified organization using the data included in the request. Use this API to + /// add Cloud Armor policies. Previously, alpha and beta versions of this API were used to add firewall + /// policies. This usage is now disabled for most organizations. Use firewallPolicies.insert instead. /// public class InsertRequest : ComputeBaseServiceRequest { @@ -47567,8 +47589,9 @@ protected override void InitParameters() } /// - /// List all the policies that have been configured for the specified organization. Use of this API to read - /// firewall policies is deprecated. Use firewallPolicies.list instead. + /// List all the policies that have been configured for the specified organization. Use this API to read Cloud + /// Armor policies. Previously, alpha and beta versions of this API were used to read firewall policies. This + /// usage is now disabled for most organizations. Use firewallPolicies.list instead. /// public virtual ListRequest List() { @@ -47576,8 +47599,9 @@ public virtual ListRequest List() } /// - /// List all the policies that have been configured for the specified organization. Use of this API to read - /// firewall policies is deprecated. Use firewallPolicies.list instead. + /// List all the policies that have been configured for the specified organization. Use this API to read Cloud + /// Armor policies. Previously, alpha and beta versions of this API were used to read firewall policies. This + /// usage is now disabled for most organizations. Use firewallPolicies.list instead. /// public class ListRequest : ComputeBaseServiceRequest { @@ -47729,8 +47753,9 @@ protected override void InitParameters() } /// - /// Lists associations of a specified target, i.e., organization or folder. Use of this API to read firewall - /// policies is deprecated. Use firewallPolicies.listAssociations instead if possible. + /// Lists associations of a specified target, i.e., organization or folder. Use this API to read Cloud Armor + /// policies. Previously, alpha and beta versions of this API were used to read firewall policies. This usage is + /// now disabled for most organizations. Use firewallPolicies.listAssociations instead. /// public virtual ListAssociationsRequest ListAssociations() { @@ -47738,8 +47763,9 @@ public virtual ListAssociationsRequest ListAssociations() } /// - /// Lists associations of a specified target, i.e., organization or folder. Use of this API to read firewall - /// policies is deprecated. Use firewallPolicies.listAssociations instead if possible. + /// Lists associations of a specified target, i.e., organization or folder. Use this API to read Cloud Armor + /// policies. Previously, alpha and beta versions of this API were used to read firewall policies. This usage is + /// now disabled for most organizations. Use firewallPolicies.listAssociations instead. /// public class ListAssociationsRequest : ComputeBaseServiceRequest { @@ -47934,8 +47960,9 @@ protected override void InitParameters() } /// - /// Moves the specified security policy. Use of this API to modify firewall policies is deprecated. Use - /// firewallPolicies.move instead. + /// Moves the specified security policy. Use this API to modify Cloud Armor policies. Previously, alpha and + /// beta versions of this API were used to modify firewall policies. This usage is now disabled for most + /// organizations. Use firewallPolicies.move instead. /// /// Name of the security policy to update. public virtual MoveRequest Move(string securityPolicy) @@ -47944,8 +47971,9 @@ public virtual MoveRequest Move(string securityPolicy) } /// - /// Moves the specified security policy. Use of this API to modify firewall policies is deprecated. Use - /// firewallPolicies.move instead. + /// Moves the specified security policy. Use this API to modify Cloud Armor policies. Previously, alpha and + /// beta versions of this API were used to modify firewall policies. This usage is now disabled for most + /// organizations. Use firewallPolicies.move instead. /// public class MoveRequest : ComputeBaseServiceRequest { @@ -48017,8 +48045,9 @@ protected override void InitParameters() } /// - /// Patches the specified policy with the data included in the request. Use of this API to modify firewall - /// policies is deprecated. Use firewallPolicies.patch instead. + /// Patches the specified policy with the data included in the request. Use this API to modify Cloud Armor + /// policies. Previously, alpha and beta versions of this API were used to modify firewall policies. This usage + /// is now disabled for most organizations. Use firewallPolicies.patch instead. /// /// The body of the request. /// Name of the security policy to update. @@ -48028,8 +48057,9 @@ public virtual PatchRequest Patch(Google.Apis.Compute.v1.Data.SecurityPolicy bod } /// - /// Patches the specified policy with the data included in the request. Use of this API to modify firewall - /// policies is deprecated. Use firewallPolicies.patch instead. + /// Patches the specified policy with the data included in the request. Use this API to modify Cloud Armor + /// policies. Previously, alpha and beta versions of this API were used to modify firewall policies. This usage + /// is now disabled for most organizations. Use firewallPolicies.patch instead. /// public class PatchRequest : ComputeBaseServiceRequest { @@ -48096,8 +48126,9 @@ protected override void InitParameters() } /// - /// Patches a rule at the specified priority. Use of this API to modify firewall policies is deprecated. Use - /// firewallPolicies.patchRule instead. + /// Patches a rule at the specified priority. Use this API to modify Cloud Armor policies. Previously, alpha + /// and beta versions of this API were used to modify firewall policies. This usage is now disabled for most + /// organizations. Use firewallPolicies.patchRule instead. /// /// The body of the request. /// Name of the security policy to update. @@ -48107,8 +48138,9 @@ public virtual PatchRuleRequest PatchRule(Google.Apis.Compute.v1.Data.SecurityPo } /// - /// Patches a rule at the specified priority. Use of this API to modify firewall policies is deprecated. Use - /// firewallPolicies.patchRule instead. + /// Patches a rule at the specified priority. Use this API to modify Cloud Armor policies. Previously, alpha + /// and beta versions of this API were used to modify firewall policies. This usage is now disabled for most + /// organizations. Use firewallPolicies.patchRule instead. /// public class PatchRuleRequest : ComputeBaseServiceRequest { @@ -48187,8 +48219,9 @@ protected override void InitParameters() } /// - /// Removes an association for the specified security policy. Use of this API to modify firewall policies is - /// deprecated. Use firewallPolicies.removeAssociation instead if possible. + /// Removes an association for the specified security policy. Use this API to modify Cloud Armor policies. + /// Previously, alpha and beta versions of this API were used to modify firewall policies. This usage is now + /// disabled for most organizations. Use firewallPolicies.removeAssociation instead. /// /// Name of the security policy to update. public virtual RemoveAssociationRequest RemoveAssociation(string securityPolicy) @@ -48197,8 +48230,9 @@ public virtual RemoveAssociationRequest RemoveAssociation(string securityPolicy) } /// - /// Removes an association for the specified security policy. Use of this API to modify firewall policies is - /// deprecated. Use firewallPolicies.removeAssociation instead if possible. + /// Removes an association for the specified security policy. Use this API to modify Cloud Armor policies. + /// Previously, alpha and beta versions of this API were used to modify firewall policies. This usage is now + /// disabled for most organizations. Use firewallPolicies.removeAssociation instead. /// public class RemoveAssociationRequest : ComputeBaseServiceRequest { @@ -48269,14 +48303,22 @@ protected override void InitParameters() } } - /// Deletes a rule at the specified priority. + /// + /// Deletes a rule at the specified priority. Use this API to modify Cloud Armor policies. Previously, alpha + /// and beta versions of this API were used to modify firewall policies. This usage is now disabled for most + /// organizations. Use firewallPolicies.removeRule instead. + /// /// Name of the security policy to update. public virtual RemoveRuleRequest RemoveRule(string securityPolicy) { return new RemoveRuleRequest(this.service, securityPolicy); } - /// Deletes a rule at the specified priority. + /// + /// Deletes a rule at the specified priority. Use this API to modify Cloud Armor policies. Previously, alpha + /// and beta versions of this API were used to modify firewall policies. This usage is now disabled for most + /// organizations. Use firewallPolicies.removeRule instead. + /// public class RemoveRuleRequest : ComputeBaseServiceRequest { /// Constructs a new RemoveRule request. @@ -107180,7 +107222,8 @@ public class HttpHeaderMatch : Google.Apis.Requests.IDirectResponseSchema /// regular expression syntax, see Syntax. For matching against a port specified in the HTTP request, use a /// headerMatch with headerName set to PORT and a regular expression that satisfies the RFC2616 Host header's /// port specifier. Only one of exactMatch, prefixMatch,suffixMatch, regexMatch,presentMatch or rangeMatch must - /// be set. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED. + /// be set. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED, + /// EXTERNAL_MANAGED orINTERNAL_MANAGED. /// [Newtonsoft.Json.JsonPropertyAttribute("regexMatch")] public virtual string RegexMatch { get; set; } @@ -107415,7 +107458,7 @@ public class HttpQueryParameterMatch : Google.Apis.Requests.IDirectResponseSchem /// The queryParameterMatch matches if the value of the parameter matches the regular expression specified /// byregexMatch. For more information about regular expression syntax, see Syntax. Only one of presentMatch, /// exactMatch, orregexMatch must be set. Regular expressions can only be used when the loadBalancingScheme is - /// set to INTERNAL_SELF_MANAGED. + /// set to INTERNAL_SELF_MANAGED, EXTERNAL_MANAGED orINTERNAL_MANAGED. /// [Newtonsoft.Json.JsonPropertyAttribute("regexMatch")] public virtual string RegexMatch { get; set; } @@ -107711,8 +107754,8 @@ public class HttpRouteRuleMatch : Google.Apis.Requests.IDirectResponseSchema /// /// For satisfying the matchRule condition, the path of the request must exactly match the value specified /// infullPathMatch after removing any query parameters and anchor that may be part of the original URL. - /// fullPathMatch must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must - /// be specified. + /// fullPathMatch must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch,regexMatch or + /// path_template_match must be specified. /// [Newtonsoft.Json.JsonPropertyAttribute("fullPathMatch")] public virtual string FullPathMatch { get; set; } @@ -107760,7 +107803,7 @@ public class HttpRouteRuleMatch : Google.Apis.Requests.IDirectResponseSchema /// /// For satisfying the matchRule condition, the request's path must begin with the specified /// prefixMatch.prefixMatch must begin with a /. The value must be from 1 to 1024 characters. Only one of - /// prefixMatch, fullPathMatch or regexMatch must be specified. + /// prefixMatch, fullPathMatch,regexMatch or path_template_match must be specified. specified. /// [Newtonsoft.Json.JsonPropertyAttribute("prefixMatch")] public virtual string PrefixMatch { get; set; } @@ -107775,9 +107818,9 @@ public class HttpRouteRuleMatch : Google.Apis.Requests.IDirectResponseSchema /// /// For satisfying the matchRule condition, the path of the request must satisfy the regular expression /// specified inregexMatch after removing any query parameters and anchor supplied with the original URL. For - /// more information about regular expression syntax, see Syntax. Only one of prefixMatch, fullPathMatch - /// orregexMatch must be specified. Regular expressions can only be used when the loadBalancingScheme is set to - /// INTERNAL_SELF_MANAGED. + /// more information about regular expression syntax, see Syntax. Only one of prefixMatch, + /// fullPathMatch,regexMatch or path_template_match must be specified. Regular expressions can only be used + /// when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED, EXTERNAL_MANAGED orINTERNAL_MANAGED. /// [Newtonsoft.Json.JsonPropertyAttribute("regexMatch")] public virtual string RegexMatch { get; set; } @@ -127978,6 +128021,10 @@ public class SecurityPolicy : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } + /// [Output Only] The parent of the security policy. + [Newtonsoft.Json.JsonPropertyAttribute("parent")] + public virtual string Parent { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("recaptchaOptionsConfig")] public virtual SecurityPolicyRecaptchaOptionsConfig RecaptchaOptionsConfig { get; set; } diff --git a/Src/Generated/Google.Apis.Compute.v1/Google.Apis.Compute.v1.csproj b/Src/Generated/Google.Apis.Compute.v1/Google.Apis.Compute.v1.csproj index 3554f55170c..1efcd6a44bb 100644 --- a/Src/Generated/Google.Apis.Compute.v1/Google.Apis.Compute.v1.csproj +++ b/Src/Generated/Google.Apis.Compute.v1/Google.Apis.Compute.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Compute.v1 Client Library - 1.72.0.3944 + 1.72.0.3956 Google LLC Copyright 2025 Google LLC Google From c56d3bfc58fc30ce86f68dd80a2aa05e0f5a0bb7 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:08 +0000 Subject: [PATCH 17/65] feat: Generate Google.Apis.Config.v1 version 1.72.0.3954 --- DiscoveryJson/config.v1.json | 4 ++-- .../Google.Apis.Config.v1/Google.Apis.Config.v1.cs | 4 ++-- .../Google.Apis.Config.v1/Google.Apis.Config.v1.csproj | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/DiscoveryJson/config.v1.json b/DiscoveryJson/config.v1.json index 54ed6b1ee95..f2d255e5b19 100644 --- a/DiscoveryJson/config.v1.json +++ b/DiscoveryJson/config.v1.json @@ -144,7 +144,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -1350,7 +1350,7 @@ } } }, - "revision": "20250924", + "revision": "20251029", "rootUrl": "https://config.googleapis.com/", "schemas": { "ApplyResults": { diff --git a/Src/Generated/Google.Apis.Config.v1/Google.Apis.Config.v1.cs b/Src/Generated/Google.Apis.Config.v1/Google.Apis.Config.v1.cs index 8edba1ea6a1..4204cad700e 100644 --- a/Src/Generated/Google.Apis.Config.v1/Google.Apis.Config.v1.cs +++ b/Src/Generated/Google.Apis.Config.v1/Google.Apis.Config.v1.cs @@ -3113,8 +3113,8 @@ public ListRequest(Google.Apis.Services.IClientService service, string name) : b public virtual string Name { get; private set; } /// - /// Optional. Unless explicitly documented otherwise, don't use this unsupported field which is - /// primarily intended for internal usage. + /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented + /// otherwise. This is primarily for internal usage. /// [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } diff --git a/Src/Generated/Google.Apis.Config.v1/Google.Apis.Config.v1.csproj b/Src/Generated/Google.Apis.Config.v1/Google.Apis.Config.v1.csproj index 9684fcc44d8..ce27f2a3d93 100644 --- a/Src/Generated/Google.Apis.Config.v1/Google.Apis.Config.v1.csproj +++ b/Src/Generated/Google.Apis.Config.v1/Google.Apis.Config.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Config.v1 Client Library - 1.71.0.3919 + 1.72.0.3954 Google LLC Copyright 2025 Google LLC Google @@ -59,8 +59,8 @@ - - + + From 3a0f66dbd5643705c2241ab7d44eae540ebf09e2 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:10 +0000 Subject: [PATCH 18/65] feat: Generate Google.Apis.Container.v1 version 1.72.0.3953 --- DiscoveryJson/container.v1.json | 133 ++++++++++++++++- .../Google.Apis.Container.v1.cs | 136 +++++++++++++++++- .../Google.Apis.Container.v1.csproj | 2 +- 3 files changed, 267 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/container.v1.json b/DiscoveryJson/container.v1.json index 74780a1b412..613e59f558f 100644 --- a/DiscoveryJson/container.v1.json +++ b/DiscoveryJson/container.v1.json @@ -2660,7 +2660,7 @@ } } }, - "revision": "20251021", + "revision": "20251028", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -3330,6 +3330,32 @@ }, "type": "object" }, + "CertificateConfig": { + "description": "CertificateConfig configures certificate for the registry.", + "id": "CertificateConfig", + "properties": { + "gcpSecretManagerSecretUri": { + "description": "The URI configures a secret from [Secret Manager](https://cloud.google.com/secret-manager) in the format \"projects/$PROJECT_ID/secrets/$SECRET_NAME/versions/$VERSION\" for global secret or \"projects/$PROJECT_ID/locations/$REGION/secrets/$SECRET_NAME/versions/$VERSION\" for regional secret. Version can be fixed (e.g. \"2\") or \"latest\"", + "type": "string" + } + }, + "type": "object" + }, + "CertificateConfigPair": { + "description": "CertificateConfigPair configures pairs of certificates, which is used for client certificate and key pairs under a registry.", + "id": "CertificateConfigPair", + "properties": { + "cert": { + "$ref": "CertificateConfig", + "description": "Cert configures the client certificate." + }, + "key": { + "$ref": "CertificateConfig", + "description": "Key configures the client private key. Optional." + } + }, + "type": "object" + }, "CheckAutopilotCompatibilityResponse": { "description": "CheckAutopilotCompatibilityResponse has a list of compatibility issues.", "id": "CheckAutopilotCompatibilityResponse", @@ -4407,6 +4433,13 @@ "$ref": "PrivateRegistryAccessConfig", "description": "PrivateRegistryAccessConfig is used to configure access configuration for private container registries." }, + "registryHosts": { + "description": "RegistryHostConfig configures containerd registry host configuration. Each registry_hosts represents a hosts.toml file. At most 25 registry_hosts are allowed.", + "items": { + "$ref": "RegistryHostConfig" + }, + "type": "array" + }, "writableCgroups": { "$ref": "WritableCgroups", "description": "Optional. WritableCgroups defines writable cgroups configuration for the node pool." @@ -5195,6 +5228,66 @@ }, "type": "object" }, + "HostConfig": { + "description": "HostConfig configures the registry host under a given Server.", + "id": "HostConfig", + "properties": { + "ca": { + "description": "CA configures the registry host certificate.", + "items": { + "$ref": "CertificateConfig" + }, + "type": "array" + }, + "capabilities": { + "description": "Capabilities represent the capabilities of the registry host, specifying what operations a host is capable of performing. If not set, containerd enables all capabilities by default.", + "items": { + "enum": [ + "HOST_CAPABILITY_UNSPECIFIED", + "HOST_CAPABILITY_PULL", + "HOST_CAPABILITY_RESOLVE", + "HOST_CAPABILITY_PUSH" + ], + "enumDescriptions": [ + "UNKNOWN should never be set.", + "Pull represents the capability to fetch manifests and blobs by digest.", + "Resolve represents the capability to fetch manifests by name.", + "Push represents the capability to push blobs and manifests." + ], + "type": "string" + }, + "type": "array" + }, + "client": { + "description": "Client configures the registry host client certificate and key.", + "items": { + "$ref": "CertificateConfigPair" + }, + "type": "array" + }, + "dialTimeout": { + "description": "Specifies the maximum duration allowed for a connection attempt to complete. A shorter timeout helps reduce delays when falling back to the original registry if the mirror is unreachable. Maximum allowed value is 180s. If not set, containerd sets default 30s. The value should be a decimal number of seconds with an `s` suffix.", + "format": "google-duration", + "type": "string" + }, + "header": { + "description": "Header configures the registry host headers.", + "items": { + "$ref": "RegistryHeader" + }, + "type": "array" + }, + "host": { + "description": "Host configures the registry host/mirror. It supports fully qualified domain names (FQDN) and IP addresses: Specifying port is supported. Wildcards are NOT supported. Examples: - my.customdomain.com - 10.0.1.2:5000", + "type": "string" + }, + "overridePath": { + "description": "OverridePath is used to indicate the host's API root endpoint is defined in the URL path rather than by the API specification. This may be used with non-compliant OCI registries which are missing the /v2 prefix. If not set, containerd sets default false.", + "type": "boolean" + } + }, + "type": "object" + }, "HttpCacheControlResponseHeader": { "description": "RFC-2616: cache control support", "id": "HttpCacheControlResponseHeader", @@ -5756,7 +5849,7 @@ "properties": { "enableLegacyLustrePort": { "deprecated": true, - "description": "If set to true, the Lustre CSI driver will install Lustre kernel modules using port 6988. This serves as a workaround for a port conflict with the gke-metadata-server. This field is required ONLY under the following conditions: 1. The GKE node version is older than 1.33.2-gke.4655000. 2. You're connecting to a Lustre instance that has the 'gke-support-enabled' flag.", + "description": "If set to true, the Lustre CSI driver will install Lustre kernel modules using port 6988. This serves as a workaround for a port conflict with the gke-metadata-server. This field is required ONLY under the following conditions: 1. The GKE node version is older than 1.33.2-gke.4655000. 2. You're connecting to a Lustre instance that has the 'gke-support-enabled' flag. Deprecated: This flag is no longer required as of GKE node version 1.33.2-gke.4655000, unless you are connecting to a Lustre instance that has the `gke-support-enabled` flag.", "type": "boolean" }, "enabled": { @@ -7621,6 +7714,42 @@ }, "type": "object" }, + "RegistryHeader": { + "description": "RegistryHeader configures headers for the registry.", + "id": "RegistryHeader", + "properties": { + "key": { + "description": "Key configures the header key.", + "type": "string" + }, + "value": { + "description": "Value configures the header value.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "RegistryHostConfig": { + "description": "RegistryHostConfig configures the top-level structure for a single containerd registry server's configuration, which represents one hosts.toml file on the node. It will override the same fqdns in PrivateRegistryAccessConfig.", + "id": "RegistryHostConfig", + "properties": { + "hosts": { + "description": "HostConfig configures a list of host-specific configurations for the server. Each server can have at most 10 host configurations.", + "items": { + "$ref": "HostConfig" + }, + "type": "array" + }, + "server": { + "description": "Defines the host name of the registry server, which will be used to create configuration file as /etc/containerd/hosts.d//hosts.toml. It supports fully qualified domain names (FQDN) and IP addresses: Specifying port is supported. Wildcards are NOT supported. Examples: - my.customdomain.com - 10.0.1.2:5000", + "type": "string" + } + }, + "type": "object" + }, "ReleaseChannel": { "description": "ReleaseChannel indicates which release channel a cluster is subscribed to. Release channels are arranged in order of risk. When a cluster is subscribed to a release channel, Google maintains both the master version and the node version. Node auto-upgrade defaults to true and cannot be disabled.", "id": "ReleaseChannel", diff --git a/Src/Generated/Google.Apis.Container.v1/Google.Apis.Container.v1.cs b/Src/Generated/Google.Apis.Container.v1/Google.Apis.Container.v1.cs index 0de00924b9a..21c1b4761b4 100644 --- a/Src/Generated/Google.Apis.Container.v1/Google.Apis.Container.v1.cs +++ b/Src/Generated/Google.Apis.Container.v1/Google.Apis.Container.v1.cs @@ -7185,6 +7185,40 @@ public class CertificateAuthorityDomainConfig : Google.Apis.Requests.IDirectResp public virtual string ETag { get; set; } } + /// CertificateConfig configures certificate for the registry. + public class CertificateConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The URI configures a secret from [Secret Manager](https://cloud.google.com/secret-manager) in the format + /// "projects/$PROJECT_ID/secrets/$SECRET_NAME/versions/$VERSION" for global secret or + /// "projects/$PROJECT_ID/locations/$REGION/secrets/$SECRET_NAME/versions/$VERSION" for regional secret. Version + /// can be fixed (e.g. "2") or "latest" + /// + [Newtonsoft.Json.JsonPropertyAttribute("gcpSecretManagerSecretUri")] + public virtual string GcpSecretManagerSecretUri { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// CertificateConfigPair configures pairs of certificates, which is used for client certificate and key pairs under + /// a registry. + /// + public class CertificateConfigPair : Google.Apis.Requests.IDirectResponseSchema + { + /// Cert configures the client certificate. + [Newtonsoft.Json.JsonPropertyAttribute("cert")] + public virtual CertificateConfig Cert { get; set; } + + /// Key configures the client private key. Optional. + [Newtonsoft.Json.JsonPropertyAttribute("key")] + public virtual CertificateConfig Key { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// CheckAutopilotCompatibilityResponse has a list of compatibility issues. public class CheckAutopilotCompatibilityResponse : Google.Apis.Requests.IDirectResponseSchema { @@ -8308,6 +8342,13 @@ public class ContainerdConfig : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("privateRegistryAccessConfig")] public virtual PrivateRegistryAccessConfig PrivateRegistryAccessConfig { get; set; } + /// + /// RegistryHostConfig configures containerd registry host configuration. Each registry_hosts represents a + /// hosts.toml file. At most 25 registry_hosts are allowed. + /// + [Newtonsoft.Json.JsonPropertyAttribute("registryHosts")] + public virtual System.Collections.Generic.IList RegistryHosts { get; set; } + /// Optional. WritableCgroups defines writable cgroups configuration for the node pool. [Newtonsoft.Json.JsonPropertyAttribute("writableCgroups")] public virtual WritableCgroups WritableCgroups { get; set; } @@ -9089,6 +9130,56 @@ public class HorizontalPodAutoscaling : Google.Apis.Requests.IDirectResponseSche public virtual string ETag { get; set; } } + /// HostConfig configures the registry host under a given Server. + public class HostConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// CA configures the registry host certificate. + [Newtonsoft.Json.JsonPropertyAttribute("ca")] + public virtual System.Collections.Generic.IList Ca { get; set; } + + /// + /// Capabilities represent the capabilities of the registry host, specifying what operations a host is capable + /// of performing. If not set, containerd enables all capabilities by default. + /// + [Newtonsoft.Json.JsonPropertyAttribute("capabilities")] + public virtual System.Collections.Generic.IList Capabilities { get; set; } + + /// Client configures the registry host client certificate and key. + [Newtonsoft.Json.JsonPropertyAttribute("client")] + public virtual System.Collections.Generic.IList Client { get; set; } + + /// + /// Specifies the maximum duration allowed for a connection attempt to complete. A shorter timeout helps reduce + /// delays when falling back to the original registry if the mirror is unreachable. Maximum allowed value is + /// 180s. If not set, containerd sets default 30s. The value should be a decimal number of seconds with an `s` + /// suffix. + /// + [Newtonsoft.Json.JsonPropertyAttribute("dialTimeout")] + public virtual object DialTimeout { get; set; } + + /// Header configures the registry host headers. + [Newtonsoft.Json.JsonPropertyAttribute("header")] + public virtual System.Collections.Generic.IList Header { get; set; } + + /// + /// Host configures the registry host/mirror. It supports fully qualified domain names (FQDN) and IP addresses: + /// Specifying port is supported. Wildcards are NOT supported. Examples: - my.customdomain.com - 10.0.1.2:5000 + /// + [Newtonsoft.Json.JsonPropertyAttribute("host")] + public virtual string Host { get; set; } + + /// + /// OverridePath is used to indicate the host's API root endpoint is defined in the URL path rather than by the + /// API specification. This may be used with non-compliant OCI registries which are missing the /v2 prefix. If + /// not set, containerd sets default false. + /// + [Newtonsoft.Json.JsonPropertyAttribute("overridePath")] + public virtual System.Nullable OverridePath { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// RFC-2616: cache control support public class HttpCacheControlResponseHeader : Google.Apis.Requests.IDirectResponseSchema { @@ -9661,7 +9752,9 @@ public class LustreCsiDriverConfig : Google.Apis.Requests.IDirectResponseSchema /// If set to true, the Lustre CSI driver will install Lustre kernel modules using port 6988. This serves as a /// workaround for a port conflict with the gke-metadata-server. This field is required ONLY under the following /// conditions: 1. The GKE node version is older than 1.33.2-gke.4655000. 2. You're connecting to a Lustre - /// instance that has the 'gke-support-enabled' flag. + /// instance that has the 'gke-support-enabled' flag. Deprecated: This flag is no longer required as of GKE node + /// version 1.33.2-gke.4655000, unless you are connecting to a Lustre instance that has the + /// `gke-support-enabled` flag. /// [Newtonsoft.Json.JsonPropertyAttribute("enableLegacyLustrePort")] public virtual System.Nullable EnableLegacyLustrePort { get; set; } @@ -11588,6 +11681,47 @@ public class RecurringTimeWindow : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// RegistryHeader configures headers for the registry. + public class RegistryHeader : Google.Apis.Requests.IDirectResponseSchema + { + /// Key configures the header key. + [Newtonsoft.Json.JsonPropertyAttribute("key")] + public virtual string Key { get; set; } + + /// Value configures the header value. + [Newtonsoft.Json.JsonPropertyAttribute("value")] + public virtual System.Collections.Generic.IList Value { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// RegistryHostConfig configures the top-level structure for a single containerd registry server's configuration, + /// which represents one hosts.toml file on the node. It will override the same fqdns in + /// PrivateRegistryAccessConfig. + /// + public class RegistryHostConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// HostConfig configures a list of host-specific configurations for the server. Each server can have at most 10 + /// host configurations. + /// + [Newtonsoft.Json.JsonPropertyAttribute("hosts")] + public virtual System.Collections.Generic.IList Hosts { get; set; } + + /// + /// Defines the host name of the registry server, which will be used to create configuration file as + /// /etc/containerd/hosts.d//hosts.toml. It supports fully qualified domain names (FQDN) and IP addresses: + /// Specifying port is supported. Wildcards are NOT supported. Examples: - my.customdomain.com - 10.0.1.2:5000 + /// + [Newtonsoft.Json.JsonPropertyAttribute("server")] + public virtual string Server { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// /// ReleaseChannel indicates which release channel a cluster is subscribed to. Release channels are arranged in /// order of risk. When a cluster is subscribed to a release channel, Google maintains both the master version and diff --git a/Src/Generated/Google.Apis.Container.v1/Google.Apis.Container.v1.csproj b/Src/Generated/Google.Apis.Container.v1/Google.Apis.Container.v1.csproj index 76600f20918..2067e5a99b3 100644 --- a/Src/Generated/Google.Apis.Container.v1/Google.Apis.Container.v1.csproj +++ b/Src/Generated/Google.Apis.Container.v1/Google.Apis.Container.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Container.v1 Client Library - 1.72.0.3946 + 1.72.0.3953 Google LLC Copyright 2025 Google LLC Google From ae555ad1edbb69bf83087ad9d743f627db4bc609 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:12 +0000 Subject: [PATCH 19/65] feat: Generate Google.Apis.Container.v1beta1 version 1.72.0.3953 --- DiscoveryJson/container.v1beta1.json | 306 +++++++++++- .../Google.Apis.Container.v1beta1.cs | 455 +++++++++++++++++- .../Google.Apis.Container.v1beta1.csproj | 2 +- 3 files changed, 758 insertions(+), 5 deletions(-) diff --git a/DiscoveryJson/container.v1beta1.json b/DiscoveryJson/container.v1beta1.json index 5156d111932..a3c951ce27e 100644 --- a/DiscoveryJson/container.v1beta1.json +++ b/DiscoveryJson/container.v1beta1.json @@ -249,6 +249,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "completeControlPlaneUpgrade": { + "description": "CompleteControlPlaneUpgrade completes the rollback-safe upgrade by performing the step two upgrade for a specific cluster.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:completeControlPlaneUpgrade", + "httpMethod": "POST", + "id": "container.projects.locations.clusters.completeControlPlaneUpgrade", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name (project, location, cluster) of the cluster to complete upgrade. Specified in the format `projects/*/locations/*/clusters/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:completeControlPlaneUpgrade", + "request": { + "$ref": "CompleteControlPlaneUpgradeRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "completeIpRotation": { "description": "Completes master IP rotation.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:completeIpRotation", @@ -1415,6 +1443,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "completeControlPlaneUpgrade": { + "description": "CompleteControlPlaneUpgrade completes the rollback-safe upgrade by performing the step two upgrade for a specific cluster.", + "flatPath": "v1beta1/projects/{projectsId}/zones/{zonesId}/clusters/{clustersId}:completeControlPlaneUpgrade", + "httpMethod": "POST", + "id": "container.projects.zones.clusters.completeControlPlaneUpgrade", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name (project, location, cluster) of the cluster to complete upgrade. Specified in the format `projects/*/locations/*/clusters/*`.", + "location": "path", + "pattern": "^projects/[^/]+/zones/[^/]+/clusters/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:completeControlPlaneUpgrade", + "request": { + "$ref": "CompleteControlPlaneUpgradeRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "completeIpRotation": { "description": "Completes master IP rotation.", "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:completeIpRotation", @@ -2685,7 +2741,7 @@ } } }, - "revision": "20251021", + "revision": "20251028", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -2871,6 +2927,10 @@ "$ref": "ParallelstoreCsiDriverConfig", "description": "Configuration for the Cloud Storage Parallelstore CSI driver." }, + "podSnapshotConfig": { + "$ref": "PodSnapshotConfig", + "description": "Configuration for the Pod Snapshot feature." + }, "rayOperatorConfig": { "$ref": "RayOperatorConfig", "description": "Optional. Configuration for Ray Operator addon." @@ -3442,6 +3502,32 @@ }, "type": "object" }, + "CertificateConfig": { + "description": "CertificateConfig configures certificate for the registry.", + "id": "CertificateConfig", + "properties": { + "gcpSecretManagerSecretUri": { + "description": "The URI configures a secret from [Secret Manager](https://cloud.google.com/secret-manager) in the format \"projects/$PROJECT_ID/secrets/$SECRET_NAME/versions/$VERSION\" for global secret or \"projects/$PROJECT_ID/locations/$REGION/secrets/$SECRET_NAME/versions/$VERSION\" for regional secret. Version can be fixed (e.g. \"2\") or \"latest\"", + "type": "string" + } + }, + "type": "object" + }, + "CertificateConfigPair": { + "description": "CertificateConfigPair configures pairs of certificates, which is used for client certificate and key pairs under a registry.", + "id": "CertificateConfigPair", + "properties": { + "cert": { + "$ref": "CertificateConfig", + "description": "Cert configures the client certificate." + }, + "key": { + "$ref": "CertificateConfig", + "description": "Key configures the client private key. Optional." + } + }, + "type": "object" + }, "CheckAutopilotCompatibilityResponse": { "description": "CheckAutopilotCompatibilityResponse has a list of compatibility issues.", "id": "CheckAutopilotCompatibilityResponse", @@ -3582,6 +3668,11 @@ "readOnly": true, "type": "string" }, + "currentEmulatedVersion": { + "description": "Output only. The current emulated version of the master endpoint. The version is in minor version format, e.g. 1.30. No value or empty string means the cluster has no emulated version.", + "readOnly": true, + "type": "string" + }, "currentMasterVersion": { "description": "Output only. The current software version of the master endpoint.", "readOnly": true, @@ -3837,6 +3928,10 @@ "$ref": "ResourceUsageExportConfig", "description": "Configuration for exporting resource usages. Resource usage export is disabled when this config unspecified." }, + "rollbackSafeUpgrade": { + "$ref": "RollbackSafeUpgrade", + "description": "The rollback safe upgrade information of the cluster. This field is used when user manually triggers a rollback safe upgrade." + }, "satisfiesPzi": { "description": "Output only. Reserved for future use.", "readOnly": true, @@ -4339,6 +4434,10 @@ "$ref": "ResourceUsageExportConfig", "description": "The desired configuration for exporting resource usage." }, + "desiredRollbackSafeUpgrade": { + "$ref": "RollbackSafeUpgrade", + "description": "The desired rollback safe upgrade configuration." + }, "desiredSecretManagerConfig": { "$ref": "SecretManagerConfig", "description": "Enable/Disable Secret Manager Config." @@ -4491,6 +4590,10 @@ }, "type": "array" }, + "rollbackSafeUpgradeStatus": { + "$ref": "RollbackSafeUpgradeStatus", + "description": "The cluster's rollback-safe upgrade status." + }, "upgradeDetails": { "description": "The list of past auto upgrades.", "items": { @@ -4501,6 +4604,35 @@ }, "type": "object" }, + "CompatibilityStatus": { + "description": "CompatibilityStatus is the status regarding the control plane's compatibility.", + "id": "CompatibilityStatus", + "properties": { + "downgradableVersion": { + "description": "Output only. The GKE version that the cluster can be safely downgraded to if the cluster is emulating the previous minor version. It is usually the cluster's previous version before a minor version upgrade.", + "readOnly": true, + "type": "string" + }, + "emulatedVersionTime": { + "description": "Output only. Last time the control plane became available after a minor version binary upgrade with emulated version set. It indicates the last time the cluster entered the rollback safe mode.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CompleteControlPlaneUpgradeRequest": { + "description": "CompleteControlPlaneUpgradeRequest sets the name of target cluster to complete upgrade.", + "id": "CompleteControlPlaneUpgradeRequest", + "properties": { + "version": { + "description": "API request version that initiates this operation.", + "type": "string" + } + }, + "type": "object" + }, "CompleteIPRotationRequest": { "description": "CompleteIPRotationRequest moves the cluster master back into single-IP mode.", "id": "CompleteIPRotationRequest", @@ -4629,6 +4761,13 @@ "$ref": "PrivateRegistryAccessConfig", "description": "PrivateRegistryAccessConfig is used to configure access configuration for private container registries." }, + "registryHosts": { + "description": "RegistryHostConfig configures containerd registry host configuration. Each registry_hosts represents a hosts.toml file. At most 25 registry_hosts are allowed.", + "items": { + "$ref": "RegistryHostConfig" + }, + "type": "array" + }, "writableCgroups": { "$ref": "WritableCgroups", "description": "Optional. WritableCgroups defines writable cgroups configuration for the node pool." @@ -5491,6 +5630,66 @@ }, "type": "object" }, + "HostConfig": { + "description": "HostConfig configures the registry host under a given Server.", + "id": "HostConfig", + "properties": { + "ca": { + "description": "CA configures the registry host certificate.", + "items": { + "$ref": "CertificateConfig" + }, + "type": "array" + }, + "capabilities": { + "description": "Capabilities represent the capabilities of the registry host, specifying what operations a host is capable of performing. If not set, containerd enables all capabilities by default.", + "items": { + "enum": [ + "HOST_CAPABILITY_UNSPECIFIED", + "HOST_CAPABILITY_PULL", + "HOST_CAPABILITY_RESOLVE", + "HOST_CAPABILITY_PUSH" + ], + "enumDescriptions": [ + "UNKNOWN should never be set.", + "Pull represents the capability to fetch manifests and blobs by digest.", + "Resolve represents the capability to fetch manifests by name.", + "Push represents the capability to push blobs and manifests." + ], + "type": "string" + }, + "type": "array" + }, + "client": { + "description": "Client configures the registry host client certificate and key.", + "items": { + "$ref": "CertificateConfigPair" + }, + "type": "array" + }, + "dialTimeout": { + "description": "Specifies the maximum duration allowed for a connection attempt to complete. A shorter timeout helps reduce delays when falling back to the original registry if the mirror is unreachable. Maximum allowed value is 180s. If not set, containerd sets default 30s. The value should be a decimal number of seconds with an `s` suffix.", + "format": "google-duration", + "type": "string" + }, + "header": { + "description": "Header configures the registry host headers.", + "items": { + "$ref": "RegistryHeader" + }, + "type": "array" + }, + "host": { + "description": "Host configures the registry host/mirror. It supports fully qualified domain names (FQDN) and IP addresses: Specifying port is supported. Wildcards are NOT supported. Examples: - my.customdomain.com - 10.0.1.2:5000", + "type": "string" + }, + "overridePath": { + "description": "OverridePath is used to indicate the host's API root endpoint is defined in the URL path rather than by the API specification. This may be used with non-compliant OCI registries which are missing the /v2 prefix. If not set, containerd sets default false.", + "type": "boolean" + } + }, + "type": "object" + }, "HostMaintenancePolicy": { "description": "HostMaintenancePolicy contains the maintenance policy for the hosts on which the GKE VMs run on.", "id": "HostMaintenancePolicy", @@ -6169,7 +6368,7 @@ "properties": { "enableLegacyLustrePort": { "deprecated": true, - "description": "If set to true, the Lustre CSI driver will install Lustre kernel modules using port 6988. This serves as a workaround for a port conflict with the gke-metadata-server. This field is required ONLY under the following conditions: 1. The GKE node version is older than 1.33.2-gke.4655000. 2. You're connecting to a Lustre instance that has the 'gke-support-enabled' flag.", + "description": "If set to true, the Lustre CSI driver will install Lustre kernel modules using port 6988. This serves as a workaround for a port conflict with the gke-metadata-server. This field is required ONLY under the following conditions: 1. The GKE node version is older than 1.33.2-gke.4655000. 2. You're connecting to a Lustre instance that has the 'gke-support-enabled' flag. Deprecated: This flag is no longer required as of GKE node version 1.33.2-gke.4655000, unless you are connecting to a Lustre instance that has the `gke-support-enabled` flag.", "type": "boolean" }, "enabled": { @@ -6267,7 +6466,13 @@ "Master": { "description": "Master is the configuration for components on master.", "id": "Master", - "properties": {}, + "properties": { + "compatibilityStatus": { + "$ref": "CompatibilityStatus", + "description": "Output only. The compatibility status of the control plane. It should be empty if the cluster does not have emulated version. For details, see go/user-initiated-rollbackable-upgrade-design.", + "readOnly": true + } + }, "type": "object" }, "MasterAuth": { @@ -7911,6 +8116,17 @@ }, "type": "object" }, + "PodSnapshotConfig": { + "description": "PodSnapshotConfig is the configuration for GKE Pod Snapshots feature.", + "id": "PodSnapshotConfig", + "properties": { + "enabled": { + "description": "Whether or not the Pod Snapshots feature is enabled.", + "type": "boolean" + } + }, + "type": "object" + }, "PolicyBinding": { "description": "Binauthz policy that applies to this cluster.", "id": "PolicyBinding", @@ -8157,6 +8373,42 @@ }, "type": "object" }, + "RegistryHeader": { + "description": "RegistryHeader configures headers for the registry.", + "id": "RegistryHeader", + "properties": { + "key": { + "description": "Key configures the header key.", + "type": "string" + }, + "value": { + "description": "Value configures the header value.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "RegistryHostConfig": { + "description": "RegistryHostConfig configures the top-level structure for a single containerd registry server's configuration, which represents one hosts.toml file on the node. It will override the same fqdns in PrivateRegistryAccessConfig.", + "id": "RegistryHostConfig", + "properties": { + "hosts": { + "description": "HostConfig configures a list of host-specific configurations for the server. Each server can have at most 10 host configurations.", + "items": { + "$ref": "HostConfig" + }, + "type": "array" + }, + "server": { + "description": "Defines the host name of the registry server, which will be used to create configuration file as /etc/containerd/hosts.d//hosts.toml. It supports fully qualified domain names (FQDN) and IP addresses: Specifying port is supported. Wildcards are NOT supported. Examples: - my.customdomain.com - 10.0.1.2:5000", + "type": "string" + } + }, + "type": "object" + }, "ReleaseChannel": { "description": "ReleaseChannel indicates which release channel a cluster is subscribed to. Release channels are arranged in order of risk. When a cluster is subscribed to a release channel, Google maintains both the master version and the node version. Node auto-upgrade defaults to true and cannot be disabled.", "id": "ReleaseChannel", @@ -8367,6 +8619,46 @@ }, "type": "object" }, + "RollbackSafeUpgrade": { + "description": "RollbackSafeUpgrade is the configuration for the rollback safe upgrade.", + "id": "RollbackSafeUpgrade", + "properties": { + "controlPlaneSoakDuration": { + "description": "A user-defined period for the cluster remains in the rollbackable state. ex: {seconds: 21600}.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "RollbackSafeUpgradeStatus": { + "description": "RollbackSafeUpgradeStatus contains the rollback-safe upgrade status of a cluster.", + "id": "RollbackSafeUpgradeStatus", + "properties": { + "controlPlaneUpgradeRollbackEndTime": { + "description": "The rollback-safe mode expiration time.", + "format": "google-datetime", + "type": "string" + }, + "mode": { + "description": "The mode of the rollback-safe upgrade.", + "enum": [ + "MODE_UNSPECIFIED", + "KCP_MINOR_UPGRADE_ROLLBACK_SAFE_MODE" + ], + "enumDescriptions": [ + "MODE_UNSPECIFIED means it's in regular upgrade mode.", + "KCP_MINOR_UPGRADE_ROLLBACK_SAFE_MODE means it's in rollback-safe mode after a KCP minor version step-one upgrade." + ], + "type": "string" + }, + "previousVersion": { + "description": "The GKE version that the cluster previously used before step-one upgrade.", + "type": "string" + } + }, + "type": "object" + }, "RotationConfig": { "description": "RotationConfig is config for secret manager auto rotation.", "id": "RotationConfig", @@ -9621,6 +9913,10 @@ "format": "google-datetime", "type": "string" }, + "initialEmulatedVersion": { + "description": "The emulated version before the upgrade.", + "type": "string" + }, "initialVersion": { "description": "The version before the upgrade.", "type": "string" @@ -9663,6 +9959,10 @@ "readOnly": true, "type": "string" }, + "targetEmulatedVersion": { + "description": "The emulated version after the upgrade.", + "type": "string" + }, "targetVersion": { "description": "The version after the upgrade.", "type": "string" diff --git a/Src/Generated/Google.Apis.Container.v1beta1/Google.Apis.Container.v1beta1.cs b/Src/Generated/Google.Apis.Container.v1beta1/Google.Apis.Container.v1beta1.cs index cc33e05b481..2bb32f3f03c 100644 --- a/Src/Generated/Google.Apis.Container.v1beta1/Google.Apis.Container.v1beta1.cs +++ b/Src/Generated/Google.Apis.Container.v1beta1/Google.Apis.Container.v1beta1.cs @@ -1417,6 +1417,71 @@ protected override void InitParameters() } } + /// + /// CompleteControlPlaneUpgrade completes the rollback-safe upgrade by performing the step two upgrade + /// for a specific cluster. + /// + /// The body of the request. + /// + /// The name (project, location, cluster) of the cluster to complete upgrade. Specified in the format + /// `projects/*/locations/*/clusters/*`. + /// + public virtual CompleteControlPlaneUpgradeRequest CompleteControlPlaneUpgrade(Google.Apis.Container.v1beta1.Data.CompleteControlPlaneUpgradeRequest body, string name) + { + return new CompleteControlPlaneUpgradeRequest(this.service, body, name); + } + + /// + /// CompleteControlPlaneUpgrade completes the rollback-safe upgrade by performing the step two upgrade + /// for a specific cluster. + /// + public class CompleteControlPlaneUpgradeRequest : ContainerBaseServiceRequest + { + /// Constructs a new CompleteControlPlaneUpgrade request. + public CompleteControlPlaneUpgradeRequest(Google.Apis.Services.IClientService service, Google.Apis.Container.v1beta1.Data.CompleteControlPlaneUpgradeRequest body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// The name (project, location, cluster) of the cluster to complete upgrade. Specified in the + /// format `projects/*/locations/*/clusters/*`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.Container.v1beta1.Data.CompleteControlPlaneUpgradeRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "completeControlPlaneUpgrade"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+name}:completeControlPlaneUpgrade"; + + /// Initializes CompleteControlPlaneUpgrade parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + }); + } + } + /// Completes master IP rotation. /// The body of the request. /// @@ -4389,6 +4454,71 @@ protected override void InitParameters() } } + /// + /// CompleteControlPlaneUpgrade completes the rollback-safe upgrade by performing the step two upgrade + /// for a specific cluster. + /// + /// The body of the request. + /// + /// The name (project, location, cluster) of the cluster to complete upgrade. Specified in the format + /// `projects/*/locations/*/clusters/*`. + /// + public virtual CompleteControlPlaneUpgradeRequest CompleteControlPlaneUpgrade(Google.Apis.Container.v1beta1.Data.CompleteControlPlaneUpgradeRequest body, string name) + { + return new CompleteControlPlaneUpgradeRequest(this.service, body, name); + } + + /// + /// CompleteControlPlaneUpgrade completes the rollback-safe upgrade by performing the step two upgrade + /// for a specific cluster. + /// + public class CompleteControlPlaneUpgradeRequest : ContainerBaseServiceRequest + { + /// Constructs a new CompleteControlPlaneUpgrade request. + public CompleteControlPlaneUpgradeRequest(Google.Apis.Services.IClientService service, Google.Apis.Container.v1beta1.Data.CompleteControlPlaneUpgradeRequest body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// The name (project, location, cluster) of the cluster to complete upgrade. Specified in the + /// format `projects/*/locations/*/clusters/*`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.Container.v1beta1.Data.CompleteControlPlaneUpgradeRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "completeControlPlaneUpgrade"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+name}:completeControlPlaneUpgrade"; + + /// Initializes CompleteControlPlaneUpgrade parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/zones/[^/]+/clusters/[^/]+$", + }); + } + } + /// Completes master IP rotation. /// The body of the request. /// @@ -6736,6 +6866,10 @@ public class AddonsConfig : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("parallelstoreCsiDriverConfig")] public virtual ParallelstoreCsiDriverConfig ParallelstoreCsiDriverConfig { get; set; } + /// Configuration for the Pod Snapshot feature. + [Newtonsoft.Json.JsonPropertyAttribute("podSnapshotConfig")] + public virtual PodSnapshotConfig PodSnapshotConfig { get; set; } + /// Optional. Configuration for Ray Operator addon. [Newtonsoft.Json.JsonPropertyAttribute("rayOperatorConfig")] public virtual RayOperatorConfig RayOperatorConfig { get; set; } @@ -7306,6 +7440,40 @@ public class CertificateAuthorityDomainConfig : Google.Apis.Requests.IDirectResp public virtual string ETag { get; set; } } + /// CertificateConfig configures certificate for the registry. + public class CertificateConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The URI configures a secret from [Secret Manager](https://cloud.google.com/secret-manager) in the format + /// "projects/$PROJECT_ID/secrets/$SECRET_NAME/versions/$VERSION" for global secret or + /// "projects/$PROJECT_ID/locations/$REGION/secrets/$SECRET_NAME/versions/$VERSION" for regional secret. Version + /// can be fixed (e.g. "2") or "latest" + /// + [Newtonsoft.Json.JsonPropertyAttribute("gcpSecretManagerSecretUri")] + public virtual string GcpSecretManagerSecretUri { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// CertificateConfigPair configures pairs of certificates, which is used for client certificate and key pairs under + /// a registry. + /// + public class CertificateConfigPair : Google.Apis.Requests.IDirectResponseSchema + { + /// Cert configures the client certificate. + [Newtonsoft.Json.JsonPropertyAttribute("cert")] + public virtual CertificateConfig Cert { get; set; } + + /// Key configures the client private key. Optional. + [Newtonsoft.Json.JsonPropertyAttribute("key")] + public virtual CertificateConfig Key { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// CheckAutopilotCompatibilityResponse has a list of compatibility issues. public class CheckAutopilotCompatibilityResponse : Google.Apis.Requests.IDirectResponseSchema { @@ -7437,6 +7605,13 @@ public class Cluster : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("createTime")] public virtual string CreateTime { get; set; } + /// + /// Output only. The current emulated version of the master endpoint. The version is in minor version format, + /// e.g. 1.30. No value or empty string means the cluster has no emulated version. + /// + [Newtonsoft.Json.JsonPropertyAttribute("currentEmulatedVersion")] + public virtual string CurrentEmulatedVersion { get; set; } + /// Output only. The current software version of the master endpoint. [Newtonsoft.Json.JsonPropertyAttribute("currentMasterVersion")] public virtual string CurrentMasterVersion { get; set; } @@ -7790,6 +7965,13 @@ public class Cluster : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("resourceUsageExportConfig")] public virtual ResourceUsageExportConfig ResourceUsageExportConfig { get; set; } + /// + /// The rollback safe upgrade information of the cluster. This field is used when user manually triggers a + /// rollback safe upgrade. + /// + [Newtonsoft.Json.JsonPropertyAttribute("rollbackSafeUpgrade")] + public virtual RollbackSafeUpgrade RollbackSafeUpgrade { get; set; } + /// Output only. Reserved for future use. [Newtonsoft.Json.JsonPropertyAttribute("satisfiesPzi")] public virtual System.Nullable SatisfiesPzi { get; set; } @@ -8299,6 +8481,10 @@ public class ClusterUpdate : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("desiredResourceUsageExportConfig")] public virtual ResourceUsageExportConfig DesiredResourceUsageExportConfig { get; set; } + /// The desired rollback safe upgrade configuration. + [Newtonsoft.Json.JsonPropertyAttribute("desiredRollbackSafeUpgrade")] + public virtual RollbackSafeUpgrade DesiredRollbackSafeUpgrade { get; set; } + /// Enable/Disable Secret Manager Config. [Newtonsoft.Json.JsonPropertyAttribute("desiredSecretManagerConfig")] public virtual SecretManagerConfig DesiredSecretManagerConfig { get; set; } @@ -8421,6 +8607,10 @@ public class ClusterUpgradeInfo : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("pausedReason")] public virtual System.Collections.Generic.IList PausedReason { get; set; } + /// The cluster's rollback-safe upgrade status. + [Newtonsoft.Json.JsonPropertyAttribute("rollbackSafeUpgradeStatus")] + public virtual RollbackSafeUpgradeStatus RollbackSafeUpgradeStatus { get; set; } + /// The list of past auto upgrades. [Newtonsoft.Json.JsonPropertyAttribute("upgradeDetails")] public virtual System.Collections.Generic.IList UpgradeDetails { get; set; } @@ -8429,6 +8619,73 @@ public class ClusterUpgradeInfo : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// CompatibilityStatus is the status regarding the control plane's compatibility. + public class CompatibilityStatus : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Output only. The GKE version that the cluster can be safely downgraded to if the cluster is emulating the + /// previous minor version. It is usually the cluster's previous version before a minor version upgrade. + /// + [Newtonsoft.Json.JsonPropertyAttribute("downgradableVersion")] + public virtual string DowngradableVersion { get; set; } + + private string _emulatedVersionTimeRaw; + + private object _emulatedVersionTime; + + /// + /// Output only. Last time the control plane became available after a minor version binary upgrade with emulated + /// version set. It indicates the last time the cluster entered the rollback safe mode. + /// + [Newtonsoft.Json.JsonPropertyAttribute("emulatedVersionTime")] + public virtual string EmulatedVersionTimeRaw + { + get => _emulatedVersionTimeRaw; + set + { + _emulatedVersionTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _emulatedVersionTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use EmulatedVersionTimeDateTimeOffset instead.")] + public virtual object EmulatedVersionTime + { + get => _emulatedVersionTime; + set + { + _emulatedVersionTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _emulatedVersionTime = value; + } + } + + /// + /// representation of . + /// + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? EmulatedVersionTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(EmulatedVersionTimeRaw); + set => EmulatedVersionTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// CompleteControlPlaneUpgradeRequest sets the name of target cluster to complete upgrade. + public class CompleteControlPlaneUpgradeRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// API request version that initiates this operation. + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual string Version { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// CompleteIPRotationRequest moves the cluster master back into single-IP mode. public class CompleteIPRotationRequest : Google.Apis.Requests.IDirectResponseSchema { @@ -8552,6 +8809,13 @@ public class ContainerdConfig : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("privateRegistryAccessConfig")] public virtual PrivateRegistryAccessConfig PrivateRegistryAccessConfig { get; set; } + /// + /// RegistryHostConfig configures containerd registry host configuration. Each registry_hosts represents a + /// hosts.toml file. At most 25 registry_hosts are allowed. + /// + [Newtonsoft.Json.JsonPropertyAttribute("registryHosts")] + public virtual System.Collections.Generic.IList RegistryHosts { get; set; } + /// Optional. WritableCgroups defines writable cgroups configuration for the node pool. [Newtonsoft.Json.JsonPropertyAttribute("writableCgroups")] public virtual WritableCgroups WritableCgroups { get; set; } @@ -9417,6 +9681,56 @@ public class HorizontalPodAutoscaling : Google.Apis.Requests.IDirectResponseSche public virtual string ETag { get; set; } } + /// HostConfig configures the registry host under a given Server. + public class HostConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// CA configures the registry host certificate. + [Newtonsoft.Json.JsonPropertyAttribute("ca")] + public virtual System.Collections.Generic.IList Ca { get; set; } + + /// + /// Capabilities represent the capabilities of the registry host, specifying what operations a host is capable + /// of performing. If not set, containerd enables all capabilities by default. + /// + [Newtonsoft.Json.JsonPropertyAttribute("capabilities")] + public virtual System.Collections.Generic.IList Capabilities { get; set; } + + /// Client configures the registry host client certificate and key. + [Newtonsoft.Json.JsonPropertyAttribute("client")] + public virtual System.Collections.Generic.IList Client { get; set; } + + /// + /// Specifies the maximum duration allowed for a connection attempt to complete. A shorter timeout helps reduce + /// delays when falling back to the original registry if the mirror is unreachable. Maximum allowed value is + /// 180s. If not set, containerd sets default 30s. The value should be a decimal number of seconds with an `s` + /// suffix. + /// + [Newtonsoft.Json.JsonPropertyAttribute("dialTimeout")] + public virtual object DialTimeout { get; set; } + + /// Header configures the registry host headers. + [Newtonsoft.Json.JsonPropertyAttribute("header")] + public virtual System.Collections.Generic.IList Header { get; set; } + + /// + /// Host configures the registry host/mirror. It supports fully qualified domain names (FQDN) and IP addresses: + /// Specifying port is supported. Wildcards are NOT supported. Examples: - my.customdomain.com - 10.0.1.2:5000 + /// + [Newtonsoft.Json.JsonPropertyAttribute("host")] + public virtual string Host { get; set; } + + /// + /// OverridePath is used to indicate the host's API root endpoint is defined in the URL path rather than by the + /// API specification. This may be used with non-compliant OCI registries which are missing the /v2 prefix. If + /// not set, containerd sets default false. + /// + [Newtonsoft.Json.JsonPropertyAttribute("overridePath")] + public virtual System.Nullable OverridePath { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// /// HostMaintenancePolicy contains the maintenance policy for the hosts on which the GKE VMs run on. /// @@ -10089,7 +10403,9 @@ public class LustreCsiDriverConfig : Google.Apis.Requests.IDirectResponseSchema /// If set to true, the Lustre CSI driver will install Lustre kernel modules using port 6988. This serves as a /// workaround for a port conflict with the gke-metadata-server. This field is required ONLY under the following /// conditions: 1. The GKE node version is older than 1.33.2-gke.4655000. 2. You're connecting to a Lustre - /// instance that has the 'gke-support-enabled' flag. + /// instance that has the 'gke-support-enabled' flag. Deprecated: This flag is no longer required as of GKE node + /// version 1.33.2-gke.4655000, unless you are connecting to a Lustre instance that has the + /// `gke-support-enabled` flag. /// [Newtonsoft.Json.JsonPropertyAttribute("enableLegacyLustrePort")] public virtual System.Nullable EnableLegacyLustrePort { get; set; } @@ -10181,6 +10497,13 @@ public class ManagedPrometheusConfig : Google.Apis.Requests.IDirectResponseSchem /// Master is the configuration for components on master. public class Master : Google.Apis.Requests.IDirectResponseSchema { + /// + /// Output only. The compatibility status of the control plane. It should be empty if the cluster does not have + /// emulated version. For details, see go/user-initiated-rollbackable-upgrade-design. + /// + [Newtonsoft.Json.JsonPropertyAttribute("compatibilityStatus")] + public virtual CompatibilityStatus CompatibilityStatus { get; set; } + /// The ETag of the item. public virtual string ETag { get; set; } } @@ -11831,6 +12154,17 @@ public class PodSecurityPolicyConfig : Google.Apis.Requests.IDirectResponseSchem public virtual string ETag { get; set; } } + /// PodSnapshotConfig is the configuration for GKE Pod Snapshots feature. + public class PodSnapshotConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Whether or not the Pod Snapshots feature is enabled. + [Newtonsoft.Json.JsonPropertyAttribute("enabled")] + public virtual System.Nullable Enabled { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Binauthz policy that applies to this cluster. public class PolicyBinding : Google.Apis.Requests.IDirectResponseSchema { @@ -12121,6 +12455,47 @@ public class RecurringTimeWindow : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// RegistryHeader configures headers for the registry. + public class RegistryHeader : Google.Apis.Requests.IDirectResponseSchema + { + /// Key configures the header key. + [Newtonsoft.Json.JsonPropertyAttribute("key")] + public virtual string Key { get; set; } + + /// Value configures the header value. + [Newtonsoft.Json.JsonPropertyAttribute("value")] + public virtual System.Collections.Generic.IList Value { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// RegistryHostConfig configures the top-level structure for a single containerd registry server's configuration, + /// which represents one hosts.toml file on the node. It will override the same fqdns in + /// PrivateRegistryAccessConfig. + /// + public class RegistryHostConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// HostConfig configures a list of host-specific configurations for the server. Each server can have at most 10 + /// host configurations. + /// + [Newtonsoft.Json.JsonPropertyAttribute("hosts")] + public virtual System.Collections.Generic.IList Hosts { get; set; } + + /// + /// Defines the host name of the registry server, which will be used to create configuration file as + /// /etc/containerd/hosts.d//hosts.toml. It supports fully qualified domain names (FQDN) and IP addresses: + /// Specifying port is supported. Wildcards are NOT supported. Examples: - my.customdomain.com - 10.0.1.2:5000 + /// + [Newtonsoft.Json.JsonPropertyAttribute("server")] + public virtual string Server { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// /// ReleaseChannel indicates which release channel a cluster is subscribed to. Release channels are arranged in /// order of risk. When a cluster is subscribed to a release channel, Google maintains both the master version and @@ -12316,6 +12691,76 @@ public class RollbackNodePoolUpgradeRequest : Google.Apis.Requests.IDirectRespon public virtual string ETag { get; set; } } + /// RollbackSafeUpgrade is the configuration for the rollback safe upgrade. + public class RollbackSafeUpgrade : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// A user-defined period for the cluster remains in the rollbackable state. ex: {seconds: 21600}. + /// + [Newtonsoft.Json.JsonPropertyAttribute("controlPlaneSoakDuration")] + public virtual object ControlPlaneSoakDuration { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// RollbackSafeUpgradeStatus contains the rollback-safe upgrade status of a cluster. + public class RollbackSafeUpgradeStatus : Google.Apis.Requests.IDirectResponseSchema + { + private string _controlPlaneUpgradeRollbackEndTimeRaw; + + private object _controlPlaneUpgradeRollbackEndTime; + + /// The rollback-safe mode expiration time. + [Newtonsoft.Json.JsonPropertyAttribute("controlPlaneUpgradeRollbackEndTime")] + public virtual string ControlPlaneUpgradeRollbackEndTimeRaw + { + get => _controlPlaneUpgradeRollbackEndTimeRaw; + set + { + _controlPlaneUpgradeRollbackEndTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _controlPlaneUpgradeRollbackEndTimeRaw = value; + } + } + + /// + /// representation of . + /// + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use ControlPlaneUpgradeRollbackEndTimeDateTimeOffset instead.")] + public virtual object ControlPlaneUpgradeRollbackEndTime + { + get => _controlPlaneUpgradeRollbackEndTime; + set + { + _controlPlaneUpgradeRollbackEndTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _controlPlaneUpgradeRollbackEndTime = value; + } + } + + /// + /// representation of + /// . + /// + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? ControlPlaneUpgradeRollbackEndTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(ControlPlaneUpgradeRollbackEndTimeRaw); + set => ControlPlaneUpgradeRollbackEndTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// The mode of the rollback-safe upgrade. + [Newtonsoft.Json.JsonPropertyAttribute("mode")] + public virtual string Mode { get; set; } + + /// The GKE version that the cluster previously used before step-one upgrade. + [Newtonsoft.Json.JsonPropertyAttribute("previousVersion")] + public virtual string PreviousVersion { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// RotationConfig is config for secret manager auto rotation. public class RotationConfig : Google.Apis.Requests.IDirectResponseSchema { @@ -13835,6 +14280,10 @@ public virtual System.DateTimeOffset? EndTimeDateTimeOffset set => EndTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); } + /// The emulated version before the upgrade. + [Newtonsoft.Json.JsonPropertyAttribute("initialEmulatedVersion")] + public virtual string InitialEmulatedVersion { get; set; } + /// The version before the upgrade. [Newtonsoft.Json.JsonPropertyAttribute("initialVersion")] public virtual string InitialVersion { get; set; } @@ -13884,6 +14333,10 @@ public virtual System.DateTimeOffset? StartTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("state")] public virtual string State { get; set; } + /// The emulated version after the upgrade. + [Newtonsoft.Json.JsonPropertyAttribute("targetEmulatedVersion")] + public virtual string TargetEmulatedVersion { get; set; } + /// The version after the upgrade. [Newtonsoft.Json.JsonPropertyAttribute("targetVersion")] public virtual string TargetVersion { get; set; } diff --git a/Src/Generated/Google.Apis.Container.v1beta1/Google.Apis.Container.v1beta1.csproj b/Src/Generated/Google.Apis.Container.v1beta1/Google.Apis.Container.v1beta1.csproj index ca433fcfb71..2fa2036f7e9 100644 --- a/Src/Generated/Google.Apis.Container.v1beta1/Google.Apis.Container.v1beta1.csproj +++ b/Src/Generated/Google.Apis.Container.v1beta1/Google.Apis.Container.v1beta1.csproj @@ -3,7 +3,7 @@ Google.Apis.Container.v1beta1 Client Library - 1.72.0.3946 + 1.72.0.3953 Google LLC Copyright 2025 Google LLC Google From 5520409d5620d288a88896f13065592a33e314be Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:14 +0000 Subject: [PATCH 20/65] feat: Generate Google.Apis.ShoppingContent.v2_1 version 1.72.0.3960 --- DiscoveryJson/content.v2.1.json | 11 +++++++---- .../Google.Apis.ShoppingContent.v2_1.cs | 6 +++--- .../Google.Apis.ShoppingContent.v2_1.csproj | 6 +++--- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/DiscoveryJson/content.v2.1.json b/DiscoveryJson/content.v2.1.json index edb853bb459..9a1f10bcff9 100644 --- a/DiscoveryJson/content.v2.1.json +++ b/DiscoveryJson/content.v2.1.json @@ -4570,7 +4570,7 @@ } } }, - "revision": "20250921", + "revision": "20251104", "rootUrl": "https://shoppingcontent.googleapis.com/", "schemas": { "Account": { @@ -5358,15 +5358,18 @@ "type": "string" }, "orderManager": { - "description": "Whether user is an order manager.", + "deprecated": true, + "description": "This role is deprecated and can no longer be assigned. Any value set will be ignored.", "type": "boolean" }, "paymentsAnalyst": { - "description": "Whether user can access payment statements.", + "deprecated": true, + "description": "This role is deprecated and can no longer be assigned. Any value set will be ignored.", "type": "boolean" }, "paymentsManager": { - "description": "Whether user can manage payment settings.", + "deprecated": true, + "description": "This role is deprecated and can no longer be assigned. Any value set will be ignored.", "type": "boolean" }, "readOnly": { diff --git a/Src/Generated/Google.Apis.ShoppingContent.v2_1/Google.Apis.ShoppingContent.v2_1.cs b/Src/Generated/Google.Apis.ShoppingContent.v2_1/Google.Apis.ShoppingContent.v2_1.cs index 755ee4a3ac0..31f87a271e0 100644 --- a/Src/Generated/Google.Apis.ShoppingContent.v2_1/Google.Apis.ShoppingContent.v2_1.cs +++ b/Src/Generated/Google.Apis.ShoppingContent.v2_1/Google.Apis.ShoppingContent.v2_1.cs @@ -10836,15 +10836,15 @@ public class AccountUser : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("emailAddress")] public virtual string EmailAddress { get; set; } - /// Whether user is an order manager. + /// This role is deprecated and can no longer be assigned. Any value set will be ignored. [Newtonsoft.Json.JsonPropertyAttribute("orderManager")] public virtual System.Nullable OrderManager { get; set; } - /// Whether user can access payment statements. + /// This role is deprecated and can no longer be assigned. Any value set will be ignored. [Newtonsoft.Json.JsonPropertyAttribute("paymentsAnalyst")] public virtual System.Nullable PaymentsAnalyst { get; set; } - /// Whether user can manage payment settings. + /// This role is deprecated and can no longer be assigned. Any value set will be ignored. [Newtonsoft.Json.JsonPropertyAttribute("paymentsManager")] public virtual System.Nullable PaymentsManager { get; set; } diff --git a/Src/Generated/Google.Apis.ShoppingContent.v2_1/Google.Apis.ShoppingContent.v2_1.csproj b/Src/Generated/Google.Apis.ShoppingContent.v2_1/Google.Apis.ShoppingContent.v2_1.csproj index f88a362971b..2fbaf7e9454 100644 --- a/Src/Generated/Google.Apis.ShoppingContent.v2_1/Google.Apis.ShoppingContent.v2_1.csproj +++ b/Src/Generated/Google.Apis.ShoppingContent.v2_1/Google.Apis.ShoppingContent.v2_1.csproj @@ -3,7 +3,7 @@ Google.Apis.ShoppingContent.v2_1 Client Library - 1.71.0.3916 + 1.72.0.3960 Google LLC Copyright 2025 Google LLC Google @@ -59,8 +59,8 @@ - - + + From 8a37c7f4183ea2be33244be1f24c3be7085d7add Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:16 +0000 Subject: [PATCH 21/65] feat: Generate Google.Apis.Dataflow.v1b3 version 1.72.0.3955 --- DiscoveryJson/dataflow.v1b3.json | 42 ++++++++++++++++++- .../Google.Apis.Dataflow.v1b3.csproj | 2 +- 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/dataflow.v1b3.json b/DiscoveryJson/dataflow.v1b3.json index d68822f268a..46de632ef52 100644 --- a/DiscoveryJson/dataflow.v1b3.json +++ b/DiscoveryJson/dataflow.v1b3.json @@ -34,6 +34,16 @@ "endpointUrl": "https://dataflow.asia-east2.rep.googleapis.com/", "location": "asia-east2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataflow.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataflow.asia-northeast2.rep.googleapis.com/", + "location": "asia-northeast2" + }, { "description": "Regional Endpoint", "endpointUrl": "https://dataflow.asia-northeast3.rep.googleapis.com/", @@ -49,6 +59,16 @@ "endpointUrl": "https://dataflow.asia-south2.rep.googleapis.com/", "location": "asia-south2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataflow.asia-southeast1.rep.googleapis.com/", + "location": "asia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataflow.asia-southeast2.rep.googleapis.com/", + "location": "asia-southeast2" + }, { "description": "Regional Endpoint", "endpointUrl": "https://dataflow.asia-southeast3.rep.googleapis.com/", @@ -74,16 +94,31 @@ "endpointUrl": "https://dataflow.europe-southwest1.rep.googleapis.com/", "location": "europe-southwest1" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataflow.europe-west1.rep.googleapis.com/", + "location": "europe-west1" + }, { "description": "Regional Endpoint", "endpointUrl": "https://dataflow.europe-west10.rep.googleapis.com/", "location": "europe-west10" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataflow.europe-west12.rep.googleapis.com/", + "location": "europe-west12" + }, { "description": "Regional Endpoint", "endpointUrl": "https://dataflow.europe-west3.rep.googleapis.com/", "location": "europe-west3" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataflow.europe-west6.rep.googleapis.com/", + "location": "europe-west6" + }, { "description": "Regional Endpoint", "endpointUrl": "https://dataflow.europe-west8.rep.googleapis.com/", @@ -114,6 +149,11 @@ "endpointUrl": "https://dataflow.northamerica-northeast1.rep.googleapis.com/", "location": "northamerica-northeast1" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataflow.northamerica-northeast2.rep.googleapis.com/", + "location": "northamerica-northeast2" + }, { "description": "Regional Endpoint", "endpointUrl": "https://dataflow.northamerica-south1.rep.googleapis.com/", @@ -2335,7 +2375,7 @@ } } }, - "revision": "20251026", + "revision": "20251030", "rootUrl": "https://dataflow.googleapis.com/", "schemas": { "ApproximateProgress": { diff --git a/Src/Generated/Google.Apis.Dataflow.v1b3/Google.Apis.Dataflow.v1b3.csproj b/Src/Generated/Google.Apis.Dataflow.v1b3/Google.Apis.Dataflow.v1b3.csproj index b08de381591..1d4589912ef 100644 --- a/Src/Generated/Google.Apis.Dataflow.v1b3/Google.Apis.Dataflow.v1b3.csproj +++ b/Src/Generated/Google.Apis.Dataflow.v1b3/Google.Apis.Dataflow.v1b3.csproj @@ -3,7 +3,7 @@ Google.Apis.Dataflow.v1b3 Client Library - 1.72.0.3951 + 1.72.0.3955 Google LLC Copyright 2025 Google LLC Google From 3cab09d18e6afd33ece771dba992f2cc016f3e8f Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:18 +0000 Subject: [PATCH 22/65] feat: Generate Google.Apis.Dataform.v1 version 1.72.0.3958 --- DiscoveryJson/dataform.v1.json | 4 ++-- .../Google.Apis.Dataform.v1/Google.Apis.Dataform.v1.cs | 4 ++-- .../Google.Apis.Dataform.v1/Google.Apis.Dataform.v1.csproj | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/DiscoveryJson/dataform.v1.json b/DiscoveryJson/dataform.v1.json index b2c072809ea..6f44cb61c3d 100644 --- a/DiscoveryJson/dataform.v1.json +++ b/DiscoveryJson/dataform.v1.json @@ -173,7 +173,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -2467,7 +2467,7 @@ } } }, - "revision": "20251007", + "revision": "20251102", "rootUrl": "https://dataform.googleapis.com/", "schemas": { "ActionErrorTable": { diff --git a/Src/Generated/Google.Apis.Dataform.v1/Google.Apis.Dataform.v1.cs b/Src/Generated/Google.Apis.Dataform.v1/Google.Apis.Dataform.v1.cs index b47a428a7bd..6455bc2f0cf 100644 --- a/Src/Generated/Google.Apis.Dataform.v1/Google.Apis.Dataform.v1.cs +++ b/Src/Generated/Google.Apis.Dataform.v1/Google.Apis.Dataform.v1.cs @@ -5161,8 +5161,8 @@ public ListRequest(Google.Apis.Services.IClientService service, string name) : b public virtual string Name { get; private set; } /// - /// Optional. Unless explicitly documented otherwise, don't use this unsupported field which is - /// primarily intended for internal usage. + /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented + /// otherwise. This is primarily for internal usage. /// [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } diff --git a/Src/Generated/Google.Apis.Dataform.v1/Google.Apis.Dataform.v1.csproj b/Src/Generated/Google.Apis.Dataform.v1/Google.Apis.Dataform.v1.csproj index 4bf4adb4659..ec34074d102 100644 --- a/Src/Generated/Google.Apis.Dataform.v1/Google.Apis.Dataform.v1.csproj +++ b/Src/Generated/Google.Apis.Dataform.v1/Google.Apis.Dataform.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Dataform.v1 Client Library - 1.72.0.3932 + 1.72.0.3958 Google LLC Copyright 2025 Google LLC Google From c767bc88dab9293d30ef10db0f0bbf7a28e23a7a Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:19 +0000 Subject: [PATCH 23/65] feat: Generate Google.Apis.Dataform.v1beta1 version 1.72.0.3958 --- DiscoveryJson/dataform.v1beta1.json | 4 ++-- .../Google.Apis.Dataform.v1beta1.cs | 4 ++-- .../Google.Apis.Dataform.v1beta1.csproj | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/DiscoveryJson/dataform.v1beta1.json b/DiscoveryJson/dataform.v1beta1.json index ba1ef714aa9..656e2035cf6 100644 --- a/DiscoveryJson/dataform.v1beta1.json +++ b/DiscoveryJson/dataform.v1beta1.json @@ -173,7 +173,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -2467,7 +2467,7 @@ } } }, - "revision": "20251007", + "revision": "20251102", "rootUrl": "https://dataform.googleapis.com/", "schemas": { "ActionErrorTable": { diff --git a/Src/Generated/Google.Apis.Dataform.v1beta1/Google.Apis.Dataform.v1beta1.cs b/Src/Generated/Google.Apis.Dataform.v1beta1/Google.Apis.Dataform.v1beta1.cs index 76e9df0ccc1..0cad435b8a7 100644 --- a/Src/Generated/Google.Apis.Dataform.v1beta1/Google.Apis.Dataform.v1beta1.cs +++ b/Src/Generated/Google.Apis.Dataform.v1beta1/Google.Apis.Dataform.v1beta1.cs @@ -5161,8 +5161,8 @@ public ListRequest(Google.Apis.Services.IClientService service, string name) : b public virtual string Name { get; private set; } /// - /// Optional. Unless explicitly documented otherwise, don't use this unsupported field which is - /// primarily intended for internal usage. + /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented + /// otherwise. This is primarily for internal usage. /// [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } diff --git a/Src/Generated/Google.Apis.Dataform.v1beta1/Google.Apis.Dataform.v1beta1.csproj b/Src/Generated/Google.Apis.Dataform.v1beta1/Google.Apis.Dataform.v1beta1.csproj index b3744bd8cf7..7dfdc739003 100644 --- a/Src/Generated/Google.Apis.Dataform.v1beta1/Google.Apis.Dataform.v1beta1.csproj +++ b/Src/Generated/Google.Apis.Dataform.v1beta1/Google.Apis.Dataform.v1beta1.csproj @@ -3,7 +3,7 @@ Google.Apis.Dataform.v1beta1 Client Library - 1.72.0.3932 + 1.72.0.3958 Google LLC Copyright 2025 Google LLC Google From ca90b466b6e76675b9adfd06f5f640f3066652fa Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:21 +0000 Subject: [PATCH 24/65] feat: Generate Google.Apis.DataManager.v1 version 1.72.0.3961 --- DiscoveryJson/datamanager.v1.json | 133 +++++++++++++++++- .../Google.Apis.DataManager.v1.cs | 128 +++++++++++++++++ .../Google.Apis.DataManager.v1.csproj | 2 +- 3 files changed, 257 insertions(+), 6 deletions(-) diff --git a/DiscoveryJson/datamanager.v1.json b/DiscoveryJson/datamanager.v1.json index b573ec3a465..dd84e291305 100644 --- a/DiscoveryJson/datamanager.v1.json +++ b/DiscoveryJson/datamanager.v1.json @@ -193,7 +193,7 @@ } } }, - "revision": "20251006", + "revision": "20251105", "rootUrl": "https://datamanager.googleapis.com/", "schemas": { "AdIdentifiers": { @@ -276,6 +276,37 @@ }, "type": "object" }, + "AwsWrappedKeyInfo": { + "description": "A data encryption key wrapped by an AWS KMS key.", + "id": "AwsWrappedKeyInfo", + "properties": { + "encryptedDek": { + "description": "Required. The base64 encoded encrypted data encryption key.", + "type": "string" + }, + "kekUri": { + "description": "Required. The URI of the AWS KMS key used to decrypt the DEK. Should be in the format of \"arn:{partition}:kms:{region}:{account_id}:key/{key_id}\"", + "type": "string" + }, + "keyType": { + "description": "Required. The type of algorithm used to encrypt the data.", + "enum": [ + "KEY_TYPE_UNSPECIFIED", + "XCHACHA20_POLY1305" + ], + "enumDescriptions": [ + "Unspecified key type. Should never be used.", + "Algorithm XChaCha20-Poly1305" + ], + "type": "string" + }, + "roleArn": { + "description": "Required. The Amazon Resource Name of the IAM Role to assume for KMS decryption access. Should be in the format of \"arn:{partition}:iam::{account_id}:role/{role_name}\"", + "type": "string" + } + }, + "type": "object" + }, "CartData": { "description": "The cart data associated with the event.", "id": "CartData", @@ -410,6 +441,10 @@ "description": "Encryption information for the data being ingested.", "id": "EncryptionInfo", "properties": { + "awsWrappedKeyInfo": { + "$ref": "AwsWrappedKeyInfo", + "description": "Amazon Web Services wrapped key information." + }, "gcpWrappedKeyInfo": { "$ref": "GcpWrappedKeyInfo", "description": "Google Cloud Platform wrapped key information." @@ -449,6 +484,7 @@ "PROCESSING_ERROR_REASON_INVALID_KEK", "PROCESSING_ERROR_REASON_WIP_AUTH_FAILED", "PROCESSING_ERROR_REASON_KEK_PERMISSION_DENIED", + "PROCESSING_ERROR_REASON_AWS_AUTH_FAILED", "PROCESSING_ERROR_REASON_USER_IDENTIFIER_DECRYPTION_ERROR", "PROCESSING_ERROR_OPERATING_ACCOUNT_MISMATCH_FOR_AD_IDENTIFIER" ], @@ -478,6 +514,7 @@ "The KEK cannot decrypt data because it is the wrong KEK, or it does not exist.", "The WIP could not be used because it was rejected by its attestation condition.", "The system did not have the permissions needed to access the KEK.", + "The system failed to authenticate with AWS.", "Failed to decrypt the UserIdentifier data using the DEK.", "The user attempted to ingest events with an ad identifier that isn't from the operating account's ads." ], @@ -513,10 +550,21 @@ "$ref": "AdIdentifiers", "description": "Optional. Identifiers and other information used to match the conversion event with other online activity (such as ad clicks)." }, + "additionalEventParameters": { + "description": "Optional. A bucket of any [event parameters](https://developers.google.com/analytics/devguides/collection/protocol/ga4/reference/events) to be included within the event that were not already specified using other structured fields.", + "items": { + "$ref": "EventParameter" + }, + "type": "array" + }, "cartData": { "$ref": "CartData", "description": "Optional. Information about the transaction and items associated with the event." }, + "clientId": { + "description": "Optional. A unique identifier for the user instance of a web client for this GA4 web stream.", + "type": "string" + }, "consent": { "$ref": "Consent", "description": "Optional. Information about whether the associated user has provided different types of consent." @@ -548,6 +596,10 @@ "$ref": "DeviceInfo", "description": "Optional. Information gathered about the device being used (if any) when the event happened." }, + "eventName": { + "description": "Optional. The name of the event. Required for GA4 events.", + "type": "string" + }, "eventSource": { "description": "Optional. Signal for where the event happened (web, app, in-store, etc.).", "enum": [ @@ -593,6 +645,10 @@ "$ref": "UserData", "description": "Optional. Pieces of user provided data, representing the user the event is associated with." }, + "userId": { + "description": "Optional. A unique identifier for a user, as defined by the advertiser.", + "type": "string" + }, "userProperties": { "$ref": "UserProperties", "description": "Optional. Advertiser-assessed information about the user at the time that the event happened." @@ -600,6 +656,21 @@ }, "type": "object" }, + "EventParameter": { + "description": "Event parameter for GA4 events.", + "id": "EventParameter", + "properties": { + "parameterName": { + "description": "Required. The name of the parameter to use.", + "type": "string" + }, + "value": { + "description": "Required. The string representation of the value of the parameter to set.", + "type": "string" + } + }, + "type": "object" + }, "ExperimentalField": { "description": "Experimental field representing unofficial fields.", "id": "ExperimentalField", @@ -882,6 +953,17 @@ "description": "Represents an item in the cart associated with the event.", "id": "Item", "properties": { + "additionalItemParameters": { + "description": "Optional. A bucket of any [event parameters related to an item](https://developers.google.com/analytics/devguides/collection/protocol/ga4/reference/events) to be included within the event that were not already specified using other structured fields.", + "items": { + "$ref": "ItemParameter" + }, + "type": "array" + }, + "itemId": { + "description": "Optional. A unique identifier to reference the item.", + "type": "string" + }, "merchantProductId": { "description": "Optional. The product ID within the Merchant Center account.", "type": "string" @@ -899,6 +981,21 @@ }, "type": "object" }, + "ItemParameter": { + "description": "A bucket of any [event parameters related to an item](https://developers.google.com/analytics/devguides/collection/protocol/ga4/reference/events) to be included within the event that were not already specified using other structured fields.", + "id": "ItemParameter", + "properties": { + "parameterName": { + "description": "Required. The name of the parameter to use.", + "type": "string" + }, + "value": { + "description": "Required. The string representation of the value of the parameter to set.", + "type": "string" + } + }, + "type": "object" + }, "MobileData": { "description": "Mobile IDs for the audience. At least one mobile ID is required.", "id": "MobileData", @@ -942,14 +1039,16 @@ "GOOGLE_ADS", "DISPLAY_VIDEO_PARTNER", "DISPLAY_VIDEO_ADVERTISER", - "DATA_PARTNER" + "DATA_PARTNER", + "GOOGLE_ANALYTICS_PROPERTY" ], "enumDescriptions": [ "Unspecified product. Should never be used.", "Google Ads.", "Display & Video 360 partner.", "Display & Video 360 advertiser.", - "Data Partner." + "Data Partner.", + "Google Analytics." ], "type": "string" }, @@ -1220,6 +1319,13 @@ "description": "Advertiser-assessed information about the user at the time that the event happened. See https://support.google.com/google-ads/answer/14007601 for more details.", "id": "UserProperties", "properties": { + "additionalUserProperties": { + "description": "Optional. A bucket of any additional [user properties](https://developers.google.com/analytics/devguides/collection/protocol/ga4/user-properties) for the user associated with this event.", + "items": { + "$ref": "UserProperty" + }, + "type": "array" + }, "customerType": { "description": "Optional. Type of the customer associated with the event.", "enum": [ @@ -1255,6 +1361,21 @@ }, "type": "object" }, + "UserProperty": { + "description": "A bucket of any additional [user properties](https://developers.google.com/analytics/devguides/collection/protocol/ga4/user-properties) for the user associated with this event.", + "id": "UserProperty", + "properties": { + "propertyName": { + "description": "Required. The name of the user property to use.", + "type": "string" + }, + "value": { + "description": "Required. The string representation of the value of the user property to use.", + "type": "string" + } + }, + "type": "object" + }, "WarningCount": { "description": "The warning count for a given warning reason.", "id": "WarningCount", @@ -1270,7 +1391,8 @@ "PROCESSING_WARNING_REASON_INVALID_WIP", "PROCESSING_WARNING_REASON_INVALID_KEK", "PROCESSING_WARNING_REASON_USER_IDENTIFIER_DECRYPTION_ERROR", - "PROCESSING_WARNING_REASON_INTERNAL_ERROR" + "PROCESSING_WARNING_REASON_INTERNAL_ERROR", + "PROCESSING_WARNING_REASON_AWS_AUTH_FAILED" ], "enumDescriptions": [ "The processing warning reason is unknown.", @@ -1281,7 +1403,8 @@ "The WIP is formatted incorrectly or the WIP does not exist.", "The KEK cannot decrypt data because it is the wrong KEK, or it does not exist.", "Failed to decrypt th UserIdentifier data using the DEK.", - "Internal error." + "Internal error.", + "The system failed to authenticate with AWS." ], "type": "string" }, diff --git a/Src/Generated/Google.Apis.DataManager.v1/Google.Apis.DataManager.v1.cs b/Src/Generated/Google.Apis.DataManager.v1/Google.Apis.DataManager.v1.cs index 45f0d7b357a..0d0b7b90e3d 100644 --- a/Src/Generated/Google.Apis.DataManager.v1/Google.Apis.DataManager.v1.cs +++ b/Src/Generated/Google.Apis.DataManager.v1/Google.Apis.DataManager.v1.cs @@ -574,6 +574,35 @@ public class AudienceMember : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// A data encryption key wrapped by an AWS KMS key. + public class AwsWrappedKeyInfo : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The base64 encoded encrypted data encryption key. + [Newtonsoft.Json.JsonPropertyAttribute("encryptedDek")] + public virtual string EncryptedDek { get; set; } + + /// + /// Required. The URI of the AWS KMS key used to decrypt the DEK. Should be in the format of + /// "arn:{partition}:kms:{region}:{account_id}:key/{key_id}" + /// + [Newtonsoft.Json.JsonPropertyAttribute("kekUri")] + public virtual string KekUri { get; set; } + + /// Required. The type of algorithm used to encrypt the data. + [Newtonsoft.Json.JsonPropertyAttribute("keyType")] + public virtual string KeyType { get; set; } + + /// + /// Required. The Amazon Resource Name of the IAM Role to assume for KMS decryption access. Should be in the + /// format of "arn:{partition}:iam::{account_id}:role/{role_name}" + /// + [Newtonsoft.Json.JsonPropertyAttribute("roleArn")] + public virtual string RoleArn { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// The cart data associated with the event. public class CartData : Google.Apis.Requests.IDirectResponseSchema { @@ -712,6 +741,10 @@ public class DeviceInfo : Google.Apis.Requests.IDirectResponseSchema /// Encryption information for the data being ingested. public class EncryptionInfo : Google.Apis.Requests.IDirectResponseSchema { + /// Amazon Web Services wrapped key information. + [Newtonsoft.Json.JsonPropertyAttribute("awsWrappedKeyInfo")] + public virtual AwsWrappedKeyInfo AwsWrappedKeyInfo { get; set; } + /// Google Cloud Platform wrapped key information. [Newtonsoft.Json.JsonPropertyAttribute("gcpWrappedKeyInfo")] public virtual GcpWrappedKeyInfo GcpWrappedKeyInfo { get; set; } @@ -756,10 +789,24 @@ public class Event : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("adIdentifiers")] public virtual AdIdentifiers AdIdentifiers { get; set; } + /// + /// Optional. A bucket of any [event + /// parameters](https://developers.google.com/analytics/devguides/collection/protocol/ga4/reference/events) to + /// be included within the event that were not already specified using other structured fields. + /// + [Newtonsoft.Json.JsonPropertyAttribute("additionalEventParameters")] + public virtual System.Collections.Generic.IList AdditionalEventParameters { get; set; } + /// Optional. Information about the transaction and items associated with the event. [Newtonsoft.Json.JsonPropertyAttribute("cartData")] public virtual CartData CartData { get; set; } + /// + /// Optional. A unique identifier for the user instance of a web client for this GA4 web stream. + /// + [Newtonsoft.Json.JsonPropertyAttribute("clientId")] + public virtual string ClientId { get; set; } + /// /// Optional. Information about whether the associated user has provided different types of consent. /// @@ -794,6 +841,10 @@ public class Event : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("eventDeviceInfo")] public virtual DeviceInfo EventDeviceInfo { get; set; } + /// Optional. The name of the event. Required for GA4 events. + [Newtonsoft.Json.JsonPropertyAttribute("eventName")] + public virtual string EventName { get; set; } + /// Optional. Signal for where the event happened (web, app, in-store, etc.). [Newtonsoft.Json.JsonPropertyAttribute("eventSource")] public virtual string EventSource { get; set; } @@ -895,6 +946,10 @@ public virtual System.DateTimeOffset? LastUpdatedTimestampDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("userData")] public virtual UserData UserData { get; set; } + /// Optional. A unique identifier for a user, as defined by the advertiser. + [Newtonsoft.Json.JsonPropertyAttribute("userId")] + public virtual string UserId { get; set; } + /// /// Optional. Advertiser-assessed information about the user at the time that the event happened. /// @@ -905,6 +960,21 @@ public virtual System.DateTimeOffset? LastUpdatedTimestampDateTimeOffset public virtual string ETag { get; set; } } + /// Event parameter for GA4 events. + public class EventParameter : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The name of the parameter to use. + [Newtonsoft.Json.JsonPropertyAttribute("parameterName")] + public virtual string ParameterName { get; set; } + + /// Required. The string representation of the value of the parameter to set. + [Newtonsoft.Json.JsonPropertyAttribute("value")] + public virtual string Value { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Experimental field representing unofficial fields. public class ExperimentalField : Google.Apis.Requests.IDirectResponseSchema { @@ -1187,6 +1257,18 @@ public class IngestUserDataStatus : Google.Apis.Requests.IDirectResponseSchema /// Represents an item in the cart associated with the event. public class Item : Google.Apis.Requests.IDirectResponseSchema { + /// + /// Optional. A bucket of any [event parameters related to an + /// item](https://developers.google.com/analytics/devguides/collection/protocol/ga4/reference/events) to be + /// included within the event that were not already specified using other structured fields. + /// + [Newtonsoft.Json.JsonPropertyAttribute("additionalItemParameters")] + public virtual System.Collections.Generic.IList AdditionalItemParameters { get; set; } + + /// Optional. A unique identifier to reference the item. + [Newtonsoft.Json.JsonPropertyAttribute("itemId")] + public virtual string ItemId { get; set; } + /// Optional. The product ID within the Merchant Center account. [Newtonsoft.Json.JsonPropertyAttribute("merchantProductId")] public virtual string MerchantProductId { get; set; } @@ -1203,6 +1285,25 @@ public class Item : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// + /// A bucket of any [event parameters related to an + /// item](https://developers.google.com/analytics/devguides/collection/protocol/ga4/reference/events) to be included + /// within the event that were not already specified using other structured fields. + /// + public class ItemParameter : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The name of the parameter to use. + [Newtonsoft.Json.JsonPropertyAttribute("parameterName")] + public virtual string ParameterName { get; set; } + + /// Required. The string representation of the value of the parameter to set. + [Newtonsoft.Json.JsonPropertyAttribute("value")] + public virtual string Value { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Mobile IDs for the audience. At least one mobile ID is required. public class MobileData : Google.Apis.Requests.IDirectResponseSchema { @@ -1493,6 +1594,14 @@ public class UserIdentifier : Google.Apis.Requests.IDirectResponseSchema /// public class UserProperties : Google.Apis.Requests.IDirectResponseSchema { + /// + /// Optional. A bucket of any additional [user + /// properties](https://developers.google.com/analytics/devguides/collection/protocol/ga4/user-properties) for + /// the user associated with this event. + /// + [Newtonsoft.Json.JsonPropertyAttribute("additionalUserProperties")] + public virtual System.Collections.Generic.IList AdditionalUserProperties { get; set; } + /// Optional. Type of the customer associated with the event. [Newtonsoft.Json.JsonPropertyAttribute("customerType")] public virtual string CustomerType { get; set; } @@ -1505,6 +1614,25 @@ public class UserProperties : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// + /// A bucket of any additional [user + /// properties](https://developers.google.com/analytics/devguides/collection/protocol/ga4/user-properties) for the + /// user associated with this event. + /// + public class UserProperty : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The name of the user property to use. + [Newtonsoft.Json.JsonPropertyAttribute("propertyName")] + public virtual string PropertyName { get; set; } + + /// Required. The string representation of the value of the user property to use. + [Newtonsoft.Json.JsonPropertyAttribute("value")] + public virtual string Value { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// The warning count for a given warning reason. public class WarningCount : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.DataManager.v1/Google.Apis.DataManager.v1.csproj b/Src/Generated/Google.Apis.DataManager.v1/Google.Apis.DataManager.v1.csproj index 3be88b66d82..bf817c836d5 100644 --- a/Src/Generated/Google.Apis.DataManager.v1/Google.Apis.DataManager.v1.csproj +++ b/Src/Generated/Google.Apis.DataManager.v1/Google.Apis.DataManager.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.DataManager.v1 Client Library - 1.72.0.3931 + 1.72.0.3961 Google LLC Copyright 2025 Google LLC Google From 5399723ae9267f5c3ddadb5818c92ef2591937ba Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:23 +0000 Subject: [PATCH 25/65] feat: Generate Google.Apis.DatabaseMigrationService.v1 version 1.72.0.3954 --- DiscoveryJson/datamigration.v1.json | 14 +++++++++- ...Google.Apis.DatabaseMigrationService.v1.cs | 27 +++++++++++++++++++ ...le.Apis.DatabaseMigrationService.v1.csproj | 6 ++--- 3 files changed, 43 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/datamigration.v1.json b/DiscoveryJson/datamigration.v1.json index 4fb2704f682..fbc808b027d 100644 --- a/DiscoveryJson/datamigration.v1.json +++ b/DiscoveryJson/datamigration.v1.json @@ -2088,6 +2088,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "path": "v1/{+name}/operations", @@ -2345,7 +2350,7 @@ } } }, - "revision": "20250826", + "revision": "20251029", "rootUrl": "https://datamigration.googleapis.com/", "schemas": { "AlloyDbConnectionProfile": { @@ -4562,6 +4567,13 @@ "$ref": "Operation" }, "type": "array" + }, + "unreachable": { + "description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections e.g. when attempting to list all resources across all supported locations.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" diff --git a/Src/Generated/Google.Apis.DatabaseMigrationService.v1/Google.Apis.DatabaseMigrationService.v1.cs b/Src/Generated/Google.Apis.DatabaseMigrationService.v1/Google.Apis.DatabaseMigrationService.v1.cs index 5538504bdd8..01cce6b09ea 100644 --- a/Src/Generated/Google.Apis.DatabaseMigrationService.v1/Google.Apis.DatabaseMigrationService.v1.cs +++ b/Src/Generated/Google.Apis.DatabaseMigrationService.v1/Google.Apis.DatabaseMigrationService.v1.cs @@ -4549,6 +4549,17 @@ public ListRequest(Google.Apis.Services.IClientService service, string name) : b [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] public virtual string PageToken { get; set; } + /// + /// When set to `true`, operations that are reachable are returned as normal, and those that are + /// unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be + /// `true` when reading across collections e.g. when `parent` is set to + /// `"projects/example/locations/-"`. This field is not by default supported and will result in an + /// `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product + /// specific documentation. + /// + [Google.Apis.Util.RequestParameterAttribute("returnPartialSuccess", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable ReturnPartialSuccess { get; set; } + /// Gets the method name. public override string MethodName => "list"; @@ -4594,6 +4605,14 @@ protected override void InitParameters() DefaultValue = null, Pattern = null, }); + RequestParameters.Add("returnPartialSuccess", new Google.Apis.Discovery.Parameter + { + Name = "returnPartialSuccess", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); } } } @@ -7483,6 +7502,14 @@ public class ListOperationsResponse : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("operations")] public virtual System.Collections.Generic.IList Operations { get; set; } + /// + /// Unordered list. Unreachable resources. Populated when the request sets + /// `ListOperationsRequest.return_partial_success` and reads across collections e.g. when attempting to list all + /// resources across all supported locations. + /// + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } + /// The ETag of the item. public virtual string ETag { get; set; } } diff --git a/Src/Generated/Google.Apis.DatabaseMigrationService.v1/Google.Apis.DatabaseMigrationService.v1.csproj b/Src/Generated/Google.Apis.DatabaseMigrationService.v1/Google.Apis.DatabaseMigrationService.v1.csproj index 197d068921c..be657a7c120 100644 --- a/Src/Generated/Google.Apis.DatabaseMigrationService.v1/Google.Apis.DatabaseMigrationService.v1.csproj +++ b/Src/Generated/Google.Apis.DatabaseMigrationService.v1/Google.Apis.DatabaseMigrationService.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.DatabaseMigrationService.v1 Client Library - 1.70.0.3890 + 1.72.0.3954 Google LLC Copyright 2025 Google LLC Google @@ -59,8 +59,8 @@ - - + + From 8b2ec32ff7d4eed512069a14f5be28333b5ed14f Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:25 +0000 Subject: [PATCH 26/65] feat: Generate Google.Apis.DatabaseMigrationService.v1beta1 version 1.72.0.3954 --- DiscoveryJson/datamigration.v1beta1.json | 14 +++++++++- ...e.Apis.DatabaseMigrationService.v1beta1.cs | 27 +++++++++++++++++++ ...is.DatabaseMigrationService.v1beta1.csproj | 6 ++--- 3 files changed, 43 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/datamigration.v1beta1.json b/DiscoveryJson/datamigration.v1beta1.json index 6d08fa83acb..6bef7545528 100644 --- a/DiscoveryJson/datamigration.v1beta1.json +++ b/DiscoveryJson/datamigration.v1beta1.json @@ -1038,6 +1038,11 @@ "description": "The standard list page token.", "location": "query", "type": "string" + }, + "returnPartialSuccess": { + "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", + "location": "query", + "type": "boolean" } }, "path": "v1beta1/{+name}/operations", @@ -1055,7 +1060,7 @@ } } }, - "revision": "20250815", + "revision": "20251029", "rootUrl": "https://datamigration.googleapis.com/", "schemas": { "AuditConfig": { @@ -1561,6 +1566,13 @@ "$ref": "Operation" }, "type": "array" + }, + "unreachable": { + "description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections e.g. when attempting to list all resources across all supported locations.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" diff --git a/Src/Generated/Google.Apis.DatabaseMigrationService.v1beta1/Google.Apis.DatabaseMigrationService.v1beta1.cs b/Src/Generated/Google.Apis.DatabaseMigrationService.v1beta1/Google.Apis.DatabaseMigrationService.v1beta1.cs index 3011efea0fa..e6ac050f692 100644 --- a/Src/Generated/Google.Apis.DatabaseMigrationService.v1beta1/Google.Apis.DatabaseMigrationService.v1beta1.cs +++ b/Src/Generated/Google.Apis.DatabaseMigrationService.v1beta1/Google.Apis.DatabaseMigrationService.v1beta1.cs @@ -2211,6 +2211,17 @@ public ListRequest(Google.Apis.Services.IClientService service, string name) : b [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] public virtual string PageToken { get; set; } + /// + /// When set to `true`, operations that are reachable are returned as normal, and those that are + /// unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be + /// `true` when reading across collections e.g. when `parent` is set to + /// `"projects/example/locations/-"`. This field is not by default supported and will result in an + /// `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product + /// specific documentation. + /// + [Google.Apis.Util.RequestParameterAttribute("returnPartialSuccess", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable ReturnPartialSuccess { get; set; } + /// Gets the method name. public override string MethodName => "list"; @@ -2256,6 +2267,14 @@ protected override void InitParameters() DefaultValue = null, Pattern = null, }); + RequestParameters.Add("returnPartialSuccess", new Google.Apis.Discovery.Parameter + { + Name = "returnPartialSuccess", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); } } } @@ -3059,6 +3078,14 @@ public class ListOperationsResponse : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("operations")] public virtual System.Collections.Generic.IList Operations { get; set; } + /// + /// Unordered list. Unreachable resources. Populated when the request sets + /// `ListOperationsRequest.return_partial_success` and reads across collections e.g. when attempting to list all + /// resources across all supported locations. + /// + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } + /// The ETag of the item. public virtual string ETag { get; set; } } diff --git a/Src/Generated/Google.Apis.DatabaseMigrationService.v1beta1/Google.Apis.DatabaseMigrationService.v1beta1.csproj b/Src/Generated/Google.Apis.DatabaseMigrationService.v1beta1/Google.Apis.DatabaseMigrationService.v1beta1.csproj index f548ddf4d67..ba12c17bc78 100644 --- a/Src/Generated/Google.Apis.DatabaseMigrationService.v1beta1/Google.Apis.DatabaseMigrationService.v1beta1.csproj +++ b/Src/Generated/Google.Apis.DatabaseMigrationService.v1beta1/Google.Apis.DatabaseMigrationService.v1beta1.csproj @@ -3,7 +3,7 @@ Google.Apis.DatabaseMigrationService.v1beta1 Client Library - 1.70.0.3879 + 1.72.0.3954 Google LLC Copyright 2025 Google LLC Google @@ -59,8 +59,8 @@ - - + + From ca51511e2f711c0fd9dcb65e47490673febf8894 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:27 +0000 Subject: [PATCH 27/65] feat: Generate Google.Apis.CloudDataplex.v1 version 1.72.0.3960 --- DiscoveryJson/dataplex.v1.json | 106 ++++----- .../Google.Apis.CloudDataplex.v1.cs | 217 +++++++----------- .../Google.Apis.CloudDataplex.v1.csproj | 2 +- 3 files changed, 120 insertions(+), 205 deletions(-) diff --git a/DiscoveryJson/dataplex.v1.json b/DiscoveryJson/dataplex.v1.json index 9f3e58905b4..52d88fd374d 100644 --- a/DiscoveryJson/dataplex.v1.json +++ b/DiscoveryJson/dataplex.v1.json @@ -1578,6 +1578,37 @@ }, "dataProducts": { "methods": { + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}:getIamPolicy", + "httpMethod": "GET", + "id": "dataplex.projects.locations.dataProducts.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/[^/]+/dataProducts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "setIamPolicy": { "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}:setIamPolicy", @@ -1634,68 +1665,6 @@ "https://www.googleapis.com/auth/cloud-platform" ] } - }, - "resources": { - "dataAssets": { - "methods": { - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}/dataAssets/{dataAssetsId}:setIamPolicy", - "httpMethod": "POST", - "id": "dataplex.projects.locations.dataProducts.dataAssets.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/[^/]+/dataProducts/[^/]+/dataAssets/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+resource}:setIamPolicy", - "request": { - "$ref": "GoogleIamV1SetIamPolicyRequest" - }, - "response": { - "$ref": "GoogleIamV1Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataProducts/{dataProductsId}/dataAssets/{dataAssetsId}:testIamPermissions", - "httpMethod": "POST", - "id": "dataplex.projects.locations.dataProducts.dataAssets.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/[^/]+/dataProducts/[^/]+/dataAssets/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+resource}:testIamPermissions", - "request": { - "$ref": "GoogleIamV1TestIamPermissionsRequest" - }, - "response": { - "$ref": "GoogleIamV1TestIamPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - } } }, "dataScans": { @@ -3096,7 +3065,7 @@ ], "parameters": { "filter": { - "description": "Optional. A filter on the entries to return. Filters are case-sensitive. You can filter the request by the following fields: entry_type entry_source.display_nameThe comparison operators are =, !=, <, >, <=, >=. The service compares strings according to lexical order.You can use the logical operators AND, OR, NOT in the filter.You can use Wildcard \"*\", but for entry_type you need to provide the full project id or number.Example filter expressions: \"entry_source.display_name=AnExampleDisplayName\" \"entry_type=projects/example-project/locations/global/entryTypes/example-entry_type\" \"entry_type=projects/example-project/locations/us/entryTypes/a* OR entry_type=projects/another-project/locations/*\" \"NOT entry_source.display_name=AnotherExampleDisplayName\"", + "description": "Optional. A filter on the entries to return. Filters are case-sensitive. You can filter the request by the following fields: entry_type entry_source.display_name parent_entryThe comparison operators are =, !=, <, >, <=, >=. The service compares strings according to lexical order.You can use the logical operators AND, OR, NOT in the filter.You can use Wildcard \"*\", but for entry_type and parent_entry you need to provide the full project id or number.You cannot use parent_entry in conjunction with other fields.Example filter expressions: \"entry_source.display_name=AnExampleDisplayName\" \"entry_type=projects/example-project/locations/global/entryTypes/example-entry_type\" \"entry_type=projects/example-project/locations/us/entryTypes/a* OR entry_type=projects/another-project/locations/*\" \"NOT entry_source.display_name=AnotherExampleDisplayName\" \"parent_entry=projects/example-project/locations/us/entryGroups/example-entry-group/entries/example-entry\"", "location": "query", "type": "string" }, @@ -7260,7 +7229,7 @@ } } }, - "revision": "20251027", + "revision": "20251104", "rootUrl": "https://dataplex.googleapis.com/", "schemas": { "Empty": { @@ -8753,6 +8722,11 @@ "description": "DataProfileResult defines the output of DataProfileScan. Each field of the table will have field type specific profile result.", "id": "GoogleCloudDataplexV1DataProfileResult", "properties": { + "catalogPublishingStatus": { + "$ref": "GoogleCloudDataplexV1DataScanCatalogPublishingStatus", + "description": "Output only. The status of publishing the data scan as Dataplex Universal Catalog metadata.", + "readOnly": true + }, "postScanActionsResult": { "$ref": "GoogleCloudDataplexV1DataProfileResultPostScanActionsResult", "description": "Output only. The result of post scan actions.", @@ -9032,6 +9006,10 @@ "description": "DataProfileScan related setting.", "id": "GoogleCloudDataplexV1DataProfileSpec", "properties": { + "catalogPublishingEnabled": { + "description": "Optional. If set, the latest DataScan job result will be published as Dataplex Universal Catalog metadata.", + "type": "boolean" + }, "excludeFields": { "$ref": "GoogleCloudDataplexV1DataProfileSpecSelectedFields", "description": "Optional. The fields to exclude from data profile.If specified, the fields will be excluded from data profile, regardless of include_fields value." diff --git a/Src/Generated/Google.Apis.CloudDataplex.v1/Google.Apis.CloudDataplex.v1.cs b/Src/Generated/Google.Apis.CloudDataplex.v1/Google.Apis.CloudDataplex.v1.cs index e2543cabcb8..4ec9f41b970 100644 --- a/Src/Generated/Google.Apis.CloudDataplex.v1/Google.Apis.CloudDataplex.v1.cs +++ b/Src/Generated/Google.Apis.CloudDataplex.v1/Google.Apis.CloudDataplex.v1.cs @@ -2746,160 +2746,83 @@ public class DataProductsResource public DataProductsResource(Google.Apis.Services.IClientService service) { this.service = service; - DataAssets = new DataAssetsResource(service); } - /// Gets the DataAssets resource. - public virtual DataAssetsResource DataAssets { get; } - - /// The "dataAssets" collection of methods. - public class DataAssetsResource + /// + /// Gets the access control policy for a resource. Returns an empty policy if the resource exists and + /// does not have a policy set. + /// + /// + /// 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. + /// + public virtual GetIamPolicyRequest GetIamPolicy(string resource) { - private const string Resource = "dataAssets"; - - /// The service which this resource belongs to. - private readonly Google.Apis.Services.IClientService service; + return new GetIamPolicyRequest(this.service, resource); + } - /// Constructs a new resource. - public DataAssetsResource(Google.Apis.Services.IClientService service) + /// + /// Gets the access control policy for a resource. Returns an empty policy if the resource exists and + /// does not have a policy set. + /// + public class GetIamPolicyRequest : CloudDataplexBaseServiceRequest + { + /// Constructs a new GetIamPolicy request. + public GetIamPolicyRequest(Google.Apis.Services.IClientService service, string resource) : base(service) { - this.service = service; + Resource = resource; + InitParameters(); } /// - /// Sets the access control policy on the specified resource. Replaces any existing policy.Can - /// return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. - /// - /// The body of the request. - /// - /// REQUIRED: The resource for which the policy is being specified. See Resource names + /// 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. - /// - public virtual SetIamPolicyRequest SetIamPolicy(Google.Apis.CloudDataplex.v1.Data.GoogleIamV1SetIamPolicyRequest body, string resource) - { - return new SetIamPolicyRequest(this.service, body, resource); - } + /// + [Google.Apis.Util.RequestParameterAttribute("resource", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Resource { get; private set; } /// - /// Sets the access control policy on the specified resource. Replaces any existing policy.Can - /// return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors. + /// 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). /// - public class SetIamPolicyRequest : CloudDataplexBaseServiceRequest - { - /// Constructs a new SetIamPolicy request. - public SetIamPolicyRequest(Google.Apis.Services.IClientService service, Google.Apis.CloudDataplex.v1.Data.GoogleIamV1SetIamPolicyRequest body, string resource) : base(service) - { - Resource = resource; - Body = body; - InitParameters(); - } - - /// - /// 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. - /// - [Google.Apis.Util.RequestParameterAttribute("resource", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Resource { get; private set; } - - /// Gets or sets the body of this request. - Google.Apis.CloudDataplex.v1.Data.GoogleIamV1SetIamPolicyRequest Body { get; set; } - - /// Returns the body of the request. - protected override object GetBody() => Body; - - /// Gets the method name. - public override string MethodName => "setIamPolicy"; - - /// Gets the HTTP method. - public override string HttpMethod => "POST"; + [Google.Apis.Util.RequestParameterAttribute("options.requestedPolicyVersion", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable OptionsRequestedPolicyVersion { get; set; } - /// Gets the REST path. - public override string RestPath => "v1/{+resource}:setIamPolicy"; + /// Gets the method name. + public override string MethodName => "getIamPolicy"; - /// Initializes SetIamPolicy parameter list. - protected override void InitParameters() - { - base.InitParameters(); - RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter - { - Name = "resource", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"^projects/[^/]+/locations/[^/]+/dataProducts/[^/]+/dataAssets/[^/]+$", - }); - } - } + /// Gets the HTTP method. + public override string HttpMethod => "GET"; - /// - /// 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. - /// - /// The body of the request. - /// - /// 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. - /// - public virtual TestIamPermissionsRequest TestIamPermissions(Google.Apis.CloudDataplex.v1.Data.GoogleIamV1TestIamPermissionsRequest body, string resource) - { - return new TestIamPermissionsRequest(this.service, body, resource); - } + /// Gets the REST path. + public override string RestPath => "v1/{+resource}:getIamPolicy"; - /// - /// 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. - /// - public class TestIamPermissionsRequest : CloudDataplexBaseServiceRequest + /// Initializes GetIamPolicy parameter list. + protected override void InitParameters() { - /// Constructs a new TestIamPermissions request. - public TestIamPermissionsRequest(Google.Apis.Services.IClientService service, Google.Apis.CloudDataplex.v1.Data.GoogleIamV1TestIamPermissionsRequest body, string resource) : base(service) + base.InitParameters(); + RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter { - Resource = resource; - Body = body; - InitParameters(); - } - - /// - /// 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. - /// - [Google.Apis.Util.RequestParameterAttribute("resource", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Resource { get; private set; } - - /// Gets or sets the body of this request. - Google.Apis.CloudDataplex.v1.Data.GoogleIamV1TestIamPermissionsRequest Body { get; set; } - - /// Returns the body of the request. - protected override object GetBody() => Body; - - /// Gets the method name. - public override string MethodName => "testIamPermissions"; - - /// Gets the HTTP method. - public override string HttpMethod => "POST"; - - /// Gets the REST path. - public override string RestPath => "v1/{+resource}:testIamPermissions"; - - /// Initializes TestIamPermissions parameter list. - protected override void InitParameters() + Name = "resource", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/dataProducts/[^/]+$", + }); + RequestParameters.Add("options.requestedPolicyVersion", new Google.Apis.Discovery.Parameter { - base.InitParameters(); - RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter - { - Name = "resource", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"^projects/[^/]+/locations/[^/]+/dataProducts/[^/]+/dataAssets/[^/]+$", - }); - } + Name = "options.requestedPolicyVersion", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); } } @@ -5706,15 +5629,17 @@ public ListRequest(Google.Apis.Services.IClientService service, string parent) : /// /// Optional. A filter on the entries to return. Filters are case-sensitive. You can filter the - /// request by the following fields: entry_type entry_source.display_nameThe comparison - /// operators are =, !=, &lt;, &gt;, &lt;=, &gt;=. The service compares strings - /// according to lexical order.You can use the logical operators AND, OR, NOT in the filter.You - /// can use Wildcard "*", but for entry_type you need to provide the full project id or - /// number.Example filter expressions: "entry_source.display_name=AnExampleDisplayName" + /// request by the following fields: entry_type entry_source.display_name parent_entryThe + /// comparison operators are =, !=, &lt;, &gt;, &lt;=, &gt;=. The service + /// compares strings according to lexical order.You can use the logical operators AND, OR, NOT + /// in the filter.You can use Wildcard "*", but for entry_type and parent_entry you need to + /// provide the full project id or number.You cannot use parent_entry in conjunction with other + /// fields.Example filter expressions: "entry_source.display_name=AnExampleDisplayName" /// "entry_type=projects/example-project/locations/global/entryTypes/example-entry_type" /// "entry_type=projects/example-project/locations/us/entryTypes/a* OR /// entry_type=projects/another-project/locations/*" "NOT /// entry_source.display_name=AnotherExampleDisplayName" + /// "parent_entry=projects/example-project/locations/us/entryGroups/example-entry-group/entries/example-entry" /// [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] public virtual string Filter { get; set; } @@ -18651,6 +18576,12 @@ public class GoogleCloudDataplexV1DataDocumentationSpec : Google.Apis.Requests.I /// public class GoogleCloudDataplexV1DataProfileResult : Google.Apis.Requests.IDirectResponseSchema { + /// + /// Output only. The status of publishing the data scan as Dataplex Universal Catalog metadata. + /// + [Newtonsoft.Json.JsonPropertyAttribute("catalogPublishingStatus")] + public virtual GoogleCloudDataplexV1DataScanCatalogPublishingStatus CatalogPublishingStatus { get; set; } + /// Output only. The result of post scan actions. [Newtonsoft.Json.JsonPropertyAttribute("postScanActionsResult")] public virtual GoogleCloudDataplexV1DataProfileResultPostScanActionsResult PostScanActionsResult { get; set; } @@ -18898,6 +18829,12 @@ public class GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoTopNVa /// DataProfileScan related setting. public class GoogleCloudDataplexV1DataProfileSpec : Google.Apis.Requests.IDirectResponseSchema { + /// + /// Optional. If set, the latest DataScan job result will be published as Dataplex Universal Catalog metadata. + /// + [Newtonsoft.Json.JsonPropertyAttribute("catalogPublishingEnabled")] + public virtual System.Nullable CatalogPublishingEnabled { get; set; } + /// /// Optional. The fields to exclude from data profile.If specified, the fields will be excluded from data /// profile, regardless of include_fields value. diff --git a/Src/Generated/Google.Apis.CloudDataplex.v1/Google.Apis.CloudDataplex.v1.csproj b/Src/Generated/Google.Apis.CloudDataplex.v1/Google.Apis.CloudDataplex.v1.csproj index e340148cf3d..f65098a02e0 100644 --- a/Src/Generated/Google.Apis.CloudDataplex.v1/Google.Apis.CloudDataplex.v1.csproj +++ b/Src/Generated/Google.Apis.CloudDataplex.v1/Google.Apis.CloudDataplex.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudDataplex.v1 Client Library - 1.72.0.3952 + 1.72.0.3960 Google LLC Copyright 2025 Google LLC Google From 620598c6c9cbde58b614a8c2b9bb73439b06f63d Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:29 +0000 Subject: [PATCH 28/65] feat: Generate Google.Apis.Dataproc.v1 version 1.72.0.3960 --- DiscoveryJson/dataproc.v1.json | 16 +++++++++++++++- .../Google.Apis.Dataproc.v1.cs | 10 ++++++++++ .../Google.Apis.Dataproc.v1.csproj | 2 +- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/dataproc.v1.json b/DiscoveryJson/dataproc.v1.json index eac14bc9dfc..91d0b897a2c 100644 --- a/DiscoveryJson/dataproc.v1.json +++ b/DiscoveryJson/dataproc.v1.json @@ -86,6 +86,16 @@ "endpointUrl": "https://dataproc.europe-west8.rep.googleapis.com/", "location": "europe-west8" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataproc.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataproc.asia-south2.rep.googleapis.com/", + "location": "asia-south2" + }, { "description": "Regional Endpoint", "endpointUrl": "https://dataproc.me-central2.rep.googleapis.com/", @@ -5022,7 +5032,7 @@ } } }, - "revision": "20251021", + "revision": "20251104", "rootUrl": "https://dataproc.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -5960,6 +5970,10 @@ "$ref": "DataprocMetricConfig", "description": "Optional. The config for Dataproc metrics." }, + "diagnosticBucket": { + "description": "Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, Cloud Dataproc will use the Dataproc temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.", + "type": "string" + }, "encryptionConfig": { "$ref": "EncryptionConfig", "description": "Optional. Encryption settings for the cluster." diff --git a/Src/Generated/Google.Apis.Dataproc.v1/Google.Apis.Dataproc.v1.cs b/Src/Generated/Google.Apis.Dataproc.v1/Google.Apis.Dataproc.v1.cs index ff02d7aea54..b37f1eaa593 100644 --- a/Src/Generated/Google.Apis.Dataproc.v1/Google.Apis.Dataproc.v1.cs +++ b/Src/Generated/Google.Apis.Dataproc.v1/Google.Apis.Dataproc.v1.cs @@ -12835,6 +12835,16 @@ public class ClusterConfig : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("dataprocMetricConfig")] public virtual DataprocMetricConfig DataprocMetricConfig { get; set; } + /// + /// Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data + /// (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not + /// specify a diagnostic bucket, Cloud Dataproc will use the Dataproc temp bucket to collect the checkpoint + /// diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage + /// bucket. + /// + [Newtonsoft.Json.JsonPropertyAttribute("diagnosticBucket")] + public virtual string DiagnosticBucket { get; set; } + /// Optional. Encryption settings for the cluster. [Newtonsoft.Json.JsonPropertyAttribute("encryptionConfig")] public virtual EncryptionConfig EncryptionConfig { get; set; } diff --git a/Src/Generated/Google.Apis.Dataproc.v1/Google.Apis.Dataproc.v1.csproj b/Src/Generated/Google.Apis.Dataproc.v1/Google.Apis.Dataproc.v1.csproj index 3e58186081b..7c655497f24 100644 --- a/Src/Generated/Google.Apis.Dataproc.v1/Google.Apis.Dataproc.v1.csproj +++ b/Src/Generated/Google.Apis.Dataproc.v1/Google.Apis.Dataproc.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Dataproc.v1 Client Library - 1.72.0.3946 + 1.72.0.3960 Google LLC Copyright 2025 Google LLC Google From a8f68d2a0df73ba970c3f090242fae25e453ddcc Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:31 +0000 Subject: [PATCH 29/65] feat: Generate Google.Apis.Datastream.v1 version 1.72.0.3954 --- DiscoveryJson/datastream.v1.json | 16 +++++++++++++++- .../Google.Apis.Datastream.v1.cs | 4 ++++ .../Google.Apis.Datastream.v1.csproj | 2 +- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/datastream.v1.json b/DiscoveryJson/datastream.v1.json index b78b4701311..48154615dce 100644 --- a/DiscoveryJson/datastream.v1.json +++ b/DiscoveryJson/datastream.v1.json @@ -1266,7 +1266,7 @@ } } }, - "revision": "20251021", + "revision": "20251029", "rootUrl": "https://datastream.googleapis.com/", "schemas": { "AppendOnly": { @@ -2320,6 +2320,20 @@ "$ref": "MongodbCluster", "description": "MongoDB collections to include in the stream." }, + "jsonMode": { + "description": "Optional. MongoDB JSON mode to use for the stream.", + "enum": [ + "MONGODB_JSON_MODE_UNSPECIFIED", + "STRICT", + "CANONICAL" + ], + "enumDescriptions": [ + "Unspecified JSON mode.", + "Strict JSON mode.", + "Canonical JSON mode." + ], + "type": "string" + }, "maxConcurrentBackfillTasks": { "description": "Optional. Maximum number of concurrent backfill tasks. The number should be non-negative and less than or equal to 50. If not set (or set to 0), the system's default value is used", "format": "int32", diff --git a/Src/Generated/Google.Apis.Datastream.v1/Google.Apis.Datastream.v1.cs b/Src/Generated/Google.Apis.Datastream.v1/Google.Apis.Datastream.v1.cs index eca41514af2..1a8b669a93f 100644 --- a/Src/Generated/Google.Apis.Datastream.v1/Google.Apis.Datastream.v1.cs +++ b/Src/Generated/Google.Apis.Datastream.v1/Google.Apis.Datastream.v1.cs @@ -4078,6 +4078,10 @@ public class MongodbSourceConfig : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("includeObjects")] public virtual MongodbCluster IncludeObjects { get; set; } + /// Optional. MongoDB JSON mode to use for the stream. + [Newtonsoft.Json.JsonPropertyAttribute("jsonMode")] + public virtual string JsonMode { get; set; } + /// /// Optional. Maximum number of concurrent backfill tasks. The number should be non-negative and less than or /// equal to 50. If not set (or set to 0), the system's default value is used diff --git a/Src/Generated/Google.Apis.Datastream.v1/Google.Apis.Datastream.v1.csproj b/Src/Generated/Google.Apis.Datastream.v1/Google.Apis.Datastream.v1.csproj index ab5a63d461d..969c24df5f1 100644 --- a/Src/Generated/Google.Apis.Datastream.v1/Google.Apis.Datastream.v1.csproj +++ b/Src/Generated/Google.Apis.Datastream.v1/Google.Apis.Datastream.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Datastream.v1 Client Library - 1.72.0.3946 + 1.72.0.3954 Google LLC Copyright 2025 Google LLC Google From 19dbab85814469c48e4eb11c3071525dcbe6b61e Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:33 +0000 Subject: [PATCH 30/65] feat: Generate Google.Apis.DeveloperConnect.v1 version 1.72.0.3955 --- DiscoveryJson/developerconnect.v1.json | 10 +++++----- .../Google.Apis.DeveloperConnect.v1.cs | 12 ++++++------ .../Google.Apis.DeveloperConnect.v1.csproj | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/DiscoveryJson/developerconnect.v1.json b/DiscoveryJson/developerconnect.v1.json index c62653a343d..ce7f67f6e95 100644 --- a/DiscoveryJson/developerconnect.v1.json +++ b/DiscoveryJson/developerconnect.v1.json @@ -196,7 +196,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -1318,7 +1318,7 @@ ] }, "delete": { - "description": "Delete a single Insight.", + "description": "Deletes a single Insight.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/insightsConfigs/{insightsConfigsId}", "httpMethod": "DELETE", "id": "developerconnect.projects.locations.insightsConfigs.delete", @@ -1606,7 +1606,7 @@ } } }, - "revision": "20251016", + "revision": "20251030", "rootUrl": "https://developerconnect.googleapis.com/", "schemas": { "AccountConnector": { @@ -2381,7 +2381,7 @@ "type": "array" }, "createTime": { - "description": "Output only. [Output only] Create timestamp", + "description": "Output only. Create timestamp.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -2435,7 +2435,7 @@ "type": "string" }, "updateTime": { - "description": "Output only. [Output only] Update timestamp", + "description": "Output only. Update timestamp.", "format": "google-datetime", "readOnly": true, "type": "string" diff --git a/Src/Generated/Google.Apis.DeveloperConnect.v1/Google.Apis.DeveloperConnect.v1.cs b/Src/Generated/Google.Apis.DeveloperConnect.v1/Google.Apis.DeveloperConnect.v1.cs index bbe83f6825a..bfe51386e5f 100644 --- a/Src/Generated/Google.Apis.DeveloperConnect.v1/Google.Apis.DeveloperConnect.v1.cs +++ b/Src/Generated/Google.Apis.DeveloperConnect.v1/Google.Apis.DeveloperConnect.v1.cs @@ -2766,14 +2766,14 @@ protected override void InitParameters() } } - /// Delete a single Insight. + /// Deletes a single Insight. /// Required. Value for parent. public virtual DeleteRequest Delete(string name) { return new DeleteRequest(this.service, name); } - /// Delete a single Insight. + /// Deletes a single Insight. public class DeleteRequest : DeveloperConnectBaseServiceRequest { /// Constructs a new Delete request. @@ -3477,8 +3477,8 @@ public ListRequest(Google.Apis.Services.IClientService service, string name) : b public virtual string Name { get; private set; } /// - /// Optional. Unless explicitly documented otherwise, don't use this unsupported field which is - /// primarily intended for internal usage. + /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented + /// otherwise. This is primarily for internal usage. /// [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } @@ -4781,7 +4781,7 @@ public class InsightsConfig : Google.Apis.Requests.IDirectResponseSchema private object _createTime; - /// Output only. [Output only] Create timestamp + /// Output only. Create timestamp. [Newtonsoft.Json.JsonPropertyAttribute("createTime")] public virtual string CreateTimeRaw { @@ -4854,7 +4854,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset private object _updateTime; - /// Output only. [Output only] Update timestamp + /// Output only. Update timestamp. [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] public virtual string UpdateTimeRaw { diff --git a/Src/Generated/Google.Apis.DeveloperConnect.v1/Google.Apis.DeveloperConnect.v1.csproj b/Src/Generated/Google.Apis.DeveloperConnect.v1/Google.Apis.DeveloperConnect.v1.csproj index c2e2cb898fa..120d9aa94ca 100644 --- a/Src/Generated/Google.Apis.DeveloperConnect.v1/Google.Apis.DeveloperConnect.v1.csproj +++ b/Src/Generated/Google.Apis.DeveloperConnect.v1/Google.Apis.DeveloperConnect.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.DeveloperConnect.v1 Client Library - 1.72.0.3941 + 1.72.0.3955 Google LLC Copyright 2025 Google LLC Google From 4b92614b217288ce58ee3ca31f67365042859169 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:35 +0000 Subject: [PATCH 31/65] feat: Generate Google.Apis.Dialogflow.v2 version 1.72.0.3961 --- DiscoveryJson/dialogflow.v2.json | 9 ++++----- .../Google.Apis.Dialogflow.v2.cs | 2 +- .../Google.Apis.Dialogflow.v2.csproj | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/DiscoveryJson/dialogflow.v2.json b/DiscoveryJson/dialogflow.v2.json index b1690d70e97..dc48042f8d5 100644 --- a/DiscoveryJson/dialogflow.v2.json +++ b/DiscoveryJson/dialogflow.v2.json @@ -9258,7 +9258,7 @@ } } }, - "revision": "20251027", + "revision": "20251105", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AdvancedSettings": { @@ -15587,7 +15587,7 @@ "enumDescriptions": [ "Type not set.", "A new conversation has been opened. This is fired when a telephone call is answered, or a conversation is created via the API.", - "An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API.", + "An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API. The event is fired for every CompleteConversation call, even if the conversation is already closed.", "An existing conversation has received notification from Dialogflow that human intervention is required.", "An existing conversation has received a new message, either from API or telephony. It is configured in ConversationProfile.new_message_event_notification_config", "An existing conversation has received a new speech recognition result. This is mainly for delivering intermediate transcripts. The notification is configured in ConversationProfile.new_recognition_event_notification_config.", @@ -17274,8 +17274,7 @@ "type": "boolean" }, "evaluatorVersion": { - "description": "Output only. Version for summarization evaluation.", - "readOnly": true, + "description": "Optional. Version for summarization evaluation.", "type": "string" } }, @@ -22849,7 +22848,7 @@ "enumDescriptions": [ "Type not set.", "A new conversation has been opened. This is fired when a telephone call is answered, or a conversation is created via the API.", - "An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API.", + "An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API. The event is fired for every CompleteConversation call, even if the conversation is already closed.", "An existing conversation has received notification from Dialogflow that human intervention is required.", "An existing conversation has received a new message, either from API or telephony. It is configured in ConversationProfile.new_message_event_notification_config", "An existing conversation has received a new speech recognition result. This is mainly for delivering intermediate transcripts. The notification is configured in ConversationProfile.new_recognition_event_notification_config.", diff --git a/Src/Generated/Google.Apis.Dialogflow.v2/Google.Apis.Dialogflow.v2.cs b/Src/Generated/Google.Apis.Dialogflow.v2/Google.Apis.Dialogflow.v2.cs index 6ce7a611834..b4eed9014b3 100644 --- a/Src/Generated/Google.Apis.Dialogflow.v2/Google.Apis.Dialogflow.v2.cs +++ b/Src/Generated/Google.Apis.Dialogflow.v2/Google.Apis.Dialogflow.v2.cs @@ -31296,7 +31296,7 @@ public class GoogleCloudDialogflowV2GeneratorEvaluationConfigSummarizationConfig [Newtonsoft.Json.JsonPropertyAttribute("enableCompletenessEvaluation")] public virtual System.Nullable EnableCompletenessEvaluation { get; set; } - /// Output only. Version for summarization evaluation. + /// Optional. Version for summarization evaluation. [Newtonsoft.Json.JsonPropertyAttribute("evaluatorVersion")] public virtual string EvaluatorVersion { get; set; } diff --git a/Src/Generated/Google.Apis.Dialogflow.v2/Google.Apis.Dialogflow.v2.csproj b/Src/Generated/Google.Apis.Dialogflow.v2/Google.Apis.Dialogflow.v2.csproj index cddcdd66b4a..1c390ddf03a 100644 --- a/Src/Generated/Google.Apis.Dialogflow.v2/Google.Apis.Dialogflow.v2.csproj +++ b/Src/Generated/Google.Apis.Dialogflow.v2/Google.Apis.Dialogflow.v2.csproj @@ -3,7 +3,7 @@ Google.Apis.Dialogflow.v2 Client Library - 1.72.0.3952 + 1.72.0.3961 Google LLC Copyright 2025 Google LLC Google From 4df348b25517634f56489111b85588dd8a65dab6 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:37 +0000 Subject: [PATCH 32/65] feat: Generate Google.Apis.Dialogflow.v2beta1 version 1.72.0.3961 --- DiscoveryJson/dialogflow.v2beta1.json | 9 ++++----- .../Google.Apis.Dialogflow.v2beta1.cs | 2 +- .../Google.Apis.Dialogflow.v2beta1.csproj | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/DiscoveryJson/dialogflow.v2beta1.json b/DiscoveryJson/dialogflow.v2beta1.json index 721239f0fbe..8ec0b16c028 100644 --- a/DiscoveryJson/dialogflow.v2beta1.json +++ b/DiscoveryJson/dialogflow.v2beta1.json @@ -8898,7 +8898,7 @@ } } }, - "revision": "20251027", + "revision": "20251105", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AdvancedSettings": { @@ -14226,7 +14226,7 @@ "enumDescriptions": [ "Type not set.", "A new conversation has been opened. This is fired when a telephone call is answered, or a conversation is created via the API.", - "An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API.", + "An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API. The event is fired for every CompleteConversation call, even if the conversation is already closed.", "An existing conversation has received notification from Dialogflow that human intervention is required.", "An existing conversation has received a new message, either from API or telephony. It is configured in ConversationProfile.new_message_event_notification_config", "An existing conversation has received a new speech recognition result. This is mainly for delivering intermediate transcripts. The notification is configured in ConversationProfile.new_recognition_event_notification_config.", @@ -18148,7 +18148,7 @@ "enumDescriptions": [ "Type not set.", "A new conversation has been opened. This is fired when a telephone call is answered, or a conversation is created via the API.", - "An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API.", + "An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API. The event is fired for every CompleteConversation call, even if the conversation is already closed.", "An existing conversation has received notification from Dialogflow that human intervention is required.", "An existing conversation has received a new message, either from API or telephony. It is configured in ConversationProfile.new_message_event_notification_config", "An existing conversation has received a new speech recognition result. This is mainly for delivering intermediate transcripts. The notification is configured in ConversationProfile.new_recognition_event_notification_config.", @@ -19520,8 +19520,7 @@ "type": "boolean" }, "evaluatorVersion": { - "description": "Output only. Version for summarization evaluation.", - "readOnly": true, + "description": "Optional. Version for summarization evaluation.", "type": "string" } }, diff --git a/Src/Generated/Google.Apis.Dialogflow.v2beta1/Google.Apis.Dialogflow.v2beta1.cs b/Src/Generated/Google.Apis.Dialogflow.v2beta1/Google.Apis.Dialogflow.v2beta1.cs index 72ee08105a2..5a7f18d66fd 100644 --- a/Src/Generated/Google.Apis.Dialogflow.v2beta1/Google.Apis.Dialogflow.v2beta1.cs +++ b/Src/Generated/Google.Apis.Dialogflow.v2beta1/Google.Apis.Dialogflow.v2beta1.cs @@ -33979,7 +33979,7 @@ public class GoogleCloudDialogflowV2beta1GeneratorEvaluationConfigSummarizationC [Newtonsoft.Json.JsonPropertyAttribute("enableCompletenessEvaluation")] public virtual System.Nullable EnableCompletenessEvaluation { get; set; } - /// Output only. Version for summarization evaluation. + /// Optional. Version for summarization evaluation. [Newtonsoft.Json.JsonPropertyAttribute("evaluatorVersion")] public virtual string EvaluatorVersion { get; set; } diff --git a/Src/Generated/Google.Apis.Dialogflow.v2beta1/Google.Apis.Dialogflow.v2beta1.csproj b/Src/Generated/Google.Apis.Dialogflow.v2beta1/Google.Apis.Dialogflow.v2beta1.csproj index 52fab13c1f6..3080dfc6ba4 100644 --- a/Src/Generated/Google.Apis.Dialogflow.v2beta1/Google.Apis.Dialogflow.v2beta1.csproj +++ b/Src/Generated/Google.Apis.Dialogflow.v2beta1/Google.Apis.Dialogflow.v2beta1.csproj @@ -3,7 +3,7 @@ Google.Apis.Dialogflow.v2beta1 Client Library - 1.72.0.3952 + 1.72.0.3961 Google LLC Copyright 2025 Google LLC Google From 47f505d4cb71626bdfd5ccd2deb89dbb1deb52d9 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:39 +0000 Subject: [PATCH 33/65] feat: Generate Google.Apis.Dialogflow.v3 version 1.72.0.3961 --- DiscoveryJson/dialogflow.v3.json | 6 +++--- .../Google.Apis.Dialogflow.v3.csproj | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/dialogflow.v3.json b/DiscoveryJson/dialogflow.v3.json index 5a39481a9c5..f32ee9e36d8 100644 --- a/DiscoveryJson/dialogflow.v3.json +++ b/DiscoveryJson/dialogflow.v3.json @@ -5319,7 +5319,7 @@ } } }, - "revision": "20251027", + "revision": "20251105", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3Action": { @@ -15465,7 +15465,7 @@ "enumDescriptions": [ "Type not set.", "A new conversation has been opened. This is fired when a telephone call is answered, or a conversation is created via the API.", - "An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API.", + "An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API. The event is fired for every CompleteConversation call, even if the conversation is already closed.", "An existing conversation has received notification from Dialogflow that human intervention is required.", "An existing conversation has received a new message, either from API or telephony. It is configured in ConversationProfile.new_message_event_notification_config", "An existing conversation has received a new speech recognition result. This is mainly for delivering intermediate transcripts. The notification is configured in ConversationProfile.new_recognition_event_notification_config.", @@ -18298,7 +18298,7 @@ "enumDescriptions": [ "Type not set.", "A new conversation has been opened. This is fired when a telephone call is answered, or a conversation is created via the API.", - "An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API.", + "An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API. The event is fired for every CompleteConversation call, even if the conversation is already closed.", "An existing conversation has received notification from Dialogflow that human intervention is required.", "An existing conversation has received a new message, either from API or telephony. It is configured in ConversationProfile.new_message_event_notification_config", "An existing conversation has received a new speech recognition result. This is mainly for delivering intermediate transcripts. The notification is configured in ConversationProfile.new_recognition_event_notification_config.", diff --git a/Src/Generated/Google.Apis.Dialogflow.v3/Google.Apis.Dialogflow.v3.csproj b/Src/Generated/Google.Apis.Dialogflow.v3/Google.Apis.Dialogflow.v3.csproj index 0af98fd5ace..6714fcfb600 100644 --- a/Src/Generated/Google.Apis.Dialogflow.v3/Google.Apis.Dialogflow.v3.csproj +++ b/Src/Generated/Google.Apis.Dialogflow.v3/Google.Apis.Dialogflow.v3.csproj @@ -3,7 +3,7 @@ Google.Apis.Dialogflow.v3 Client Library - 1.72.0.3952 + 1.72.0.3961 Google LLC Copyright 2025 Google LLC Google From 59e52dcbf68bd0b85ea505845ff6f9a40df7d483 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:41 +0000 Subject: [PATCH 34/65] feat: Generate Google.Apis.Dialogflow.v3beta1 version 1.72.0.3961 --- DiscoveryJson/dialogflow.v3beta1.json | 6 +++--- .../Google.Apis.Dialogflow.v3beta1.csproj | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/dialogflow.v3beta1.json b/DiscoveryJson/dialogflow.v3beta1.json index 6da5a6681dd..f604a2a57a0 100644 --- a/DiscoveryJson/dialogflow.v3beta1.json +++ b/DiscoveryJson/dialogflow.v3beta1.json @@ -5446,7 +5446,7 @@ } } }, - "revision": "20251027", + "revision": "20251105", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AdvancedSettings": { @@ -16714,7 +16714,7 @@ "enumDescriptions": [ "Type not set.", "A new conversation has been opened. This is fired when a telephone call is answered, or a conversation is created via the API.", - "An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API.", + "An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API. The event is fired for every CompleteConversation call, even if the conversation is already closed.", "An existing conversation has received notification from Dialogflow that human intervention is required.", "An existing conversation has received a new message, either from API or telephony. It is configured in ConversationProfile.new_message_event_notification_config", "An existing conversation has received a new speech recognition result. This is mainly for delivering intermediate transcripts. The notification is configured in ConversationProfile.new_recognition_event_notification_config.", @@ -19547,7 +19547,7 @@ "enumDescriptions": [ "Type not set.", "A new conversation has been opened. This is fired when a telephone call is answered, or a conversation is created via the API.", - "An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API.", + "An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API. The event is fired for every CompleteConversation call, even if the conversation is already closed.", "An existing conversation has received notification from Dialogflow that human intervention is required.", "An existing conversation has received a new message, either from API or telephony. It is configured in ConversationProfile.new_message_event_notification_config", "An existing conversation has received a new speech recognition result. This is mainly for delivering intermediate transcripts. The notification is configured in ConversationProfile.new_recognition_event_notification_config.", diff --git a/Src/Generated/Google.Apis.Dialogflow.v3beta1/Google.Apis.Dialogflow.v3beta1.csproj b/Src/Generated/Google.Apis.Dialogflow.v3beta1/Google.Apis.Dialogflow.v3beta1.csproj index ebde0fbdbc6..032823c08fe 100644 --- a/Src/Generated/Google.Apis.Dialogflow.v3beta1/Google.Apis.Dialogflow.v3beta1.csproj +++ b/Src/Generated/Google.Apis.Dialogflow.v3beta1/Google.Apis.Dialogflow.v3beta1.csproj @@ -3,7 +3,7 @@ Google.Apis.Dialogflow.v3beta1 Client Library - 1.72.0.3952 + 1.72.0.3961 Google LLC Copyright 2025 Google LLC Google From 673e3b4e38be66de268601127991177c5141fec7 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:43 +0000 Subject: [PATCH 35/65] feat: Generate Google.Apis.DLP.v2 version 1.72.0.3958 --- DiscoveryJson/dlp.v2.json | 8 ++++---- .../Google.Apis.DLP.v2/Google.Apis.DLP.v2.csproj | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/DiscoveryJson/dlp.v2.json b/DiscoveryJson/dlp.v2.json index 8799b0616b1..b2ed634683a 100644 --- a/DiscoveryJson/dlp.v2.json +++ b/DiscoveryJson/dlp.v2.json @@ -5123,7 +5123,7 @@ } } }, - "revision": "20251019", + "revision": "20251102", "rootUrl": "https://dlp.googleapis.com/", "schemas": { "GooglePrivacyDlpV2Action": { @@ -8451,9 +8451,9 @@ ], "enumDescriptions": [ "Invalid.", - "Full match. - Dictionary: join of Dictionary results matched complete finding quote - Regex: all regex matches fill a finding quote start to end - Exclude info type: completely inside affecting info types findings", - "Partial match. - Dictionary: at least one of the tokens in the finding matches - Regex: substring of the finding matches - Exclude info type: intersects with affecting info types findings", - "Inverse match. - Dictionary: no tokens in the finding match the dictionary - Regex: finding doesn't match the regex - Exclude info type: no intersection with affecting info types findings" + "Full match. - Dictionary: join of Dictionary results matched the complete finding quote - Regex: all regex matches fill a finding quote from start to end - Exclude infoType: completely inside affecting infoTypes findings", + "Partial match. - Dictionary: at least one of the tokens in the finding matches - Regex: substring of the finding matches - Exclude infoType: intersects with affecting infoTypes findings", + "Inverse match. - Dictionary: no tokens in the finding match the dictionary - Regex: finding doesn't match the regex - Exclude infoType: no intersection with affecting infoTypes findings" ], "type": "string" }, diff --git a/Src/Generated/Google.Apis.DLP.v2/Google.Apis.DLP.v2.csproj b/Src/Generated/Google.Apis.DLP.v2/Google.Apis.DLP.v2.csproj index d54d3d97cc8..2a158a036e3 100644 --- a/Src/Generated/Google.Apis.DLP.v2/Google.Apis.DLP.v2.csproj +++ b/Src/Generated/Google.Apis.DLP.v2/Google.Apis.DLP.v2.csproj @@ -3,7 +3,7 @@ Google.Apis.DLP.v2 Client Library - 1.72.0.3944 + 1.72.0.3958 Google LLC Copyright 2025 Google LLC Google From 0b56aedfb69478d46558164bfe808d0f20909992 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:45 +0000 Subject: [PATCH 36/65] feat: Generate Google.Apis.Document.v1 version 1.72.0.3955 --- DiscoveryJson/documentai.v1.json | 11 ++++++++--- .../Google.Apis.Document.v1.cs | 11 ++++++++--- .../Google.Apis.Document.v1.csproj | 2 +- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/DiscoveryJson/documentai.v1.json b/DiscoveryJson/documentai.v1.json index ee3ff2a3ab4..ba65f0cf71b 100644 --- a/DiscoveryJson/documentai.v1.json +++ b/DiscoveryJson/documentai.v1.json @@ -198,7 +198,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -1392,11 +1392,11 @@ } } }, - "revision": "20251020", + "revision": "20251030", "rootUrl": "https://documentai.googleapis.com/", "schemas": { "CloudAiDocumentaiLabHifiaToolsValidationValidatorInput": { - "description": "Definition of the validation rules. Those are the input to the validator logic and they are used to validate a document.", + "description": "Definition of the validation rules. Those are the input to the validator logic and they are used to validate a document. Next ID: 3", "id": "CloudAiDocumentaiLabHifiaToolsValidationValidatorInput", "properties": { "validationRules": { @@ -1409,6 +1409,7 @@ "type": "object" }, "CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRule": { + "description": "Next ID: 9", "id": "CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRule", "properties": { "childAlignmentRule": { @@ -1433,6 +1434,10 @@ "name": { "description": "Name of the validation rule.", "type": "string" + }, + "ruleId": { + "description": "Unique identifier of the rule. Optional.", + "type": "string" } }, "type": "object" diff --git a/Src/Generated/Google.Apis.Document.v1/Google.Apis.Document.v1.cs b/Src/Generated/Google.Apis.Document.v1/Google.Apis.Document.v1.cs index 68f86cf766e..d1beb0483bc 100644 --- a/Src/Generated/Google.Apis.Document.v1/Google.Apis.Document.v1.cs +++ b/Src/Generated/Google.Apis.Document.v1/Google.Apis.Document.v1.cs @@ -2955,8 +2955,8 @@ public ListRequest(Google.Apis.Services.IClientService service, string name) : b public virtual string Name { get; private set; } /// - /// Optional. Unless explicitly documented otherwise, don't use this unsupported field which is - /// primarily intended for internal usage. + /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented + /// otherwise. This is primarily for internal usage. /// [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } @@ -3112,7 +3112,7 @@ namespace Google.Apis.Document.v1.Data { /// /// Definition of the validation rules. Those are the input to the validator logic and they are used to validate a - /// document. + /// document. Next ID: 3 /// public class CloudAiDocumentaiLabHifiaToolsValidationValidatorInput : Google.Apis.Requests.IDirectResponseSchema { @@ -3123,6 +3123,7 @@ public class CloudAiDocumentaiLabHifiaToolsValidationValidatorInput : Google.Api public virtual string ETag { get; set; } } + /// Next ID: 9 public class CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRule : Google.Apis.Requests.IDirectResponseSchema { [Newtonsoft.Json.JsonPropertyAttribute("childAlignmentRule")] @@ -3148,6 +3149,10 @@ public class CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRul [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } + /// Unique identifier of the rule. Optional. + [Newtonsoft.Json.JsonPropertyAttribute("ruleId")] + public virtual string RuleId { get; set; } + /// The ETag of the item. public virtual string ETag { get; set; } } diff --git a/Src/Generated/Google.Apis.Document.v1/Google.Apis.Document.v1.csproj b/Src/Generated/Google.Apis.Document.v1/Google.Apis.Document.v1.csproj index 0a320ec3f94..0599e1dc74b 100644 --- a/Src/Generated/Google.Apis.Document.v1/Google.Apis.Document.v1.csproj +++ b/Src/Generated/Google.Apis.Document.v1/Google.Apis.Document.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Document.v1 Client Library - 1.72.0.3945 + 1.72.0.3955 Google LLC Copyright 2025 Google LLC Google From 2669247cc2edb6fc7967dea9f950c81990f3bce5 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:47 +0000 Subject: [PATCH 37/65] feat: Generate Google.Apis.Document.v1beta3 version 1.72.0.3955 --- DiscoveryJson/documentai.v1beta3.json | 11 ++++++++--- .../Google.Apis.Document.v1beta3.cs | 11 ++++++++--- .../Google.Apis.Document.v1beta3.csproj | 2 +- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/DiscoveryJson/documentai.v1beta3.json b/DiscoveryJson/documentai.v1beta3.json index 3819f4eeb15..2abfb5da35b 100644 --- a/DiscoveryJson/documentai.v1beta3.json +++ b/DiscoveryJson/documentai.v1beta3.json @@ -169,7 +169,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -1634,11 +1634,11 @@ } } }, - "revision": "20251020", + "revision": "20251030", "rootUrl": "https://documentai.googleapis.com/", "schemas": { "CloudAiDocumentaiLabHifiaToolsValidationValidatorInput": { - "description": "Definition of the validation rules. Those are the input to the validator logic and they are used to validate a document.", + "description": "Definition of the validation rules. Those are the input to the validator logic and they are used to validate a document. Next ID: 3", "id": "CloudAiDocumentaiLabHifiaToolsValidationValidatorInput", "properties": { "validationRules": { @@ -1651,6 +1651,7 @@ "type": "object" }, "CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRule": { + "description": "Next ID: 9", "id": "CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRule", "properties": { "childAlignmentRule": { @@ -1675,6 +1676,10 @@ "name": { "description": "Name of the validation rule.", "type": "string" + }, + "ruleId": { + "description": "Unique identifier of the rule. Optional.", + "type": "string" } }, "type": "object" diff --git a/Src/Generated/Google.Apis.Document.v1beta3/Google.Apis.Document.v1beta3.cs b/Src/Generated/Google.Apis.Document.v1beta3/Google.Apis.Document.v1beta3.cs index 0495d81592c..27b6189b0a8 100644 --- a/Src/Generated/Google.Apis.Document.v1beta3/Google.Apis.Document.v1beta3.cs +++ b/Src/Generated/Google.Apis.Document.v1beta3/Google.Apis.Document.v1beta3.cs @@ -3538,8 +3538,8 @@ public ListRequest(Google.Apis.Services.IClientService service, string name) : b public virtual string Name { get; private set; } /// - /// Optional. Unless explicitly documented otherwise, don't use this unsupported field which is - /// primarily intended for internal usage. + /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented + /// otherwise. This is primarily for internal usage. /// [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } @@ -3626,7 +3626,7 @@ namespace Google.Apis.Document.v1beta3.Data { /// /// Definition of the validation rules. Those are the input to the validator logic and they are used to validate a - /// document. + /// document. Next ID: 3 /// public class CloudAiDocumentaiLabHifiaToolsValidationValidatorInput : Google.Apis.Requests.IDirectResponseSchema { @@ -3637,6 +3637,7 @@ public class CloudAiDocumentaiLabHifiaToolsValidationValidatorInput : Google.Api public virtual string ETag { get; set; } } + /// Next ID: 9 public class CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRule : Google.Apis.Requests.IDirectResponseSchema { [Newtonsoft.Json.JsonPropertyAttribute("childAlignmentRule")] @@ -3662,6 +3663,10 @@ public class CloudAiDocumentaiLabHifiaToolsValidationValidatorInputValidationRul [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } + /// Unique identifier of the rule. Optional. + [Newtonsoft.Json.JsonPropertyAttribute("ruleId")] + public virtual string RuleId { get; set; } + /// The ETag of the item. public virtual string ETag { get; set; } } diff --git a/Src/Generated/Google.Apis.Document.v1beta3/Google.Apis.Document.v1beta3.csproj b/Src/Generated/Google.Apis.Document.v1beta3/Google.Apis.Document.v1beta3.csproj index 910450656c0..9cb521f6744 100644 --- a/Src/Generated/Google.Apis.Document.v1beta3/Google.Apis.Document.v1beta3.csproj +++ b/Src/Generated/Google.Apis.Document.v1beta3/Google.Apis.Document.v1beta3.csproj @@ -3,7 +3,7 @@ Google.Apis.Document.v1beta3 Client Library - 1.72.0.3945 + 1.72.0.3955 Google LLC Copyright 2025 Google LLC Google From 8b404e09761f2e9553f8e5f041cac9bd0aa17bff Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:49 +0000 Subject: [PATCH 38/65] feat: Generate Google.Apis.FirebaseAppDistribution.v1 version 1.72.0.3960 --- DiscoveryJson/firebaseappdistribution.v1.json | 20 +++++----- .../Google.Apis.FirebaseAppDistribution.v1.cs | 37 +++++++++---------- ...gle.Apis.FirebaseAppDistribution.v1.csproj | 6 +-- 3 files changed, 31 insertions(+), 32 deletions(-) diff --git a/DiscoveryJson/firebaseappdistribution.v1.json b/DiscoveryJson/firebaseappdistribution.v1.json index ebdbdafbdd3..bcca7b599a8 100644 --- a/DiscoveryJson/firebaseappdistribution.v1.json +++ b/DiscoveryJson/firebaseappdistribution.v1.json @@ -128,7 +128,7 @@ ], "parameters": { "app": { - "description": "Required. The name of the app resource. Format: `projects/{project_number}/apps/{app_id}`", + "description": "Required. The name of the app resource. Format: `projects/{project_number}/apps/{app}`", "location": "path", "pattern": "^projects/[^/]+/apps/[^/]+$", "required": true, @@ -163,7 +163,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the `AabInfo` resource to retrieve. Format: `projects/{project_number}/apps/{app_id}/aabInfo`", + "description": "Required. The name of the `AabInfo` resource to retrieve. Format: `projects/{project_number}/apps/{app}/aabInfo`", "location": "path", "pattern": "^projects/[^/]+/apps/[^/]+/aabInfo$", "required": true, @@ -192,7 +192,7 @@ ], "parameters": { "parent": { - "description": "Required. The name of the app resource, which is the parent of the release resources. Format: `projects/{project_number}/apps/{app_id}`", + "description": "Required. The name of the app resource, which is the parent of the release resources. Format: `projects/{project_number}/apps/{app}`", "location": "path", "pattern": "^projects/[^/]+/apps/[^/]+$", "required": true, @@ -220,7 +220,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the release resource to distribute. Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}`", + "description": "Required. The name of the release resource to distribute. Format: `projects/{project_number}/apps/{app}/releases/{release}`", "location": "path", "pattern": "^projects/[^/]+/apps/[^/]+/releases/[^/]+$", "required": true, @@ -248,7 +248,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the release resource to retrieve. Format: projects/{project_number}/apps/{app_id}/releases/{release_id}", + "description": "Required. The name of the release resource to retrieve. Format: projects/{project_number}/apps/{app}/releases/{release}", "location": "path", "pattern": "^projects/[^/]+/apps/[^/]+/releases/[^/]+$", "required": true, @@ -294,7 +294,7 @@ "type": "string" }, "parent": { - "description": "Required. The name of the app resource, which is the parent of the release resources. Format: `projects/{project_number}/apps/{app_id}`", + "description": "Required. The name of the app resource, which is the parent of the release resources. Format: `projects/{project_number}/apps/{app}`", "location": "path", "pattern": "^projects/[^/]+/apps/[^/]+$", "required": true, @@ -319,7 +319,7 @@ ], "parameters": { "name": { - "description": "The name of the release resource. Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}`", + "description": "The name of the release resource. Format: `projects/{project_number}/apps/{app}/releases/{release}`", "location": "path", "pattern": "^projects/[^/]+/apps/[^/]+/releases/[^/]+$", "required": true, @@ -946,7 +946,7 @@ } } }, - "revision": "20250924", + "revision": "20251104", "rootUrl": "https://firebaseappdistribution.googleapis.com/", "schemas": { "GdataBlobstore2Info": { @@ -1449,7 +1449,7 @@ "id": "GoogleFirebaseAppdistroV1BatchDeleteReleasesRequest", "properties": { "names": { - "description": "Required. The names of the release resources to delete. Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}` A maximum of 100 releases can be deleted per request.", + "description": "Required. The names of the release resources to delete. Format: `projects/{project_number}/apps/{app}/releases/{release}` A maximum of 100 releases can be deleted per request.", "items": { "type": "string" }, @@ -1724,7 +1724,7 @@ "type": "string" }, "name": { - "description": "The name of the release resource. Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}`", + "description": "The name of the release resource. Format: `projects/{project_number}/apps/{app}/releases/{release}`", "type": "string" }, "releaseNotes": { diff --git a/Src/Generated/Google.Apis.FirebaseAppDistribution.v1/Google.Apis.FirebaseAppDistribution.v1.cs b/Src/Generated/Google.Apis.FirebaseAppDistribution.v1/Google.Apis.FirebaseAppDistribution.v1.cs index d78da5abf59..bb128cb0341 100644 --- a/Src/Generated/Google.Apis.FirebaseAppDistribution.v1/Google.Apis.FirebaseAppDistribution.v1.cs +++ b/Src/Generated/Google.Apis.FirebaseAppDistribution.v1/Google.Apis.FirebaseAppDistribution.v1.cs @@ -286,7 +286,7 @@ public MediaResource(Google.Apis.Services.IClientService service) /// /// The body of the request. /// - /// Required. The name of the app resource. Format: `projects/{project_number}/apps/{app_id}` + /// Required. The name of the app resource. Format: `projects/{project_number}/apps/{app}` /// public virtual UploadRequest Upload(Google.Apis.FirebaseAppDistribution.v1.Data.GoogleFirebaseAppdistroV1UploadReleaseRequest body, string app) { @@ -308,7 +308,7 @@ public UploadRequest(Google.Apis.Services.IClientService service, Google.Apis.Fi } /// - /// Required. The name of the app resource. Format: `projects/{project_number}/apps/{app_id}` + /// Required. The name of the app resource. Format: `projects/{project_number}/apps/{app}` /// [Google.Apis.Util.RequestParameterAttribute("app", Google.Apis.Util.RequestParameterType.Path)] public virtual string App { get; private set; } @@ -366,7 +366,7 @@ protected override void InitParameters() /// /// The body of the request. /// - /// Required. The name of the app resource. Format: `projects/{project_number}/apps/{app_id}` + /// Required. The name of the app resource. Format: `projects/{project_number}/apps/{app}` /// /// The stream to upload. See remarks for further information. /// The content type of the stream to upload. @@ -457,7 +457,7 @@ public enum AltEnum public virtual string UploadProtocol { get; set; } /// - /// Required. The name of the app resource. Format: `projects/{project_number}/apps/{app_id}` + /// Required. The name of the app resource. Format: `projects/{project_number}/apps/{app}` /// [Google.Apis.Util.RequestParameterAttribute("app", Google.Apis.Util.RequestParameterType.Path)] public virtual string App { get; private set; } @@ -1121,7 +1121,7 @@ protected override void InitParameters() /// The body of the request. /// /// Required. The name of the app resource, which is the parent of the release resources. Format: - /// `projects/{project_number}/apps/{app_id}` + /// `projects/{project_number}/apps/{app}` /// public virtual BatchDeleteRequest BatchDelete(Google.Apis.FirebaseAppDistribution.v1.Data.GoogleFirebaseAppdistroV1BatchDeleteReleasesRequest body, string parent) { @@ -1141,7 +1141,7 @@ public BatchDeleteRequest(Google.Apis.Services.IClientService service, Google.Ap /// /// Required. The name of the app resource, which is the parent of the release resources. Format: - /// `projects/{project_number}/apps/{app_id}` + /// `projects/{project_number}/apps/{app}` /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -1185,7 +1185,7 @@ protected override void InitParameters() /// The body of the request. /// /// Required. The name of the release resource to distribute. Format: - /// `projects/{project_number}/apps/{app_id}/releases/{release_id}` + /// `projects/{project_number}/apps/{app}/releases/{release}` /// public virtual DistributeRequest Distribute(Google.Apis.FirebaseAppDistribution.v1.Data.GoogleFirebaseAppdistroV1DistributeReleaseRequest body, string name) { @@ -1210,7 +1210,7 @@ public DistributeRequest(Google.Apis.Services.IClientService service, Google.Api /// /// Required. The name of the release resource to distribute. Format: - /// `projects/{project_number}/apps/{app_id}/releases/{release_id}` + /// `projects/{project_number}/apps/{app}/releases/{release}` /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -1248,7 +1248,7 @@ protected override void InitParameters() /// Gets a release. /// /// Required. The name of the release resource to retrieve. Format: - /// projects/{project_number}/apps/{app_id}/releases/{release_id} + /// projects/{project_number}/apps/{app}/releases/{release} /// public virtual GetRequest Get(string name) { @@ -1267,7 +1267,7 @@ public GetRequest(Google.Apis.Services.IClientService service, string name) : ba /// /// Required. The name of the release resource to retrieve. Format: - /// projects/{project_number}/apps/{app_id}/releases/{release_id} + /// projects/{project_number}/apps/{app}/releases/{release} /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -1299,7 +1299,7 @@ protected override void InitParameters() /// Lists releases. By default, sorts by `createTime` in descending order. /// /// Required. The name of the app resource, which is the parent of the release resources. Format: - /// `projects/{project_number}/apps/{app_id}` + /// `projects/{project_number}/apps/{app}` /// public virtual ListRequest List(string parent) { @@ -1318,7 +1318,7 @@ public ListRequest(Google.Apis.Services.IClientService service, string parent) : /// /// Required. The name of the app resource, which is the parent of the release resources. Format: - /// `projects/{project_number}/apps/{app_id}` + /// `projects/{project_number}/apps/{app}` /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -1418,8 +1418,7 @@ protected override void InitParameters() /// Updates a release. /// The body of the request. /// - /// The name of the release resource. Format: - /// `projects/{project_number}/apps/{app_id}/releases/{release_id}` + /// The name of the release resource. Format: `projects/{project_number}/apps/{app}/releases/{release}` /// public virtual PatchRequest Patch(Google.Apis.FirebaseAppDistribution.v1.Data.GoogleFirebaseAppdistroV1Release body, string name) { @@ -1439,7 +1438,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Fir /// /// The name of the release resource. Format: - /// `projects/{project_number}/apps/{app_id}/releases/{release_id}` + /// `projects/{project_number}/apps/{app}/releases/{release}` /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -1490,7 +1489,7 @@ protected override void InitParameters() /// Gets Android App Bundle (AAB) information for a Firebase app. /// /// Required. The name of the `AabInfo` resource to retrieve. Format: - /// `projects/{project_number}/apps/{app_id}/aabInfo` + /// `projects/{project_number}/apps/{app}/aabInfo` /// public virtual GetAabInfoRequest GetAabInfo(string name) { @@ -1509,7 +1508,7 @@ public GetAabInfoRequest(Google.Apis.Services.IClientService service, string nam /// /// Required. The name of the `AabInfo` resource to retrieve. Format: - /// `projects/{project_number}/apps/{app_id}/aabInfo` + /// `projects/{project_number}/apps/{app}/aabInfo` /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -2861,7 +2860,7 @@ public class GoogleFirebaseAppdistroV1BatchDeleteReleasesRequest : Google.Apis.R { /// /// Required. The names of the release resources to delete. Format: - /// `projects/{project_number}/apps/{app_id}/releases/{release_id}` A maximum of 100 releases can be deleted per + /// `projects/{project_number}/apps/{app}/releases/{release}` A maximum of 100 releases can be deleted per /// request. /// [Newtonsoft.Json.JsonPropertyAttribute("names")] @@ -3227,7 +3226,7 @@ public virtual System.DateTimeOffset? ExpireTimeDateTimeOffset public virtual string FirebaseConsoleUri { get; set; } /// - /// The name of the release resource. Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}` + /// The name of the release resource. Format: `projects/{project_number}/apps/{app}/releases/{release}` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } diff --git a/Src/Generated/Google.Apis.FirebaseAppDistribution.v1/Google.Apis.FirebaseAppDistribution.v1.csproj b/Src/Generated/Google.Apis.FirebaseAppDistribution.v1/Google.Apis.FirebaseAppDistribution.v1.csproj index 89d71aaca62..5aecf4c517e 100644 --- a/Src/Generated/Google.Apis.FirebaseAppDistribution.v1/Google.Apis.FirebaseAppDistribution.v1.csproj +++ b/Src/Generated/Google.Apis.FirebaseAppDistribution.v1/Google.Apis.FirebaseAppDistribution.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.FirebaseAppDistribution.v1 Client Library - 1.71.0.3919 + 1.72.0.3960 Google LLC Copyright 2025 Google LLC Google @@ -59,8 +59,8 @@ - - + + From 04e8ca146b6a1c5b9d95ac0f9d68fad3325c9da4 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:51 +0000 Subject: [PATCH 39/65] feat: Generate Google.Apis.FirebaseAppDistribution.v1alpha version 1.72.0.3963 --- .../firebaseappdistribution.v1alpha.json | 49 ++++++------ ...le.Apis.FirebaseAppDistribution.v1alpha.cs | 79 +++++++++++-------- ...pis.FirebaseAppDistribution.v1alpha.csproj | 2 +- 3 files changed, 72 insertions(+), 58 deletions(-) diff --git a/DiscoveryJson/firebaseappdistribution.v1alpha.json b/DiscoveryJson/firebaseappdistribution.v1alpha.json index d9c4e41aafb..e0dbad35d6a 100644 --- a/DiscoveryJson/firebaseappdistribution.v1alpha.json +++ b/DiscoveryJson/firebaseappdistribution.v1alpha.json @@ -396,7 +396,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the `TestConfig` resource to retrieve. Format: `projects/{project_number}/apps/{app_id}/testConfig`", + "description": "Required. The name of the `TestConfig` resource to retrieve. Format: `projects/{project_number}/apps/{app}/testConfig`", "location": "path", "pattern": "^projects/[^/]+/apps/[^/]+/testConfig$", "required": true, @@ -421,7 +421,7 @@ ], "parameters": { "name": { - "description": "Identifier. The name of the test configuration resource. Format: `projects/{project_number}/apps/{app_id}/testConfig`", + "description": "Identifier. The name of the test configuration resource. Format: `projects/{project_number}/apps/{app}/testConfig`", "location": "path", "pattern": "^projects/[^/]+/apps/[^/]+/testConfig$", "required": true, @@ -461,7 +461,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the release test resource. Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}/tests/{test_id}`", + "description": "Required. The name of the release test resource. Format: `projects/{project_number}/apps/{app}/releases/{release}/tests/{test}`", "location": "path", "pattern": "^projects/[^/]+/apps/[^/]+/releases/[^/]+/tests/[^/]+$", "required": true, @@ -486,7 +486,7 @@ ], "parameters": { "parent": { - "description": "Required. The name of the release resource, which is the parent of the test Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}`", + "description": "Required. The name of the release resource, which is the parent of the test Format: `projects/{project_number}/apps/{app}/releases/{release}`", "location": "path", "pattern": "^projects/[^/]+/apps/[^/]+/releases/[^/]+$", "required": true, @@ -519,7 +519,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the release test resource. Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}/tests/{test_id}`", + "description": "Required. The name of the release test resource. Format: `projects/{project_number}/apps/{app}/releases/{release}/tests/{test}`", "location": "path", "pattern": "^projects/[^/]+/apps/[^/]+/releases/[^/]+/tests/[^/]+$", "required": true, @@ -555,7 +555,7 @@ "type": "string" }, "parent": { - "description": "Required. The name of the release resource, which is the parent of the tests Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}`", + "description": "Required. The name of the release resource, which is the parent of the tests Format: `projects/{project_number}/apps/{app}/releases/{release}`", "location": "path", "pattern": "^projects/[^/]+/apps/[^/]+/releases/[^/]+$", "required": true, @@ -601,7 +601,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource of the test cases being deleted. Format: `projects/{project_number}/apps/{app_id}`", + "description": "Required. The parent resource of the test cases being deleted. Format: `projects/{project_number}/apps/{app}`", "location": "path", "pattern": "^projects/[^/]+/apps/[^/]+$", "required": true, @@ -629,7 +629,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource of the test cases being updated. Format: `projects/{project_number}/apps/{app_id}`", + "description": "Required. The parent resource of the test cases being updated. Format: `projects/{project_number}/apps/{app}`", "location": "path", "pattern": "^projects/[^/]+/apps/[^/]+$", "required": true, @@ -657,7 +657,7 @@ ], "parameters": { "testCase": { - "description": "Required. The name of the test case resource for which to clear the cache. Format: `projects/{project_number}/apps/{app_id}/testCases/{test_case_id}`", + "description": "Required. The name of the test case resource for which to clear the cache. Format: `projects/{project_number}/apps/{app}/testCases/{test_case}`", "location": "path", "pattern": "^projects/[^/]+/apps/[^/]+/testCases/[^/]+$", "required": true, @@ -685,7 +685,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource where this test case will be created. Format: `projects/{project_number}/apps/{app_id}`", + "description": "Required. The parent resource where this test case will be created. Format: `projects/{project_number}/apps/{app}`", "location": "path", "pattern": "^projects/[^/]+/apps/[^/]+$", "required": true, @@ -718,7 +718,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the test case resource to delete. Format: `projects/{project_number}/apps/{app_id}/testCases/{test_case_id}`", + "description": "Required. The name of the test case resource to delete. Format: `projects/{project_number}/apps/{app}/testCases/{test_case}`", "location": "path", "pattern": "^projects/[^/]+/apps/[^/]+/testCases/[^/]+$", "required": true, @@ -743,7 +743,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the test case resource to retrieve. Format: `projects/{project_number}/apps/{app_id}/testCases/{test_case_id}`", + "description": "Required. The name of the test case resource to retrieve. Format: `projects/{project_number}/apps/{app}/testCases/{test_case}`", "location": "path", "pattern": "^projects/[^/]+/apps/[^/]+/testCases/[^/]+$", "required": true, @@ -779,7 +779,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource from which to list test cases. Format: `projects/{project_number}/apps/{app_id}`", + "description": "Required. The parent resource from which to list test cases. Format: `projects/{project_number}/apps/{app}`", "location": "path", "pattern": "^projects/[^/]+/apps/[^/]+$", "required": true, @@ -809,7 +809,7 @@ "type": "boolean" }, "name": { - "description": "Identifier. The name of the test case resource. Format: `projects/{project_number}/apps/{app_id}/testCases/{test_case_id}`", + "description": "Identifier. The name of the test case resource. Format: `projects/{project_number}/apps/{app}/testCases/{test_case}`", "location": "path", "pattern": "^projects/[^/]+/apps/[^/]+/testCases/[^/]+$", "required": true, @@ -868,7 +868,7 @@ } } }, - "revision": "20251103", + "revision": "20251107", "rootUrl": "https://firebaseappdistribution.googleapis.com/", "schemas": { "AndroidxCrawlerOutputPoint": { @@ -946,7 +946,7 @@ "type": "string" }, "name": { - "description": "The name of the release resource. Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}`", + "description": "The name of the release resource. Format: `projects/{project_number}/apps/{app}/releases/{release}`", "type": "string" }, "releaseNotes": { @@ -1210,7 +1210,7 @@ "id": "GoogleFirebaseAppdistroV1alphaBatchDeleteTestCasesRequest", "properties": { "names": { - "description": "Required. The name of the test cases to delete. A maximum number of 1000 test cases can be deleted in one batch Format: `projects/{project_number}/apps/{app_id}/testCases/{test_case_id}`", + "description": "Required. The name of the test cases to delete. A maximum number of 1000 test cases can be deleted in one batch Format: `projects/{project_number}/apps/{app}/testCases/{test_case}`", "items": { "type": "string" }, @@ -1406,7 +1406,12 @@ "type": "string" }, "name": { - "description": "Identifier. The name of the device execution resource. Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}/tests/{test_id}/deviceExecutions/{device_execution}`", + "description": "Identifier. The name of the device execution resource. Format: `projects/{project_number}/apps/{app}/releases/{release}/tests/{test}/deviceExecutions/{device_execution}`", + "type": "string" + }, + "originDeviceExecution": { + "description": "Output only. The device execution from which cached steps were used during this execution. Note: This field is only populated for ACTION_BASED_REPLAY executions. If the original device execution no longer exists, this field will be empty. Format: `projects/{project_number}/apps/{app}/releases/{release}/tests/{test}/deviceExecutions/{device_execution}`", + "readOnly": true, "type": "string" }, "resultsStoragePath": { @@ -2002,7 +2007,7 @@ "description": "Optional. Input only. Login credentials for the test. Input only." }, "name": { - "description": "The name of the release test resource. Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}/tests/{test_id}`", + "description": "The name of the release test resource. Format: `projects/{project_number}/apps/{app}/releases/{release}/tests/{test}`", "type": "string" }, "testCase": { @@ -2154,7 +2159,7 @@ "type": "string" }, "name": { - "description": "Identifier. The name of the test case resource. Format: `projects/{project_number}/apps/{app_id}/testCases/{test_case_id}`", + "description": "Identifier. The name of the test case resource. Format: `projects/{project_number}/apps/{app}/testCases/{test_case}`", "type": "string" }, "prerequisiteTestCase": { @@ -2173,7 +2178,7 @@ "type": "string" }, "name": { - "description": "Identifier. The name of the test configuration resource. Format: `projects/{project_number}/apps/{app_id}/testConfig`", + "description": "Identifier. The name of the test configuration resource. Format: `projects/{project_number}/apps/{app}/testConfig`", "type": "string" }, "roboCrawler": { @@ -2265,7 +2270,7 @@ }, "testCase": { "$ref": "GoogleFirebaseAppdistroV1alphaTestCase", - "description": "Required. The test case to update. The test case's `name` field is used to identify the test case to update. Format: `projects/{project_number}/apps/{app_id}/testCases/{test_case_id}`" + "description": "Required. The test case to update. The test case's `name` field is used to identify the test case to update. Format: `projects/{project_number}/apps/{app}/testCases/{test_case}`" } }, "type": "object" diff --git a/Src/Generated/Google.Apis.FirebaseAppDistribution.v1alpha/Google.Apis.FirebaseAppDistribution.v1alpha.cs b/Src/Generated/Google.Apis.FirebaseAppDistribution.v1alpha/Google.Apis.FirebaseAppDistribution.v1alpha.cs index 0a69702eea4..f0e29d14db9 100644 --- a/Src/Generated/Google.Apis.FirebaseAppDistribution.v1alpha/Google.Apis.FirebaseAppDistribution.v1alpha.cs +++ b/Src/Generated/Google.Apis.FirebaseAppDistribution.v1alpha/Google.Apis.FirebaseAppDistribution.v1alpha.cs @@ -935,7 +935,7 @@ public TestsResource(Google.Apis.Services.IClientService service) /// Abort automated test run on release. /// /// Required. The name of the release test resource. Format: - /// `projects/{project_number}/apps/{app_id}/releases/{release_id}/tests/{test_id}` + /// `projects/{project_number}/apps/{app}/releases/{release}/tests/{test}` /// public virtual CancelRequest Cancel(string name) { @@ -954,7 +954,7 @@ public CancelRequest(Google.Apis.Services.IClientService service, string name) : /// /// Required. The name of the release test resource. Format: - /// `projects/{project_number}/apps/{app_id}/releases/{release_id}/tests/{test_id}` + /// `projects/{project_number}/apps/{app}/releases/{release}/tests/{test}` /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -987,7 +987,7 @@ protected override void InitParameters() /// The body of the request. /// /// Required. The name of the release resource, which is the parent of the test Format: - /// `projects/{project_number}/apps/{app_id}/releases/{release_id}` + /// `projects/{project_number}/apps/{app}/releases/{release}` /// public virtual CreateRequest Create(Google.Apis.FirebaseAppDistribution.v1alpha.Data.GoogleFirebaseAppdistroV1alphaReleaseTest body, string parent) { @@ -1007,7 +1007,7 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Fi /// /// Required. The name of the release resource, which is the parent of the test Format: - /// `projects/{project_number}/apps/{app_id}/releases/{release_id}` + /// `projects/{project_number}/apps/{app}/releases/{release}` /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -1061,7 +1061,7 @@ protected override void InitParameters() /// Get results for automated test run on release. /// /// Required. The name of the release test resource. Format: - /// `projects/{project_number}/apps/{app_id}/releases/{release_id}/tests/{test_id}` + /// `projects/{project_number}/apps/{app}/releases/{release}/tests/{test}` /// public virtual GetRequest Get(string name) { @@ -1080,7 +1080,7 @@ public GetRequest(Google.Apis.Services.IClientService service, string name) : ba /// /// Required. The name of the release test resource. Format: - /// `projects/{project_number}/apps/{app_id}/releases/{release_id}/tests/{test_id}` + /// `projects/{project_number}/apps/{app}/releases/{release}/tests/{test}` /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -1112,7 +1112,7 @@ protected override void InitParameters() /// List results for automated tests run on release. /// /// Required. The name of the release resource, which is the parent of the tests Format: - /// `projects/{project_number}/apps/{app_id}/releases/{release_id}` + /// `projects/{project_number}/apps/{app}/releases/{release}` /// public virtual ListRequest List(string parent) { @@ -1131,7 +1131,7 @@ public ListRequest(Google.Apis.Services.IClientService service, string parent) : /// /// Required. The name of the release resource, which is the parent of the tests Format: - /// `projects/{project_number}/apps/{app_id}/releases/{release_id}` + /// `projects/{project_number}/apps/{app}/releases/{release}` /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -1248,7 +1248,7 @@ public TestCasesResource(Google.Apis.Services.IClientService service) /// The body of the request. /// /// Required. The parent resource of the test cases being deleted. Format: - /// `projects/{project_number}/apps/{app_id}` + /// `projects/{project_number}/apps/{app}` /// public virtual BatchDeleteRequest BatchDelete(Google.Apis.FirebaseAppDistribution.v1alpha.Data.GoogleFirebaseAppdistroV1alphaBatchDeleteTestCasesRequest body, string parent) { @@ -1268,7 +1268,7 @@ public BatchDeleteRequest(Google.Apis.Services.IClientService service, Google.Ap /// /// Required. The parent resource of the test cases being deleted. Format: - /// `projects/{project_number}/apps/{app_id}` + /// `projects/{project_number}/apps/{app}` /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -1307,7 +1307,7 @@ protected override void InitParameters() /// The body of the request. /// /// Required. The parent resource of the test cases being updated. Format: - /// `projects/{project_number}/apps/{app_id}` + /// `projects/{project_number}/apps/{app}` /// public virtual BatchUpdateRequest BatchUpdate(Google.Apis.FirebaseAppDistribution.v1alpha.Data.GoogleFirebaseAppdistroV1alphaBatchUpdateTestCasesRequest body, string parent) { @@ -1327,7 +1327,7 @@ public BatchUpdateRequest(Google.Apis.Services.IClientService service, Google.Ap /// /// Required. The parent resource of the test cases being updated. Format: - /// `projects/{project_number}/apps/{app_id}` + /// `projects/{project_number}/apps/{app}` /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -1366,7 +1366,7 @@ protected override void InitParameters() /// The body of the request. /// /// Required. The name of the test case resource for which to clear the cache. Format: - /// `projects/{project_number}/apps/{app_id}/testCases/{test_case_id}` + /// `projects/{project_number}/apps/{app}/testCases/{test_case}` /// public virtual ClearTestCaseCacheRequest ClearTestCaseCache(Google.Apis.FirebaseAppDistribution.v1alpha.Data.GoogleFirebaseAppdistroV1alphaClearTestCaseCacheRequest body, string testCase) { @@ -1386,7 +1386,7 @@ public ClearTestCaseCacheRequest(Google.Apis.Services.IClientService service, Go /// /// Required. The name of the test case resource for which to clear the cache. Format: - /// `projects/{project_number}/apps/{app_id}/testCases/{test_case_id}` + /// `projects/{project_number}/apps/{app}/testCases/{test_case}` /// [Google.Apis.Util.RequestParameterAttribute("testCase", Google.Apis.Util.RequestParameterType.Path)] public virtual string TestCase { get; private set; } @@ -1425,7 +1425,7 @@ protected override void InitParameters() /// The body of the request. /// /// Required. The parent resource where this test case will be created. Format: - /// `projects/{project_number}/apps/{app_id}` + /// `projects/{project_number}/apps/{app}` /// public virtual CreateRequest Create(Google.Apis.FirebaseAppDistribution.v1alpha.Data.GoogleFirebaseAppdistroV1alphaTestCase body, string parent) { @@ -1445,7 +1445,7 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Fi /// /// Required. The parent resource where this test case will be created. Format: - /// `projects/{project_number}/apps/{app_id}` + /// `projects/{project_number}/apps/{app}` /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -1498,7 +1498,7 @@ protected override void InitParameters() /// Delete a test case. /// /// Required. The name of the test case resource to delete. Format: - /// `projects/{project_number}/apps/{app_id}/testCases/{test_case_id}` + /// `projects/{project_number}/apps/{app}/testCases/{test_case}` /// public virtual DeleteRequest Delete(string name) { @@ -1517,7 +1517,7 @@ public DeleteRequest(Google.Apis.Services.IClientService service, string name) : /// /// Required. The name of the test case resource to delete. Format: - /// `projects/{project_number}/apps/{app_id}/testCases/{test_case_id}` + /// `projects/{project_number}/apps/{app}/testCases/{test_case}` /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -1549,7 +1549,7 @@ protected override void InitParameters() /// Get a test case. /// /// Required. The name of the test case resource to retrieve. Format: - /// `projects/{project_number}/apps/{app_id}/testCases/{test_case_id}` + /// `projects/{project_number}/apps/{app}/testCases/{test_case}` /// public virtual GetRequest Get(string name) { @@ -1568,7 +1568,7 @@ public GetRequest(Google.Apis.Services.IClientService service, string name) : ba /// /// Required. The name of the test case resource to retrieve. Format: - /// `projects/{project_number}/apps/{app_id}/testCases/{test_case_id}` + /// `projects/{project_number}/apps/{app}/testCases/{test_case}` /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -1600,7 +1600,7 @@ protected override void InitParameters() /// List test cases. /// /// Required. The parent resource from which to list test cases. Format: - /// `projects/{project_number}/apps/{app_id}` + /// `projects/{project_number}/apps/{app}` /// public virtual ListRequest List(string parent) { @@ -1619,7 +1619,7 @@ public ListRequest(Google.Apis.Services.IClientService service, string parent) : /// /// Required. The parent resource from which to list test cases. Format: - /// `projects/{project_number}/apps/{app_id}` + /// `projects/{project_number}/apps/{app}` /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -1684,7 +1684,7 @@ protected override void InitParameters() /// The body of the request. /// /// Identifier. The name of the test case resource. Format: - /// `projects/{project_number}/apps/{app_id}/testCases/{test_case_id}` + /// `projects/{project_number}/apps/{app}/testCases/{test_case}` /// public virtual PatchRequest Patch(Google.Apis.FirebaseAppDistribution.v1alpha.Data.GoogleFirebaseAppdistroV1alphaTestCase body, string name) { @@ -1704,7 +1704,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Fir /// /// Identifier. The name of the test case resource. Format: - /// `projects/{project_number}/apps/{app_id}/testCases/{test_case_id}` + /// `projects/{project_number}/apps/{app}/testCases/{test_case}` /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -1757,7 +1757,7 @@ protected override void InitParameters() /// Gets configuration for automated tests. /// /// Required. The name of the `TestConfig` resource to retrieve. Format: - /// `projects/{project_number}/apps/{app_id}/testConfig` + /// `projects/{project_number}/apps/{app}/testConfig` /// public virtual GetTestConfigRequest GetTestConfig(string name) { @@ -1776,7 +1776,7 @@ public GetTestConfigRequest(Google.Apis.Services.IClientService service, string /// /// Required. The name of the `TestConfig` resource to retrieve. Format: - /// `projects/{project_number}/apps/{app_id}/testConfig` + /// `projects/{project_number}/apps/{app}/testConfig` /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -1809,7 +1809,7 @@ protected override void InitParameters() /// The body of the request. /// /// Identifier. The name of the test configuration resource. Format: - /// `projects/{project_number}/apps/{app_id}/testConfig` + /// `projects/{project_number}/apps/{app}/testConfig` /// public virtual UpdateTestConfigRequest UpdateTestConfig(Google.Apis.FirebaseAppDistribution.v1alpha.Data.GoogleFirebaseAppdistroV1alphaTestConfig body, string name) { @@ -1829,7 +1829,7 @@ public UpdateTestConfigRequest(Google.Apis.Services.IClientService service, Goog /// /// Identifier. The name of the test configuration resource. Format: - /// `projects/{project_number}/apps/{app_id}/testConfig` + /// `projects/{project_number}/apps/{app}/testConfig` /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -2147,7 +2147,7 @@ public virtual System.DateTimeOffset? ExpireTimeDateTimeOffset public virtual string FirebaseConsoleUri { get; set; } /// - /// The name of the release resource. Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}` + /// The name of the release resource. Format: `projects/{project_number}/apps/{app}/releases/{release}` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -2399,7 +2399,7 @@ public class GoogleFirebaseAppdistroV1alphaBatchDeleteTestCasesRequest : Google. { /// /// Required. The name of the test cases to delete. A maximum number of 1000 test cases can be deleted in one - /// batch Format: `projects/{project_number}/apps/{app_id}/testCases/{test_case_id}` + /// batch Format: `projects/{project_number}/apps/{app}/testCases/{test_case}` /// [Newtonsoft.Json.JsonPropertyAttribute("names")] public virtual System.Collections.Generic.IList Names { get; set; } @@ -2531,11 +2531,20 @@ public class GoogleFirebaseAppdistroV1alphaDeviceExecution : Google.Apis.Request /// /// Identifier. The name of the device execution resource. Format: - /// `projects/{project_number}/apps/{app_id}/releases/{release_id}/tests/{test_id}/deviceExecutions/{device_execution}` + /// `projects/{project_number}/apps/{app}/releases/{release}/tests/{test}/deviceExecutions/{device_execution}` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } + /// + /// Output only. The device execution from which cached steps were used during this execution. Note: This field + /// is only populated for ACTION_BASED_REPLAY executions. If the original device execution no longer exists, + /// this field will be empty. Format: + /// `projects/{project_number}/apps/{app}/releases/{release}/tests/{test}/deviceExecutions/{device_execution}` + /// + [Newtonsoft.Json.JsonPropertyAttribute("originDeviceExecution")] + public virtual string OriginDeviceExecution { get; set; } + /// /// Output only. The path to a directory in Cloud Storage that will eventually contain the results for this /// execution. For example, gs://bucket/Nexus5-18-en-portrait. @@ -3222,7 +3231,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// The name of the release test resource. Format: - /// `projects/{project_number}/apps/{app_id}/releases/{release_id}/tests/{test_id}` + /// `projects/{project_number}/apps/{app}/releases/{release}/tests/{test}` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -3369,7 +3378,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Identifier. The name of the test case resource. Format: - /// `projects/{project_number}/apps/{app_id}/testCases/{test_case_id}` + /// `projects/{project_number}/apps/{app}/testCases/{test_case}` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -3393,7 +3402,7 @@ public class GoogleFirebaseAppdistroV1alphaTestConfig : Google.Apis.Requests.IDi /// /// Identifier. The name of the test configuration resource. Format: - /// `projects/{project_number}/apps/{app_id}/testConfig` + /// `projects/{project_number}/apps/{app}/testConfig` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -3487,7 +3496,7 @@ public class GoogleFirebaseAppdistroV1alphaUpdateTestCaseRequest : Google.Apis.R /// /// Required. The test case to update. The test case's `name` field is used to identify the test case to update. - /// Format: `projects/{project_number}/apps/{app_id}/testCases/{test_case_id}` + /// Format: `projects/{project_number}/apps/{app}/testCases/{test_case}` /// [Newtonsoft.Json.JsonPropertyAttribute("testCase")] public virtual GoogleFirebaseAppdistroV1alphaTestCase TestCase { get; set; } diff --git a/Src/Generated/Google.Apis.FirebaseAppDistribution.v1alpha/Google.Apis.FirebaseAppDistribution.v1alpha.csproj b/Src/Generated/Google.Apis.FirebaseAppDistribution.v1alpha/Google.Apis.FirebaseAppDistribution.v1alpha.csproj index 0b90273e666..1cbab087e29 100644 --- a/Src/Generated/Google.Apis.FirebaseAppDistribution.v1alpha/Google.Apis.FirebaseAppDistribution.v1alpha.csproj +++ b/Src/Generated/Google.Apis.FirebaseAppDistribution.v1alpha/Google.Apis.FirebaseAppDistribution.v1alpha.csproj @@ -3,7 +3,7 @@ Google.Apis.FirebaseAppDistribution.v1alpha Client Library - 1.72.0.3959 + 1.72.0.3963 Google LLC Copyright 2025 Google LLC Google From 659508f04d0c59f9321e2bfce90192125080818a Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:53 +0000 Subject: [PATCH 40/65] feat: Generate Google.Apis.FirebaseAppHosting.v1beta version 1.72.0.3955 --- DiscoveryJson/firebaseapphosting.v1beta.json | 4 ++-- .../Google.Apis.FirebaseAppHosting.v1beta.cs | 6 +++++- .../Google.Apis.FirebaseAppHosting.v1beta.csproj | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/firebaseapphosting.v1beta.json b/DiscoveryJson/firebaseapphosting.v1beta.json index a7df26f6cea..65189509242 100644 --- a/DiscoveryJson/firebaseapphosting.v1beta.json +++ b/DiscoveryJson/firebaseapphosting.v1beta.json @@ -1103,7 +1103,7 @@ } } }, - "revision": "20251023", + "revision": "20251030", "rootUrl": "https://firebaseapphosting.googleapis.com/", "schemas": { "ArchiveSource": { @@ -1475,7 +1475,7 @@ "id": "Config", "properties": { "env": { - "description": "Optional. Environment variables for this build.", + "description": "Optional. Supplied environment variables for a specific build. Provided at Build creation time and immutable afterwards. This field is only applicable for Builds using a build image - (e.g., ContainerSource or ArchiveSource with locally_build_source) Attempts to set this for other build types will result in an error", "items": { "$ref": "EnvironmentVariable" }, diff --git a/Src/Generated/Google.Apis.FirebaseAppHosting.v1beta/Google.Apis.FirebaseAppHosting.v1beta.cs b/Src/Generated/Google.Apis.FirebaseAppHosting.v1beta/Google.Apis.FirebaseAppHosting.v1beta.cs index 5224fd52c0d..e1966b132fc 100644 --- a/Src/Generated/Google.Apis.FirebaseAppHosting.v1beta/Google.Apis.FirebaseAppHosting.v1beta.cs +++ b/Src/Generated/Google.Apis.FirebaseAppHosting.v1beta/Google.Apis.FirebaseAppHosting.v1beta.cs @@ -3286,7 +3286,11 @@ public virtual System.DateTimeOffset? CommitTimeDateTimeOffset /// Additional configuration of the backend for this build. public class Config : Google.Apis.Requests.IDirectResponseSchema { - /// Optional. Environment variables for this build. + /// + /// Optional. Supplied environment variables for a specific build. Provided at Build creation time and immutable + /// afterwards. This field is only applicable for Builds using a build image - (e.g., ContainerSource or + /// ArchiveSource with locally_build_source) Attempts to set this for other build types will result in an error + /// [Newtonsoft.Json.JsonPropertyAttribute("env")] public virtual System.Collections.Generic.IList Env { get; set; } diff --git a/Src/Generated/Google.Apis.FirebaseAppHosting.v1beta/Google.Apis.FirebaseAppHosting.v1beta.csproj b/Src/Generated/Google.Apis.FirebaseAppHosting.v1beta/Google.Apis.FirebaseAppHosting.v1beta.csproj index d3fe52c2065..56fdfbbb38f 100644 --- a/Src/Generated/Google.Apis.FirebaseAppHosting.v1beta/Google.Apis.FirebaseAppHosting.v1beta.csproj +++ b/Src/Generated/Google.Apis.FirebaseAppHosting.v1beta/Google.Apis.FirebaseAppHosting.v1beta.csproj @@ -3,7 +3,7 @@ Google.Apis.FirebaseAppHosting.v1beta Client Library - 1.72.0.3948 + 1.72.0.3955 Google LLC Copyright 2025 Google LLC Google From 62eb5230c88bc0ec396ad6f13583d9751b725a18 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:55 +0000 Subject: [PATCH 41/65] feat: Generate Google.Apis.GKEHub.v1alpha version 1.72.0.3959 --- DiscoveryJson/gkehub.v1alpha.json | 725 +- .../Google.Apis.GKEHub.v1alpha.cs | 10109 +++++++++------- .../Google.Apis.GKEHub.v1alpha.csproj | 2 +- 3 files changed, 6433 insertions(+), 4403 deletions(-) diff --git a/DiscoveryJson/gkehub.v1alpha.json b/DiscoveryJson/gkehub.v1alpha.json index bf55abd00d4..de3e158b6cd 100644 --- a/DiscoveryJson/gkehub.v1alpha.json +++ b/DiscoveryJson/gkehub.v1alpha.json @@ -1624,6 +1624,238 @@ } } }, + "rolloutSequences": { + "methods": { + "create": { + "description": "Create a new rollout sequence resource.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/rolloutSequences", + "httpMethod": "POST", + "id": "gkehub.projects.locations.rolloutSequences.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource where this rollout sequence will be created. projects/{project}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "rolloutSequenceId": { + "description": "Required. User provided identifier that is used as part of the resource name; must conform to RFC-1034 and additionally restrict to lower-cased letters. This comes out roughly to: /^a-z+[a-z0-9]$/", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+parent}/rolloutSequences", + "request": { + "$ref": "RolloutSequence" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Remove a RolloutSequence.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/rolloutSequences/{rolloutSequencesId}", + "httpMethod": "DELETE", + "id": "gkehub.projects.locations.rolloutSequences.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the rollout sequence to delete. projects/{project}/locations/{location}/rolloutSequences/{rollout_sequence}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/rolloutSequences/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieve a single rollout sequence.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/rolloutSequences/{rolloutSequencesId}", + "httpMethod": "GET", + "id": "gkehub.projects.locations.rolloutSequences.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the rollout sequence to retrieve. projects/{project}/locations/{location}/rolloutSequences/{rollout_sequence}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/rolloutSequences/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "RolloutSequence" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Retrieve the list of all rollout sequences.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/rolloutSequences", + "httpMethod": "GET", + "id": "gkehub.projects.locations.rolloutSequences.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Lists Rollout Sequences that match the filter expression, following the syntax outlined in https://google.aip.dev/160.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of rollout sequences to return. The service may return fewer than this value. If unspecified, at most 50 rollout sequences will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListRolloutSequences` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRolloutSequences` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns this collection of rollout sequences. Format: projects/{project}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/rolloutSequences", + "response": { + "$ref": "ListRolloutSequencesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update a rollout sequence.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/rolloutSequences/{rolloutSequencesId}", + "httpMethod": "PATCH", + "id": "gkehub.projects.locations.rolloutSequences.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Name of the rollout sequence in the format of: projects/{PROJECT_ID}/locations/global/rolloutSequences/{NAME}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/rolloutSequences/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "request": { + "$ref": "RolloutSequence" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "rollouts": { + "methods": { + "get": { + "description": "Retrieve a single rollout.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/rollouts/{rolloutsId}", + "httpMethod": "GET", + "id": "gkehub.projects.locations.rollouts.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the rollout to retrieve. projects/{project}/locations/{location}/rollouts/{rollout}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/rollouts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "Rollout" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Retrieve the list of all rollouts.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/rollouts", + "httpMethod": "GET", + "id": "gkehub.projects.locations.rollouts.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Lists Rollouts that match the filter expression, following the syntax outlined in https://google.aip.dev/160.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of rollout to return. The service may return fewer than this value. If unspecified, at most 50 rollouts will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListRollouts` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRollouts` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns this collection of rollout. Format: projects/{project}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/rollouts", + "response": { + "$ref": "ListRolloutsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "scopes": { "methods": { "create": { @@ -2266,7 +2498,7 @@ } } }, - "revision": "20251026", + "revision": "20251103", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AppDevExperienceFeatureSpec": { @@ -2476,6 +2708,17 @@ }, "type": "object" }, + "ClusterSelector": { + "description": "Selector for clusters.", + "id": "ClusterSelector", + "properties": { + "labelSelector": { + "description": "The label selector must be a valid CEL (go/cel) expression which evaluates resource.labels.", + "type": "string" + } + }, + "type": "object" + }, "ClusterUpgradeFleetSpec": { "description": "**ClusterUpgrade**: The configuration for the fleet-level ClusterUpgrade feature.", "id": "ClusterUpgradeFleetSpec", @@ -4082,6 +4325,35 @@ "properties": {}, "type": "object" }, + "ExcludedCluster": { + "description": "An excluded cluster from the rollout.", + "id": "ExcludedCluster", + "properties": { + "membership": { + "description": "Output only. The name of the fleet Membership resource associated to the excluded cluster.", + "readOnly": true, + "type": "string" + }, + "reason": { + "description": "Output only. The reason for excluding the cluster from the rollout.", + "enum": [ + "REASON_UNSPECIFIED", + "EXCLUDED_BY_FILTER", + "ALREADY_UPGRADED", + "VERSION_TOO_OLD" + ], + "enumDescriptions": [ + "Default value.", + "The cluster was excluded by the rollout filter.", + "The cluster was already upgraded.", + "The cluster version is too old." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Expr": { "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 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.", "id": "Expr", @@ -4286,6 +4558,21 @@ }, "type": "object" }, + "FeatureUpdate": { + "description": "LINT.IfChange Feature config to use for Rollout.", + "id": "FeatureUpdate", + "properties": { + "binaryAuthorizationConfig": { + "$ref": "BinaryAuthorizationConfig", + "description": "Optional. Configuration for Binary Authorization." + }, + "securityPostureConfig": { + "$ref": "SecurityPostureConfig", + "description": "Optional. Configuration for Security Posture." + } + }, + "type": "object" + }, "Fleet": { "description": "Fleet contains the Fleet-wide metadata and configuration.", "id": "Fleet", @@ -5280,6 +5567,42 @@ }, "type": "object" }, + "ListRolloutSequencesResponse": { + "description": "Response message for listing rollout sequences.", + "id": "ListRolloutSequencesResponse", + "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" + }, + "rolloutSequences": { + "description": "The rollout sequences from the specified parent resource.", + "items": { + "$ref": "RolloutSequence" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListRolloutsResponse": { + "description": "Response message for listing rollouts.", + "id": "ListRolloutsResponse", + "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" + }, + "rollouts": { + "description": "The rollouts from the specified parent resource.", + "items": { + "$ref": "Rollout" + }, + "type": "array" + } + }, + "type": "object" + }, "ListScopeNamespacesResponse": { "description": "List of fleet namespaces.", "id": "ListScopeNamespacesResponse", @@ -6656,6 +6979,331 @@ }, "type": "object" }, + "Rollout": { + "description": "Rollout contains the Rollout metadata and configuration.", + "id": "Rollout", + "properties": { + "completeTime": { + "description": "Output only. The timestamp at which the Rollout was completed.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The timestamp at which the Rollout was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deleteTime": { + "description": "Output only. The timestamp at the Rollout was deleted.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Optional. Human readable display name of the Rollout.", + "type": "string" + }, + "etag": { + "description": "Output only. etag of the Rollout Ex. abc1234", + "readOnly": true, + "type": "string" + }, + "excludedClusters": { + "description": "Optional. Output only. The excluded clusters from the rollout.", + "items": { + "$ref": "ExcludedCluster" + }, + "readOnly": true, + "type": "array" + }, + "feature": { + "$ref": "FeatureUpdate", + "description": "Optional. Feature config to use for Rollout." + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels for this Rollout.", + "type": "object" + }, + "membershipStates": { + "additionalProperties": { + "$ref": "RolloutMembershipState" + }, + "description": "Output only. States of upgrading control plane or node pool targets of a single cluster (GKE Hub membership) that's part of this Rollout. The key is the membership name of the cluster. The value is the state of the cluster.", + "readOnly": true, + "type": "object" + }, + "name": { + "description": "Identifier. The full, unique resource name of this Rollout in the format of `projects/{project}/locations/global/rollouts/{rollout}`.", + "type": "string" + }, + "rolloutSequence": { + "description": "Optional. Immutable. The full, unique resource name of the rollout sequence that initiatied this Rollout. In the format of `projects/{project}/locations/global/rolloutSequences/{rollout_sequence}`. Empty for user initiated rollouts.", + "type": "string" + }, + "schedule": { + "$ref": "Schedule", + "description": "Output only. The schedule of the Rollout.", + "readOnly": true + }, + "stages": { + "description": "Output only. The stages of the Rollout. Note: this is only populated for google-initiated rollouts.", + "items": { + "$ref": "RolloutStage" + }, + "readOnly": true, + "type": "array" + }, + "state": { + "description": "Output only. State specifies various states of the Rollout.", + "enum": [ + "STATE_UNSPECIFIED", + "RUNNING", + "PAUSED", + "CANCELLED", + "COMPLETED", + "SCHEDULED" + ], + "enumDescriptions": [ + "Unspecified state.", + "The Rollout is running.", + "The Rollout is paused.", + "The Rollout is in a failure terminal state.", + "The Rollout is in a terminal state.", + "The Rollout is scheduled to start." + ], + "readOnly": true, + "type": "string" + }, + "stateReason": { + "description": "Output only. A human-readable description explaining the reason for the current state.", + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. Google-generated UUID for this resource. This is unique across all Rollout resources. If a Rollout resource is deleted and another resource with the same name is created, it gets a different uid.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp at which the Rollout was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "versionUpgrade": { + "$ref": "VersionUpgrade", + "description": "Optional. Config for version upgrade of clusters. Note: Currently for GDCE clusters only." + } + }, + "type": "object" + }, + "RolloutMembershipState": { + "description": "Metadata about single cluster (GKE Hub membership) that's part of this Rollout.", + "id": "RolloutMembershipState", + "properties": { + "lastUpdateTime": { + "description": "Optional. Output only. The time this status and any related Rollout-specific details for the membership were updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "stageAssignment": { + "description": "Output only. The stage assignment of this cluster in this rollout.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "targets": { + "description": "Output only. The targets of the rollout - clusters or node pools that are being upgraded. All targets belongs to the same cluster, identified by the membership name (key of membership_states map).", + "items": { + "$ref": "RolloutTarget" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "RolloutSequence": { + "description": "RolloutSequence defines the desired order of upgrades.", + "id": "RolloutSequence", + "properties": { + "createTime": { + "description": "Output only. The timestamp at which the Rollout Sequence was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deleteTime": { + "description": "Output only. The timestamp at the Rollout Sequence was deleted.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Optional. Human readable display name of the Rollout Sequence.", + "type": "string" + }, + "etag": { + "description": "Output only. etag of the Rollout Sequence Ex. abc1234", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels for this Rollout Sequence.", + "type": "object" + }, + "name": { + "description": "Identifier. Name of the rollout sequence in the format of: projects/{PROJECT_ID}/locations/global/rolloutSequences/{NAME}", + "type": "string" + }, + "stages": { + "description": "Required. Ordered list of stages that constitutes this Rollout.", + "items": { + "$ref": "Stage" + }, + "type": "array" + }, + "uid": { + "description": "Output only. Google-generated UUID for this resource. This is unique across all Rollout Sequence resources. If a Rollout Sequence resource is deleted and another resource with the same name is created, it gets a different uid.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp at which the Rollout Sequence was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "RolloutStage": { + "description": "Stage represents a single stage in the Rollout.", + "id": "RolloutStage", + "properties": { + "endTime": { + "description": "Optional. Output only. The time at which the wave ended.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "soakDuration": { + "description": "Optional. Duration to soak after this wave before starting the next wave.", + "format": "google-duration", + "type": "string" + }, + "stageNumber": { + "description": "Output only. The wave number to which this status applies.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "startTime": { + "description": "Optional. Output only. The time at which the wave started.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The state of the wave.", + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "RUNNING", + "SOAKING", + "COMPLETED", + "FORCED_SOAKING" + ], + "enumDescriptions": [ + "Default value.", + "The wave is pending.", + "The wave is running.", + "The wave is soaking.", + "The wave is completed.", + "The wave is force soaking." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "RolloutTarget": { + "description": "Metadata about the status of targets (clusters or node pools) involved in the Rollout.", + "id": "RolloutTarget", + "properties": { + "cluster": { + "description": "Optional. Output only. The resource link of the Cluster resource upgraded in this Rollout. It is formatted as: ///projects//locations//clusters/. I.e. for GKE clusters, it is formatted as: //container.googleapis.com/projects//locations//clusters/. For GDCE, it is formatted as: //edgecontainer.googleapis.com/projects//locations//clusters/.", + "readOnly": true, + "type": "string" + }, + "nodePool": { + "description": "Optional. Output only. The resource link of the NodePool resource upgraded in this Rollout. It is formatted as: ///projects//locations//clusters//nodePools/.", + "readOnly": true, + "type": "string" + }, + "operation": { + "description": "Optional. Output only. The operation resource name performing the mutation.", + "readOnly": true, + "type": "string" + }, + "reason": { + "description": "Optional. Output only. A human-readable description of the current status.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The high-level, machine-readable status of this Rollout for the target.", + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "RUNNING", + "FAILED", + "SUCCEEDED", + "PAUSED", + "REMOVED", + "INELIGIBLE" + ], + "enumDescriptions": [ + "Unspecified state.", + "The Rollout is pending for the target.", + "The Rollout is running for the target.", + "The Rollout failed for the target.", + "The Rollout succeeded for the target.", + "The Rollout is paused for the target.", + "The target was removed from the Rollout.", + "The target is ineligible for the Rollout." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Schedule": { + "description": "Schedule represents the schedule of the Rollout.", + "id": "Schedule", + "properties": { + "waves": { + "description": "Output only. The schedule of each wave in the Rollout.", + "items": { + "$ref": "WaveSchedule" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, "Scope": { "description": "Scope represents a Scope in a Fleet.", "id": "Scope", @@ -7424,6 +8072,29 @@ }, "type": "object" }, + "Stage": { + "description": "Rollout stage.", + "id": "Stage", + "properties": { + "clusterSelector": { + "$ref": "ClusterSelector", + "description": "Optional. Filter members of fleets (above) to a subset of clusters. If not specified, all clusters in the fleets are selected." + }, + "fleetProjects": { + "description": "Required. List of Fleet projects to select the clusters from. Expected format: projects/{project}", + "items": { + "type": "string" + }, + "type": "array" + }, + "soakDuration": { + "description": "Optional. Soak time after upgrading all the clusters in the stage.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "Status": { "description": "Status specifies state for the subcomponent.", "id": "Status", @@ -7565,6 +8236,58 @@ }, "type": "object" }, + "VersionUpgrade": { + "description": "Config for version upgrade of clusters.", + "id": "VersionUpgrade", + "properties": { + "desiredVersion": { + "description": "Optional. Desired version of the component.", + "type": "string" + }, + "type": { + "description": "Optional. Type of version upgrade specifies which component should be upgraded.", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_CONTROL_PLANE", + "TYPE_NODE_POOL", + "TYPE_CONFIG_SYNC" + ], + "enumDescriptions": [ + "Default value.", + "Control plane upgrade.", + "Node pool upgrade.", + "Config Sync upgrade." + ], + "type": "string" + } + }, + "type": "object" + }, + "WaveSchedule": { + "description": "WaveSchedule represents the schedule of a single rollout wave.", + "id": "WaveSchedule", + "properties": { + "waveEndTime": { + "description": "Output only. The time at which the wave ends.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "waveNumber": { + "description": "Output only. The wave number to which this schedule applies.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "waveStartTime": { + "description": "Output only. The time at which the wave starts.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "WorkloadIdentityFeatureSpec": { "description": "**WorkloadIdentity**: Global feature specification.", "id": "WorkloadIdentityFeatureSpec", diff --git a/Src/Generated/Google.Apis.GKEHub.v1alpha/Google.Apis.GKEHub.v1alpha.cs b/Src/Generated/Google.Apis.GKEHub.v1alpha/Google.Apis.GKEHub.v1alpha.cs index 676919a4944..83d05429915 100644 --- a/Src/Generated/Google.Apis.GKEHub.v1alpha/Google.Apis.GKEHub.v1alpha.cs +++ b/Src/Generated/Google.Apis.GKEHub.v1alpha/Google.Apis.GKEHub.v1alpha.cs @@ -440,6 +440,8 @@ public LocationsResource(Google.Apis.Services.IClientService service) Fleets = new FleetsResource(service); Memberships = new MembershipsResource(service); Operations = new OperationsResource(service); + RolloutSequences = new RolloutSequencesResource(service); + Rollouts = new RolloutsResource(service); Scopes = new ScopesResource(service); } @@ -3766,407 +3768,589 @@ protected override void InitParameters() } } - /// Gets the Scopes resource. - public virtual ScopesResource Scopes { get; } + /// Gets the RolloutSequences resource. + public virtual RolloutSequencesResource RolloutSequences { get; } - /// The "scopes" collection of methods. - public class ScopesResource + /// The "rolloutSequences" collection of methods. + public class RolloutSequencesResource { - private const string Resource = "scopes"; + private const string Resource = "rolloutSequences"; /// The service which this resource belongs to. private readonly Google.Apis.Services.IClientService service; /// Constructs a new resource. - public ScopesResource(Google.Apis.Services.IClientService service) + public RolloutSequencesResource(Google.Apis.Services.IClientService service) { this.service = service; - Namespaces = new NamespacesResource(service); - Rbacrolebindings = new RbacrolebindingsResource(service); } - /// Gets the Namespaces resource. - public virtual NamespacesResource Namespaces { get; } - - /// The "namespaces" collection of methods. - public class NamespacesResource + /// Create a new rollout sequence resource. + /// The body of the request. + /// + /// Required. The parent resource where this rollout sequence will be created. + /// projects/{project}/locations/{location} + /// + public virtual CreateRequest Create(Google.Apis.GKEHub.v1alpha.Data.RolloutSequence body, string parent) { - private const string Resource = "namespaces"; - - /// The service which this resource belongs to. - private readonly Google.Apis.Services.IClientService service; - - /// Constructs a new resource. - public NamespacesResource(Google.Apis.Services.IClientService service) - { - this.service = service; - } + return new CreateRequest(this.service, body, parent); + } - /// Creates a fleet namespace. - /// The body of the request. - /// - /// Required. The parent (project and location) where the Namespace will be created. Specified in - /// the format `projects/*/locations/*/scopes/*`. - /// - public virtual CreateRequest Create(Google.Apis.GKEHub.v1alpha.Data.Namespace body, string parent) + /// Create a new rollout sequence resource. + public class CreateRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v1alpha.Data.RolloutSequence body, string parent) : base(service) { - return new CreateRequest(this.service, body, parent); + Parent = parent; + Body = body; + InitParameters(); } - /// Creates a fleet namespace. - public class CreateRequest : GKEHubBaseServiceRequest - { - /// Constructs a new Create request. - public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v1alpha.Data.Namespace body, string parent) : base(service) - { - Parent = parent; - Body = body; - InitParameters(); - } - - /// - /// Required. The parent (project and location) where the Namespace will be created. Specified - /// in the format `projects/*/locations/*/scopes/*`. - /// - [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Parent { get; private set; } + /// + /// Required. The parent resource where this rollout sequence will be created. + /// projects/{project}/locations/{location} + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } - /// - /// Required. Client chosen ID for the Namespace. `namespace_id` must be a valid RFC 1123 - /// compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case - /// alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which - /// can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 - /// characters. - /// - [Google.Apis.Util.RequestParameterAttribute("scopeNamespaceId", Google.Apis.Util.RequestParameterType.Query)] - public virtual string ScopeNamespaceId { get; set; } + /// + /// Required. User provided identifier that is used as part of the resource name; must conform to + /// RFC-1034 and additionally restrict to lower-cased letters. This comes out roughly to: + /// /^a-z+[a-z0-9]$/ + /// + [Google.Apis.Util.RequestParameterAttribute("rolloutSequenceId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string RolloutSequenceId { get; set; } - /// Gets or sets the body of this request. - Google.Apis.GKEHub.v1alpha.Data.Namespace Body { get; set; } + /// Gets or sets the body of this request. + Google.Apis.GKEHub.v1alpha.Data.RolloutSequence Body { get; set; } - /// Returns the body of the request. - protected override object GetBody() => Body; + /// Returns the body of the request. + protected override object GetBody() => Body; - /// Gets the method name. - public override string MethodName => "create"; + /// Gets the method name. + public override string MethodName => "create"; - /// Gets the HTTP method. - public override string HttpMethod => "POST"; + /// Gets the HTTP method. + public override string HttpMethod => "POST"; - /// Gets the REST path. - public override string RestPath => "v1alpha/{+parent}/namespaces"; + /// Gets the REST path. + public override string RestPath => "v1alpha/{+parent}/rolloutSequences"; - /// Initializes Create parameter list. - protected override void InitParameters() + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter { - base.InitParameters(); - RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter - { - Name = "parent", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", - }); - RequestParameters.Add("scopeNamespaceId", new Google.Apis.Discovery.Parameter - { - Name = "scopeNamespaceId", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - } + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("rolloutSequenceId", new Google.Apis.Discovery.Parameter + { + Name = "rolloutSequenceId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); } + } - /// Deletes a fleet namespace. - /// - /// Required. The Namespace resource name in the format - /// `projects/*/locations/*/scopes/*/namespaces/*`. - /// - public virtual DeleteRequest Delete(string name) - { - return new DeleteRequest(this.service, name); - } + /// Remove a RolloutSequence. + /// + /// Required. The name of the rollout sequence to delete. + /// projects/{project}/locations/{location}/rolloutSequences/{rollout_sequence} + /// + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } - /// Deletes a fleet namespace. - public class DeleteRequest : GKEHubBaseServiceRequest + /// Remove a RolloutSequence. + public class DeleteRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) { - /// Constructs a new Delete request. - public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) - { - Name = name; - InitParameters(); - } + Name = name; + InitParameters(); + } - /// - /// Required. The Namespace resource name in the format - /// `projects/*/locations/*/scopes/*/namespaces/*`. - /// - [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Name { get; private set; } + /// + /// Required. The name of the rollout sequence to delete. + /// projects/{project}/locations/{location}/rolloutSequences/{rollout_sequence} + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } - /// Gets the method name. - public override string MethodName => "delete"; + /// Gets the method name. + public override string MethodName => "delete"; - /// Gets the HTTP method. - public override string HttpMethod => "DELETE"; + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; - /// Gets the REST path. - public override string RestPath => "v1alpha/{+name}"; + /// Gets the REST path. + public override string RestPath => "v1alpha/{+name}"; - /// Initializes Delete parameter list. - protected override void InitParameters() + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter { - base.InitParameters(); - RequestParameters.Add("name", new Google.Apis.Discovery.Parameter - { - Name = "name", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+/namespaces/[^/]+$", - }); - } + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/rolloutSequences/[^/]+$", + }); } + } - /// Returns the details of a fleet namespace. - /// - /// Required. The Namespace resource name in the format - /// `projects/*/locations/*/scopes/*/namespaces/*`. - /// - public virtual GetRequest Get(string name) - { - return new GetRequest(this.service, name); - } + /// Retrieve a single rollout sequence. + /// + /// Required. The name of the rollout sequence to retrieve. + /// projects/{project}/locations/{location}/rolloutSequences/{rollout_sequence} + /// + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } - /// Returns the details of a fleet namespace. - public class GetRequest : GKEHubBaseServiceRequest + /// Retrieve a single rollout sequence. + public class GetRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) { - /// Constructs a new Get request. - public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) - { - Name = name; - InitParameters(); - } + Name = name; + InitParameters(); + } - /// - /// Required. The Namespace resource name in the format - /// `projects/*/locations/*/scopes/*/namespaces/*`. - /// - [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Name { get; private set; } + /// + /// Required. The name of the rollout sequence to retrieve. + /// projects/{project}/locations/{location}/rolloutSequences/{rollout_sequence} + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } - /// Gets the method name. - public override string MethodName => "get"; + /// Gets the method name. + public override string MethodName => "get"; - /// Gets the HTTP method. - public override string HttpMethod => "GET"; + /// Gets the HTTP method. + public override string HttpMethod => "GET"; - /// Gets the REST path. - public override string RestPath => "v1alpha/{+name}"; + /// Gets the REST path. + public override string RestPath => "v1alpha/{+name}"; - /// Initializes Get parameter list. - protected override void InitParameters() + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter { - base.InitParameters(); - RequestParameters.Add("name", new Google.Apis.Discovery.Parameter - { - Name = "name", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+/namespaces/[^/]+$", - }); - } + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/rolloutSequences/[^/]+$", + }); } + } - /// Lists fleet namespaces. - /// - /// Required. The parent (project and location) where the Features will be listed. Specified in the - /// format `projects/*/locations/*/scopes/*`. - /// - public virtual ListRequest List(string parent) + /// Retrieve the list of all rollout sequences. + /// + /// Required. The parent, which owns this collection of rollout sequences. Format: + /// projects/{project}/locations/{location} + /// + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Retrieve the list of all rollout sequences. + public class ListRequest : GKEHubBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) { - return new ListRequest(this.service, parent); + Parent = parent; + InitParameters(); } - /// Lists fleet namespaces. - public class ListRequest : GKEHubBaseServiceRequest - { - /// Constructs a new List request. - public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) - { - Parent = parent; - InitParameters(); - } + /// + /// Required. The parent, which owns this collection of rollout sequences. Format: + /// projects/{project}/locations/{location} + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } - /// - /// Required. The parent (project and location) where the Features will be listed. Specified in - /// the format `projects/*/locations/*/scopes/*`. - /// - [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Parent { get; private set; } + /// + /// Optional. Lists Rollout Sequences that match the filter expression, following the syntax + /// outlined in https://google.aip.dev/160. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } - /// - /// Optional. When requesting a 'page' of resources, `page_size` specifies number of resources - /// to return. If unspecified or set to 0, all resources will be returned. - /// - [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] - public virtual System.Nullable PageSize { get; set; } + /// + /// Optional. The maximum number of rollout sequences to return. The service may return fewer than + /// this value. If unspecified, at most 50 rollout sequences will be returned. The maximum value is + /// 1000; values above 1000 will be coerced to 1000. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } - /// - /// Optional. Token returned by previous call to `ListFeatures` which specifies the position in - /// the list from where to continue listing the resources. - /// - [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] - public virtual string PageToken { get; set; } + /// + /// Optional. A page token, received from a previous `ListRolloutSequences` call. Provide this to + /// retrieve the subsequent page. When paginating, all other parameters provided to + /// `ListRolloutSequences` must match the call that provided the page token. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } - /// Gets the method name. - public override string MethodName => "list"; + /// Gets the method name. + public override string MethodName => "list"; - /// Gets the HTTP method. - public override string HttpMethod => "GET"; + /// Gets the HTTP method. + public override string HttpMethod => "GET"; - /// Gets the REST path. - public override string RestPath => "v1alpha/{+parent}/namespaces"; + /// Gets the REST path. + public override string RestPath => "v1alpha/{+parent}/rolloutSequences"; - /// Initializes List parameter list. - protected override void InitParameters() + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter { - base.InitParameters(); - RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter - { - Name = "parent", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", - }); - RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter - { - Name = "pageSize", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter - { - Name = "pageToken", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - } + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); } + } - /// Updates a fleet namespace. - /// The body of the request. - /// - /// The resource name for the namespace - /// `projects/{project}/locations/{location}/namespaces/{namespace}` - /// - public virtual PatchRequest Patch(Google.Apis.GKEHub.v1alpha.Data.Namespace body, string name) - { - return new PatchRequest(this.service, body, name); - } + /// Update a rollout sequence. + /// The body of the request. + /// + /// Identifier. Name of the rollout sequence in the format of: + /// projects/{PROJECT_ID}/locations/global/rolloutSequences/{NAME} + /// + public virtual PatchRequest Patch(Google.Apis.GKEHub.v1alpha.Data.RolloutSequence body, string name) + { + return new PatchRequest(this.service, body, name); + } - /// Updates a fleet namespace. - public class PatchRequest : GKEHubBaseServiceRequest + /// Update a rollout sequence. + public class PatchRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v1alpha.Data.RolloutSequence body, string name) : base(service) { - /// Constructs a new Patch request. - public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v1alpha.Data.Namespace body, string name) : base(service) - { - Name = name; - Body = body; - InitParameters(); - } + Name = name; + Body = body; + InitParameters(); + } - /// - /// The resource name for the namespace - /// `projects/{project}/locations/{location}/namespaces/{namespace}` - /// - [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Name { get; private set; } + /// + /// Identifier. Name of the rollout sequence in the format of: + /// projects/{PROJECT_ID}/locations/global/rolloutSequences/{NAME} + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } - /// Required. The fields to be updated. - [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] - public virtual object UpdateMask { get; set; } + /// Optional. The list of fields to update. + [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] + public virtual object UpdateMask { get; set; } - /// Gets or sets the body of this request. - Google.Apis.GKEHub.v1alpha.Data.Namespace Body { get; set; } + /// Gets or sets the body of this request. + Google.Apis.GKEHub.v1alpha.Data.RolloutSequence Body { get; set; } - /// Returns the body of the request. - protected override object GetBody() => Body; + /// Returns the body of the request. + protected override object GetBody() => Body; - /// Gets the method name. - public override string MethodName => "patch"; + /// Gets the method name. + public override string MethodName => "patch"; - /// Gets the HTTP method. - public override string HttpMethod => "PATCH"; + /// Gets the HTTP method. + public override string HttpMethod => "PATCH"; - /// Gets the REST path. - public override string RestPath => "v1alpha/{+name}"; + /// Gets the REST path. + public override string RestPath => "v1alpha/{+name}"; - /// Initializes Patch parameter list. - protected override void InitParameters() + /// Initializes Patch parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter { - base.InitParameters(); - RequestParameters.Add("name", new Google.Apis.Discovery.Parameter - { - Name = "name", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+/namespaces/[^/]+$", - }); - RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter - { - Name = "updateMask", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - } - } - } - - /// Gets the Rbacrolebindings resource. - public virtual RbacrolebindingsResource Rbacrolebindings { get; } + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/rolloutSequences/[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } - /// The "rbacrolebindings" collection of methods. - public class RbacrolebindingsResource + /// Gets the Rollouts resource. + public virtual RolloutsResource Rollouts { get; } + + /// The "rollouts" collection of methods. + public class RolloutsResource + { + private const string Resource = "rollouts"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public RolloutsResource(Google.Apis.Services.IClientService service) { - private const string Resource = "rbacrolebindings"; + this.service = service; + } + + /// Retrieve a single rollout. + /// + /// Required. The name of the rollout to retrieve. + /// projects/{project}/locations/{location}/rollouts/{rollout} + /// + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Retrieve a single rollout. + public class GetRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The name of the rollout to retrieve. + /// projects/{project}/locations/{location}/rollouts/{rollout} + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1alpha/{+name}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/rollouts/[^/]+$", + }); + } + } + + /// Retrieve the list of all rollouts. + /// + /// Required. The parent, which owns this collection of rollout. Format: + /// projects/{project}/locations/{location} + /// + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Retrieve the list of all rollouts. + public class ListRequest : GKEHubBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// + /// Required. The parent, which owns this collection of rollout. Format: + /// projects/{project}/locations/{location} + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Optional. Lists Rollouts that match the filter expression, following the syntax outlined in + /// https://google.aip.dev/160. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// The maximum number of rollout to return. The service may return fewer than this value. If + /// unspecified, at most 50 rollouts will be returned. The maximum value is 1000; values above 1000 + /// will be coerced to 1000. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A page token, received from a previous `ListRollouts` call. Provide this to retrieve the + /// subsequent page. When paginating, all other parameters provided to `ListRollouts` must match the + /// call that provided the page token. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1alpha/{+parent}/rollouts"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Gets the Scopes resource. + public virtual ScopesResource Scopes { get; } + + /// The "scopes" collection of methods. + public class ScopesResource + { + private const string Resource = "scopes"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public ScopesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + Namespaces = new NamespacesResource(service); + Rbacrolebindings = new RbacrolebindingsResource(service); + } + + /// Gets the Namespaces resource. + public virtual NamespacesResource Namespaces { get; } + + /// The "namespaces" collection of methods. + public class NamespacesResource + { + private const string Resource = "namespaces"; /// The service which this resource belongs to. private readonly Google.Apis.Services.IClientService service; /// Constructs a new resource. - public RbacrolebindingsResource(Google.Apis.Services.IClientService service) + public NamespacesResource(Google.Apis.Services.IClientService service) { this.service = service; } - /// Creates a Scope RBACRoleBinding. + /// Creates a fleet namespace. /// The body of the request. /// - /// Required. The parent (project and location) where the RBACRoleBinding will be created. Specified - /// in the format `projects/*/locations/*/scopes/*`. + /// Required. The parent (project and location) where the Namespace will be created. Specified in + /// the format `projects/*/locations/*/scopes/*`. /// - public virtual CreateRequest Create(Google.Apis.GKEHub.v1alpha.Data.RBACRoleBinding body, string parent) + public virtual CreateRequest Create(Google.Apis.GKEHub.v1alpha.Data.Namespace body, string parent) { return new CreateRequest(this.service, body, parent); } - /// Creates a Scope RBACRoleBinding. + /// Creates a fleet namespace. public class CreateRequest : GKEHubBaseServiceRequest { /// Constructs a new Create request. - public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v1alpha.Data.RBACRoleBinding body, string parent) : base(service) + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v1alpha.Data.Namespace body, string parent) : base(service) { Parent = parent; Body = body; @@ -4174,24 +4358,24 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.GK } /// - /// Required. The parent (project and location) where the RBACRoleBinding will be created. - /// Specified in the format `projects/*/locations/*/scopes/*`. + /// Required. The parent (project and location) where the Namespace will be created. Specified + /// in the format `projects/*/locations/*/scopes/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } /// - /// Required. Client chosen ID for the RBACRoleBinding. `rbacrolebinding_id` must be a valid RFC - /// 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower - /// case alphanumeric characters or `-` 3. It must start and end with an alphanumeric character - /// Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length - /// of 63 characters. + /// Required. Client chosen ID for the Namespace. `namespace_id` must be a valid RFC 1123 + /// compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case + /// alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which + /// can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 + /// characters. /// - [Google.Apis.Util.RequestParameterAttribute("rbacrolebindingId", Google.Apis.Util.RequestParameterType.Query)] - public virtual string RbacrolebindingId { get; set; } + [Google.Apis.Util.RequestParameterAttribute("scopeNamespaceId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string ScopeNamespaceId { get; set; } /// Gets or sets the body of this request. - Google.Apis.GKEHub.v1alpha.Data.RBACRoleBinding Body { get; set; } + Google.Apis.GKEHub.v1alpha.Data.Namespace Body { get; set; } /// Returns the body of the request. protected override object GetBody() => Body; @@ -4203,7 +4387,7 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.GK public override string HttpMethod => "POST"; /// Gets the REST path. - public override string RestPath => "v1alpha/{+parent}/rbacrolebindings"; + public override string RestPath => "v1alpha/{+parent}/namespaces"; /// Initializes Create parameter list. protected override void InitParameters() @@ -4217,9 +4401,9 @@ protected override void InitParameters() DefaultValue = null, Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", }); - RequestParameters.Add("rbacrolebindingId", new Google.Apis.Discovery.Parameter + RequestParameters.Add("scopeNamespaceId", new Google.Apis.Discovery.Parameter { - Name = "rbacrolebindingId", + Name = "scopeNamespaceId", IsRequired = false, ParameterType = "query", DefaultValue = null, @@ -4228,17 +4412,17 @@ protected override void InitParameters() } } - /// Deletes a Scope RBACRoleBinding. + /// Deletes a fleet namespace. /// - /// Required. The RBACRoleBinding resource name in the format - /// `projects/*/locations/*/scopes/*/rbacrolebindings/*`. + /// Required. The Namespace resource name in the format + /// `projects/*/locations/*/scopes/*/namespaces/*`. /// public virtual DeleteRequest Delete(string name) { return new DeleteRequest(this.service, name); } - /// Deletes a Scope RBACRoleBinding. + /// Deletes a fleet namespace. public class DeleteRequest : GKEHubBaseServiceRequest { /// Constructs a new Delete request. @@ -4249,8 +4433,8 @@ public DeleteRequest(Google.Apis.Services.IClientService service, string name) : } /// - /// Required. The RBACRoleBinding resource name in the format - /// `projects/*/locations/*/scopes/*/rbacrolebindings/*`. + /// Required. The Namespace resource name in the format + /// `projects/*/locations/*/scopes/*/namespaces/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -4274,23 +4458,23 @@ protected override void InitParameters() IsRequired = true, ParameterType = "path", DefaultValue = null, - Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+/rbacrolebindings/[^/]+$", + Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+/namespaces/[^/]+$", }); } } - /// Returns the details of a Scope RBACRoleBinding. + /// Returns the details of a fleet namespace. /// - /// Required. The RBACRoleBinding resource name in the format - /// `projects/*/locations/*/scopes/*/rbacrolebindings/*`. + /// Required. The Namespace resource name in the format + /// `projects/*/locations/*/scopes/*/namespaces/*`. /// public virtual GetRequest Get(string name) { return new GetRequest(this.service, name); } - /// Returns the details of a Scope RBACRoleBinding. - public class GetRequest : GKEHubBaseServiceRequest + /// Returns the details of a fleet namespace. + public class GetRequest : GKEHubBaseServiceRequest { /// Constructs a new Get request. public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) @@ -4300,8 +4484,8 @@ public GetRequest(Google.Apis.Services.IClientService service, string name) : ba } /// - /// Required. The RBACRoleBinding resource name in the format - /// `projects/*/locations/*/scopes/*/rbacrolebindings/*`. + /// Required. The Namespace resource name in the format + /// `projects/*/locations/*/scopes/*/namespaces/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -4325,12 +4509,12 @@ protected override void InitParameters() IsRequired = true, ParameterType = "path", DefaultValue = null, - Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+/rbacrolebindings/[^/]+$", + Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+/namespaces/[^/]+$", }); } } - /// Lists all Scope RBACRoleBindings. + /// Lists fleet namespaces. /// /// Required. The parent (project and location) where the Features will be listed. Specified in the /// format `projects/*/locations/*/scopes/*`. @@ -4340,8 +4524,8 @@ public virtual ListRequest List(string parent) return new ListRequest(this.service, parent); } - /// Lists all Scope RBACRoleBindings. - public class ListRequest : GKEHubBaseServiceRequest + /// Lists fleet namespaces. + public class ListRequest : GKEHubBaseServiceRequest { /// Constructs a new List request. public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) @@ -4365,8 +4549,8 @@ public ListRequest(Google.Apis.Services.IClientService service, string parent) : public virtual System.Nullable PageSize { get; set; } /// - /// Optional. Token returned by previous call to `ListScopeRBACRoleBindings` which specifies the - /// position in the list from where to continue listing the resources. + /// Optional. Token returned by previous call to `ListFeatures` which specifies the position in + /// the list from where to continue listing the resources. /// [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] public virtual string PageToken { get; set; } @@ -4378,7 +4562,7 @@ public ListRequest(Google.Apis.Services.IClientService service, string parent) : public override string HttpMethod => "GET"; /// Gets the REST path. - public override string RestPath => "v1alpha/{+parent}/rbacrolebindings"; + public override string RestPath => "v1alpha/{+parent}/namespaces"; /// Initializes List parameter list. protected override void InitParameters() @@ -4411,23 +4595,22 @@ protected override void InitParameters() } } - /// Updates a Scope RBACRoleBinding. + /// Updates a fleet namespace. /// The body of the request. /// - /// The resource name for the rbacrolebinding - /// `projects/{project}/locations/{location}/scopes/{scope}/rbacrolebindings/{rbacrolebinding}` or - /// `projects/{project}/locations/{location}/memberships/{membership}/rbacrolebindings/{rbacrolebinding}` + /// The resource name for the namespace + /// `projects/{project}/locations/{location}/namespaces/{namespace}` /// - public virtual PatchRequest Patch(Google.Apis.GKEHub.v1alpha.Data.RBACRoleBinding body, string name) + public virtual PatchRequest Patch(Google.Apis.GKEHub.v1alpha.Data.Namespace body, string name) { return new PatchRequest(this.service, body, name); } - /// Updates a Scope RBACRoleBinding. + /// Updates a fleet namespace. public class PatchRequest : GKEHubBaseServiceRequest { /// Constructs a new Patch request. - public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v1alpha.Data.RBACRoleBinding body, string name) : base(service) + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v1alpha.Data.Namespace body, string name) : base(service) { Name = name; Body = body; @@ -4435,10 +4618,8 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.GKE } /// - /// The resource name for the rbacrolebinding - /// `projects/{project}/locations/{location}/scopes/{scope}/rbacrolebindings/{rbacrolebinding}` - /// or - /// `projects/{project}/locations/{location}/memberships/{membership}/rbacrolebindings/{rbacrolebinding}` + /// The resource name for the namespace + /// `projects/{project}/locations/{location}/namespaces/{namespace}` /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -4448,7 +4629,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.GKE public virtual object UpdateMask { get; set; } /// Gets or sets the body of this request. - Google.Apis.GKEHub.v1alpha.Data.RBACRoleBinding Body { get; set; } + Google.Apis.GKEHub.v1alpha.Data.Namespace Body { get; set; } /// Returns the body of the request. protected override object GetBody() => Body; @@ -4472,7 +4653,7 @@ protected override void InitParameters() IsRequired = true, ParameterType = "path", DefaultValue = null, - Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+/rbacrolebindings/[^/]+$", + Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+/namespaces/[^/]+$", }); RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter { @@ -4486,306 +4667,407 @@ protected override void InitParameters() } } - /// Creates a Scope. - /// The body of the request. - /// - /// Required. The parent (project and location) where the Scope will be created. Specified in the format - /// `projects/*/locations/*`. - /// - public virtual CreateRequest Create(Google.Apis.GKEHub.v1alpha.Data.Scope body, string parent) - { - return new CreateRequest(this.service, body, parent); - } + /// Gets the Rbacrolebindings resource. + public virtual RbacrolebindingsResource Rbacrolebindings { get; } - /// Creates a Scope. - public class CreateRequest : GKEHubBaseServiceRequest + /// The "rbacrolebindings" collection of methods. + public class RbacrolebindingsResource { - /// Constructs a new Create request. - public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v1alpha.Data.Scope body, string parent) : base(service) + private const string Resource = "rbacrolebindings"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public RbacrolebindingsResource(Google.Apis.Services.IClientService service) { - Parent = parent; - Body = body; - InitParameters(); + this.service = service; } - /// - /// Required. The parent (project and location) where the Scope will be created. Specified in the - /// format `projects/*/locations/*`. - /// - [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Parent { get; private set; } + /// Creates a Scope RBACRoleBinding. + /// The body of the request. + /// + /// Required. The parent (project and location) where the RBACRoleBinding will be created. Specified + /// in the format `projects/*/locations/*/scopes/*`. + /// + public virtual CreateRequest Create(Google.Apis.GKEHub.v1alpha.Data.RBACRoleBinding body, string parent) + { + return new CreateRequest(this.service, body, parent); + } - /// Required. Client chosen ID for the Scope. `scope_id` must be a ???? - [Google.Apis.Util.RequestParameterAttribute("scopeId", Google.Apis.Util.RequestParameterType.Query)] - public virtual string ScopeId { get; set; } + /// Creates a Scope RBACRoleBinding. + public class CreateRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v1alpha.Data.RBACRoleBinding body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } - /// Gets or sets the body of this request. - Google.Apis.GKEHub.v1alpha.Data.Scope Body { get; set; } + /// + /// Required. The parent (project and location) where the RBACRoleBinding will be created. + /// Specified in the format `projects/*/locations/*/scopes/*`. + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } - /// Returns the body of the request. - protected override object GetBody() => Body; + /// + /// Required. Client chosen ID for the RBACRoleBinding. `rbacrolebinding_id` must be a valid RFC + /// 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower + /// case alphanumeric characters or `-` 3. It must start and end with an alphanumeric character + /// Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length + /// of 63 characters. + /// + [Google.Apis.Util.RequestParameterAttribute("rbacrolebindingId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string RbacrolebindingId { get; set; } - /// Gets the method name. - public override string MethodName => "create"; + /// Gets or sets the body of this request. + Google.Apis.GKEHub.v1alpha.Data.RBACRoleBinding Body { get; set; } - /// Gets the HTTP method. - public override string HttpMethod => "POST"; + /// Returns the body of the request. + protected override object GetBody() => Body; - /// Gets the REST path. - public override string RestPath => "v1alpha/{+parent}/scopes"; + /// Gets the method name. + public override string MethodName => "create"; - /// Initializes Create parameter list. - protected override void InitParameters() - { - base.InitParameters(); - RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter - { - Name = "parent", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"^projects/[^/]+/locations/[^/]+$", - }); - RequestParameters.Add("scopeId", new Google.Apis.Discovery.Parameter + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1alpha/{+parent}/rbacrolebindings"; + + /// Initializes Create parameter list. + protected override void InitParameters() { - Name = "scopeId", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", + }); + RequestParameters.Add("rbacrolebindingId", new Google.Apis.Discovery.Parameter + { + Name = "rbacrolebindingId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } } - } - - /// Deletes a Scope. - /// - /// Required. The Scope resource name in the format `projects/*/locations/*/scopes/*`. - /// - public virtual DeleteRequest Delete(string name) - { - return new DeleteRequest(this.service, name); - } - /// Deletes a Scope. - public class DeleteRequest : GKEHubBaseServiceRequest - { - /// Constructs a new Delete request. - public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + /// Deletes a Scope RBACRoleBinding. + /// + /// Required. The RBACRoleBinding resource name in the format + /// `projects/*/locations/*/scopes/*/rbacrolebindings/*`. + /// + public virtual DeleteRequest Delete(string name) { - Name = name; - InitParameters(); + return new DeleteRequest(this.service, name); } - /// - /// Required. The Scope resource name in the format `projects/*/locations/*/scopes/*`. - /// - [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Name { get; private set; } + /// Deletes a Scope RBACRoleBinding. + public class DeleteRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } - /// Gets the method name. - public override string MethodName => "delete"; + /// + /// Required. The RBACRoleBinding resource name in the format + /// `projects/*/locations/*/scopes/*/rbacrolebindings/*`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } - /// Gets the HTTP method. - public override string HttpMethod => "DELETE"; + /// Gets the method name. + public override string MethodName => "delete"; - /// Gets the REST path. - public override string RestPath => "v1alpha/{+name}"; + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; - /// Initializes Delete parameter list. - protected override void InitParameters() - { - base.InitParameters(); - RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + /// Gets the REST path. + public override string RestPath => "v1alpha/{+name}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() { - Name = "name", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", - }); + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+/rbacrolebindings/[^/]+$", + }); + } } - } - - /// Returns the details of a Scope. - /// - /// Required. The Scope resource name in the format `projects/*/locations/*/scopes/*`. - /// - public virtual GetRequest Get(string name) - { - return new GetRequest(this.service, name); - } - /// Returns the details of a Scope. - public class GetRequest : GKEHubBaseServiceRequest - { - /// Constructs a new Get request. - public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + /// Returns the details of a Scope RBACRoleBinding. + /// + /// Required. The RBACRoleBinding resource name in the format + /// `projects/*/locations/*/scopes/*/rbacrolebindings/*`. + /// + public virtual GetRequest Get(string name) { - Name = name; - InitParameters(); + return new GetRequest(this.service, name); } - /// - /// Required. The Scope resource name in the format `projects/*/locations/*/scopes/*`. - /// - [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Name { get; private set; } + /// Returns the details of a Scope RBACRoleBinding. + public class GetRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } - /// Gets the method name. - public override string MethodName => "get"; + /// + /// Required. The RBACRoleBinding resource name in the format + /// `projects/*/locations/*/scopes/*/rbacrolebindings/*`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } - /// Gets the HTTP method. - public override string HttpMethod => "GET"; + /// Gets the method name. + public override string MethodName => "get"; - /// Gets the REST path. - public override string RestPath => "v1alpha/{+name}"; + /// Gets the HTTP method. + public override string HttpMethod => "GET"; - /// Initializes Get parameter list. - protected override void InitParameters() - { - base.InitParameters(); - RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + /// Gets the REST path. + public override string RestPath => "v1alpha/{+name}"; + + /// Initializes Get parameter list. + protected override void InitParameters() { - Name = "name", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", - }); + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+/rbacrolebindings/[^/]+$", + }); + } } - } - - /// - /// Gets the access control policy for a resource. Returns an empty policy if the resource exists and - /// does not have a policy set. - /// - /// - /// 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. - /// - public virtual GetIamPolicyRequest GetIamPolicy(string resource) - { - return new GetIamPolicyRequest(this.service, resource); - } - /// - /// Gets the access control policy for a resource. Returns an empty policy if the resource exists and - /// does not have a policy set. - /// - public class GetIamPolicyRequest : GKEHubBaseServiceRequest - { - /// Constructs a new GetIamPolicy request. - public GetIamPolicyRequest(Google.Apis.Services.IClientService service, string resource) : base(service) + /// Lists all Scope RBACRoleBindings. + /// + /// Required. The parent (project and location) where the Features will be listed. Specified in the + /// format `projects/*/locations/*/scopes/*`. + /// + public virtual ListRequest List(string parent) { - Resource = resource; - InitParameters(); + return new ListRequest(this.service, parent); } - /// - /// 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. - /// - [Google.Apis.Util.RequestParameterAttribute("resource", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Resource { get; private set; } + /// Lists all Scope RBACRoleBindings. + public class ListRequest : GKEHubBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } - /// - /// 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). - /// - [Google.Apis.Util.RequestParameterAttribute("options.requestedPolicyVersion", Google.Apis.Util.RequestParameterType.Query)] - public virtual System.Nullable OptionsRequestedPolicyVersion { get; set; } + /// + /// Required. The parent (project and location) where the Features will be listed. Specified in + /// the format `projects/*/locations/*/scopes/*`. + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } - /// Gets the method name. - public override string MethodName => "getIamPolicy"; + /// + /// Optional. When requesting a 'page' of resources, `page_size` specifies number of resources + /// to return. If unspecified or set to 0, all resources will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } - /// Gets the HTTP method. - public override string HttpMethod => "GET"; + /// + /// Optional. Token returned by previous call to `ListScopeRBACRoleBindings` which specifies the + /// position in the list from where to continue listing the resources. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } - /// Gets the REST path. - public override string RestPath => "v1alpha/{+resource}:getIamPolicy"; + /// Gets the method name. + public override string MethodName => "list"; - /// Initializes GetIamPolicy parameter list. - protected override void InitParameters() - { - base.InitParameters(); - RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter - { - Name = "resource", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", - }); - RequestParameters.Add("options.requestedPolicyVersion", new Google.Apis.Discovery.Parameter + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1alpha/{+parent}/rbacrolebindings"; + + /// Initializes List parameter list. + protected override void InitParameters() { - Name = "options.requestedPolicyVersion", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } } - } - - /// Lists Scopes. - /// - /// Required. The parent (project and location) where the Scope will be listed. Specified in the format - /// `projects/*/locations/*`. - /// - public virtual ListRequest List(string parent) - { - return new ListRequest(this.service, parent); - } - /// Lists Scopes. - public class ListRequest : GKEHubBaseServiceRequest - { - /// Constructs a new List request. - public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + /// Updates a Scope RBACRoleBinding. + /// The body of the request. + /// + /// The resource name for the rbacrolebinding + /// `projects/{project}/locations/{location}/scopes/{scope}/rbacrolebindings/{rbacrolebinding}` or + /// `projects/{project}/locations/{location}/memberships/{membership}/rbacrolebindings/{rbacrolebinding}` + /// + public virtual PatchRequest Patch(Google.Apis.GKEHub.v1alpha.Data.RBACRoleBinding body, string name) { - Parent = parent; - InitParameters(); + return new PatchRequest(this.service, body, name); } - /// - /// Required. The parent (project and location) where the Scope will be listed. Specified in the - /// format `projects/*/locations/*`. - /// - [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Parent { get; private set; } + /// Updates a Scope RBACRoleBinding. + public class PatchRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v1alpha.Data.RBACRoleBinding body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } - /// - /// Optional. When requesting a 'page' of resources, `page_size` specifies number of resources to - /// return. If unspecified or set to 0, all resources will be returned. - /// - [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] - public virtual System.Nullable PageSize { get; set; } + /// + /// The resource name for the rbacrolebinding + /// `projects/{project}/locations/{location}/scopes/{scope}/rbacrolebindings/{rbacrolebinding}` + /// or + /// `projects/{project}/locations/{location}/memberships/{membership}/rbacrolebindings/{rbacrolebinding}` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Required. The fields to be updated. + [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] + public virtual object UpdateMask { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.GKEHub.v1alpha.Data.RBACRoleBinding Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "patch"; + + /// Gets the HTTP method. + public override string HttpMethod => "PATCH"; + + /// Gets the REST path. + public override string RestPath => "v1alpha/{+name}"; + + /// Initializes Patch parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+/rbacrolebindings/[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Creates a Scope. + /// The body of the request. + /// + /// Required. The parent (project and location) where the Scope will be created. Specified in the format + /// `projects/*/locations/*`. + /// + public virtual CreateRequest Create(Google.Apis.GKEHub.v1alpha.Data.Scope body, string parent) + { + return new CreateRequest(this.service, body, parent); + } + + /// Creates a Scope. + public class CreateRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v1alpha.Data.Scope body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } /// - /// Optional. Token returned by previous call to `ListScopes` which specifies the position in the - /// list from where to continue listing the resources. + /// Required. The parent (project and location) where the Scope will be created. Specified in the + /// format `projects/*/locations/*`. /// - [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] - public virtual string PageToken { get; set; } + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// Required. Client chosen ID for the Scope. `scope_id` must be a ???? + [Google.Apis.Util.RequestParameterAttribute("scopeId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string ScopeId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.GKEHub.v1alpha.Data.Scope Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; /// Gets the method name. - public override string MethodName => "list"; + public override string MethodName => "create"; /// Gets the HTTP method. - public override string HttpMethod => "GET"; + public override string HttpMethod => "POST"; /// Gets the REST path. public override string RestPath => "v1alpha/{+parent}/scopes"; - /// Initializes List parameter list. + /// Initializes Create parameter list. protected override void InitParameters() { base.InitParameters(); @@ -4797,17 +5079,9 @@ protected override void InitParameters() DefaultValue = null, Pattern = @"^projects/[^/]+/locations/[^/]+$", }); - RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter - { - Name = "pageSize", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + RequestParameters.Add("scopeId", new Google.Apis.Discovery.Parameter { - Name = "pageToken", + Name = "scopeId", IsRequired = false, ParameterType = "query", DefaultValue = null, @@ -4816,250 +5090,176 @@ protected override void InitParameters() } } - /// - /// Lists Memberships bound to a Scope. The response includes relevant Memberships from all regions. - /// - /// - /// Required. Name of the Scope, in the format `projects/*/locations/global/scopes/*`, to which the - /// Memberships are bound. + /// Deletes a Scope. + /// + /// Required. The Scope resource name in the format `projects/*/locations/*/scopes/*`. /// - public virtual ListMembershipsRequest ListMemberships(string scopeName) + public virtual DeleteRequest Delete(string name) { - return new ListMembershipsRequest(this.service, scopeName); + return new DeleteRequest(this.service, name); } - /// - /// Lists Memberships bound to a Scope. The response includes relevant Memberships from all regions. - /// - public class ListMembershipsRequest : GKEHubBaseServiceRequest + /// Deletes a Scope. + public class DeleteRequest : GKEHubBaseServiceRequest { - /// Constructs a new ListMemberships request. - public ListMembershipsRequest(Google.Apis.Services.IClientService service, string scopeName) : base(service) + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) { - ScopeName = scopeName; + Name = name; InitParameters(); } /// - /// Required. Name of the Scope, in the format `projects/*/locations/global/scopes/*`, to which the - /// Memberships are bound. - /// - [Google.Apis.Util.RequestParameterAttribute("scopeName", Google.Apis.Util.RequestParameterType.Path)] - public virtual string ScopeName { get; private set; } - - /// - /// Optional. Lists Memberships that match the filter expression, following the syntax outlined in - /// https://google.aip.dev/160. Currently, filtering can be done only based on Memberships's `name`, - /// `labels`, `create_time`, `update_time`, and `unique_id`. - /// - [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] - public virtual string Filter { get; set; } - - /// - /// Optional. When requesting a 'page' of resources, `page_size` specifies number of resources to - /// return. If unspecified or set to 0, all resources will be returned. Pagination is currently not - /// supported; therefore, setting this field does not have any impact for now. - /// - [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] - public virtual System.Nullable PageSize { get; set; } - - /// - /// Optional. Token returned by previous call to `ListBoundMemberships` which specifies the position - /// in the list from where to continue listing the resources. + /// Required. The Scope resource name in the format `projects/*/locations/*/scopes/*`. /// - [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] - public virtual string PageToken { get; set; } + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } /// Gets the method name. - public override string MethodName => "listMemberships"; + public override string MethodName => "delete"; /// Gets the HTTP method. - public override string HttpMethod => "GET"; + public override string HttpMethod => "DELETE"; /// Gets the REST path. - public override string RestPath => "v1alpha/{+scopeName}:listMemberships"; + public override string RestPath => "v1alpha/{+name}"; - /// Initializes ListMemberships parameter list. + /// Initializes Delete parameter list. protected override void InitParameters() { base.InitParameters(); - RequestParameters.Add("scopeName", new Google.Apis.Discovery.Parameter + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter { - Name = "scopeName", + Name = "name", IsRequired = true, ParameterType = "path", DefaultValue = null, Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", }); - RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter - { - Name = "filter", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter - { - Name = "pageSize", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter - { - Name = "pageToken", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); } } - /// Lists permitted Scopes. - /// - /// Required. The parent (project and location) where the Scope will be listed. Specified in the format - /// `projects/*/locations/*`. + /// Returns the details of a Scope. + /// + /// Required. The Scope resource name in the format `projects/*/locations/*/scopes/*`. /// - public virtual ListPermittedRequest ListPermitted(string parent) + public virtual GetRequest Get(string name) { - return new ListPermittedRequest(this.service, parent); + return new GetRequest(this.service, name); } - /// Lists permitted Scopes. - public class ListPermittedRequest : GKEHubBaseServiceRequest + /// Returns the details of a Scope. + public class GetRequest : GKEHubBaseServiceRequest { - /// Constructs a new ListPermitted request. - public ListPermittedRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) { - Parent = parent; + Name = name; InitParameters(); } /// - /// Required. The parent (project and location) where the Scope will be listed. Specified in the - /// format `projects/*/locations/*`. - /// - [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Parent { get; private set; } - - /// - /// Optional. When requesting a 'page' of resources, `page_size` specifies number of resources to - /// return. If unspecified or set to 0, all resources will be returned. - /// - [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] - public virtual System.Nullable PageSize { get; set; } - - /// - /// Optional. Token returned by previous call to `ListPermittedScopes` which specifies the position - /// in the list from where to continue listing the resources. + /// Required. The Scope resource name in the format `projects/*/locations/*/scopes/*`. /// - [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] - public virtual string PageToken { get; set; } + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } /// Gets the method name. - public override string MethodName => "listPermitted"; + public override string MethodName => "get"; /// Gets the HTTP method. public override string HttpMethod => "GET"; /// Gets the REST path. - public override string RestPath => "v1alpha/{+parent}/scopes:listPermitted"; + public override string RestPath => "v1alpha/{+name}"; - /// Initializes ListPermitted parameter list. + /// Initializes Get parameter list. protected override void InitParameters() { base.InitParameters(); - RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter { - Name = "parent", + Name = "name", IsRequired = true, ParameterType = "path", DefaultValue = null, - Pattern = @"^projects/[^/]+/locations/[^/]+$", - }); - RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter - { - Name = "pageSize", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter - { - Name = "pageToken", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", }); } } - /// Updates a scopes. - /// The body of the request. - /// - /// The resource name for the scope `projects/{project}/locations/{location}/scopes/{scope}` + /// + /// Gets the access control policy for a resource. Returns an empty policy if the resource exists and + /// does not have a policy set. + /// + /// + /// 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. /// - public virtual PatchRequest Patch(Google.Apis.GKEHub.v1alpha.Data.Scope body, string name) + public virtual GetIamPolicyRequest GetIamPolicy(string resource) { - return new PatchRequest(this.service, body, name); + return new GetIamPolicyRequest(this.service, resource); } - /// Updates a scopes. - public class PatchRequest : GKEHubBaseServiceRequest + /// + /// Gets the access control policy for a resource. Returns an empty policy if the resource exists and + /// does not have a policy set. + /// + public class GetIamPolicyRequest : GKEHubBaseServiceRequest { - /// Constructs a new Patch request. - public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v1alpha.Data.Scope body, string name) : base(service) + /// Constructs a new GetIamPolicy request. + public GetIamPolicyRequest(Google.Apis.Services.IClientService service, string resource) : base(service) { - Name = name; - Body = body; + Resource = resource; InitParameters(); } /// - /// The resource name for the scope `projects/{project}/locations/{location}/scopes/{scope}` + /// 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. /// - [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Name { get; private set; } - - /// Required. The fields to be updated. - [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] - public virtual object UpdateMask { get; set; } - - /// Gets or sets the body of this request. - Google.Apis.GKEHub.v1alpha.Data.Scope Body { get; set; } + [Google.Apis.Util.RequestParameterAttribute("resource", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Resource { get; private set; } - /// Returns the body of the request. - protected override object GetBody() => Body; + /// + /// 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). + /// + [Google.Apis.Util.RequestParameterAttribute("options.requestedPolicyVersion", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable OptionsRequestedPolicyVersion { get; set; } /// Gets the method name. - public override string MethodName => "patch"; + public override string MethodName => "getIamPolicy"; /// Gets the HTTP method. - public override string HttpMethod => "PATCH"; + public override string HttpMethod => "GET"; /// Gets the REST path. - public override string RestPath => "v1alpha/{+name}"; + public override string RestPath => "v1alpha/{+resource}:getIamPolicy"; - /// Initializes Patch parameter list. + /// Initializes GetIamPolicy parameter list. protected override void InitParameters() { base.InitParameters(); - RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter { - Name = "name", + Name = "resource", IsRequired = true, ParameterType = "path", DefaultValue = null, Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", }); - RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + RequestParameters.Add("options.requestedPolicyVersion", new Google.Apis.Discovery.Parameter { - Name = "updateMask", + Name = "options.requestedPolicyVersion", IsRequired = false, ParameterType = "query", DefaultValue = null, @@ -5068,1769 +5268,2889 @@ protected override void InitParameters() } } - /// - /// Sets the access control policy on the specified resource. Replaces any existing policy. Can return - /// `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. - /// - /// The body of the request. - /// - /// 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. + /// Lists Scopes. + /// + /// Required. The parent (project and location) where the Scope will be listed. Specified in the format + /// `projects/*/locations/*`. /// - public virtual SetIamPolicyRequest SetIamPolicy(Google.Apis.GKEHub.v1alpha.Data.SetIamPolicyRequest body, string resource) + public virtual ListRequest List(string parent) { - return new SetIamPolicyRequest(this.service, body, resource); + return new ListRequest(this.service, parent); } - /// - /// Sets the access control policy on the specified resource. Replaces any existing policy. Can return - /// `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. - /// - public class SetIamPolicyRequest : GKEHubBaseServiceRequest + /// Lists Scopes. + public class ListRequest : GKEHubBaseServiceRequest { - /// Constructs a new SetIamPolicy request. - public SetIamPolicyRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v1alpha.Data.SetIamPolicyRequest body, string resource) : base(service) + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) { - Resource = resource; - Body = body; + Parent = parent; InitParameters(); } /// - /// REQUIRED: The resource for which the policy is being specified. See [Resource - /// names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this - /// field. + /// Required. The parent (project and location) where the Scope will be listed. Specified in the + /// format `projects/*/locations/*`. /// - [Google.Apis.Util.RequestParameterAttribute("resource", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Resource { get; private set; } + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } - /// Gets or sets the body of this request. - Google.Apis.GKEHub.v1alpha.Data.SetIamPolicyRequest Body { get; set; } + /// + /// Optional. When requesting a 'page' of resources, `page_size` specifies number of resources to + /// return. If unspecified or set to 0, all resources will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } - /// Returns the body of the request. - protected override object GetBody() => Body; + /// + /// Optional. Token returned by previous call to `ListScopes` which specifies the position in the + /// list from where to continue listing the resources. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } /// Gets the method name. - public override string MethodName => "setIamPolicy"; + public override string MethodName => "list"; /// Gets the HTTP method. - public override string HttpMethod => "POST"; + public override string HttpMethod => "GET"; /// Gets the REST path. - public override string RestPath => "v1alpha/{+resource}:setIamPolicy"; + public override string RestPath => "v1alpha/{+parent}/scopes"; - /// Initializes SetIamPolicy parameter list. + /// Initializes List parameter list. protected override void InitParameters() { base.InitParameters(); - RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter { - Name = "resource", + Name = "parent", IsRequired = true, ParameterType = "path", DefaultValue = null, - Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, }); } } /// - /// Returns permissions that a caller has on the specified resource. If the resource does not exist, - /// this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is - /// designed to be used for building permission-aware UIs and command-line tools, not for authorization - /// checking. This operation may "fail open" without warning. + /// Lists Memberships bound to a Scope. The response includes relevant Memberships from all regions. /// - /// The body of the request. - /// - /// REQUIRED: The resource for which the policy detail is being requested. See [Resource - /// names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this - /// field. + /// + /// Required. Name of the Scope, in the format `projects/*/locations/global/scopes/*`, to which the + /// Memberships are bound. /// - public virtual TestIamPermissionsRequest TestIamPermissions(Google.Apis.GKEHub.v1alpha.Data.TestIamPermissionsRequest body, string resource) + public virtual ListMembershipsRequest ListMemberships(string scopeName) { - return new TestIamPermissionsRequest(this.service, body, resource); + return new ListMembershipsRequest(this.service, scopeName); } /// - /// Returns permissions that a caller has on the specified resource. If the resource does not exist, - /// this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is - /// designed to be used for building permission-aware UIs and command-line tools, not for authorization - /// checking. This operation may "fail open" without warning. + /// Lists Memberships bound to a Scope. The response includes relevant Memberships from all regions. /// - public class TestIamPermissionsRequest : GKEHubBaseServiceRequest + public class ListMembershipsRequest : GKEHubBaseServiceRequest { - /// Constructs a new TestIamPermissions request. - public TestIamPermissionsRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v1alpha.Data.TestIamPermissionsRequest body, string resource) : base(service) + /// Constructs a new ListMemberships request. + public ListMembershipsRequest(Google.Apis.Services.IClientService service, string scopeName) : base(service) { - Resource = resource; - Body = body; + ScopeName = scopeName; InitParameters(); } /// - /// REQUIRED: The resource for which the policy detail is being requested. See [Resource - /// names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this - /// field. + /// Required. Name of the Scope, in the format `projects/*/locations/global/scopes/*`, to which the + /// Memberships are bound. /// - [Google.Apis.Util.RequestParameterAttribute("resource", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Resource { get; private set; } + [Google.Apis.Util.RequestParameterAttribute("scopeName", Google.Apis.Util.RequestParameterType.Path)] + public virtual string ScopeName { get; private set; } - /// Gets or sets the body of this request. - Google.Apis.GKEHub.v1alpha.Data.TestIamPermissionsRequest Body { get; set; } + /// + /// Optional. Lists Memberships that match the filter expression, following the syntax outlined in + /// https://google.aip.dev/160. Currently, filtering can be done only based on Memberships's `name`, + /// `labels`, `create_time`, `update_time`, and `unique_id`. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } - /// Returns the body of the request. - protected override object GetBody() => Body; + /// + /// Optional. When requesting a 'page' of resources, `page_size` specifies number of resources to + /// return. If unspecified or set to 0, all resources will be returned. Pagination is currently not + /// supported; therefore, setting this field does not have any impact for now. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// Optional. Token returned by previous call to `ListBoundMemberships` which specifies the position + /// in the list from where to continue listing the resources. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } /// Gets the method name. - public override string MethodName => "testIamPermissions"; + public override string MethodName => "listMemberships"; /// Gets the HTTP method. - public override string HttpMethod => "POST"; + public override string HttpMethod => "GET"; /// Gets the REST path. - public override string RestPath => "v1alpha/{+resource}:testIamPermissions"; + public override string RestPath => "v1alpha/{+scopeName}:listMemberships"; - /// Initializes TestIamPermissions parameter list. + /// Initializes ListMemberships parameter list. protected override void InitParameters() { base.InitParameters(); - RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter + RequestParameters.Add("scopeName", new Google.Apis.Discovery.Parameter { - Name = "resource", + Name = "scopeName", IsRequired = true, ParameterType = "path", DefaultValue = null, Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", }); - } - } - } + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Lists permitted Scopes. + /// + /// Required. The parent (project and location) where the Scope will be listed. Specified in the format + /// `projects/*/locations/*`. + /// + public virtual ListPermittedRequest ListPermitted(string parent) + { + return new ListPermittedRequest(this.service, parent); + } + + /// Lists permitted Scopes. + public class ListPermittedRequest : GKEHubBaseServiceRequest + { + /// Constructs a new ListPermitted request. + public ListPermittedRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// + /// Required. The parent (project and location) where the Scope will be listed. Specified in the + /// format `projects/*/locations/*`. + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Optional. When requesting a 'page' of resources, `page_size` specifies number of resources to + /// return. If unspecified or set to 0, all resources will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// Optional. Token returned by previous call to `ListPermittedScopes` which specifies the position + /// in the list from where to continue listing the resources. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "listPermitted"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1alpha/{+parent}/scopes:listPermitted"; + + /// Initializes ListPermitted parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Updates a scopes. + /// The body of the request. + /// + /// The resource name for the scope `projects/{project}/locations/{location}/scopes/{scope}` + /// + public virtual PatchRequest Patch(Google.Apis.GKEHub.v1alpha.Data.Scope body, string name) + { + return new PatchRequest(this.service, body, name); + } + + /// Updates a scopes. + public class PatchRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v1alpha.Data.Scope body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// The resource name for the scope `projects/{project}/locations/{location}/scopes/{scope}` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Required. The fields to be updated. + [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] + public virtual object UpdateMask { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.GKEHub.v1alpha.Data.Scope Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "patch"; + + /// Gets the HTTP method. + public override string HttpMethod => "PATCH"; + + /// Gets the REST path. + public override string RestPath => "v1alpha/{+name}"; + + /// Initializes Patch parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Sets the access control policy on the specified resource. Replaces any existing policy. Can return + /// `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + /// + /// The body of the request. + /// + /// 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. + /// + public virtual SetIamPolicyRequest SetIamPolicy(Google.Apis.GKEHub.v1alpha.Data.SetIamPolicyRequest body, string resource) + { + return new SetIamPolicyRequest(this.service, body, resource); + } + + /// + /// Sets the access control policy on the specified resource. Replaces any existing policy. Can return + /// `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + /// + public class SetIamPolicyRequest : GKEHubBaseServiceRequest + { + /// Constructs a new SetIamPolicy request. + public SetIamPolicyRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v1alpha.Data.SetIamPolicyRequest body, string resource) : base(service) + { + Resource = resource; + Body = body; + InitParameters(); + } + + /// + /// 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. + /// + [Google.Apis.Util.RequestParameterAttribute("resource", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Resource { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.GKEHub.v1alpha.Data.SetIamPolicyRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "setIamPolicy"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1alpha/{+resource}:setIamPolicy"; + + /// Initializes SetIamPolicy parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter + { + Name = "resource", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", + }); + } + } + + /// + /// 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. + /// + /// The body of the request. + /// + /// 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. + /// + public virtual TestIamPermissionsRequest TestIamPermissions(Google.Apis.GKEHub.v1alpha.Data.TestIamPermissionsRequest body, string resource) + { + return new TestIamPermissionsRequest(this.service, body, resource); + } + + /// + /// 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. + /// + public class TestIamPermissionsRequest : GKEHubBaseServiceRequest + { + /// Constructs a new TestIamPermissions request. + public TestIamPermissionsRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v1alpha.Data.TestIamPermissionsRequest body, string resource) : base(service) + { + Resource = resource; + Body = body; + InitParameters(); + } + + /// + /// 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. + /// + [Google.Apis.Util.RequestParameterAttribute("resource", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Resource { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.GKEHub.v1alpha.Data.TestIamPermissionsRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "testIamPermissions"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1alpha/{+resource}:testIamPermissions"; + + /// Initializes TestIamPermissions parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter + { + Name = "resource", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", + }); + } + } + } + + /// Gets information about a location. + /// Resource name for the location. + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Gets information about a location. + public class GetRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// Resource name for the location. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1alpha/{+name}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + } + } + + /// Lists information about the supported locations for this service. + /// The resource that owns the locations collection, if applicable. + public virtual ListRequest List(string name) + { + return new ListRequest(this.service, name); + } + + /// Lists information about the supported locations for this service. + public class ListRequest : GKEHubBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// The resource that owns the locations collection, if applicable. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented + /// otherwise. This is primarily for internal usage. + /// + [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] + public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } + + /// + /// 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). + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// The maximum number of results to return. If not set, the service selects a default. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A page token received from the `next_page_token` field in the response. Send that page token to + /// receive the subsequent page. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1alpha/{+name}/locations"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+$", + }); + RequestParameters.Add("extraLocationTypes", new Google.Apis.Discovery.Parameter + { + Name = "extraLocationTypes", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + } +} +namespace Google.Apis.GKEHub.v1alpha.Data +{ + /// Spec for App Dev Experience Feature. + public class AppDevExperienceFeatureSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// State for App Dev Exp Feature. + public class AppDevExperienceFeatureState : Google.Apis.Requests.IDirectResponseSchema + { + /// Status of subcomponent that detects configured Service Mesh resources. + [Newtonsoft.Json.JsonPropertyAttribute("networkingInstallSucceeded")] + public virtual Status NetworkingInstallSucceeded { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// ApplianceCluster contains information specific to GDC Edge Appliance Clusters. + public class ApplianceCluster : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Immutable. Self-link of the Google Cloud resource for the Appliance Cluster. For example: + /// //transferappliance.googleapis.com/projects/my-project/locations/us-west1-a/appliances/my-appliance + /// + [Newtonsoft.Json.JsonPropertyAttribute("resourceLink")] + public virtual string ResourceLink { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// 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. + /// + public class AuditConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// The configuration for logging of each type of permission. + [Newtonsoft.Json.JsonPropertyAttribute("auditLogConfigs")] + public virtual System.Collections.Generic.IList AuditLogConfigs { get; set; } + + /// + /// 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("service")] + public virtual string Service { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// 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. + /// + public class AuditLogConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Specifies the identities that do not cause logging for this type of permission. Follows the same format of + /// Binding.members. + /// + [Newtonsoft.Json.JsonPropertyAttribute("exemptedMembers")] + public virtual System.Collections.Generic.IList ExemptedMembers { get; set; } + + /// The log type that this config enables. + [Newtonsoft.Json.JsonPropertyAttribute("logType")] + public virtual string LogType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Authority encodes how Google will recognize identities from this Membership. See the workload identity + /// documentation for more details: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity + /// + public class Authority : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Output only. An identity provider that reflects the `issuer` in the workload identity pool. + /// + [Newtonsoft.Json.JsonPropertyAttribute("identityProvider")] + public virtual string IdentityProvider { get; set; } + + /// + /// Optional. A JSON Web Token (JWT) issuer URI. `issuer` must start with `https://` and be a valid URL with + /// length &lt;2000 characters, it must use `location` rather than `zone` for GKE clusters. If set, then + /// Google will allow valid OIDC tokens from this issuer to authenticate within the workload_identity_pool. OIDC + /// discovery will be performed on this URI to validate tokens from the issuer. Clearing `issuer` disables + /// Workload Identity. `issuer` cannot be directly modified; it must be cleared (and Workload Identity disabled) + /// before using a new issuer (and re-enabling Workload Identity). + /// + [Newtonsoft.Json.JsonPropertyAttribute("issuer")] + public virtual string Issuer { get; set; } + + /// + /// Optional. OIDC verification keys for this Membership in JWKS format (RFC 7517). When this field is set, OIDC + /// discovery will NOT be performed on `issuer`, and instead OIDC tokens will be validated using this field. + /// + [Newtonsoft.Json.JsonPropertyAttribute("oidcJwks")] + public virtual string OidcJwks { get; set; } + + /// + /// Optional. Output only. The identity provider for the scope-tenancy workload identity pool. + /// + [Newtonsoft.Json.JsonPropertyAttribute("scopeTenancyIdentityProvider")] + public virtual string ScopeTenancyIdentityProvider { get; set; } + + /// + /// Optional. Output only. The name of the scope-tenancy workload identity pool. This pool is set in the + /// fleet-level feature. + /// + [Newtonsoft.Json.JsonPropertyAttribute("scopeTenancyWorkloadIdentityPool")] + public virtual string ScopeTenancyWorkloadIdentityPool { get; set; } + + /// + /// Output only. The name of the workload identity pool in which `issuer` will be recognized. There is a single + /// Workload Identity Pool per Hub that is shared between all Memberships that belong to that Hub. For a Hub + /// hosted in {PROJECT_ID}, the workload pool format is `{PROJECT_ID}.hub.id.goog`, although this is subject to + /// change in newer versions of this API. + /// + [Newtonsoft.Json.JsonPropertyAttribute("workloadIdentityPool")] + public virtual string WorkloadIdentityPool { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// BinaryAuthorizationConfig defines the fleet level configuration of binary authorization feature. + /// + public class BinaryAuthorizationConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Optional. Mode of operation for binauthz policy evaluation. + [Newtonsoft.Json.JsonPropertyAttribute("evaluationMode")] + public virtual string EvaluationMode { get; set; } + + /// Optional. Binauthz policies that apply to this cluster. + [Newtonsoft.Json.JsonPropertyAttribute("policyBindings")] + public virtual System.Collections.Generic.IList PolicyBindings { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Associates `members`, or principals, with a `role`. + public class Binding : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// 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). + /// + [Newtonsoft.Json.JsonPropertyAttribute("condition")] + public virtual Expr Condition { get; set; } + + /// + /// 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`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("members")] + public virtual System.Collections.Generic.IList Members { get; set; } + + /// + /// 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). + /// + [Newtonsoft.Json.JsonPropertyAttribute("role")] + public virtual string Role { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// The request message for Operations.CancelOperation. + public class CancelOperationRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// **Cloud Audit Logging**: Spec for Audit Logging Allowlisting. + public class CloudAuditLoggingFeatureSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Service account that should be allowlisted to send the audit logs; eg + /// cloudauditlogging@gcp-project.iam.gserviceaccount.com. These accounts must already exist, but do not need to + /// have any permissions granted to them. The customer's entitlements will be checked prior to allowlisting + /// (i.e. the customer must be an Anthos customer.) + /// + [Newtonsoft.Json.JsonPropertyAttribute("allowlistedServiceAccounts")] + public virtual System.Collections.Generic.IList AllowlistedServiceAccounts { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// **Cloud Build**: Configurations for each Cloud Build enabled cluster. + public class CloudBuildMembershipSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// Whether it is allowed to run the privileged builds on the cluster or not. + [Newtonsoft.Json.JsonPropertyAttribute("securityPolicy")] + public virtual string SecurityPolicy { get; set; } + + /// Version of the cloud build software on the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual string Version { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Selector for clusters. + public class ClusterSelector : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The label selector must be a valid CEL (go/cel) expression which evaluates resource.labels. + /// + [Newtonsoft.Json.JsonPropertyAttribute("labelSelector")] + public virtual string LabelSelector { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// **ClusterUpgrade**: The configuration for the fleet-level ClusterUpgrade feature. + public class ClusterUpgradeFleetSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// Allow users to override some properties of each GKE upgrade. + [Newtonsoft.Json.JsonPropertyAttribute("gkeUpgradeOverrides")] + public virtual System.Collections.Generic.IList GkeUpgradeOverrides { get; set; } + + /// Required. Post conditions to evaluate to mark an upgrade COMPLETE. Required. + [Newtonsoft.Json.JsonPropertyAttribute("postConditions")] + public virtual ClusterUpgradePostConditions PostConditions { get; set; } + + /// + /// This fleet consumes upgrades that have COMPLETE status code in the upstream fleets. See UpgradeStatus.Code + /// for code definitions. The fleet name should be either fleet project number or id. This is defined as + /// repeated for future proof reasons. Initial implementation will enforce at most one upstream fleet. + /// + [Newtonsoft.Json.JsonPropertyAttribute("upstreamFleets")] + public virtual System.Collections.Generic.IList UpstreamFleets { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// **ClusterUpgrade**: The state for the fleet-level ClusterUpgrade feature. + public class ClusterUpgradeFleetState : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// This fleets whose upstream_fleets contain the current fleet. The fleet name should be either fleet project + /// number or id. + /// + [Newtonsoft.Json.JsonPropertyAttribute("downstreamFleets")] + public virtual System.Collections.Generic.IList DownstreamFleets { get; set; } + + /// Feature state for GKE clusters. + [Newtonsoft.Json.JsonPropertyAttribute("gkeState")] + public virtual ClusterUpgradeGKEUpgradeFeatureState GkeState { get; set; } + + /// + /// A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they + /// are newer than the default versions of its release channel. The membership resource is in the format: + /// `projects/{p}/locations/{l}/membership/{m}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("ignored")] + public virtual System.Collections.Generic.IDictionary Ignored { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// GKEUpgrade represents a GKE provided upgrade, e.g., control plane upgrade. + public class ClusterUpgradeGKEUpgrade : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Name of the upgrade, e.g., "k8s_control_plane". It should be a valid upgrade name. It must not exceet 99 + /// characters. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// + /// Version of the upgrade, e.g., "1.22.1-gke.100". It should be a valid version. It must not exceet 99 + /// characters. + /// + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual string Version { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// GKEUpgradeFeatureCondition describes the condition of the feature for GKE clusters at a certain point of time. + /// + public class ClusterUpgradeGKEUpgradeFeatureCondition : Google.Apis.Requests.IDirectResponseSchema + { + /// Reason why the feature is in this status. + [Newtonsoft.Json.JsonPropertyAttribute("reason")] + public virtual string Reason { get; set; } - /// Gets information about a location. - /// Resource name for the location. - public virtual GetRequest Get(string name) + /// Status of the condition, one of True, False, Unknown. + [Newtonsoft.Json.JsonPropertyAttribute("status")] + public virtual string Status { get; set; } + + /// Type of the condition, for example, "ready". + [Newtonsoft.Json.JsonPropertyAttribute("type")] + public virtual string Type { get; set; } + + private string _updateTimeRaw; + + private object _updateTime; + + /// Last timestamp the condition was updated. + [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] + public virtual string UpdateTimeRaw + { + get => _updateTimeRaw; + set { - return new GetRequest(this.service, name); + _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _updateTimeRaw = value; } + } - /// Gets information about a location. - public class GetRequest : GKEHubBaseServiceRequest + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] + public virtual object UpdateTime + { + get => _updateTime; + set { - /// Constructs a new Get request. - public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) - { - Name = name; - InitParameters(); - } + _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _updateTime = value; + } + } - /// Resource name for the location. - [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Name { get; private set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); + set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// Gets the method name. - public override string MethodName => "get"; + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// Gets the HTTP method. - public override string HttpMethod => "GET"; + /// GKEUpgradeFeatureState contains feature states for GKE clusters in the scope. + public class ClusterUpgradeGKEUpgradeFeatureState : Google.Apis.Requests.IDirectResponseSchema + { + /// Current conditions of the feature. + [Newtonsoft.Json.JsonPropertyAttribute("conditions")] + public virtual System.Collections.Generic.IList Conditions { get; set; } - /// Gets the REST path. - public override string RestPath => "v1alpha/{+name}"; + /// Upgrade state. It will eventually replace `state`. + [Newtonsoft.Json.JsonPropertyAttribute("upgradeState")] + public virtual System.Collections.Generic.IList UpgradeState { get; set; } - /// Initializes Get parameter list. - protected override void InitParameters() - { - base.InitParameters(); - RequestParameters.Add("name", new Google.Apis.Discovery.Parameter - { - Name = "name", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"^projects/[^/]+/locations/[^/]+$", - }); - } - } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// Lists information about the supported locations for this service. - /// The resource that owns the locations collection, if applicable. - public virtual ListRequest List(string name) - { - return new ListRequest(this.service, name); - } + /// + /// Properties of a GKE upgrade that can be overridden by the user. For example, a user can skip soaking by + /// overriding the soaking to 0. + /// + public class ClusterUpgradeGKEUpgradeOverride : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. Post conditions to override for the specified upgrade (name + version). Required. + /// + [Newtonsoft.Json.JsonPropertyAttribute("postConditions")] + public virtual ClusterUpgradePostConditions PostConditions { get; set; } - /// Lists information about the supported locations for this service. - public class ListRequest : GKEHubBaseServiceRequest - { - /// Constructs a new List request. - public ListRequest(Google.Apis.Services.IClientService service, string name) : base(service) - { - Name = name; - InitParameters(); - } + /// Required. Which upgrade to override. Required. + [Newtonsoft.Json.JsonPropertyAttribute("upgrade")] + public virtual ClusterUpgradeGKEUpgrade Upgrade { get; set; } - /// The resource that owns the locations collection, if applicable. - [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Name { get; private set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// - /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented - /// otherwise. This is primarily for internal usage. - /// - [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] - public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } + /// GKEUpgradeState is a GKEUpgrade and its state at the scope and fleet level. + public class ClusterUpgradeGKEUpgradeState : Google.Apis.Requests.IDirectResponseSchema + { + /// Number of GKE clusters in each status code. + [Newtonsoft.Json.JsonPropertyAttribute("stats")] + public virtual System.Collections.Generic.IDictionary> Stats { get; set; } - /// - /// 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). - /// - [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] - public virtual string Filter { get; set; } + /// Status of the upgrade. + [Newtonsoft.Json.JsonPropertyAttribute("status")] + public virtual ClusterUpgradeUpgradeStatus Status { get; set; } - /// - /// The maximum number of results to return. If not set, the service selects a default. - /// - [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] - public virtual System.Nullable PageSize { get; set; } + /// Which upgrade to track the state. + [Newtonsoft.Json.JsonPropertyAttribute("upgrade")] + public virtual ClusterUpgradeGKEUpgrade Upgrade { get; set; } - /// - /// A page token received from the `next_page_token` field in the response. Send that page token to - /// receive the subsequent page. - /// - [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] - public virtual string PageToken { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// Gets the method name. - public override string MethodName => "list"; + /// + /// IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was + /// manually upgraded to a newer version than RC default. + /// + public class ClusterUpgradeIgnoredMembership : Google.Apis.Requests.IDirectResponseSchema + { + private string _ignoredTimeRaw; - /// Gets the HTTP method. - public override string HttpMethod => "GET"; + private object _ignoredTime; - /// Gets the REST path. - public override string RestPath => "v1alpha/{+name}/locations"; + /// Time when the membership was first set to ignored. + [Newtonsoft.Json.JsonPropertyAttribute("ignoredTime")] + public virtual string IgnoredTimeRaw + { + get => _ignoredTimeRaw; + set + { + _ignoredTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _ignoredTimeRaw = value; + } + } - /// Initializes List parameter list. - protected override void InitParameters() - { - base.InitParameters(); - RequestParameters.Add("name", new Google.Apis.Discovery.Parameter - { - Name = "name", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"^projects/[^/]+$", - }); - RequestParameters.Add("extraLocationTypes", new Google.Apis.Discovery.Parameter - { - Name = "extraLocationTypes", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter - { - Name = "filter", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter - { - Name = "pageSize", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter - { - Name = "pageToken", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use IgnoredTimeDateTimeOffset instead.")] + public virtual object IgnoredTime + { + get => _ignoredTime; + set + { + _ignoredTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _ignoredTime = value; } } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? IgnoredTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(IgnoredTimeRaw); + set => IgnoredTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// Reason why the membership is ignored. + [Newtonsoft.Json.JsonPropertyAttribute("reason")] + public virtual string Reason { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } } -} -namespace Google.Apis.GKEHub.v1alpha.Data -{ - /// Spec for App Dev Experience Feature. - public class AppDevExperienceFeatureSpec : Google.Apis.Requests.IDirectResponseSchema + + /// ScopeGKEUpgradeState is a GKEUpgrade and its state per-membership. + public class ClusterUpgradeMembershipGKEUpgradeState : Google.Apis.Requests.IDirectResponseSchema { + /// Status of the upgrade. + [Newtonsoft.Json.JsonPropertyAttribute("status")] + public virtual ClusterUpgradeUpgradeStatus Status { get; set; } + + /// Which upgrade to track the state. + [Newtonsoft.Json.JsonPropertyAttribute("upgrade")] + public virtual ClusterUpgradeGKEUpgrade Upgrade { get; set; } + /// The ETag of the item. public virtual string ETag { get; set; } } - /// State for App Dev Exp Feature. - public class AppDevExperienceFeatureState : Google.Apis.Requests.IDirectResponseSchema + /// Per-membership state for this feature. + public class ClusterUpgradeMembershipState : Google.Apis.Requests.IDirectResponseSchema { - /// Status of subcomponent that detects configured Service Mesh resources. - [Newtonsoft.Json.JsonPropertyAttribute("networkingInstallSucceeded")] - public virtual Status NetworkingInstallSucceeded { get; set; } + /// + /// Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if + /// they are newer than the default versions of its release channel. + /// + [Newtonsoft.Json.JsonPropertyAttribute("ignored")] + public virtual ClusterUpgradeIgnoredMembership Ignored { get; set; } + + /// + /// Fully qualified scope names that this clusters is bound to which also have rollout sequencing enabled. + /// + [Newtonsoft.Json.JsonPropertyAttribute("scopes")] + public virtual System.Collections.Generic.IList Scopes { get; set; } + + /// Actual upgrade state against desired. + [Newtonsoft.Json.JsonPropertyAttribute("upgrades")] + public virtual System.Collections.Generic.IList Upgrades { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// ApplianceCluster contains information specific to GDC Edge Appliance Clusters. - public class ApplianceCluster : Google.Apis.Requests.IDirectResponseSchema + /// Post conditional checks after an upgrade has been applied on all eligible clusters. + public class ClusterUpgradePostConditions : Google.Apis.Requests.IDirectResponseSchema { /// - /// Immutable. Self-link of the Google Cloud resource for the Appliance Cluster. For example: - /// //transferappliance.googleapis.com/projects/my-project/locations/us-west1-a/appliances/my-appliance + /// Required. Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot + /// exceed 30 days. Required. /// - [Newtonsoft.Json.JsonPropertyAttribute("resourceLink")] - public virtual string ResourceLink { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("soaking")] + public virtual object Soaking { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// - /// 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. - /// - public class AuditConfig : Google.Apis.Requests.IDirectResponseSchema + /// **ClusterUpgrade**: The configuration for the scope-level ClusterUpgrade feature. + public class ClusterUpgradeScopeSpec : Google.Apis.Requests.IDirectResponseSchema { - /// The configuration for logging of each type of permission. - [Newtonsoft.Json.JsonPropertyAttribute("auditLogConfigs")] - public virtual System.Collections.Generic.IList AuditLogConfigs { get; set; } + /// Allow users to override some properties of each GKE upgrade. + [Newtonsoft.Json.JsonPropertyAttribute("gkeUpgradeOverrides")] + public virtual System.Collections.Generic.IList GkeUpgradeOverrides { get; set; } + + /// Required. Post conditions to evaluate to mark an upgrade COMPLETE. Required. + [Newtonsoft.Json.JsonPropertyAttribute("postConditions")] + public virtual ClusterUpgradePostConditions PostConditions { get; set; } /// - /// 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. + /// This scope consumes upgrades that have COMPLETE status code in the upstream scopes. See UpgradeStatus.Code + /// for code definitions. The scope name should be in the form: `projects/{p}/locations/global/scopes/{s}` Where + /// {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. This is + /// defined as repeated for future proof reasons. Initial implementation will enforce at most one upstream + /// scope. /// - [Newtonsoft.Json.JsonPropertyAttribute("service")] - public virtual string Service { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("upstreamScopes")] + public virtual System.Collections.Generic.IList UpstreamScopes { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// - /// 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. - /// - public class AuditLogConfig : Google.Apis.Requests.IDirectResponseSchema + /// **ClusterUpgrade**: The state for the scope-level ClusterUpgrade feature. + public class ClusterUpgradeScopeState : Google.Apis.Requests.IDirectResponseSchema { /// - /// Specifies the identities that do not cause logging for this type of permission. Follows the same format of - /// Binding.members. + /// This scopes whose upstream_scopes contain the current scope. The scope name should be in the form: + /// `projects/{p}/locations/gloobal/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. + /// {p} WILL match the Feature's project. /// - [Newtonsoft.Json.JsonPropertyAttribute("exemptedMembers")] - public virtual System.Collections.Generic.IList ExemptedMembers { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("downstreamScopes")] + public virtual System.Collections.Generic.IList DownstreamScopes { get; set; } + + /// Feature state for GKE clusters. + [Newtonsoft.Json.JsonPropertyAttribute("gkeState")] + public virtual ClusterUpgradeGKEUpgradeFeatureState GkeState { get; set; } + + /// + /// A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they + /// are newer than the default versions of its release channel. The membership resource is in the format: + /// `projects/{p}/locations/{l}/membership/{m}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("ignored")] + public virtual System.Collections.Generic.IDictionary Ignored { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// UpgradeStatus provides status information for each upgrade. + public class ClusterUpgradeUpgradeStatus : Google.Apis.Requests.IDirectResponseSchema + { + /// Status code of the upgrade. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } + + /// Reason for this status. + [Newtonsoft.Json.JsonPropertyAttribute("reason")] + public virtual string Reason { get; set; } + + private string _updateTimeRaw; + + private object _updateTime; + + /// Last timestamp the status was updated. + [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] + public virtual string UpdateTimeRaw + { + get => _updateTimeRaw; + set + { + _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _updateTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] + public virtual object UpdateTime + { + get => _updateTime; + set + { + _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _updateTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); + set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// CommonFeatureSpec contains Fleet-wide configuration information + public class CommonFeatureSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// Appdevexperience specific spec. + [Newtonsoft.Json.JsonPropertyAttribute("appdevexperience")] + public virtual AppDevExperienceFeatureSpec Appdevexperience { get; set; } + + /// Cloud Audit Logging-specific spec. + [Newtonsoft.Json.JsonPropertyAttribute("cloudauditlogging")] + public virtual CloudAuditLoggingFeatureSpec Cloudauditlogging { get; set; } + + /// ClusterUpgrade (fleet-based) feature spec. + [Newtonsoft.Json.JsonPropertyAttribute("clusterupgrade")] + public virtual ClusterUpgradeFleetSpec Clusterupgrade { get; set; } + + /// DataplaneV2 feature spec. + [Newtonsoft.Json.JsonPropertyAttribute("dataplanev2")] + public virtual DataplaneV2FeatureSpec Dataplanev2 { get; set; } + + /// FleetObservability feature spec. + [Newtonsoft.Json.JsonPropertyAttribute("fleetobservability")] + public virtual FleetObservabilityFeatureSpec Fleetobservability { get; set; } + + /// Multicluster Ingress-specific spec. + [Newtonsoft.Json.JsonPropertyAttribute("multiclusteringress")] + public virtual MultiClusterIngressFeatureSpec Multiclusteringress { get; set; } + + /// Namespace Actuation feature spec + [Newtonsoft.Json.JsonPropertyAttribute("namespaceactuation")] + public virtual NamespaceActuationFeatureSpec Namespaceactuation { get; set; } + + /// RBAC Role Binding Actuation feature spec + [Newtonsoft.Json.JsonPropertyAttribute("rbacrolebindingactuation")] + public virtual RBACRoleBindingActuationFeatureSpec Rbacrolebindingactuation { get; set; } + + /// Workload Certificate spec. + [Newtonsoft.Json.JsonPropertyAttribute("workloadcertificate")] + public virtual FeatureSpec Workloadcertificate { get; set; } + + /// Workload Identity feature spec. + [Newtonsoft.Json.JsonPropertyAttribute("workloadidentity")] + public virtual WorkloadIdentityFeatureSpec Workloadidentity { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// CommonFeatureState contains Fleet-wide Feature status information. + public class CommonFeatureState : Google.Apis.Requests.IDirectResponseSchema + { + /// Appdevexperience specific state. + [Newtonsoft.Json.JsonPropertyAttribute("appdevexperience")] + public virtual AppDevExperienceFeatureState Appdevexperience { get; set; } + + /// ClusterUpgrade fleet-level state. + [Newtonsoft.Json.JsonPropertyAttribute("clusterupgrade")] + public virtual ClusterUpgradeFleetState Clusterupgrade { get; set; } + + /// FleetObservability feature state. + [Newtonsoft.Json.JsonPropertyAttribute("fleetobservability")] + public virtual FleetObservabilityFeatureState Fleetobservability { get; set; } + + /// Namespace Actuation feature state. + [Newtonsoft.Json.JsonPropertyAttribute("namespaceactuation")] + public virtual NamespaceActuationFeatureState Namespaceactuation { get; set; } + + /// RBAC Role Binding Actuation feature state + [Newtonsoft.Json.JsonPropertyAttribute("rbacrolebindingactuation")] + public virtual RBACRoleBindingActuationFeatureState Rbacrolebindingactuation { get; set; } + + /// Service Mesh-specific state. + [Newtonsoft.Json.JsonPropertyAttribute("servicemesh")] + public virtual ServiceMeshFeatureState Servicemesh { get; set; } + + /// Output only. The "running state" of the Feature in this Fleet. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual FeatureState State { get; set; } - /// The log type that this config enables. - [Newtonsoft.Json.JsonPropertyAttribute("logType")] - public virtual string LogType { get; set; } + /// WorkloadIdentity fleet-level state. + [Newtonsoft.Json.JsonPropertyAttribute("workloadidentity")] + public virtual WorkloadIdentityFeatureState Workloadidentity { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// - /// Authority encodes how Google will recognize identities from this Membership. See the workload identity - /// documentation for more details: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity + /// CommonFleetDefaultMemberConfigSpec contains default configuration information for memberships of a fleet /// - public class Authority : Google.Apis.Requests.IDirectResponseSchema + public class CommonFleetDefaultMemberConfigSpec : Google.Apis.Requests.IDirectResponseSchema { - /// - /// Output only. An identity provider that reflects the `issuer` in the workload identity pool. - /// - [Newtonsoft.Json.JsonPropertyAttribute("identityProvider")] - public virtual string IdentityProvider { get; set; } - - /// - /// Optional. A JSON Web Token (JWT) issuer URI. `issuer` must start with `https://` and be a valid URL with - /// length &lt;2000 characters, it must use `location` rather than `zone` for GKE clusters. If set, then - /// Google will allow valid OIDC tokens from this issuer to authenticate within the workload_identity_pool. OIDC - /// discovery will be performed on this URI to validate tokens from the issuer. Clearing `issuer` disables - /// Workload Identity. `issuer` cannot be directly modified; it must be cleared (and Workload Identity disabled) - /// before using a new issuer (and re-enabling Workload Identity). - /// - [Newtonsoft.Json.JsonPropertyAttribute("issuer")] - public virtual string Issuer { get; set; } - - /// - /// Optional. OIDC verification keys for this Membership in JWKS format (RFC 7517). When this field is set, OIDC - /// discovery will NOT be performed on `issuer`, and instead OIDC tokens will be validated using this field. - /// - [Newtonsoft.Json.JsonPropertyAttribute("oidcJwks")] - public virtual string OidcJwks { get; set; } + /// Config Management-specific spec. + [Newtonsoft.Json.JsonPropertyAttribute("configmanagement")] + public virtual ConfigManagementMembershipSpec Configmanagement { get; set; } - /// - /// Optional. Output only. The identity provider for the scope-tenancy workload identity pool. - /// - [Newtonsoft.Json.JsonPropertyAttribute("scopeTenancyIdentityProvider")] - public virtual string ScopeTenancyIdentityProvider { get; set; } + /// Identity Service-specific spec. + [Newtonsoft.Json.JsonPropertyAttribute("identityservice")] + public virtual IdentityServiceMembershipSpec Identityservice { get; set; } - /// - /// Optional. Output only. The name of the scope-tenancy workload identity pool. This pool is set in the - /// fleet-level feature. - /// - [Newtonsoft.Json.JsonPropertyAttribute("scopeTenancyWorkloadIdentityPool")] - public virtual string ScopeTenancyWorkloadIdentityPool { get; set; } + /// Anthos Service Mesh-specific spec + [Newtonsoft.Json.JsonPropertyAttribute("mesh")] + public virtual ServiceMeshMembershipSpec Mesh { get; set; } - /// - /// Output only. The name of the workload identity pool in which `issuer` will be recognized. There is a single - /// Workload Identity Pool per Hub that is shared between all Memberships that belong to that Hub. For a Hub - /// hosted in {PROJECT_ID}, the workload pool format is `{PROJECT_ID}.hub.id.goog`, although this is subject to - /// change in newer versions of this API. - /// - [Newtonsoft.Json.JsonPropertyAttribute("workloadIdentityPool")] - public virtual string WorkloadIdentityPool { get; set; } + /// Policy Controller spec. + [Newtonsoft.Json.JsonPropertyAttribute("policycontroller")] + public virtual PolicyControllerMembershipSpec Policycontroller { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// - /// BinaryAuthorizationConfig defines the fleet level configuration of binary authorization feature. + /// CompliancePostureConfig defines the settings needed to enable/disable features for the Compliance Posture. /// - public class BinaryAuthorizationConfig : Google.Apis.Requests.IDirectResponseSchema + public class CompliancePostureConfig : Google.Apis.Requests.IDirectResponseSchema { - /// Optional. Mode of operation for binauthz policy evaluation. - [Newtonsoft.Json.JsonPropertyAttribute("evaluationMode")] - public virtual string EvaluationMode { get; set; } + /// List of enabled compliance standards. + [Newtonsoft.Json.JsonPropertyAttribute("complianceStandards")] + public virtual System.Collections.Generic.IList ComplianceStandards { get; set; } - /// Optional. Binauthz policies that apply to this cluster. - [Newtonsoft.Json.JsonPropertyAttribute("policyBindings")] - public virtual System.Collections.Generic.IList PolicyBindings { get; set; } + /// Defines the enablement mode for Compliance Posture. + [Newtonsoft.Json.JsonPropertyAttribute("mode")] + public virtual string Mode { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Associates `members`, or principals, with a `role`. - public class Binding : Google.Apis.Requests.IDirectResponseSchema + public class ComplianceStandard : Google.Apis.Requests.IDirectResponseSchema { - /// - /// 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). - /// - [Newtonsoft.Json.JsonPropertyAttribute("condition")] - public virtual Expr Condition { get; set; } - - /// - /// 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`. - /// - [Newtonsoft.Json.JsonPropertyAttribute("members")] - public virtual System.Collections.Generic.IList Members { get; set; } - - /// - /// 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). - /// - [Newtonsoft.Json.JsonPropertyAttribute("role")] - public virtual string Role { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Name of the compliance standard. + [Newtonsoft.Json.JsonPropertyAttribute("standard")] + public virtual string Standard { get; set; } - /// The request message for Operations.CancelOperation. - public class CancelOperationRequest : Google.Apis.Requests.IDirectResponseSchema - { /// The ETag of the item. public virtual string ETag { get; set; } } - /// **Cloud Audit Logging**: Spec for Audit Logging Allowlisting. - public class CloudAuditLoggingFeatureSpec : Google.Apis.Requests.IDirectResponseSchema + /// Configuration for Binauthz + public class ConfigManagementBinauthzConfig : Google.Apis.Requests.IDirectResponseSchema { - /// - /// Service account that should be allowlisted to send the audit logs; eg - /// cloudauditlogging@gcp-project.iam.gserviceaccount.com. These accounts must already exist, but do not need to - /// have any permissions granted to them. The customer's entitlements will be checked prior to allowlisting - /// (i.e. the customer must be an Anthos customer.) - /// - [Newtonsoft.Json.JsonPropertyAttribute("allowlistedServiceAccounts")] - public virtual System.Collections.Generic.IList AllowlistedServiceAccounts { get; set; } + /// Whether binauthz is enabled in this cluster. + [Newtonsoft.Json.JsonPropertyAttribute("enabled")] + public virtual System.Nullable Enabled { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// **Cloud Build**: Configurations for each Cloud Build enabled cluster. - public class CloudBuildMembershipSpec : Google.Apis.Requests.IDirectResponseSchema + /// State for Binauthz + public class ConfigManagementBinauthzState : Google.Apis.Requests.IDirectResponseSchema { - /// Whether it is allowed to run the privileged builds on the cluster or not. - [Newtonsoft.Json.JsonPropertyAttribute("securityPolicy")] - public virtual string SecurityPolicy { get; set; } - - /// Version of the cloud build software on the cluster. + /// The version of binauthz that is installed. [Newtonsoft.Json.JsonPropertyAttribute("version")] - public virtual string Version { get; set; } + public virtual ConfigManagementBinauthzVersion Version { get; set; } + + /// The state of the binauthz webhook. + [Newtonsoft.Json.JsonPropertyAttribute("webhook")] + public virtual string Webhook { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// **ClusterUpgrade**: The configuration for the fleet-level ClusterUpgrade feature. - public class ClusterUpgradeFleetSpec : Google.Apis.Requests.IDirectResponseSchema + /// The version of binauthz. + public class ConfigManagementBinauthzVersion : Google.Apis.Requests.IDirectResponseSchema { - /// Allow users to override some properties of each GKE upgrade. - [Newtonsoft.Json.JsonPropertyAttribute("gkeUpgradeOverrides")] - public virtual System.Collections.Generic.IList GkeUpgradeOverrides { get; set; } - - /// Required. Post conditions to evaluate to mark an upgrade COMPLETE. Required. - [Newtonsoft.Json.JsonPropertyAttribute("postConditions")] - public virtual ClusterUpgradePostConditions PostConditions { get; set; } - - /// - /// This fleet consumes upgrades that have COMPLETE status code in the upstream fleets. See UpgradeStatus.Code - /// for code definitions. The fleet name should be either fleet project number or id. This is defined as - /// repeated for future proof reasons. Initial implementation will enforce at most one upstream fleet. - /// - [Newtonsoft.Json.JsonPropertyAttribute("upstreamFleets")] - public virtual System.Collections.Generic.IList UpstreamFleets { get; set; } + /// The version of the binauthz webhook. + [Newtonsoft.Json.JsonPropertyAttribute("webhookVersion")] + public virtual string WebhookVersion { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// **ClusterUpgrade**: The state for the fleet-level ClusterUpgrade feature. - public class ClusterUpgradeFleetState : Google.Apis.Requests.IDirectResponseSchema + /// Configuration for Config Sync + public class ConfigManagementConfigSync : Google.Apis.Requests.IDirectResponseSchema { + /// Optional. Configuration for deployment overrides. + [Newtonsoft.Json.JsonPropertyAttribute("deploymentOverrides")] + public virtual System.Collections.Generic.IList DeploymentOverrides { get; set; } + /// - /// This fleets whose upstream_fleets contain the current fleet. The fleet name should be either fleet project - /// number or id. + /// Optional. Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and + /// the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be + /// ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on + /// the presence of the git or oci field. /// - [Newtonsoft.Json.JsonPropertyAttribute("downstreamFleets")] - public virtual System.Collections.Generic.IList DownstreamFleets { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("enabled")] + public virtual System.Nullable Enabled { get; set; } - /// Feature state for GKE clusters. - [Newtonsoft.Json.JsonPropertyAttribute("gkeState")] - public virtual ClusterUpgradeGKEUpgradeFeatureState GkeState { get; set; } + /// Optional. Git repo configuration for the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("git")] + public virtual ConfigManagementGitConfig Git { get; set; } /// - /// A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they - /// are newer than the default versions of its release channel. The membership resource is in the format: - /// `projects/{p}/locations/{l}/membership/{m}`. + /// Optional. The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to + /// Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring + /// Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the + /// namespace `config-management-monitoring` should be bound to the GSA. Deprecated: If Workload Identity + /// Federation for GKE is enabled, Google Cloud Service Account is no longer needed for exporting Config Sync + /// metrics: + /// https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring. /// - [Newtonsoft.Json.JsonPropertyAttribute("ignored")] - public virtual System.Collections.Generic.IDictionary Ignored { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("metricsGcpServiceAccountEmail")] + public virtual string MetricsGcpServiceAccountEmail { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Optional. OCI repo configuration for the cluster + [Newtonsoft.Json.JsonPropertyAttribute("oci")] + public virtual ConfigManagementOciConfig Oci { get; set; } - /// GKEUpgrade represents a GKE provided upgrade, e.g., control plane upgrade. - public class ClusterUpgradeGKEUpgrade : Google.Apis.Requests.IDirectResponseSchema - { /// - /// Name of the upgrade, e.g., "k8s_control_plane". It should be a valid upgrade name. It must not exceet 99 - /// characters. + /// Optional. Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, + /// disables the Config Sync admission webhook and does not prevent drifts. /// - [Newtonsoft.Json.JsonPropertyAttribute("name")] - public virtual string Name { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("preventDrift")] + public virtual System.Nullable PreventDrift { get; set; } /// - /// Version of the upgrade, e.g., "1.22.1-gke.100". It should be a valid version. It must not exceet 99 - /// characters. + /// Optional. Specifies whether the Config Sync Repo is in "hierarchical" or "unstructured" mode. /// - [Newtonsoft.Json.JsonPropertyAttribute("version")] - public virtual string Version { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("sourceFormat")] + public virtual string SourceFormat { get; set; } + + /// Optional. Set to true to stop syncing configs for a single cluster. Default to false. + [Newtonsoft.Json.JsonPropertyAttribute("stopSyncing")] + public virtual System.Nullable StopSyncing { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// - /// GKEUpgradeFeatureCondition describes the condition of the feature for GKE clusters at a certain point of time. - /// - public class ClusterUpgradeGKEUpgradeFeatureCondition : Google.Apis.Requests.IDirectResponseSchema + /// The state of ConfigSync's deployment on a cluster + public class ConfigManagementConfigSyncDeploymentState : Google.Apis.Requests.IDirectResponseSchema { - /// Reason why the feature is in this status. - [Newtonsoft.Json.JsonPropertyAttribute("reason")] - public virtual string Reason { get; set; } + /// Deployment state of admission-webhook + [Newtonsoft.Json.JsonPropertyAttribute("admissionWebhook")] + public virtual string AdmissionWebhook { get; set; } - /// Status of the condition, one of True, False, Unknown. - [Newtonsoft.Json.JsonPropertyAttribute("status")] - public virtual string Status { get; set; } + /// Deployment state of the git-sync pod + [Newtonsoft.Json.JsonPropertyAttribute("gitSync")] + public virtual string GitSync { get; set; } - /// Type of the condition, for example, "ready". - [Newtonsoft.Json.JsonPropertyAttribute("type")] - public virtual string Type { get; set; } + /// Deployment state of the importer pod + [Newtonsoft.Json.JsonPropertyAttribute("importer")] + public virtual string Importer { get; set; } - private string _updateTimeRaw; + /// Deployment state of the monitor pod + [Newtonsoft.Json.JsonPropertyAttribute("monitor")] + public virtual string Monitor { get; set; } - private object _updateTime; + /// Deployment state of otel-collector + [Newtonsoft.Json.JsonPropertyAttribute("otelCollector")] + public virtual string OtelCollector { get; set; } - /// Last timestamp the condition was updated. - [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] - public virtual string UpdateTimeRaw - { - get => _updateTimeRaw; - set - { - _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _updateTimeRaw = value; - } - } + /// Deployment state of reconciler-manager pod + [Newtonsoft.Json.JsonPropertyAttribute("reconcilerManager")] + public virtual string ReconcilerManager { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] - public virtual object UpdateTime - { - get => _updateTime; - set - { - _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _updateTime = value; - } - } + /// Deployment state of resource-group-controller-manager + [Newtonsoft.Json.JsonPropertyAttribute("resourceGroupControllerManager")] + public virtual string ResourceGroupControllerManager { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); - set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + /// Deployment state of root-reconciler + [Newtonsoft.Json.JsonPropertyAttribute("rootReconciler")] + public virtual string RootReconciler { get; set; } + + /// Deployment state of the syncer pod + [Newtonsoft.Json.JsonPropertyAttribute("syncer")] + public virtual string Syncer { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// GKEUpgradeFeatureState contains feature states for GKE clusters in the scope. - public class ClusterUpgradeGKEUpgradeFeatureState : Google.Apis.Requests.IDirectResponseSchema + /// Errors pertaining to the installation of Config Sync + public class ConfigManagementConfigSyncError : Google.Apis.Requests.IDirectResponseSchema { - /// Current conditions of the feature. - [Newtonsoft.Json.JsonPropertyAttribute("conditions")] - public virtual System.Collections.Generic.IList Conditions { get; set; } - - /// Upgrade state. It will eventually replace `state`. - [Newtonsoft.Json.JsonPropertyAttribute("upgradeState")] - public virtual System.Collections.Generic.IList UpgradeState { get; set; } + /// A string representing the user facing error message + [Newtonsoft.Json.JsonPropertyAttribute("errorMessage")] + public virtual string ErrorMessage { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// - /// Properties of a GKE upgrade that can be overridden by the user. For example, a user can skip soaking by - /// overriding the soaking to 0. - /// - public class ClusterUpgradeGKEUpgradeOverride : Google.Apis.Requests.IDirectResponseSchema + /// State information for ConfigSync + public class ConfigManagementConfigSyncState : Google.Apis.Requests.IDirectResponseSchema { + /// Output only. Whether syncing resources to the cluster is stopped at the cluster level. + [Newtonsoft.Json.JsonPropertyAttribute("clusterLevelStopSyncingState")] + public virtual string ClusterLevelStopSyncingState { get; set; } + + /// Output only. The number of RootSync and RepoSync CRs in the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("crCount")] + public virtual System.Nullable CrCount { get; set; } + /// - /// Required. Post conditions to override for the specified upgrade (name + version). Required. + /// Output only. Information about the deployment of ConfigSync, including the version of the various Pods + /// deployed /// - [Newtonsoft.Json.JsonPropertyAttribute("postConditions")] - public virtual ClusterUpgradePostConditions PostConditions { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("deploymentState")] + public virtual ConfigManagementConfigSyncDeploymentState DeploymentState { get; set; } - /// Required. Which upgrade to override. Required. - [Newtonsoft.Json.JsonPropertyAttribute("upgrade")] - public virtual ClusterUpgradeGKEUpgrade Upgrade { get; set; } + /// Output only. Errors pertaining to the installation of Config Sync. + [Newtonsoft.Json.JsonPropertyAttribute("errors")] + public virtual System.Collections.Generic.IList Errors { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Output only. The state of the Reposync CRD + [Newtonsoft.Json.JsonPropertyAttribute("reposyncCrd")] + public virtual string ReposyncCrd { get; set; } - /// GKEUpgradeState is a GKEUpgrade and its state at the scope and fleet level. - public class ClusterUpgradeGKEUpgradeState : Google.Apis.Requests.IDirectResponseSchema - { - /// Number of GKE clusters in each status code. - [Newtonsoft.Json.JsonPropertyAttribute("stats")] - public virtual System.Collections.Generic.IDictionary> Stats { get; set; } + /// Output only. The state of the RootSync CRD + [Newtonsoft.Json.JsonPropertyAttribute("rootsyncCrd")] + public virtual string RootsyncCrd { get; set; } - /// Status of the upgrade. - [Newtonsoft.Json.JsonPropertyAttribute("status")] - public virtual ClusterUpgradeUpgradeStatus Status { get; set; } + /// Output only. The state of CS This field summarizes the other fields in this message. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } - /// Which upgrade to track the state. - [Newtonsoft.Json.JsonPropertyAttribute("upgrade")] - public virtual ClusterUpgradeGKEUpgrade Upgrade { get; set; } + /// Output only. The state of ConfigSync's process to sync configs to a cluster + [Newtonsoft.Json.JsonPropertyAttribute("syncState")] + public virtual ConfigManagementSyncState SyncState { get; set; } + + /// Output only. The version of ConfigSync deployed + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual ConfigManagementConfigSyncVersion Version { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// - /// IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was - /// manually upgraded to a newer version than RC default. - /// - public class ClusterUpgradeIgnoredMembership : Google.Apis.Requests.IDirectResponseSchema + /// Specific versioning information pertaining to ConfigSync's Pods + public class ConfigManagementConfigSyncVersion : Google.Apis.Requests.IDirectResponseSchema { - private string _ignoredTimeRaw; + /// Version of the deployed admission-webhook pod + [Newtonsoft.Json.JsonPropertyAttribute("admissionWebhook")] + public virtual string AdmissionWebhook { get; set; } - private object _ignoredTime; + /// Version of the deployed git-sync pod + [Newtonsoft.Json.JsonPropertyAttribute("gitSync")] + public virtual string GitSync { get; set; } - /// Time when the membership was first set to ignored. - [Newtonsoft.Json.JsonPropertyAttribute("ignoredTime")] - public virtual string IgnoredTimeRaw - { - get => _ignoredTimeRaw; - set - { - _ignoredTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _ignoredTimeRaw = value; - } - } + /// Version of the deployed importer pod + [Newtonsoft.Json.JsonPropertyAttribute("importer")] + public virtual string Importer { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use IgnoredTimeDateTimeOffset instead.")] - public virtual object IgnoredTime - { - get => _ignoredTime; - set - { - _ignoredTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _ignoredTime = value; - } - } + /// Version of the deployed monitor pod + [Newtonsoft.Json.JsonPropertyAttribute("monitor")] + public virtual string Monitor { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? IgnoredTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(IgnoredTimeRaw); - set => IgnoredTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + /// Version of the deployed otel-collector pod + [Newtonsoft.Json.JsonPropertyAttribute("otelCollector")] + public virtual string OtelCollector { get; set; } - /// Reason why the membership is ignored. - [Newtonsoft.Json.JsonPropertyAttribute("reason")] - public virtual string Reason { get; set; } + /// Version of the deployed reconciler-manager pod + [Newtonsoft.Json.JsonPropertyAttribute("reconcilerManager")] + public virtual string ReconcilerManager { get; set; } + + /// Version of the deployed resource-group-controller-manager pod + [Newtonsoft.Json.JsonPropertyAttribute("resourceGroupControllerManager")] + public virtual string ResourceGroupControllerManager { get; set; } + + /// Version of the deployed reconciler container in root-reconciler pod + [Newtonsoft.Json.JsonPropertyAttribute("rootReconciler")] + public virtual string RootReconciler { get; set; } + + /// Version of the deployed syncer pod + [Newtonsoft.Json.JsonPropertyAttribute("syncer")] + public virtual string Syncer { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// ScopeGKEUpgradeState is a GKEUpgrade and its state per-membership. - public class ClusterUpgradeMembershipGKEUpgradeState : Google.Apis.Requests.IDirectResponseSchema - { - /// Status of the upgrade. - [Newtonsoft.Json.JsonPropertyAttribute("status")] - public virtual ClusterUpgradeUpgradeStatus Status { get; set; } + /// Configuration for a container override. + public class ConfigManagementContainerOverride : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The name of the container. + [Newtonsoft.Json.JsonPropertyAttribute("containerName")] + public virtual string ContainerName { get; set; } + + /// Optional. The cpu limit of the container. + [Newtonsoft.Json.JsonPropertyAttribute("cpuLimit")] + public virtual string CpuLimit { get; set; } + + /// Optional. The cpu request of the container. + [Newtonsoft.Json.JsonPropertyAttribute("cpuRequest")] + public virtual string CpuRequest { get; set; } + + /// Optional. The memory limit of the container. + [Newtonsoft.Json.JsonPropertyAttribute("memoryLimit")] + public virtual string MemoryLimit { get; set; } - /// Which upgrade to track the state. - [Newtonsoft.Json.JsonPropertyAttribute("upgrade")] - public virtual ClusterUpgradeGKEUpgrade Upgrade { get; set; } + /// Optional. The memory request of the container. + [Newtonsoft.Json.JsonPropertyAttribute("memoryRequest")] + public virtual string MemoryRequest { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Per-membership state for this feature. - public class ClusterUpgradeMembershipState : Google.Apis.Requests.IDirectResponseSchema + /// Configuration for a deployment override. + public class ConfigManagementDeploymentOverride : Google.Apis.Requests.IDirectResponseSchema { - /// - /// Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if - /// they are newer than the default versions of its release channel. - /// - [Newtonsoft.Json.JsonPropertyAttribute("ignored")] - public virtual ClusterUpgradeIgnoredMembership Ignored { get; set; } + /// Optional. The containers of the deployment resource to be overridden. + [Newtonsoft.Json.JsonPropertyAttribute("containers")] + public virtual System.Collections.Generic.IList Containers { get; set; } - /// - /// Fully qualified scope names that this clusters is bound to which also have rollout sequencing enabled. - /// - [Newtonsoft.Json.JsonPropertyAttribute("scopes")] - public virtual System.Collections.Generic.IList Scopes { get; set; } + /// Required. The name of the deployment resource to be overridden. + [Newtonsoft.Json.JsonPropertyAttribute("deploymentName")] + public virtual string DeploymentName { get; set; } - /// Actual upgrade state against desired. - [Newtonsoft.Json.JsonPropertyAttribute("upgrades")] - public virtual System.Collections.Generic.IList Upgrades { get; set; } + /// Required. The namespace of the deployment resource to be overridden. + [Newtonsoft.Json.JsonPropertyAttribute("deploymentNamespace")] + public virtual string DeploymentNamespace { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Post conditional checks after an upgrade has been applied on all eligible clusters. - public class ClusterUpgradePostConditions : Google.Apis.Requests.IDirectResponseSchema + /// Model for a config file in the git repo with an associated Sync error + public class ConfigManagementErrorResource : Google.Apis.Requests.IDirectResponseSchema { - /// - /// Required. Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot - /// exceed 30 days. Required. - /// - [Newtonsoft.Json.JsonPropertyAttribute("soaking")] - public virtual object Soaking { get; set; } + /// Group/version/kind of the resource that is causing an error + [Newtonsoft.Json.JsonPropertyAttribute("resourceGvk")] + public virtual ConfigManagementGroupVersionKind ResourceGvk { get; set; } + + /// Metadata name of the resource that is causing an error + [Newtonsoft.Json.JsonPropertyAttribute("resourceName")] + public virtual string ResourceName { get; set; } + + /// Namespace of the resource that is causing an error + [Newtonsoft.Json.JsonPropertyAttribute("resourceNamespace")] + public virtual string ResourceNamespace { get; set; } + + /// Path in the git repo of the erroneous config + [Newtonsoft.Json.JsonPropertyAttribute("sourcePath")] + public virtual string SourcePath { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// **ClusterUpgrade**: The configuration for the scope-level ClusterUpgrade feature. - public class ClusterUpgradeScopeSpec : Google.Apis.Requests.IDirectResponseSchema + /// State of Policy Controller installation. + public class ConfigManagementGatekeeperDeploymentState : Google.Apis.Requests.IDirectResponseSchema { - /// Allow users to override some properties of each GKE upgrade. - [Newtonsoft.Json.JsonPropertyAttribute("gkeUpgradeOverrides")] - public virtual System.Collections.Generic.IList GkeUpgradeOverrides { get; set; } + /// Status of gatekeeper-audit deployment. + [Newtonsoft.Json.JsonPropertyAttribute("gatekeeperAudit")] + public virtual string GatekeeperAudit { get; set; } - /// Required. Post conditions to evaluate to mark an upgrade COMPLETE. Required. - [Newtonsoft.Json.JsonPropertyAttribute("postConditions")] - public virtual ClusterUpgradePostConditions PostConditions { get; set; } + /// Status of gatekeeper-controller-manager pod. + [Newtonsoft.Json.JsonPropertyAttribute("gatekeeperControllerManagerState")] + public virtual string GatekeeperControllerManagerState { get; set; } - /// - /// This scope consumes upgrades that have COMPLETE status code in the upstream scopes. See UpgradeStatus.Code - /// for code definitions. The scope name should be in the form: `projects/{p}/locations/global/scopes/{s}` Where - /// {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. This is - /// defined as repeated for future proof reasons. Initial implementation will enforce at most one upstream - /// scope. - /// - [Newtonsoft.Json.JsonPropertyAttribute("upstreamScopes")] - public virtual System.Collections.Generic.IList UpstreamScopes { get; set; } + /// Status of the pod serving the mutation webhook. + [Newtonsoft.Json.JsonPropertyAttribute("gatekeeperMutation")] + public virtual string GatekeeperMutation { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// **ClusterUpgrade**: The state for the scope-level ClusterUpgrade feature. - public class ClusterUpgradeScopeState : Google.Apis.Requests.IDirectResponseSchema + /// Git repo configuration for a single cluster. + public class ConfigManagementGitConfig : Google.Apis.Requests.IDirectResponseSchema { /// - /// This scopes whose upstream_scopes contain the current scope. The scope name should be in the form: - /// `projects/{p}/locations/gloobal/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. - /// {p} WILL match the Feature's project. + /// Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. /// - [Newtonsoft.Json.JsonPropertyAttribute("downstreamScopes")] - public virtual System.Collections.Generic.IList DownstreamScopes { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("gcpServiceAccountEmail")] + public virtual string GcpServiceAccountEmail { get; set; } - /// Feature state for GKE clusters. - [Newtonsoft.Json.JsonPropertyAttribute("gkeState")] - public virtual ClusterUpgradeGKEUpgradeFeatureState GkeState { get; set; } + /// Optional. URL for the HTTPS proxy to be used when communicating with the Git repo. + [Newtonsoft.Json.JsonPropertyAttribute("httpsProxy")] + public virtual string HttpsProxy { get; set; } /// - /// A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they - /// are newer than the default versions of its release channel. The membership resource is in the format: - /// `projects/{p}/locations/{l}/membership/{m}`. + /// Optional. The path within the Git repository that represents the top level of the repo to sync. Default: the + /// root directory of the repository. /// - [Newtonsoft.Json.JsonPropertyAttribute("ignored")] - public virtual System.Collections.Generic.IDictionary Ignored { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// UpgradeStatus provides status information for each upgrade. - public class ClusterUpgradeUpgradeStatus : Google.Apis.Requests.IDirectResponseSchema - { - /// Status code of the upgrade. - [Newtonsoft.Json.JsonPropertyAttribute("code")] - public virtual string Code { get; set; } - - /// Reason for this status. - [Newtonsoft.Json.JsonPropertyAttribute("reason")] - public virtual string Reason { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("policyDir")] + public virtual string PolicyDir { get; set; } - private string _updateTimeRaw; + /// + /// Required. Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, + /// token, gcpserviceaccount, githubapp or none. The validation of this is case-sensitive. + /// + [Newtonsoft.Json.JsonPropertyAttribute("secretType")] + public virtual string SecretType { get; set; } - private object _updateTime; + /// Optional. The branch of the repository to sync from. Default: master. + [Newtonsoft.Json.JsonPropertyAttribute("syncBranch")] + public virtual string SyncBranch { get; set; } - /// Last timestamp the status was updated. - [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] - public virtual string UpdateTimeRaw - { - get => _updateTimeRaw; - set - { - _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _updateTimeRaw = value; - } - } + /// Required. The URL of the Git repository to use as the source of truth. + [Newtonsoft.Json.JsonPropertyAttribute("syncRepo")] + public virtual string SyncRepo { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] - public virtual object UpdateTime - { - get => _updateTime; - set - { - _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _updateTime = value; - } - } + /// Optional. Git revision (tag or hash) to check out. Default HEAD. + [Newtonsoft.Json.JsonPropertyAttribute("syncRev")] + public virtual string SyncRev { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); - set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + /// Optional. Period in seconds between consecutive syncs. Default: 15. + [Newtonsoft.Json.JsonPropertyAttribute("syncWaitSecs")] + public virtual System.Nullable SyncWaitSecs { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// CommonFeatureSpec contains Fleet-wide configuration information - public class CommonFeatureSpec : Google.Apis.Requests.IDirectResponseSchema + /// A Kubernetes object's GVK + public class ConfigManagementGroupVersionKind : Google.Apis.Requests.IDirectResponseSchema { - /// Appdevexperience specific spec. - [Newtonsoft.Json.JsonPropertyAttribute("appdevexperience")] - public virtual AppDevExperienceFeatureSpec Appdevexperience { get; set; } - - /// Cloud Audit Logging-specific spec. - [Newtonsoft.Json.JsonPropertyAttribute("cloudauditlogging")] - public virtual CloudAuditLoggingFeatureSpec Cloudauditlogging { get; set; } + /// Kubernetes Group + [Newtonsoft.Json.JsonPropertyAttribute("group")] + public virtual string Group { get; set; } - /// ClusterUpgrade (fleet-based) feature spec. - [Newtonsoft.Json.JsonPropertyAttribute("clusterupgrade")] - public virtual ClusterUpgradeFleetSpec Clusterupgrade { get; set; } + /// Kubernetes Kind + [Newtonsoft.Json.JsonPropertyAttribute("kind")] + public virtual string Kind { get; set; } - /// DataplaneV2 feature spec. - [Newtonsoft.Json.JsonPropertyAttribute("dataplanev2")] - public virtual DataplaneV2FeatureSpec Dataplanev2 { get; set; } + /// Kubernetes Version + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual string Version { get; set; } - /// FleetObservability feature spec. - [Newtonsoft.Json.JsonPropertyAttribute("fleetobservability")] - public virtual FleetObservabilityFeatureSpec Fleetobservability { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// Multicluster Ingress-specific spec. - [Newtonsoft.Json.JsonPropertyAttribute("multiclusteringress")] - public virtual MultiClusterIngressFeatureSpec Multiclusteringress { get; set; } + /// Configuration for Hierarchy Controller + public class ConfigManagementHierarchyControllerConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Whether hierarchical resource quota is enabled in this cluster. + [Newtonsoft.Json.JsonPropertyAttribute("enableHierarchicalResourceQuota")] + public virtual System.Nullable EnableHierarchicalResourceQuota { get; set; } - /// Namespace Actuation feature spec - [Newtonsoft.Json.JsonPropertyAttribute("namespaceactuation")] - public virtual NamespaceActuationFeatureSpec Namespaceactuation { get; set; } + /// Whether pod tree labels are enabled in this cluster. + [Newtonsoft.Json.JsonPropertyAttribute("enablePodTreeLabels")] + public virtual System.Nullable EnablePodTreeLabels { get; set; } - /// RBAC Role Binding Actuation feature spec - [Newtonsoft.Json.JsonPropertyAttribute("rbacrolebindingactuation")] - public virtual RBACRoleBindingActuationFeatureSpec Rbacrolebindingactuation { get; set; } + /// Whether Hierarchy Controller is enabled in this cluster. + [Newtonsoft.Json.JsonPropertyAttribute("enabled")] + public virtual System.Nullable Enabled { get; set; } - /// Workload Certificate spec. - [Newtonsoft.Json.JsonPropertyAttribute("workloadcertificate")] - public virtual FeatureSpec Workloadcertificate { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// Workload Identity feature spec. - [Newtonsoft.Json.JsonPropertyAttribute("workloadidentity")] - public virtual WorkloadIdentityFeatureSpec Workloadidentity { get; set; } + /// Deployment state for Hierarchy Controller + public class ConfigManagementHierarchyControllerDeploymentState : Google.Apis.Requests.IDirectResponseSchema + { + /// The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1) + [Newtonsoft.Json.JsonPropertyAttribute("extension")] + public virtual string Extension { get; set; } + + /// The deployment state for open source HNC (e.g. v0.7.0-hc.0) + [Newtonsoft.Json.JsonPropertyAttribute("hnc")] + public virtual string Hnc { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// CommonFeatureState contains Fleet-wide Feature status information. - public class CommonFeatureState : Google.Apis.Requests.IDirectResponseSchema + /// State for Hierarchy Controller + public class ConfigManagementHierarchyControllerState : Google.Apis.Requests.IDirectResponseSchema { - /// Appdevexperience specific state. - [Newtonsoft.Json.JsonPropertyAttribute("appdevexperience")] - public virtual AppDevExperienceFeatureState Appdevexperience { get; set; } - - /// ClusterUpgrade fleet-level state. - [Newtonsoft.Json.JsonPropertyAttribute("clusterupgrade")] - public virtual ClusterUpgradeFleetState Clusterupgrade { get; set; } - - /// FleetObservability feature state. - [Newtonsoft.Json.JsonPropertyAttribute("fleetobservability")] - public virtual FleetObservabilityFeatureState Fleetobservability { get; set; } - - /// Namespace Actuation feature state. - [Newtonsoft.Json.JsonPropertyAttribute("namespaceactuation")] - public virtual NamespaceActuationFeatureState Namespaceactuation { get; set; } - - /// RBAC Role Binding Actuation feature state - [Newtonsoft.Json.JsonPropertyAttribute("rbacrolebindingactuation")] - public virtual RBACRoleBindingActuationFeatureState Rbacrolebindingactuation { get; set; } - - /// Service Mesh-specific state. - [Newtonsoft.Json.JsonPropertyAttribute("servicemesh")] - public virtual ServiceMeshFeatureState Servicemesh { get; set; } - - /// Output only. The "running state" of the Feature in this Fleet. + /// The deployment state for Hierarchy Controller [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual FeatureState State { get; set; } + public virtual ConfigManagementHierarchyControllerDeploymentState State { get; set; } - /// WorkloadIdentity fleet-level state. - [Newtonsoft.Json.JsonPropertyAttribute("workloadidentity")] - public virtual WorkloadIdentityFeatureState Workloadidentity { get; set; } + /// The version for Hierarchy Controller + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual ConfigManagementHierarchyControllerVersion Version { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// - /// CommonFleetDefaultMemberConfigSpec contains default configuration information for memberships of a fleet - /// - public class CommonFleetDefaultMemberConfigSpec : Google.Apis.Requests.IDirectResponseSchema + /// Version for Hierarchy Controller + public class ConfigManagementHierarchyControllerVersion : Google.Apis.Requests.IDirectResponseSchema { - /// Config Management-specific spec. - [Newtonsoft.Json.JsonPropertyAttribute("configmanagement")] - public virtual ConfigManagementMembershipSpec Configmanagement { get; set; } + /// Version for Hierarchy Controller extension + [Newtonsoft.Json.JsonPropertyAttribute("extension")] + public virtual string Extension { get; set; } - /// Identity Service-specific spec. - [Newtonsoft.Json.JsonPropertyAttribute("identityservice")] - public virtual IdentityServiceMembershipSpec Identityservice { get; set; } + /// Version for open source HNC + [Newtonsoft.Json.JsonPropertyAttribute("hnc")] + public virtual string Hnc { get; set; } - /// Anthos Service Mesh-specific spec - [Newtonsoft.Json.JsonPropertyAttribute("mesh")] - public virtual ServiceMeshMembershipSpec Mesh { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// Policy Controller spec. - [Newtonsoft.Json.JsonPropertyAttribute("policycontroller")] - public virtual PolicyControllerMembershipSpec Policycontroller { get; set; } + /// Errors pertaining to the installation of ACM + public class ConfigManagementInstallError : Google.Apis.Requests.IDirectResponseSchema + { + /// A string representing the user facing error message + [Newtonsoft.Json.JsonPropertyAttribute("errorMessage")] + public virtual string ErrorMessage { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// - /// CompliancePostureConfig defines the settings needed to enable/disable features for the Compliance Posture. + /// **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. /// - public class CompliancePostureConfig : Google.Apis.Requests.IDirectResponseSchema + public class ConfigManagementMembershipSpec : Google.Apis.Requests.IDirectResponseSchema { - /// List of enabled compliance standards. - [Newtonsoft.Json.JsonPropertyAttribute("complianceStandards")] - public virtual System.Collections.Generic.IList ComplianceStandards { get; set; } + /// + /// Optional. Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be + /// set. + /// + [Newtonsoft.Json.JsonPropertyAttribute("binauthz")] + public virtual ConfigManagementBinauthzConfig Binauthz { get; set; } - /// Defines the enablement mode for Compliance Posture. - [Newtonsoft.Json.JsonPropertyAttribute("mode")] - public virtual string Mode { get; set; } + /// + /// Optional. The user-specified cluster name used by Config Sync cluster-name-selector annotation or + /// ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet + /// membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field + /// if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector + /// annotation or ClusterSelector. + /// + [Newtonsoft.Json.JsonPropertyAttribute("cluster")] + public virtual string Cluster { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Optional. Config Sync configuration for the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("configSync")] + public virtual ConfigManagementConfigSync ConfigSync { get; set; } - public class ComplianceStandard : Google.Apis.Requests.IDirectResponseSchema - { - /// Name of the compliance standard. - [Newtonsoft.Json.JsonPropertyAttribute("standard")] - public virtual string Standard { get; set; } + /// + /// Optional. Hierarchy Controller configuration for the cluster. Deprecated: Configuring Hierarchy Controller + /// through the configmanagement feature is no longer recommended. Use + /// https://github.com/kubernetes-sigs/hierarchical-namespaces instead. + /// + [Newtonsoft.Json.JsonPropertyAttribute("hierarchyController")] + public virtual ConfigManagementHierarchyControllerConfig HierarchyController { get; set; } + + /// Optional. Enables automatic Feature management. + [Newtonsoft.Json.JsonPropertyAttribute("management")] + public virtual string Management { get; set; } + + /// + /// Optional. Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through + /// the configmanagement feature is no longer recommended. Use the policycontroller feature instead. + /// + [Newtonsoft.Json.JsonPropertyAttribute("policyController")] + public virtual ConfigManagementPolicyController PolicyController { get; set; } + + /// Optional. Version of ACM installed. + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual string Version { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Configuration for Binauthz - public class ConfigManagementBinauthzConfig : Google.Apis.Requests.IDirectResponseSchema + /// **Anthos Config Management**: State for a single cluster. + public class ConfigManagementMembershipState : Google.Apis.Requests.IDirectResponseSchema { - /// Whether binauthz is enabled in this cluster. - [Newtonsoft.Json.JsonPropertyAttribute("enabled")] - public virtual System.Nullable Enabled { get; set; } + /// Output only. Binauthz status + [Newtonsoft.Json.JsonPropertyAttribute("binauthzState")] + public virtual ConfigManagementBinauthzState BinauthzState { get; set; } + + /// + /// Output only. This field is set to the `cluster_name` field of the Membership Spec if it is not empty. + /// Otherwise, it is set to the cluster's fleet membership name. + /// + [Newtonsoft.Json.JsonPropertyAttribute("clusterName")] + public virtual string ClusterName { get; set; } + + /// Output only. Current sync status + [Newtonsoft.Json.JsonPropertyAttribute("configSyncState")] + public virtual ConfigManagementConfigSyncState ConfigSyncState { get; set; } + + /// Output only. Hierarchy Controller status + [Newtonsoft.Json.JsonPropertyAttribute("hierarchyControllerState")] + public virtual ConfigManagementHierarchyControllerState HierarchyControllerState { get; set; } + + /// Output only. The Kubernetes API server version of the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("kubernetesApiServerVersion")] + public virtual string KubernetesApiServerVersion { get; set; } + + /// + /// Output only. Membership configuration in the cluster. This represents the actual state in the cluster, while + /// the MembershipSpec in the FeatureSpec represents the intended state + /// + [Newtonsoft.Json.JsonPropertyAttribute("membershipSpec")] + public virtual ConfigManagementMembershipSpec MembershipSpec { get; set; } + + /// Output only. Current install status of ACM's Operator + [Newtonsoft.Json.JsonPropertyAttribute("operatorState")] + public virtual ConfigManagementOperatorState OperatorState { get; set; } + + /// Output only. PolicyController status + [Newtonsoft.Json.JsonPropertyAttribute("policyControllerState")] + public virtual ConfigManagementPolicyControllerState PolicyControllerState { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// State for Binauthz - public class ConfigManagementBinauthzState : Google.Apis.Requests.IDirectResponseSchema + /// OCI repo configuration for a single cluster + public class ConfigManagementOciConfig : Google.Apis.Requests.IDirectResponseSchema { - /// The version of binauthz that is installed. - [Newtonsoft.Json.JsonPropertyAttribute("version")] - public virtual ConfigManagementBinauthzVersion Version { get; set; } + /// + /// Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. + /// + [Newtonsoft.Json.JsonPropertyAttribute("gcpServiceAccountEmail")] + public virtual string GcpServiceAccountEmail { get; set; } - /// The state of the binauthz webhook. - [Newtonsoft.Json.JsonPropertyAttribute("webhook")] - public virtual string Webhook { get; set; } + /// + /// Optional. The absolute path of the directory that contains the local resources. Default: the root directory + /// of the image. + /// + [Newtonsoft.Json.JsonPropertyAttribute("policyDir")] + public virtual string PolicyDir { get; set; } + + /// + /// Required. Type of secret configured for access to the OCI repo. Must be one of gcenode, gcpserviceaccount, + /// k8sserviceaccount or none. The validation of this is case-sensitive. + /// + [Newtonsoft.Json.JsonPropertyAttribute("secretType")] + public virtual string SecretType { get; set; } + + /// + /// Required. The OCI image repository URL for the package to sync from. e.g. + /// `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("syncRepo")] + public virtual string SyncRepo { get; set; } + + /// Optional. Period in seconds between consecutive syncs. Default: 15. + [Newtonsoft.Json.JsonPropertyAttribute("syncWaitSecs")] + public virtual System.Nullable SyncWaitSecs { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// The version of binauthz. - public class ConfigManagementBinauthzVersion : Google.Apis.Requests.IDirectResponseSchema + /// State information for an ACM's Operator + public class ConfigManagementOperatorState : Google.Apis.Requests.IDirectResponseSchema { - /// The version of the binauthz webhook. - [Newtonsoft.Json.JsonPropertyAttribute("webhookVersion")] - public virtual string WebhookVersion { get; set; } + /// The state of the Operator's deployment + [Newtonsoft.Json.JsonPropertyAttribute("deploymentState")] + public virtual string DeploymentState { get; set; } + + /// Install errors. + [Newtonsoft.Json.JsonPropertyAttribute("errors")] + public virtual System.Collections.Generic.IList Errors { get; set; } + + /// The semenatic version number of the operator + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual string Version { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Configuration for Config Sync - public class ConfigManagementConfigSync : Google.Apis.Requests.IDirectResponseSchema + /// Configuration for Policy Controller + public class ConfigManagementPolicyController : Google.Apis.Requests.IDirectResponseSchema { - /// Optional. Configuration for deployment overrides. - [Newtonsoft.Json.JsonPropertyAttribute("deploymentOverrides")] - public virtual System.Collections.Generic.IList DeploymentOverrides { get; set; } + /// + /// Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit + /// functionality altogether. + /// + [Newtonsoft.Json.JsonPropertyAttribute("auditIntervalSeconds")] + public virtual System.Nullable AuditIntervalSeconds { get; set; } /// - /// Optional. Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and - /// the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be - /// ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on - /// the presence of the git or oci field. + /// Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect. /// [Newtonsoft.Json.JsonPropertyAttribute("enabled")] public virtual System.Nullable Enabled { get; set; } - /// Optional. Git repo configuration for the cluster. - [Newtonsoft.Json.JsonPropertyAttribute("git")] - public virtual ConfigManagementGitConfig Git { get; set; } - /// - /// Optional. The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to - /// Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring - /// Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the - /// namespace `config-management-monitoring` should be bound to the GSA. Deprecated: If Workload Identity - /// Federation for GKE is enabled, Google Cloud Service Account is no longer needed for exporting Config Sync - /// metrics: - /// https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring. + /// The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently + /// exist on the cluster. /// - [Newtonsoft.Json.JsonPropertyAttribute("metricsGcpServiceAccountEmail")] - public virtual string MetricsGcpServiceAccountEmail { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("exemptableNamespaces")] + public virtual System.Collections.Generic.IList ExemptableNamespaces { get; set; } - /// Optional. OCI repo configuration for the cluster - [Newtonsoft.Json.JsonPropertyAttribute("oci")] - public virtual ConfigManagementOciConfig Oci { get; set; } + /// Logs all denies and dry run failures. + [Newtonsoft.Json.JsonPropertyAttribute("logDeniesEnabled")] + public virtual System.Nullable LogDeniesEnabled { get; set; } + + /// Monitoring specifies the configuration of monitoring. + [Newtonsoft.Json.JsonPropertyAttribute("monitoring")] + public virtual ConfigManagementPolicyControllerMonitoring Monitoring { get; set; } /// - /// Optional. Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, - /// disables the Config Sync admission webhook and does not prevent drifts. + /// Enable or disable mutation in policy controller. If true, mutation CRDs, webhook and controller deployment + /// will be deployed to the cluster. /// - [Newtonsoft.Json.JsonPropertyAttribute("preventDrift")] - public virtual System.Nullable PreventDrift { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("mutationEnabled")] + public virtual System.Nullable MutationEnabled { get; set; } /// - /// Optional. Specifies whether the Config Sync Repo is in "hierarchical" or "unstructured" mode. + /// Enables the ability to use Constraint Templates that reference to objects other than the object currently + /// being evaluated. /// - [Newtonsoft.Json.JsonPropertyAttribute("sourceFormat")] - public virtual string SourceFormat { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("referentialRulesEnabled")] + public virtual System.Nullable ReferentialRulesEnabled { get; set; } - /// Optional. Set to true to stop syncing configs for a single cluster. Default to false. - [Newtonsoft.Json.JsonPropertyAttribute("stopSyncing")] - public virtual System.Nullable StopSyncing { get; set; } + /// Installs the default template library along with Policy Controller. + [Newtonsoft.Json.JsonPropertyAttribute("templateLibraryInstalled")] + public virtual System.Nullable TemplateLibraryInstalled { get; set; } + + private string _updateTimeRaw; + + private object _updateTime; + + /// Output only. Last time this membership spec was updated. + [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] + public virtual string UpdateTimeRaw + { + get => _updateTimeRaw; + set + { + _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _updateTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] + public virtual object UpdateTime + { + get => _updateTime; + set + { + _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _updateTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); + set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } /// The ETag of the item. public virtual string ETag { get; set; } } - /// The state of ConfigSync's deployment on a cluster - public class ConfigManagementConfigSyncDeploymentState : Google.Apis.Requests.IDirectResponseSchema + /// State for the migration of PolicyController from ACM -> PoCo Hub. + public class ConfigManagementPolicyControllerMigration : Google.Apis.Requests.IDirectResponseSchema { - /// Deployment state of admission-webhook - [Newtonsoft.Json.JsonPropertyAttribute("admissionWebhook")] - public virtual string AdmissionWebhook { get; set; } - - /// Deployment state of the git-sync pod - [Newtonsoft.Json.JsonPropertyAttribute("gitSync")] - public virtual string GitSync { get; set; } - - /// Deployment state of the importer pod - [Newtonsoft.Json.JsonPropertyAttribute("importer")] - public virtual string Importer { get; set; } - - /// Deployment state of the monitor pod - [Newtonsoft.Json.JsonPropertyAttribute("monitor")] - public virtual string Monitor { get; set; } + private string _copyTimeRaw; - /// Deployment state of otel-collector - [Newtonsoft.Json.JsonPropertyAttribute("otelCollector")] - public virtual string OtelCollector { get; set; } + private object _copyTime; - /// Deployment state of reconciler-manager pod - [Newtonsoft.Json.JsonPropertyAttribute("reconcilerManager")] - public virtual string ReconcilerManager { get; set; } + /// Last time this membership spec was copied to PoCo feature. + [Newtonsoft.Json.JsonPropertyAttribute("copyTime")] + public virtual string CopyTimeRaw + { + get => _copyTimeRaw; + set + { + _copyTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _copyTimeRaw = value; + } + } - /// Deployment state of resource-group-controller-manager - [Newtonsoft.Json.JsonPropertyAttribute("resourceGroupControllerManager")] - public virtual string ResourceGroupControllerManager { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CopyTimeDateTimeOffset instead.")] + public virtual object CopyTime + { + get => _copyTime; + set + { + _copyTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _copyTime = value; + } + } - /// Deployment state of root-reconciler - [Newtonsoft.Json.JsonPropertyAttribute("rootReconciler")] - public virtual string RootReconciler { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CopyTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CopyTimeRaw); + set => CopyTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// Deployment state of the syncer pod - [Newtonsoft.Json.JsonPropertyAttribute("syncer")] - public virtual string Syncer { get; set; } + /// Stage of the migration. + [Newtonsoft.Json.JsonPropertyAttribute("stage")] + public virtual string Stage { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Errors pertaining to the installation of Config Sync - public class ConfigManagementConfigSyncError : Google.Apis.Requests.IDirectResponseSchema + /// + /// PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to + /// specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", + /// "prometheus"] + /// + public class ConfigManagementPolicyControllerMonitoring : Google.Apis.Requests.IDirectResponseSchema { - /// A string representing the user facing error message - [Newtonsoft.Json.JsonPropertyAttribute("errorMessage")] - public virtual string ErrorMessage { get; set; } + /// + /// Specifies the list of backends Policy Controller will export to. An empty list would effectively disable + /// metrics export. + /// + [Newtonsoft.Json.JsonPropertyAttribute("backends")] + public virtual System.Collections.Generic.IList Backends { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// State information for ConfigSync - public class ConfigManagementConfigSyncState : Google.Apis.Requests.IDirectResponseSchema + /// State for PolicyControllerState. + public class ConfigManagementPolicyControllerState : Google.Apis.Requests.IDirectResponseSchema { - /// Output only. Whether syncing resources to the cluster is stopped at the cluster level. - [Newtonsoft.Json.JsonPropertyAttribute("clusterLevelStopSyncingState")] - public virtual string ClusterLevelStopSyncingState { get; set; } - - /// Output only. The number of RootSync and RepoSync CRs in the cluster. - [Newtonsoft.Json.JsonPropertyAttribute("crCount")] - public virtual System.Nullable CrCount { get; set; } - - /// - /// Output only. Information about the deployment of ConfigSync, including the version of the various Pods - /// deployed - /// + /// The state about the policy controller installation. [Newtonsoft.Json.JsonPropertyAttribute("deploymentState")] - public virtual ConfigManagementConfigSyncDeploymentState DeploymentState { get; set; } - - /// Output only. Errors pertaining to the installation of Config Sync. - [Newtonsoft.Json.JsonPropertyAttribute("errors")] - public virtual System.Collections.Generic.IList Errors { get; set; } - - /// Output only. The state of the Reposync CRD - [Newtonsoft.Json.JsonPropertyAttribute("reposyncCrd")] - public virtual string ReposyncCrd { get; set; } - - /// Output only. The state of the RootSync CRD - [Newtonsoft.Json.JsonPropertyAttribute("rootsyncCrd")] - public virtual string RootsyncCrd { get; set; } - - /// Output only. The state of CS This field summarizes the other fields in this message. - [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual string State { get; set; } + public virtual ConfigManagementGatekeeperDeploymentState DeploymentState { get; set; } - /// Output only. The state of ConfigSync's process to sync configs to a cluster - [Newtonsoft.Json.JsonPropertyAttribute("syncState")] - public virtual ConfigManagementSyncState SyncState { get; set; } + /// Record state of ACM -> PoCo Hub migration for this feature. + [Newtonsoft.Json.JsonPropertyAttribute("migration")] + public virtual ConfigManagementPolicyControllerMigration Migration { get; set; } - /// Output only. The version of ConfigSync deployed + /// The version of Gatekeeper Policy Controller deployed. [Newtonsoft.Json.JsonPropertyAttribute("version")] - public virtual ConfigManagementConfigSyncVersion Version { get; set; } + public virtual ConfigManagementPolicyControllerVersion Version { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Specific versioning information pertaining to ConfigSync's Pods - public class ConfigManagementConfigSyncVersion : Google.Apis.Requests.IDirectResponseSchema + /// The build version of Gatekeeper Policy Controller is using. + public class ConfigManagementPolicyControllerVersion : Google.Apis.Requests.IDirectResponseSchema { - /// Version of the deployed admission-webhook pod - [Newtonsoft.Json.JsonPropertyAttribute("admissionWebhook")] - public virtual string AdmissionWebhook { get; set; } - - /// Version of the deployed git-sync pod - [Newtonsoft.Json.JsonPropertyAttribute("gitSync")] - public virtual string GitSync { get; set; } - - /// Version of the deployed importer pod - [Newtonsoft.Json.JsonPropertyAttribute("importer")] - public virtual string Importer { get; set; } - - /// Version of the deployed monitor pod - [Newtonsoft.Json.JsonPropertyAttribute("monitor")] - public virtual string Monitor { get; set; } - - /// Version of the deployed otel-collector pod - [Newtonsoft.Json.JsonPropertyAttribute("otelCollector")] - public virtual string OtelCollector { get; set; } + /// The gatekeeper image tag that is composed of ACM version, git tag, build number. + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual string Version { get; set; } - /// Version of the deployed reconciler-manager pod - [Newtonsoft.Json.JsonPropertyAttribute("reconcilerManager")] - public virtual string ReconcilerManager { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// Version of the deployed resource-group-controller-manager pod - [Newtonsoft.Json.JsonPropertyAttribute("resourceGroupControllerManager")] - public virtual string ResourceGroupControllerManager { get; set; } + /// An ACM created error representing a problem syncing configurations + public class ConfigManagementSyncError : Google.Apis.Requests.IDirectResponseSchema + { + /// An ACM defined error code + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } - /// Version of the deployed reconciler container in root-reconciler pod - [Newtonsoft.Json.JsonPropertyAttribute("rootReconciler")] - public virtual string RootReconciler { get; set; } + /// A description of the error + [Newtonsoft.Json.JsonPropertyAttribute("errorMessage")] + public virtual string ErrorMessage { get; set; } - /// Version of the deployed syncer pod - [Newtonsoft.Json.JsonPropertyAttribute("syncer")] - public virtual string Syncer { get; set; } + /// A list of config(s) associated with the error, if any + [Newtonsoft.Json.JsonPropertyAttribute("errorResources")] + public virtual System.Collections.Generic.IList ErrorResources { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Configuration for a container override. - public class ConfigManagementContainerOverride : Google.Apis.Requests.IDirectResponseSchema + /// State indicating an ACM's progress syncing configurations to a cluster + public class ConfigManagementSyncState : Google.Apis.Requests.IDirectResponseSchema { - /// Required. The name of the container. - [Newtonsoft.Json.JsonPropertyAttribute("containerName")] - public virtual string ContainerName { get; set; } + /// Sync status code + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } - /// Optional. The cpu limit of the container. - [Newtonsoft.Json.JsonPropertyAttribute("cpuLimit")] - public virtual string CpuLimit { get; set; } + /// + /// A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although + /// it is unlikely for that many errors to simultaneously exist. + /// + [Newtonsoft.Json.JsonPropertyAttribute("errors")] + public virtual System.Collections.Generic.IList Errors { get; set; } - /// Optional. The cpu request of the container. - [Newtonsoft.Json.JsonPropertyAttribute("cpuRequest")] - public virtual string CpuRequest { get; set; } + /// Token indicating the state of the importer. + [Newtonsoft.Json.JsonPropertyAttribute("importToken")] + public virtual string ImportToken { get; set; } - /// Optional. The memory limit of the container. - [Newtonsoft.Json.JsonPropertyAttribute("memoryLimit")] - public virtual string MemoryLimit { get; set; } + /// + /// Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time + /// format is specified in https://golang.org/pkg/time/#Time.String + /// + [Newtonsoft.Json.JsonPropertyAttribute("lastSync")] + public virtual string LastSync { get; set; } - /// Optional. The memory request of the container. - [Newtonsoft.Json.JsonPropertyAttribute("memoryRequest")] - public virtual string MemoryRequest { get; set; } + private string _lastSyncTimeRaw; - /// The ETag of the item. - public virtual string ETag { get; set; } - } + private object _lastSyncTime; - /// Configuration for a deployment override. - public class ConfigManagementDeploymentOverride : Google.Apis.Requests.IDirectResponseSchema - { - /// Optional. The containers of the deployment resource to be overridden. - [Newtonsoft.Json.JsonPropertyAttribute("containers")] - public virtual System.Collections.Generic.IList Containers { get; set; } + /// Timestamp type of when ACM last successfully synced the repo + [Newtonsoft.Json.JsonPropertyAttribute("lastSyncTime")] + public virtual string LastSyncTimeRaw + { + get => _lastSyncTimeRaw; + set + { + _lastSyncTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _lastSyncTimeRaw = value; + } + } - /// Required. The name of the deployment resource to be overridden. - [Newtonsoft.Json.JsonPropertyAttribute("deploymentName")] - public virtual string DeploymentName { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use LastSyncTimeDateTimeOffset instead.")] + public virtual object LastSyncTime + { + get => _lastSyncTime; + set + { + _lastSyncTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _lastSyncTime = value; + } + } - /// Required. The namespace of the deployment resource to be overridden. - [Newtonsoft.Json.JsonPropertyAttribute("deploymentNamespace")] - public virtual string DeploymentNamespace { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? LastSyncTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(LastSyncTimeRaw); + set => LastSyncTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// Token indicating the state of the repo. + [Newtonsoft.Json.JsonPropertyAttribute("sourceToken")] + public virtual string SourceToken { get; set; } + + /// Token indicating the state of the syncer. + [Newtonsoft.Json.JsonPropertyAttribute("syncToken")] + public virtual string SyncToken { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Model for a config file in the git repo with an associated Sync error - public class ConfigManagementErrorResource : Google.Apis.Requests.IDirectResponseSchema + /// ConnectAgentResource represents a Kubernetes resource manifest for Connect Agent deployment. + public class ConnectAgentResource : Google.Apis.Requests.IDirectResponseSchema { - /// Group/version/kind of the resource that is causing an error - [Newtonsoft.Json.JsonPropertyAttribute("resourceGvk")] - public virtual ConfigManagementGroupVersionKind ResourceGvk { get; set; } - - /// Metadata name of the resource that is causing an error - [Newtonsoft.Json.JsonPropertyAttribute("resourceName")] - public virtual string ResourceName { get; set; } - - /// Namespace of the resource that is causing an error - [Newtonsoft.Json.JsonPropertyAttribute("resourceNamespace")] - public virtual string ResourceNamespace { get; set; } + /// YAML manifest of the resource. + [Newtonsoft.Json.JsonPropertyAttribute("manifest")] + public virtual string Manifest { get; set; } - /// Path in the git repo of the erroneous config - [Newtonsoft.Json.JsonPropertyAttribute("sourcePath")] - public virtual string SourcePath { get; set; } + /// Kubernetes type of the resource. + [Newtonsoft.Json.JsonPropertyAttribute("type")] + public virtual TypeMeta Type { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// State of Policy Controller installation. - public class ConfigManagementGatekeeperDeploymentState : Google.Apis.Requests.IDirectResponseSchema + /// **Dataplane V2**: Spec + public class DataplaneV2FeatureSpec : Google.Apis.Requests.IDirectResponseSchema { - /// Status of gatekeeper-audit deployment. - [Newtonsoft.Json.JsonPropertyAttribute("gatekeeperAudit")] - public virtual string GatekeeperAudit { get; set; } - - /// Status of gatekeeper-controller-manager pod. - [Newtonsoft.Json.JsonPropertyAttribute("gatekeeperControllerManagerState")] - public virtual string GatekeeperControllerManagerState { get; set; } - - /// Status of the pod serving the mutation webhook. - [Newtonsoft.Json.JsonPropertyAttribute("gatekeeperMutation")] - public virtual string GatekeeperMutation { get; set; } + /// Enable dataplane-v2 based encryption for multiple clusters. + [Newtonsoft.Json.JsonPropertyAttribute("enableEncryption")] + public virtual System.Nullable EnableEncryption { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Git repo configuration for a single cluster. - public class ConfigManagementGitConfig : Google.Apis.Requests.IDirectResponseSchema + /// + /// DefaultClusterConfig describes the default cluster configurations to be applied to all clusters born-in-fleet. + /// + public class DefaultClusterConfig : Google.Apis.Requests.IDirectResponseSchema { + /// Optional. Enable/Disable binary authorization features for the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("binaryAuthorizationConfig")] + public virtual BinaryAuthorizationConfig BinaryAuthorizationConfig { get; set; } + /// - /// Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. + /// Optional. Enable/Disable Compliance Posture features for the cluster. Note that on UpdateFleet, only full + /// replacement of this field is allowed. Users are not allowed for partial updates through field mask. /// - [Newtonsoft.Json.JsonPropertyAttribute("gcpServiceAccountEmail")] - public virtual string GcpServiceAccountEmail { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("compliancePostureConfig")] + public virtual CompliancePostureConfig CompliancePostureConfig { get; set; } - /// Optional. URL for the HTTPS proxy to be used when communicating with the Git repo. - [Newtonsoft.Json.JsonPropertyAttribute("httpsProxy")] - public virtual string HttpsProxy { get; set; } + /// Enable/Disable Security Posture features for the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("securityPostureConfig")] + public virtual SecurityPostureConfig SecurityPostureConfig { get; set; } - /// - /// Optional. The path within the Git repository that represents the top level of the repo to sync. Default: the - /// root directory of the repository. - /// - [Newtonsoft.Json.JsonPropertyAttribute("policyDir")] - public virtual string PolicyDir { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// EdgeCluster contains information specific to Google Edge Clusters. + public class EdgeCluster : Google.Apis.Requests.IDirectResponseSchema + { /// - /// Required. Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, - /// token, gcpserviceaccount, githubapp or none. The validation of this is case-sensitive. + /// Immutable. Self-link of the Google Cloud resource for the Edge Cluster. For example: + /// //edgecontainer.googleapis.com/projects/my-project/locations/us-west1-a/clusters/my-cluster /// - [Newtonsoft.Json.JsonPropertyAttribute("secretType")] - public virtual string SecretType { get; set; } - - /// Optional. The branch of the repository to sync from. Default: master. - [Newtonsoft.Json.JsonPropertyAttribute("syncBranch")] - public virtual string SyncBranch { get; set; } - - /// Required. The URL of the Git repository to use as the source of truth. - [Newtonsoft.Json.JsonPropertyAttribute("syncRepo")] - public virtual string SyncRepo { get; set; } - - /// Optional. Git revision (tag or hash) to check out. Default HEAD. - [Newtonsoft.Json.JsonPropertyAttribute("syncRev")] - public virtual string SyncRev { get; set; } - - /// Optional. Period in seconds between consecutive syncs. Default: 15. - [Newtonsoft.Json.JsonPropertyAttribute("syncWaitSecs")] - public virtual System.Nullable SyncWaitSecs { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("resourceLink")] + public virtual string ResourceLink { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// A Kubernetes object's GVK - public class ConfigManagementGroupVersionKind : Google.Apis.Requests.IDirectResponseSchema + /// + /// 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); } + /// + public class Empty : Google.Apis.Requests.IDirectResponseSchema { - /// Kubernetes Group - [Newtonsoft.Json.JsonPropertyAttribute("group")] - public virtual string Group { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// Kubernetes Kind - [Newtonsoft.Json.JsonPropertyAttribute("kind")] - public virtual string Kind { get; set; } + /// An excluded cluster from the rollout. + public class ExcludedCluster : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Output only. The name of the fleet Membership resource associated to the excluded cluster. + /// + [Newtonsoft.Json.JsonPropertyAttribute("membership")] + public virtual string Membership { get; set; } - /// Kubernetes Version - [Newtonsoft.Json.JsonPropertyAttribute("version")] - public virtual string Version { get; set; } + /// Output only. The reason for excluding the cluster from the rollout. + [Newtonsoft.Json.JsonPropertyAttribute("reason")] + public virtual string Reason { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Configuration for Hierarchy Controller - public class ConfigManagementHierarchyControllerConfig : Google.Apis.Requests.IDirectResponseSchema + /// + /// 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() &lt; 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' &amp;&amp; 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. + /// + public class Expr : Google.Apis.Requests.IDirectResponseSchema { - /// Whether hierarchical resource quota is enabled in this cluster. - [Newtonsoft.Json.JsonPropertyAttribute("enableHierarchicalResourceQuota")] - public virtual System.Nullable EnableHierarchicalResourceQuota { get; set; } + /// + /// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when + /// hovered over it in a UI. + /// + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// Textual representation of an expression in Common Expression Language syntax. + [Newtonsoft.Json.JsonPropertyAttribute("expression")] + public virtual string Expression { get; set; } - /// Whether pod tree labels are enabled in this cluster. - [Newtonsoft.Json.JsonPropertyAttribute("enablePodTreeLabels")] - public virtual System.Nullable EnablePodTreeLabels { get; set; } + /// + /// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a + /// position in the file. + /// + [Newtonsoft.Json.JsonPropertyAttribute("location")] + public virtual string Location { get; set; } - /// Whether Hierarchy Controller is enabled in this cluster. - [Newtonsoft.Json.JsonPropertyAttribute("enabled")] - public virtual System.Nullable Enabled { get; set; } + /// + /// 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("title")] + public virtual string Title { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Deployment state for Hierarchy Controller - public class ConfigManagementHierarchyControllerDeploymentState : Google.Apis.Requests.IDirectResponseSchema + /// Feature represents the settings and status of any Fleet Feature. + public class Feature : Google.Apis.Requests.IDirectResponseSchema { - /// The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1) - [Newtonsoft.Json.JsonPropertyAttribute("extension")] - public virtual string Extension { get; set; } + private string _createTimeRaw; - /// The deployment state for open source HNC (e.g. v0.7.0-hc.0) - [Newtonsoft.Json.JsonPropertyAttribute("hnc")] - public virtual string Hnc { get; set; } + private object _createTime; - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Output only. When the Feature resource was created. + [Newtonsoft.Json.JsonPropertyAttribute("createTime")] + public virtual string CreateTimeRaw + { + get => _createTimeRaw; + set + { + _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _createTimeRaw = value; + } + } - /// State for Hierarchy Controller - public class ConfigManagementHierarchyControllerState : Google.Apis.Requests.IDirectResponseSchema - { - /// The deployment state for Hierarchy Controller - [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual ConfigManagementHierarchyControllerDeploymentState State { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] + public virtual object CreateTime + { + get => _createTime; + set + { + _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _createTime = value; + } + } - /// The version for Hierarchy Controller - [Newtonsoft.Json.JsonPropertyAttribute("version")] - public virtual ConfigManagementHierarchyControllerVersion Version { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CreateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); + set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + private string _deleteTimeRaw; - /// Version for Hierarchy Controller - public class ConfigManagementHierarchyControllerVersion : Google.Apis.Requests.IDirectResponseSchema - { - /// Version for Hierarchy Controller extension - [Newtonsoft.Json.JsonPropertyAttribute("extension")] - public virtual string Extension { get; set; } + private object _deleteTime; - /// Version for open source HNC - [Newtonsoft.Json.JsonPropertyAttribute("hnc")] - public virtual string Hnc { get; set; } + /// Output only. When the Feature resource was deleted. + [Newtonsoft.Json.JsonPropertyAttribute("deleteTime")] + public virtual string DeleteTimeRaw + { + get => _deleteTimeRaw; + set + { + _deleteTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _deleteTimeRaw = value; + } + } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use DeleteTimeDateTimeOffset instead.")] + public virtual object DeleteTime + { + get => _deleteTime; + set + { + _deleteTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _deleteTime = value; + } + } - /// Errors pertaining to the installation of ACM - public class ConfigManagementInstallError : Google.Apis.Requests.IDirectResponseSchema - { - /// A string representing the user facing error message - [Newtonsoft.Json.JsonPropertyAttribute("errorMessage")] - public virtual string ErrorMessage { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(DeleteTimeRaw); + set => DeleteTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Optional. Feature configuration applicable to all memberships of the fleet. + [Newtonsoft.Json.JsonPropertyAttribute("fleetDefaultMemberConfig")] + public virtual CommonFleetDefaultMemberConfigSpec FleetDefaultMemberConfig { get; set; } + + /// Labels for this Feature. + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } - /// - /// **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. - /// - public class ConfigManagementMembershipSpec : Google.Apis.Requests.IDirectResponseSchema - { /// - /// Optional. Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be - /// set. + /// Optional. Membership-specific configuration for this Feature. If this Feature does not support any + /// per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration + /// is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid + /// location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's + /// project. {p} will always be returned as the project number, but the project ID is also accepted during + /// input. If the same Membership is specified in the map twice (using the project ID form, and the project + /// number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it + /// is recommended the same format be used for all entries when mutating a Feature. /// - [Newtonsoft.Json.JsonPropertyAttribute("binauthz")] - public virtual ConfigManagementBinauthzConfig Binauthz { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("membershipSpecs")] + public virtual System.Collections.Generic.IDictionary MembershipSpecs { get; set; } /// - /// Optional. The user-specified cluster name used by Config Sync cluster-name-selector annotation or - /// ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet - /// membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field - /// if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector - /// annotation or ClusterSelector. + /// Output only. Membership-specific Feature status. If this Feature does report any per-Membership status, this + /// field may be unused. The keys indicate which Membership the state is for, in the form: + /// `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and + /// {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. /// - [Newtonsoft.Json.JsonPropertyAttribute("cluster")] - public virtual string Cluster { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("membershipStates")] + public virtual System.Collections.Generic.IDictionary MembershipStates { get; set; } - /// Optional. Config Sync configuration for the cluster. - [Newtonsoft.Json.JsonPropertyAttribute("configSync")] - public virtual ConfigManagementConfigSync ConfigSync { get; set; } + /// + /// Output only. The full, unique name of this Feature resource in the format + /// `projects/*/locations/*/features/*`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. State of the Feature resource itself. + [Newtonsoft.Json.JsonPropertyAttribute("resourceState")] + public virtual FeatureResourceState ResourceState { get; set; } /// - /// Optional. Hierarchy Controller configuration for the cluster. Deprecated: Configuring Hierarchy Controller - /// through the configmanagement feature is no longer recommended. Use - /// https://github.com/kubernetes-sigs/hierarchical-namespaces instead. + /// Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope + /// configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the + /// form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this + /// project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the + /// project ID is also accepted during input. If the same Scope is specified in the map twice (using the project + /// ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to + /// which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. /// - [Newtonsoft.Json.JsonPropertyAttribute("hierarchyController")] - public virtual ConfigManagementHierarchyControllerConfig HierarchyController { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("scopeSpecs")] + public virtual System.Collections.Generic.IDictionary ScopeSpecs { get; set; } - /// Optional. Enables automatic Feature management. - [Newtonsoft.Json.JsonPropertyAttribute("management")] - public virtual string Management { get; set; } + /// + /// Output only. Scope-specific Feature status. If this Feature does report any per-Scope status, this field may + /// be unused. The keys indicate which Scope the state is for, in the form: + /// `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. + /// {p} WILL match the Feature's project. + /// + [Newtonsoft.Json.JsonPropertyAttribute("scopeStates")] + public virtual System.Collections.Generic.IDictionary ScopeStates { get; set; } /// - /// Optional. Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through - /// the configmanagement feature is no longer recommended. Use the policycontroller feature instead. + /// Optional. Fleet-wide Feature configuration. If this Feature does not support any Fleet-wide configuration, + /// this field may be unused. /// - [Newtonsoft.Json.JsonPropertyAttribute("policyController")] - public virtual ConfigManagementPolicyController PolicyController { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("spec")] + public virtual CommonFeatureSpec Spec { get; set; } - /// Optional. Version of ACM installed. - [Newtonsoft.Json.JsonPropertyAttribute("version")] - public virtual string Version { get; set; } + /// Output only. The Fleet-wide Feature state. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual CommonFeatureState State { get; set; } + + /// Output only. List of locations that could not be reached while fetching this feature. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } + + private string _updateTimeRaw; + + private object _updateTime; + + /// Output only. When the Feature resource was last updated. + [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] + public virtual string UpdateTimeRaw + { + get => _updateTimeRaw; + set + { + _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _updateTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] + public virtual object UpdateTime + { + get => _updateTime; + set + { + _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _updateTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); + set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } /// The ETag of the item. public virtual string ETag { get; set; } } - /// **Anthos Config Management**: State for a single cluster. - public class ConfigManagementMembershipState : Google.Apis.Requests.IDirectResponseSchema + /// + /// FeatureResourceState describes the state of a Feature *resource* in the GkeHub API. See `FeatureState` for the + /// "running state" of the Feature in the Fleet and across Memberships. + /// + public class FeatureResourceState : Google.Apis.Requests.IDirectResponseSchema { - /// Output only. Binauthz status - [Newtonsoft.Json.JsonPropertyAttribute("binauthzState")] - public virtual ConfigManagementBinauthzState BinauthzState { get; set; } - - /// - /// Output only. This field is set to the `cluster_name` field of the Membership Spec if it is not empty. - /// Otherwise, it is set to the cluster's fleet membership name. - /// - [Newtonsoft.Json.JsonPropertyAttribute("clusterName")] - public virtual string ClusterName { get; set; } - - /// Output only. Current sync status - [Newtonsoft.Json.JsonPropertyAttribute("configSyncState")] - public virtual ConfigManagementConfigSyncState ConfigSyncState { get; set; } - - /// Output only. Hierarchy Controller status - [Newtonsoft.Json.JsonPropertyAttribute("hierarchyControllerState")] - public virtual ConfigManagementHierarchyControllerState HierarchyControllerState { get; set; } + /// The current state of the Feature resource in the Hub API. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } - /// Output only. The Kubernetes API server version of the cluster. - [Newtonsoft.Json.JsonPropertyAttribute("kubernetesApiServerVersion")] - public virtual string KubernetesApiServerVersion { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// **Workload Certificate**: The Hub-wide input for the WorkloadCertificate feature. + public class FeatureSpec : Google.Apis.Requests.IDirectResponseSchema + { /// - /// Output only. Membership configuration in the cluster. This represents the actual state in the cluster, while - /// the MembershipSpec in the FeatureSpec represents the intended state + /// Specifies default membership spec. Users can override the default in the member_configs for each member. /// - [Newtonsoft.Json.JsonPropertyAttribute("membershipSpec")] - public virtual ConfigManagementMembershipSpec MembershipSpec { get; set; } - - /// Output only. Current install status of ACM's Operator - [Newtonsoft.Json.JsonPropertyAttribute("operatorState")] - public virtual ConfigManagementOperatorState OperatorState { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("defaultConfig")] + public virtual MembershipSpec DefaultConfig { get; set; } - /// Output only. PolicyController status - [Newtonsoft.Json.JsonPropertyAttribute("policyControllerState")] - public virtual ConfigManagementPolicyControllerState PolicyControllerState { get; set; } + /// Immutable. Specifies CA configuration. + [Newtonsoft.Json.JsonPropertyAttribute("provisionGoogleCa")] + public virtual string ProvisionGoogleCa { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// OCI repo configuration for a single cluster - public class ConfigManagementOciConfig : Google.Apis.Requests.IDirectResponseSchema + /// + /// FeatureState describes the high-level state of a Feature. It may be used to describe a Feature's state at the + /// environ-level, or per-membershop, depending on the context. + /// + public class FeatureState : Google.Apis.Requests.IDirectResponseSchema { - /// - /// Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. - /// - [Newtonsoft.Json.JsonPropertyAttribute("gcpServiceAccountEmail")] - public virtual string GcpServiceAccountEmail { get; set; } + /// The high-level, machine-readable status of this Feature. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } - /// - /// Optional. The absolute path of the directory that contains the local resources. Default: the root directory - /// of the image. - /// - [Newtonsoft.Json.JsonPropertyAttribute("policyDir")] - public virtual string PolicyDir { get; set; } + /// A human-readable description of the current status. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } - /// - /// Required. Type of secret configured for access to the OCI repo. Must be one of gcenode, gcpserviceaccount, - /// k8sserviceaccount or none. The validation of this is case-sensitive. - /// - [Newtonsoft.Json.JsonPropertyAttribute("secretType")] - public virtual string SecretType { get; set; } + private string _updateTimeRaw; - /// - /// Required. The OCI image repository URL for the package to sync from. e.g. - /// `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`. - /// - [Newtonsoft.Json.JsonPropertyAttribute("syncRepo")] - public virtual string SyncRepo { get; set; } + private object _updateTime; - /// Optional. Period in seconds between consecutive syncs. Default: 15. - [Newtonsoft.Json.JsonPropertyAttribute("syncWaitSecs")] - public virtual System.Nullable SyncWaitSecs { get; set; } + /// The time this status and any related Feature-specific details were updated. + [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] + public virtual string UpdateTimeRaw + { + get => _updateTimeRaw; + set + { + _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _updateTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] + public virtual object UpdateTime + { + get => _updateTime; + set + { + _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _updateTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); + set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } /// The ETag of the item. public virtual string ETag { get; set; } } - /// State information for an ACM's Operator - public class ConfigManagementOperatorState : Google.Apis.Requests.IDirectResponseSchema + /// LINT.IfChange Feature config to use for Rollout. + public class FeatureUpdate : Google.Apis.Requests.IDirectResponseSchema { - /// The state of the Operator's deployment - [Newtonsoft.Json.JsonPropertyAttribute("deploymentState")] - public virtual string DeploymentState { get; set; } - - /// Install errors. - [Newtonsoft.Json.JsonPropertyAttribute("errors")] - public virtual System.Collections.Generic.IList Errors { get; set; } + /// Optional. Configuration for Binary Authorization. + [Newtonsoft.Json.JsonPropertyAttribute("binaryAuthorizationConfig")] + public virtual BinaryAuthorizationConfig BinaryAuthorizationConfig { get; set; } - /// The semenatic version number of the operator - [Newtonsoft.Json.JsonPropertyAttribute("version")] - public virtual string Version { get; set; } + /// Optional. Configuration for Security Posture. + [Newtonsoft.Json.JsonPropertyAttribute("securityPostureConfig")] + public virtual SecurityPostureConfig SecurityPostureConfig { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Configuration for Policy Controller - public class ConfigManagementPolicyController : Google.Apis.Requests.IDirectResponseSchema + /// Fleet contains the Fleet-wide metadata and configuration. + public class Fleet : Google.Apis.Requests.IDirectResponseSchema { - /// - /// Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit - /// functionality altogether. - /// - [Newtonsoft.Json.JsonPropertyAttribute("auditIntervalSeconds")] - public virtual System.Nullable AuditIntervalSeconds { get; set; } + private string _createTimeRaw; - /// - /// Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect. - /// - [Newtonsoft.Json.JsonPropertyAttribute("enabled")] - public virtual System.Nullable Enabled { get; set; } + private object _createTime; + + /// Output only. When the Fleet was created. + [Newtonsoft.Json.JsonPropertyAttribute("createTime")] + public virtual string CreateTimeRaw + { + get => _createTimeRaw; + set + { + _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _createTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] + public virtual object CreateTime + { + get => _createTime; + set + { + _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _createTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CreateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); + set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// Optional. The default cluster configurations to apply across the fleet. + [Newtonsoft.Json.JsonPropertyAttribute("defaultClusterConfig")] + public virtual DefaultClusterConfig DefaultClusterConfig { get; set; } + + private string _deleteTimeRaw; + + private object _deleteTime; + + /// Output only. When the Fleet was deleted. + [Newtonsoft.Json.JsonPropertyAttribute("deleteTime")] + public virtual string DeleteTimeRaw + { + get => _deleteTimeRaw; + set + { + _deleteTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _deleteTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use DeleteTimeDateTimeOffset instead.")] + public virtual object DeleteTime + { + get => _deleteTime; + set + { + _deleteTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _deleteTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(DeleteTimeRaw); + set => DeleteTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } /// - /// The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently - /// exist on the cluster. + /// Optional. A user-assigned display name of the Fleet. When present, it must be between 4 to 30 characters. + /// Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, + /// and exclamation point. Example: `Production Fleet` /// - [Newtonsoft.Json.JsonPropertyAttribute("exemptableNamespaces")] - public virtual System.Collections.Generic.IList ExemptableNamespaces { get; set; } - - /// Logs all denies and dry run failures. - [Newtonsoft.Json.JsonPropertyAttribute("logDeniesEnabled")] - public virtual System.Nullable LogDeniesEnabled { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } - /// Monitoring specifies the configuration of monitoring. - [Newtonsoft.Json.JsonPropertyAttribute("monitoring")] - public virtual ConfigManagementPolicyControllerMonitoring Monitoring { get; set; } + /// Optional. Labels for this Fleet. + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } /// - /// Enable or disable mutation in policy controller. If true, mutation CRDs, webhook and controller deployment - /// will be deployed to the cluster. + /// Output only. The full, unique resource name of this fleet in the format of + /// `projects/{project}/locations/{location}/fleets/{fleet}`. Each Google Cloud project can have at most one + /// fleet resource, named "default". /// - [Newtonsoft.Json.JsonPropertyAttribute("mutationEnabled")] - public virtual System.Nullable MutationEnabled { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. State of the namespace resource. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual FleetLifecycleState State { get; set; } /// - /// Enables the ability to use Constraint Templates that reference to objects other than the object currently - /// being evaluated. + /// Output only. Google-generated UUID for this resource. This is unique across all Fleet resources. If a Fleet + /// resource is deleted and another resource with the same name is created, it gets a different uid. /// - [Newtonsoft.Json.JsonPropertyAttribute("referentialRulesEnabled")] - public virtual System.Nullable ReferentialRulesEnabled { get; set; } - - /// Installs the default template library along with Policy Controller. - [Newtonsoft.Json.JsonPropertyAttribute("templateLibraryInstalled")] - public virtual System.Nullable TemplateLibraryInstalled { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("uid")] + public virtual string Uid { get; set; } private string _updateTimeRaw; private object _updateTime; - /// Output only. Last time this membership spec was updated. + /// Output only. When the Fleet was last updated. [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] public virtual string UpdateTimeRaw { @@ -6867,712 +8187,749 @@ public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset public virtual string ETag { get; set; } } - /// State for the migration of PolicyController from ACM -> PoCo Hub. - public class ConfigManagementPolicyControllerMigration : Google.Apis.Requests.IDirectResponseSchema + /// FleetLifecycleState describes the state of a Fleet resource. + public class FleetLifecycleState : Google.Apis.Requests.IDirectResponseSchema { - private string _copyTimeRaw; - - private object _copyTime; - - /// Last time this membership spec was copied to PoCo feature. - [Newtonsoft.Json.JsonPropertyAttribute("copyTime")] - public virtual string CopyTimeRaw - { - get => _copyTimeRaw; - set - { - _copyTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _copyTimeRaw = value; - } - } + /// Output only. The current state of the Fleet resource. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CopyTimeDateTimeOffset instead.")] - public virtual object CopyTime - { - get => _copyTime; - set - { - _copyTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _copyTime = value; - } - } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? CopyTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CopyTimeRaw); - set => CopyTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + /// All error details of the fleet observability feature. + public class FleetObservabilityFeatureError : Google.Apis.Requests.IDirectResponseSchema + { + /// The code of the error. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } - /// Stage of the migration. - [Newtonsoft.Json.JsonPropertyAttribute("stage")] - public virtual string Stage { get; set; } + /// A human-readable description of the current status. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// - /// PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to - /// specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", - /// "prometheus"] - /// - public class ConfigManagementPolicyControllerMonitoring : Google.Apis.Requests.IDirectResponseSchema + /// **Fleet Observability**: The Hub-wide input for the FleetObservability feature. + public class FleetObservabilityFeatureSpec : Google.Apis.Requests.IDirectResponseSchema { /// - /// Specifies the list of backends Policy Controller will export to. An empty list would effectively disable - /// metrics export. + /// Specified if fleet logging feature is enabled for the entire fleet. If UNSPECIFIED, fleet logging feature is + /// disabled for the entire fleet. /// - [Newtonsoft.Json.JsonPropertyAttribute("backends")] - public virtual System.Collections.Generic.IList Backends { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("loggingConfig")] + public virtual FleetObservabilityLoggingConfig LoggingConfig { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// State for PolicyControllerState. - public class ConfigManagementPolicyControllerState : Google.Apis.Requests.IDirectResponseSchema + /// **FleetObservability**: Hub-wide Feature for FleetObservability feature. state. + public class FleetObservabilityFeatureState : Google.Apis.Requests.IDirectResponseSchema { - /// The state about the policy controller installation. - [Newtonsoft.Json.JsonPropertyAttribute("deploymentState")] - public virtual ConfigManagementGatekeeperDeploymentState DeploymentState { get; set; } - - /// Record state of ACM -> PoCo Hub migration for this feature. - [Newtonsoft.Json.JsonPropertyAttribute("migration")] - public virtual ConfigManagementPolicyControllerMigration Migration { get; set; } + /// The feature state of default logging. + [Newtonsoft.Json.JsonPropertyAttribute("logging")] + public virtual FleetObservabilityFleetObservabilityLoggingState Logging { get; set; } - /// The version of Gatekeeper Policy Controller deployed. - [Newtonsoft.Json.JsonPropertyAttribute("version")] - public virtual ConfigManagementPolicyControllerVersion Version { get; set; } + /// The feature state of fleet monitoring. + [Newtonsoft.Json.JsonPropertyAttribute("monitoring")] + public virtual FleetObservabilityFleetObservabilityMonitoringState Monitoring { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// The build version of Gatekeeper Policy Controller is using. - public class ConfigManagementPolicyControllerVersion : Google.Apis.Requests.IDirectResponseSchema + /// Base state for fleet observability feature. + public class FleetObservabilityFleetObservabilityBaseFeatureState : Google.Apis.Requests.IDirectResponseSchema { - /// The gatekeeper image tag that is composed of ACM version, git tag, build number. - [Newtonsoft.Json.JsonPropertyAttribute("version")] - public virtual string Version { get; set; } + /// The high-level, machine-readable status of this Feature. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } + + /// Errors after reconciling the monitoring and logging feature if the code is not OK. + [Newtonsoft.Json.JsonPropertyAttribute("errors")] + public virtual System.Collections.Generic.IList Errors { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// An ACM created error representing a problem syncing configurations - public class ConfigManagementSyncError : Google.Apis.Requests.IDirectResponseSchema + /// Feature state for logging feature. + public class FleetObservabilityFleetObservabilityLoggingState : Google.Apis.Requests.IDirectResponseSchema { - /// An ACM defined error code - [Newtonsoft.Json.JsonPropertyAttribute("code")] - public virtual string Code { get; set; } - - /// A description of the error - [Newtonsoft.Json.JsonPropertyAttribute("errorMessage")] - public virtual string ErrorMessage { get; set; } + /// The base feature state of fleet default log. + [Newtonsoft.Json.JsonPropertyAttribute("defaultLog")] + public virtual FleetObservabilityFleetObservabilityBaseFeatureState DefaultLog { get; set; } - /// A list of config(s) associated with the error, if any - [Newtonsoft.Json.JsonPropertyAttribute("errorResources")] - public virtual System.Collections.Generic.IList ErrorResources { get; set; } + /// The base feature state of fleet scope log. + [Newtonsoft.Json.JsonPropertyAttribute("scopeLog")] + public virtual FleetObservabilityFleetObservabilityBaseFeatureState ScopeLog { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// State indicating an ACM's progress syncing configurations to a cluster - public class ConfigManagementSyncState : Google.Apis.Requests.IDirectResponseSchema + /// Feature state for monitoring feature. + public class FleetObservabilityFleetObservabilityMonitoringState : Google.Apis.Requests.IDirectResponseSchema { - /// Sync status code - [Newtonsoft.Json.JsonPropertyAttribute("code")] - public virtual string Code { get; set; } - - /// - /// A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although - /// it is unlikely for that many errors to simultaneously exist. - /// - [Newtonsoft.Json.JsonPropertyAttribute("errors")] - public virtual System.Collections.Generic.IList Errors { get; set; } - - /// Token indicating the state of the importer. - [Newtonsoft.Json.JsonPropertyAttribute("importToken")] - public virtual string ImportToken { get; set; } + /// The base feature state of fleet monitoring feature. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual FleetObservabilityFleetObservabilityBaseFeatureState State { get; set; } - /// - /// Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time - /// format is specified in https://golang.org/pkg/time/#Time.String - /// - [Newtonsoft.Json.JsonPropertyAttribute("lastSync")] - public virtual string LastSync { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - private string _lastSyncTimeRaw; + /// LoggingConfig defines the configuration for different types of logs. + public class FleetObservabilityLoggingConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Specified if applying the default routing config to logs not specified in other configs. + [Newtonsoft.Json.JsonPropertyAttribute("defaultConfig")] + public virtual FleetObservabilityRoutingConfig DefaultConfig { get; set; } - private object _lastSyncTime; + /// Specified if applying the routing config to all logs for all fleet scopes. + [Newtonsoft.Json.JsonPropertyAttribute("fleetScopeLogsConfig")] + public virtual FleetObservabilityRoutingConfig FleetScopeLogsConfig { get; set; } - /// Timestamp type of when ACM last successfully synced the repo - [Newtonsoft.Json.JsonPropertyAttribute("lastSyncTime")] - public virtual string LastSyncTimeRaw - { - get => _lastSyncTimeRaw; - set - { - _lastSyncTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _lastSyncTimeRaw = value; - } - } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use LastSyncTimeDateTimeOffset instead.")] - public virtual object LastSyncTime - { - get => _lastSyncTime; - set - { - _lastSyncTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _lastSyncTime = value; - } - } + /// **FleetObservability**: The membership-specific input for FleetObservability feature. + public class FleetObservabilityMembershipSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? LastSyncTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(LastSyncTimeRaw); - set => LastSyncTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + /// **FleetObservability**: Membership-specific Feature state for fleetobservability. + public class FleetObservabilityMembershipState : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// Token indicating the state of the repo. - [Newtonsoft.Json.JsonPropertyAttribute("sourceToken")] - public virtual string SourceToken { get; set; } + /// RoutingConfig configures the behaviour of fleet logging feature. + public class FleetObservabilityRoutingConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// mode configures the logs routing mode. + [Newtonsoft.Json.JsonPropertyAttribute("mode")] + public virtual string Mode { get; set; } - /// Token indicating the state of the syncer. - [Newtonsoft.Json.JsonPropertyAttribute("syncToken")] - public virtual string SyncToken { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// GenerateConnectManifestResponse contains manifest information for installing/upgrading a Connect agent. + /// + public class GenerateConnectManifestResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The ordered list of Kubernetes resources that need to be applied to the cluster for GKE Connect agent + /// installation/upgrade. + /// + [Newtonsoft.Json.JsonPropertyAttribute("manifest")] + public virtual System.Collections.Generic.IList Manifest { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// ConnectAgentResource represents a Kubernetes resource manifest for Connect Agent deployment. - public class ConnectAgentResource : Google.Apis.Requests.IDirectResponseSchema + /// The response of the exclusivity artifacts manifests for the client to apply. + public class GenerateExclusivityManifestResponse : Google.Apis.Requests.IDirectResponseSchema { - /// YAML manifest of the resource. - [Newtonsoft.Json.JsonPropertyAttribute("manifest")] - public virtual string Manifest { get; set; } + /// + /// The YAML manifest of the membership CR to apply if a new version of the CR is available. Empty if no update + /// needs to be applied. + /// + [Newtonsoft.Json.JsonPropertyAttribute("crManifest")] + public virtual string CrManifest { get; set; } - /// Kubernetes type of the resource. - [Newtonsoft.Json.JsonPropertyAttribute("type")] - public virtual TypeMeta Type { get; set; } + /// + /// The YAML manifest of the membership CRD to apply if a newer version of the CRD is available. Empty if no + /// update needs to be applied. + /// + [Newtonsoft.Json.JsonPropertyAttribute("crdManifest")] + public virtual string CrdManifest { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// **Dataplane V2**: Spec - public class DataplaneV2FeatureSpec : Google.Apis.Requests.IDirectResponseSchema + /// Response for GenerateRBACRoleBindingYAML. + public class GenerateMembershipRBACRoleBindingYAMLResponse : Google.Apis.Requests.IDirectResponseSchema { - /// Enable dataplane-v2 based encryption for multiple clusters. - [Newtonsoft.Json.JsonPropertyAttribute("enableEncryption")] - public virtual System.Nullable EnableEncryption { get; set; } + /// a yaml text blob including the RBAC policies. + [Newtonsoft.Json.JsonPropertyAttribute("roleBindingsYaml")] + public virtual string RoleBindingsYaml { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// - /// DefaultClusterConfig describes the default cluster configurations to be applied to all clusters born-in-fleet. - /// - public class DefaultClusterConfig : Google.Apis.Requests.IDirectResponseSchema + /// GkeCluster contains information specific to GKE clusters. + public class GkeCluster : Google.Apis.Requests.IDirectResponseSchema { - /// Optional. Enable/Disable binary authorization features for the cluster. - [Newtonsoft.Json.JsonPropertyAttribute("binaryAuthorizationConfig")] - public virtual BinaryAuthorizationConfig BinaryAuthorizationConfig { get; set; } - /// - /// Optional. Enable/Disable Compliance Posture features for the cluster. Note that on UpdateFleet, only full - /// replacement of this field is allowed. Users are not allowed for partial updates through field mask. + /// Output only. If cluster_missing is set then it denotes that the GKE cluster no longer exists in the GKE + /// Control Plane. /// - [Newtonsoft.Json.JsonPropertyAttribute("compliancePostureConfig")] - public virtual CompliancePostureConfig CompliancePostureConfig { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("clusterMissing")] + public virtual System.Nullable ClusterMissing { get; set; } - /// Enable/Disable Security Posture features for the cluster. - [Newtonsoft.Json.JsonPropertyAttribute("securityPostureConfig")] - public virtual SecurityPostureConfig SecurityPostureConfig { get; set; } + /// + /// Immutable. Self-link of the Google Cloud resource for the GKE cluster. For example: + /// //container.googleapis.com/projects/my-project/locations/us-west1-a/clusters/my-cluster Zonal clusters are + /// also supported. + /// + [Newtonsoft.Json.JsonPropertyAttribute("resourceLink")] + public virtual string ResourceLink { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// EdgeCluster contains information specific to Google Edge Clusters. - public class EdgeCluster : Google.Apis.Requests.IDirectResponseSchema + /// + /// 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). + /// + public class GoogleRpcStatus : Google.Apis.Requests.IDirectResponseSchema { + /// The status code, which should be an enum value of google.rpc.Code. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual System.Nullable Code { get; set; } + /// - /// Immutable. Self-link of the Google Cloud resource for the Edge Cluster. For example: - /// //edgecontainer.googleapis.com/projects/my-project/locations/us-west1-a/clusters/my-cluster + /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - [Newtonsoft.Json.JsonPropertyAttribute("resourceLink")] - public virtual string ResourceLink { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("details")] + public virtual System.Collections.Generic.IList> Details { get; set; } + + /// + /// 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("message")] + public virtual string Message { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// - /// 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); } + /// Configuration of an auth method for a member/cluster. Only one authentication method (e.g., OIDC and LDAP) can + /// be set per AuthMethod. /// - public class Empty : Google.Apis.Requests.IDirectResponseSchema + public class IdentityServiceAuthMethod : Google.Apis.Requests.IDirectResponseSchema { + /// AzureAD specific Configuration. + [Newtonsoft.Json.JsonPropertyAttribute("azureadConfig")] + public virtual IdentityServiceAzureADConfig AzureadConfig { get; set; } + + /// GoogleConfig specific configuration. + [Newtonsoft.Json.JsonPropertyAttribute("googleConfig")] + public virtual IdentityServiceGoogleConfig GoogleConfig { get; set; } + + /// LDAP specific configuration. + [Newtonsoft.Json.JsonPropertyAttribute("ldapConfig")] + public virtual IdentityServiceLdapConfig LdapConfig { get; set; } + + /// Identifier for auth config. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// OIDC specific configuration. + [Newtonsoft.Json.JsonPropertyAttribute("oidcConfig")] + public virtual IdentityServiceOidcConfig OidcConfig { get; set; } + + /// Proxy server address to use for auth method. + [Newtonsoft.Json.JsonPropertyAttribute("proxy")] + public virtual string Proxy { get; set; } + + /// SAML specific configuration. + [Newtonsoft.Json.JsonPropertyAttribute("samlConfig")] + public virtual IdentityServiceSamlConfig SamlConfig { get; set; } + /// The ETag of the item. public virtual string ETag { get; set; } } - /// - /// 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() &lt; 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' &amp;&amp; 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. - /// - public class Expr : Google.Apis.Requests.IDirectResponseSchema + /// Configuration for the AzureAD Auth flow. + public class IdentityServiceAzureADConfig : Google.Apis.Requests.IDirectResponseSchema { /// - /// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when - /// hovered over it in a UI. + /// ID for the registered client application that makes authentication requests to the Azure AD identity + /// provider. /// - [Newtonsoft.Json.JsonPropertyAttribute("description")] - public virtual string Description { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("clientId")] + public virtual string ClientId { get; set; } - /// Textual representation of an expression in Common Expression Language syntax. - [Newtonsoft.Json.JsonPropertyAttribute("expression")] - public virtual string Expression { get; set; } + /// Input only. Unencrypted AzureAD client secret will be passed to the GKE Hub CLH. + [Newtonsoft.Json.JsonPropertyAttribute("clientSecret")] + public virtual string ClientSecret { get; set; } - /// - /// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a - /// position in the file. - /// - [Newtonsoft.Json.JsonPropertyAttribute("location")] - public virtual string Location { get; set; } + /// Output only. Encrypted AzureAD client secret. + [Newtonsoft.Json.JsonPropertyAttribute("encryptedClientSecret")] + public virtual string EncryptedClientSecret { get; set; } + + /// Optional. Format of the AzureAD groups that the client wants for auth. + [Newtonsoft.Json.JsonPropertyAttribute("groupFormat")] + public virtual string GroupFormat { get; set; } + + /// The redirect URL that kubectl uses for authorization. + [Newtonsoft.Json.JsonPropertyAttribute("kubectlRedirectUri")] + public virtual string KubectlRedirectUri { get; set; } /// - /// 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. + /// Kind of Azure AD account to be authenticated. Supported values are or for accounts belonging to a specific + /// tenant. /// - [Newtonsoft.Json.JsonPropertyAttribute("title")] - public virtual string Title { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("tenant")] + public virtual string Tenant { get; set; } + + /// Optional. Claim in the AzureAD ID Token that holds the user details. + [Newtonsoft.Json.JsonPropertyAttribute("userClaim")] + public virtual string UserClaim { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Feature represents the settings and status of any Fleet Feature. - public class Feature : Google.Apis.Requests.IDirectResponseSchema + /// Configuration options for the AIS diagnostic interface. + public class IdentityServiceDiagnosticInterface : Google.Apis.Requests.IDirectResponseSchema { - private string _createTimeRaw; - - private object _createTime; - - /// Output only. When the Feature resource was created. - [Newtonsoft.Json.JsonPropertyAttribute("createTime")] - public virtual string CreateTimeRaw - { - get => _createTimeRaw; - set - { - _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _createTimeRaw = value; - } - } - - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] - public virtual object CreateTime - { - get => _createTime; - set - { - _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _createTime = value; - } - } - - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? CreateTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); - set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + /// Determines whether to enable the diagnostic interface. + [Newtonsoft.Json.JsonPropertyAttribute("enabled")] + public virtual System.Nullable Enabled { get; set; } - private string _deleteTimeRaw; + private string _expirationTimeRaw; - private object _deleteTime; + private object _expirationTime; - /// Output only. When the Feature resource was deleted. - [Newtonsoft.Json.JsonPropertyAttribute("deleteTime")] - public virtual string DeleteTimeRaw + /// + /// Determines the expiration time of the diagnostic interface enablement. When reached, requests to the + /// interface would be automatically rejected. + /// + [Newtonsoft.Json.JsonPropertyAttribute("expirationTime")] + public virtual string ExpirationTimeRaw { - get => _deleteTimeRaw; + get => _expirationTimeRaw; set { - _deleteTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _deleteTimeRaw = value; + _expirationTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _expirationTimeRaw = value; } } - /// representation of . + /// representation of . [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use DeleteTimeDateTimeOffset instead.")] - public virtual object DeleteTime + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use ExpirationTimeDateTimeOffset instead.")] + public virtual object ExpirationTime { - get => _deleteTime; + get => _expirationTime; set { - _deleteTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _deleteTime = value; + _expirationTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _expirationTime = value; } } - /// representation of . + /// + /// representation of . + /// [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset + public virtual System.DateTimeOffset? ExpirationTimeDateTimeOffset { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(DeleteTimeRaw); - set => DeleteTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(ExpirationTimeRaw); + set => ExpirationTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); } - /// Optional. Feature configuration applicable to all memberships of the fleet. - [Newtonsoft.Json.JsonPropertyAttribute("fleetDefaultMemberConfig")] - public virtual CommonFleetDefaultMemberConfigSpec FleetDefaultMemberConfig { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// Labels for this Feature. - [Newtonsoft.Json.JsonPropertyAttribute("labels")] - public virtual System.Collections.Generic.IDictionary Labels { get; set; } + /// Configuration for the Google Plugin Auth flow. + public class IdentityServiceGoogleConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Disable automatic configuration of Google Plugin on supported platforms. + [Newtonsoft.Json.JsonPropertyAttribute("disable")] + public virtual System.Nullable Disable { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Contains the properties for locating and authenticating groups in the directory. + public class IdentityServiceGroupConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The location of the subtree in the LDAP directory to search for group entries. + [Newtonsoft.Json.JsonPropertyAttribute("baseDn")] + public virtual string BaseDn { get; set; } /// - /// Optional. Membership-specific configuration for this Feature. If this Feature does not support any - /// per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration - /// is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid - /// location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's - /// project. {p} will always be returned as the project number, but the project ID is also accepted during - /// input. If the same Membership is specified in the map twice (using the project ID form, and the project - /// number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it - /// is recommended the same format be used for all entries when mutating a Feature. + /// Optional. Optional filter to be used when searching for groups a user belongs to. This can be used to + /// explicitly match only certain groups in order to reduce the amount of groups returned for each user. This + /// defaults to "(objectClass=Group)". /// - [Newtonsoft.Json.JsonPropertyAttribute("membershipSpecs")] - public virtual System.Collections.Generic.IDictionary MembershipSpecs { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("filter")] + public virtual string Filter { get; set; } /// - /// Output only. Membership-specific Feature status. If this Feature does report any per-Membership status, this - /// field may be unused. The keys indicate which Membership the state is for, in the form: - /// `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and - /// {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. + /// Optional. The identifying name of each group a user belongs to. For example, if this is set to + /// "distinguishedName" then RBACs and other group expectations should be written as full DNs. This defaults to + /// "distinguishedName". /// - [Newtonsoft.Json.JsonPropertyAttribute("membershipStates")] - public virtual System.Collections.Generic.IDictionary MembershipStates { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("idAttribute")] + public virtual string IdAttribute { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Holds non-protocol-related configuration options. + public class IdentityServiceIdentityServiceOptions : Google.Apis.Requests.IDirectResponseSchema + { + /// Configuration options for the AIS diagnostic interface. + [Newtonsoft.Json.JsonPropertyAttribute("diagnosticInterface")] + public virtual IdentityServiceDiagnosticInterface DiagnosticInterface { get; set; } + + /// Determines the lifespan of STS tokens issued by Anthos Identity Service. + [Newtonsoft.Json.JsonPropertyAttribute("sessionDuration")] + public virtual object SessionDuration { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Configuration for the LDAP Auth flow. + public class IdentityServiceLdapConfig : Google.Apis.Requests.IDirectResponseSchema + { /// - /// Output only. The full, unique name of this Feature resource in the format - /// `projects/*/locations/*/features/*`. + /// Optional. Contains the properties for locating and authenticating groups in the directory. /// - [Newtonsoft.Json.JsonPropertyAttribute("name")] - public virtual string Name { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("group")] + public virtual IdentityServiceGroupConfig Group { get; set; } - /// Output only. State of the Feature resource itself. - [Newtonsoft.Json.JsonPropertyAttribute("resourceState")] - public virtual FeatureResourceState ResourceState { get; set; } + /// Required. Server settings for the external LDAP server. + [Newtonsoft.Json.JsonPropertyAttribute("server")] + public virtual IdentityServiceServerConfig Server { get; set; } /// - /// Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope - /// configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the - /// form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this - /// project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the - /// project ID is also accepted during input. If the same Scope is specified in the map twice (using the project - /// ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to - /// which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. + /// Required. Contains the credentials of the service account which is authorized to perform the LDAP search in + /// the directory. The credentials can be supplied by the combination of the DN and password or the client + /// certificate. /// - [Newtonsoft.Json.JsonPropertyAttribute("scopeSpecs")] - public virtual System.Collections.Generic.IDictionary ScopeSpecs { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("serviceAccount")] + public virtual IdentityServiceServiceAccountConfig ServiceAccount { get; set; } + + /// Required. Defines where users exist in the LDAP directory. + [Newtonsoft.Json.JsonPropertyAttribute("user")] + public virtual IdentityServiceUserConfig User { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// **Anthos Identity Service**: Configuration for a single Membership. + public class IdentityServiceMembershipSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// A member may support multiple auth methods. + [Newtonsoft.Json.JsonPropertyAttribute("authMethods")] + public virtual System.Collections.Generic.IList AuthMethods { get; set; } + + /// Optional. non-protocol-related configuration options. + [Newtonsoft.Json.JsonPropertyAttribute("identityServiceOptions")] + public virtual IdentityServiceIdentityServiceOptions IdentityServiceOptions { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// **Anthos Identity Service**: State for a single Membership. + public class IdentityServiceMembershipState : Google.Apis.Requests.IDirectResponseSchema + { + /// The reason of the failure. + [Newtonsoft.Json.JsonPropertyAttribute("failureReason")] + public virtual string FailureReason { get; set; } /// - /// Output only. Scope-specific Feature status. If this Feature does report any per-Scope status, this field may - /// be unused. The keys indicate which Scope the state is for, in the form: - /// `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. - /// {p} WILL match the Feature's project. + /// Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is + /// OK. /// - [Newtonsoft.Json.JsonPropertyAttribute("scopeStates")] - public virtual System.Collections.Generic.IDictionary ScopeStates { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("installedVersion")] + public virtual string InstalledVersion { get; set; } + + /// Last reconciled membership configuration + [Newtonsoft.Json.JsonPropertyAttribute("memberConfig")] + public virtual IdentityServiceMembershipSpec MemberConfig { get; set; } + + /// Deployment state on this member + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Configuration for OIDC Auth flow. + public class IdentityServiceOidcConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// PEM-encoded CA for OIDC provider. + [Newtonsoft.Json.JsonPropertyAttribute("certificateAuthorityData")] + public virtual string CertificateAuthorityData { get; set; } + + /// ID for OIDC client application. + [Newtonsoft.Json.JsonPropertyAttribute("clientId")] + public virtual string ClientId { get; set; } + + /// Input only. Unencrypted OIDC client secret will be passed to the GKE Hub CLH. + [Newtonsoft.Json.JsonPropertyAttribute("clientSecret")] + public virtual string ClientSecret { get; set; } /// - /// Optional. Fleet-wide Feature configuration. If this Feature does not support any Fleet-wide configuration, - /// this field may be unused. + /// Flag to denote if reverse proxy is used to connect to auth provider. This flag should be set to true when + /// provider is not reachable by Google Cloud Console. /// - [Newtonsoft.Json.JsonPropertyAttribute("spec")] - public virtual CommonFeatureSpec Spec { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("deployCloudConsoleProxy")] + public virtual System.Nullable DeployCloudConsoleProxy { get; set; } - /// Output only. The Fleet-wide Feature state. - [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual CommonFeatureState State { get; set; } + /// Enable access token. + [Newtonsoft.Json.JsonPropertyAttribute("enableAccessToken")] + public virtual System.Nullable EnableAccessToken { get; set; } - /// Output only. List of locations that could not be reached while fetching this feature. - [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] - public virtual System.Collections.Generic.IList Unreachable { get; set; } + /// Output only. Encrypted OIDC Client secret + [Newtonsoft.Json.JsonPropertyAttribute("encryptedClientSecret")] + public virtual string EncryptedClientSecret { get; set; } - private string _updateTimeRaw; + /// Comma-separated list of key-value pairs. + [Newtonsoft.Json.JsonPropertyAttribute("extraParams")] + public virtual string ExtraParams { get; set; } - private object _updateTime; + /// Prefix to prepend to group name. + [Newtonsoft.Json.JsonPropertyAttribute("groupPrefix")] + public virtual string GroupPrefix { get; set; } - /// Output only. When the Feature resource was last updated. - [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] - public virtual string UpdateTimeRaw - { - get => _updateTimeRaw; - set - { - _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _updateTimeRaw = value; - } - } + /// Claim in OIDC ID token that holds group information. + [Newtonsoft.Json.JsonPropertyAttribute("groupsClaim")] + public virtual string GroupsClaim { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] - public virtual object UpdateTime - { - get => _updateTime; - set - { - _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _updateTime = value; - } - } + /// + /// URI for the OIDC provider. This should point to the level below .well-known/openid-configuration. + /// + [Newtonsoft.Json.JsonPropertyAttribute("issuerUri")] + public virtual string IssuerUri { get; set; } + + /// Registered redirect uri to redirect users going through OAuth flow using kubectl plugin. + [Newtonsoft.Json.JsonPropertyAttribute("kubectlRedirectUri")] + public virtual string KubectlRedirectUri { get; set; } + + /// Comma-separated list of identifiers. + [Newtonsoft.Json.JsonPropertyAttribute("scopes")] + public virtual string Scopes { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); - set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + /// Claim in OIDC ID token that holds username. + [Newtonsoft.Json.JsonPropertyAttribute("userClaim")] + public virtual string UserClaim { get; set; } + + /// Prefix to prepend to user name. + [Newtonsoft.Json.JsonPropertyAttribute("userPrefix")] + public virtual string UserPrefix { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// - /// FeatureResourceState describes the state of a Feature *resource* in the GkeHub API. See `FeatureState` for the - /// "running state" of the Feature in the Fleet and across Memberships. - /// - public class FeatureResourceState : Google.Apis.Requests.IDirectResponseSchema + /// Configuration for the SAML Auth flow. + public class IdentityServiceSamlConfig : Google.Apis.Requests.IDirectResponseSchema { - /// The current state of the Feature resource in the Hub API. - [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual string State { get; set; } + /// + /// Optional. The mapping of additional user attributes like nickname, birthday and address etc.. `key` is the + /// name of this additional attribute. `value` is a string presenting as CEL(common expression language, go/cel) + /// used for getting the value from the resources. Take nickname as an example, in this case, `key` is + /// "attribute.nickname" and `value` is "assertion.nickname". + /// + [Newtonsoft.Json.JsonPropertyAttribute("attributeMapping")] + public virtual System.Collections.Generic.IDictionary AttributeMapping { get; set; } + + /// Optional. Prefix to prepend to group name. + [Newtonsoft.Json.JsonPropertyAttribute("groupPrefix")] + public virtual string GroupPrefix { get; set; } + + /// + /// Optional. The SAML attribute to read groups from. This value is expected to be a string and will be passed + /// along as-is (with the option of being prefixed by the `group_prefix`). + /// + [Newtonsoft.Json.JsonPropertyAttribute("groupsAttribute")] + public virtual string GroupsAttribute { get; set; } + + /// Required. The list of IdP certificates to validate the SAML response against. + [Newtonsoft.Json.JsonPropertyAttribute("identityProviderCertificates")] + public virtual System.Collections.Generic.IList IdentityProviderCertificates { get; set; } + + /// Required. The entity ID of the SAML IdP. + [Newtonsoft.Json.JsonPropertyAttribute("identityProviderId")] + public virtual string IdentityProviderId { get; set; } + + /// Required. The URI where the SAML IdP exposes the SSO service. + [Newtonsoft.Json.JsonPropertyAttribute("identityProviderSsoUri")] + public virtual string IdentityProviderSsoUri { get; set; } + + /// + /// Optional. The SAML attribute to read username from. If unspecified, the username will be read from the + /// NameID element of the assertion in SAML response. This value is expected to be a string and will be passed + /// along as-is (with the option of being prefixed by the `user_prefix`). + /// + [Newtonsoft.Json.JsonPropertyAttribute("userAttribute")] + public virtual string UserAttribute { get; set; } + + /// Optional. Prefix to prepend to user name. + [Newtonsoft.Json.JsonPropertyAttribute("userPrefix")] + public virtual string UserPrefix { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// **Workload Certificate**: The Hub-wide input for the WorkloadCertificate feature. - public class FeatureSpec : Google.Apis.Requests.IDirectResponseSchema + /// Server settings for the external LDAP server. + public class IdentityServiceServerConfig : Google.Apis.Requests.IDirectResponseSchema { /// - /// Specifies default membership spec. Users can override the default in the member_configs for each member. + /// Optional. Contains a Base64 encoded, PEM formatted certificate authority certificate for the LDAP server. + /// This must be provided for the "ldaps" and "startTLS" connections. /// - [Newtonsoft.Json.JsonPropertyAttribute("defaultConfig")] - public virtual MembershipSpec DefaultConfig { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("certificateAuthorityData")] + public virtual string CertificateAuthorityData { get; set; } - /// Immutable. Specifies CA configuration. - [Newtonsoft.Json.JsonPropertyAttribute("provisionGoogleCa")] - public virtual string ProvisionGoogleCa { get; set; } + /// + /// Optional. Defines the connection type to communicate with the LDAP server. If `starttls` or `ldaps` is + /// specified, the certificate_authority_data should not be empty. + /// + [Newtonsoft.Json.JsonPropertyAttribute("connectionType")] + public virtual string ConnectionType { get; set; } + + /// + /// Required. Defines the hostname or IP of the LDAP server. Port is optional and will default to 389, if + /// unspecified. For example, "ldap.server.example" or "10.10.10.10:389". + /// + [Newtonsoft.Json.JsonPropertyAttribute("host")] + public virtual string Host { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// - /// FeatureState describes the high-level state of a Feature. It may be used to describe a Feature's state at the - /// environ-level, or per-membershop, depending on the context. + /// Contains the credentials of the service account which is authorized to perform the LDAP search in the directory. + /// The credentials can be supplied by the combination of the DN and password or the client certificate. /// - public class FeatureState : Google.Apis.Requests.IDirectResponseSchema + public class IdentityServiceServiceAccountConfig : Google.Apis.Requests.IDirectResponseSchema { - /// The high-level, machine-readable status of this Feature. - [Newtonsoft.Json.JsonPropertyAttribute("code")] - public virtual string Code { get; set; } - - /// A human-readable description of the current status. - [Newtonsoft.Json.JsonPropertyAttribute("description")] - public virtual string Description { get; set; } - - private string _updateTimeRaw; - - private object _updateTime; - - /// The time this status and any related Feature-specific details were updated. - [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] - public virtual string UpdateTimeRaw - { - get => _updateTimeRaw; - set - { - _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _updateTimeRaw = value; - } - } - - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] - public virtual object UpdateTime - { - get => _updateTime; - set - { - _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _updateTime = value; - } - } - - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); - set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + /// Credentials for basic auth. + [Newtonsoft.Json.JsonPropertyAttribute("simpleBindCredentials")] + public virtual IdentityServiceSimpleBindCredentials SimpleBindCredentials { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Fleet contains the Fleet-wide metadata and configuration. - public class Fleet : Google.Apis.Requests.IDirectResponseSchema + /// The structure holds the LDAP simple binding credential. + public class IdentityServiceSimpleBindCredentials : Google.Apis.Requests.IDirectResponseSchema { - private string _createTimeRaw; - - private object _createTime; - - /// Output only. When the Fleet was created. - [Newtonsoft.Json.JsonPropertyAttribute("createTime")] - public virtual string CreateTimeRaw - { - get => _createTimeRaw; - set - { - _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _createTimeRaw = value; - } - } - - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] - public virtual object CreateTime - { - get => _createTime; - set - { - _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _createTime = value; - } - } - - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? CreateTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); - set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + /// Required. The distinguished name(DN) of the service account object/user. + [Newtonsoft.Json.JsonPropertyAttribute("dn")] + public virtual string Dn { get; set; } - /// Optional. The default cluster configurations to apply across the fleet. - [Newtonsoft.Json.JsonPropertyAttribute("defaultClusterConfig")] - public virtual DefaultClusterConfig DefaultClusterConfig { get; set; } + /// Output only. The encrypted password of the service account object/user. + [Newtonsoft.Json.JsonPropertyAttribute("encryptedPassword")] + public virtual string EncryptedPassword { get; set; } - private string _deleteTimeRaw; + /// Required. Input only. The password of the service account object/user. + [Newtonsoft.Json.JsonPropertyAttribute("password")] + public virtual string Password { get; set; } - private object _deleteTime; + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// Output only. When the Fleet was deleted. - [Newtonsoft.Json.JsonPropertyAttribute("deleteTime")] - public virtual string DeleteTimeRaw - { - get => _deleteTimeRaw; - set - { - _deleteTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _deleteTimeRaw = value; - } - } + /// Defines where users exist in the LDAP directory. + public class IdentityServiceUserConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The location of the subtree in the LDAP directory to search for user entries. + [Newtonsoft.Json.JsonPropertyAttribute("baseDn")] + public virtual string BaseDn { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use DeleteTimeDateTimeOffset instead.")] - public virtual object DeleteTime - { - get => _deleteTime; - set - { - _deleteTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _deleteTime = value; - } - } + /// + /// Optional. Filter to apply when searching for the user. This can be used to further restrict the user + /// accounts which are allowed to login. This defaults to "(objectClass=User)". + /// + [Newtonsoft.Json.JsonPropertyAttribute("filter")] + public virtual string Filter { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(DeleteTimeRaw); - set => DeleteTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + /// + /// Optional. Determines which attribute to use as the user's identity after they are authenticated. This is + /// distinct from the loginAttribute field to allow users to login with a username, but then have their actual + /// identifier be an email address or full Distinguished Name (DN). For example, setting loginAttribute to + /// "sAMAccountName" and identifierAttribute to "userPrincipalName" would allow a user to login as "bsmith", but + /// actual RBAC policies for the user would be written as "bsmith@example.com". Using "userPrincipalName" is + /// recommended since this will be unique for each user. This defaults to "userPrincipalName". + /// + [Newtonsoft.Json.JsonPropertyAttribute("idAttribute")] + public virtual string IdAttribute { get; set; } /// - /// Optional. A user-assigned display name of the Fleet. When present, it must be between 4 to 30 characters. - /// Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, - /// and exclamation point. Example: `Production Fleet` + /// Optional. The name of the attribute which matches against the input username. This is used to find the user + /// in the LDAP database e.g. "(=)" and is combined with the optional filter field. This defaults to + /// "userPrincipalName". /// - [Newtonsoft.Json.JsonPropertyAttribute("displayName")] - public virtual string DisplayName { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("loginAttribute")] + public virtual string LoginAttribute { get; set; } - /// Optional. Labels for this Fleet. - [Newtonsoft.Json.JsonPropertyAttribute("labels")] - public virtual System.Collections.Generic.IDictionary Labels { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// KubernetesMetadata provides informational metadata for Memberships representing Kubernetes clusters. + /// + public class KubernetesMetadata : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. Kubernetes API server version string as reported by `/version`. + [Newtonsoft.Json.JsonPropertyAttribute("kubernetesApiServerVersion")] + public virtual string KubernetesApiServerVersion { get; set; } /// - /// Output only. The full, unique resource name of this fleet in the format of - /// `projects/{project}/locations/{location}/fleets/{fleet}`. Each Google Cloud project can have at most one - /// fleet resource, named "default". + /// Output only. The total memory capacity as reported by the sum of all Kubernetes nodes resources, defined in + /// MB. /// - [Newtonsoft.Json.JsonPropertyAttribute("name")] - public virtual string Name { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("memoryMb")] + public virtual System.Nullable MemoryMb { get; set; } - /// Output only. State of the namespace resource. - [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual FleetLifecycleState State { get; set; } + /// Output only. Node count as reported by Kubernetes nodes resources. + [Newtonsoft.Json.JsonPropertyAttribute("nodeCount")] + public virtual System.Nullable NodeCount { get; set; } /// - /// Output only. Google-generated UUID for this resource. This is unique across all Fleet resources. If a Fleet - /// resource is deleted and another resource with the same name is created, it gets a different uid. + /// Output only. Node providerID as reported by the first node in the list of nodes on the Kubernetes endpoint. + /// On Kubernetes platforms that support zero-node clusters (like GKE-on-GCP), the node_count will be zero and + /// the node_provider_id will be empty. /// - [Newtonsoft.Json.JsonPropertyAttribute("uid")] - public virtual string Uid { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("nodeProviderId")] + public virtual string NodeProviderId { get; set; } private string _updateTimeRaw; private object _updateTime; - /// Output only. When the Fleet was last updated. + /// + /// Output only. The time at which these details were last updated. This update_time is different from the + /// Membership-level update_time since EndpointDetails are updated internally for API consumers. + /// [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] public virtual string UpdateTimeRaw { @@ -7605,753 +8962,720 @@ public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); } - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// FleetLifecycleState describes the state of a Fleet resource. - public class FleetLifecycleState : Google.Apis.Requests.IDirectResponseSchema - { - /// Output only. The current state of the Fleet resource. - [Newtonsoft.Json.JsonPropertyAttribute("code")] - public virtual string Code { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// All error details of the fleet observability feature. - public class FleetObservabilityFeatureError : Google.Apis.Requests.IDirectResponseSchema - { - /// The code of the error. - [Newtonsoft.Json.JsonPropertyAttribute("code")] - public virtual string Code { get; set; } - - /// A human-readable description of the current status. - [Newtonsoft.Json.JsonPropertyAttribute("description")] - public virtual string Description { get; set; } + /// Output only. vCPU count as reported by Kubernetes nodes resources. + [Newtonsoft.Json.JsonPropertyAttribute("vcpuCount")] + public virtual System.Nullable VcpuCount { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// **Fleet Observability**: The Hub-wide input for the FleetObservability feature. - public class FleetObservabilityFeatureSpec : Google.Apis.Requests.IDirectResponseSchema + /// + /// KubernetesResource contains the YAML manifests and configuration for Membership Kubernetes resources in the + /// cluster. After CreateMembership or UpdateMembership, these resources should be re-applied in the cluster. + /// + public class KubernetesResource : Google.Apis.Requests.IDirectResponseSchema { /// - /// Specified if fleet logging feature is enabled for the entire fleet. If UNSPECIFIED, fleet logging feature is - /// disabled for the entire fleet. + /// Output only. The Kubernetes resources for installing the GKE Connect agent This field is only populated in + /// the Membership returned from a successful long-running operation from CreateMembership or UpdateMembership. + /// It is not populated during normal GetMembership or ListMemberships requests. To get the resource manifest + /// after the initial registration, the caller should make a UpdateMembership call with an empty field mask. /// - [Newtonsoft.Json.JsonPropertyAttribute("loggingConfig")] - public virtual FleetObservabilityLoggingConfig LoggingConfig { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// **FleetObservability**: Hub-wide Feature for FleetObservability feature. state. - public class FleetObservabilityFeatureState : Google.Apis.Requests.IDirectResponseSchema - { - /// The feature state of default logging. - [Newtonsoft.Json.JsonPropertyAttribute("logging")] - public virtual FleetObservabilityFleetObservabilityLoggingState Logging { get; set; } - - /// The feature state of fleet monitoring. - [Newtonsoft.Json.JsonPropertyAttribute("monitoring")] - public virtual FleetObservabilityFleetObservabilityMonitoringState Monitoring { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// Base state for fleet observability feature. - public class FleetObservabilityFleetObservabilityBaseFeatureState : Google.Apis.Requests.IDirectResponseSchema - { - /// The high-level, machine-readable status of this Feature. - [Newtonsoft.Json.JsonPropertyAttribute("code")] - public virtual string Code { get; set; } - - /// Errors after reconciling the monitoring and logging feature if the code is not OK. - [Newtonsoft.Json.JsonPropertyAttribute("errors")] - public virtual System.Collections.Generic.IList Errors { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// Feature state for logging feature. - public class FleetObservabilityFleetObservabilityLoggingState : Google.Apis.Requests.IDirectResponseSchema - { - /// The base feature state of fleet default log. - [Newtonsoft.Json.JsonPropertyAttribute("defaultLog")] - public virtual FleetObservabilityFleetObservabilityBaseFeatureState DefaultLog { get; set; } - - /// The base feature state of fleet scope log. - [Newtonsoft.Json.JsonPropertyAttribute("scopeLog")] - public virtual FleetObservabilityFleetObservabilityBaseFeatureState ScopeLog { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// Feature state for monitoring feature. - public class FleetObservabilityFleetObservabilityMonitoringState : Google.Apis.Requests.IDirectResponseSchema - { - /// The base feature state of fleet monitoring feature. - [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual FleetObservabilityFleetObservabilityBaseFeatureState State { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// LoggingConfig defines the configuration for different types of logs. - public class FleetObservabilityLoggingConfig : Google.Apis.Requests.IDirectResponseSchema - { - /// Specified if applying the default routing config to logs not specified in other configs. - [Newtonsoft.Json.JsonPropertyAttribute("defaultConfig")] - public virtual FleetObservabilityRoutingConfig DefaultConfig { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("connectResources")] + public virtual System.Collections.Generic.IList ConnectResources { get; set; } - /// Specified if applying the routing config to all logs for all fleet scopes. - [Newtonsoft.Json.JsonPropertyAttribute("fleetScopeLogsConfig")] - public virtual FleetObservabilityRoutingConfig FleetScopeLogsConfig { get; set; } + /// + /// Input only. The YAML representation of the Membership CR. This field is ignored for GKE clusters where Hub + /// can read the CR directly. Callers should provide the CR that is currently present in the cluster during + /// CreateMembership or UpdateMembership, or leave this field empty if none exists. The CR manifest is used to + /// validate the cluster has not been registered with another Membership. + /// + [Newtonsoft.Json.JsonPropertyAttribute("membershipCrManifest")] + public virtual string MembershipCrManifest { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// + /// Output only. Additional Kubernetes resources that need to be applied to the cluster after Membership + /// creation, and after every update. This field is only populated in the Membership returned from a successful + /// long-running operation from CreateMembership or UpdateMembership. It is not populated during normal + /// GetMembership or ListMemberships requests. To get the resource manifest after the initial registration, the + /// caller should make a UpdateMembership call with an empty field mask. + /// + [Newtonsoft.Json.JsonPropertyAttribute("membershipResources")] + public virtual System.Collections.Generic.IList MembershipResources { get; set; } - /// **FleetObservability**: The membership-specific input for FleetObservability feature. - public class FleetObservabilityMembershipSpec : Google.Apis.Requests.IDirectResponseSchema - { - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Optional. Options for Kubernetes resource generation. + [Newtonsoft.Json.JsonPropertyAttribute("resourceOptions")] + public virtual ResourceOptions ResourceOptions { get; set; } - /// **FleetObservability**: Membership-specific Feature state for fleetobservability. - public class FleetObservabilityMembershipState : Google.Apis.Requests.IDirectResponseSchema - { /// The ETag of the item. public virtual string ETag { get; set; } } - /// RoutingConfig configures the behaviour of fleet logging feature. - public class FleetObservabilityRoutingConfig : Google.Apis.Requests.IDirectResponseSchema + /// Response message for the `GkeHub.ListAdminClusterMemberships` method. + public class ListAdminClusterMembershipsResponse : Google.Apis.Requests.IDirectResponseSchema { - /// mode configures the logs routing mode. - [Newtonsoft.Json.JsonPropertyAttribute("mode")] - public virtual string Mode { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// The list of matching Memberships of admin clusters. + [Newtonsoft.Json.JsonPropertyAttribute("adminClusterMemberships")] + public virtual System.Collections.Generic.IList AdminClusterMemberships { get; set; } - /// - /// GenerateConnectManifestResponse contains manifest information for installing/upgrading a Connect agent. - /// - public class GenerateConnectManifestResponse : Google.Apis.Requests.IDirectResponseSchema - { /// - /// The ordered list of Kubernetes resources that need to be applied to the cluster for GKE Connect agent - /// installation/upgrade. + /// A token to request the next page of resources from the `ListAdminClusterMemberships` method. The value of an + /// empty string means that there are no more resources to return. /// - [Newtonsoft.Json.JsonPropertyAttribute("manifest")] - public virtual System.Collections.Generic.IList Manifest { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// List of locations that could not be reached while fetching this list. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// The response of the exclusivity artifacts manifests for the client to apply. - public class GenerateExclusivityManifestResponse : Google.Apis.Requests.IDirectResponseSchema + /// List of Memberships bound to a Scope. + public class ListBoundMembershipsResponse : Google.Apis.Requests.IDirectResponseSchema { - /// - /// The YAML manifest of the membership CR to apply if a new version of the CR is available. Empty if no update - /// needs to be applied. - /// - [Newtonsoft.Json.JsonPropertyAttribute("crManifest")] - public virtual string CrManifest { get; set; } + /// The list of Memberships bound to the given Scope. + [Newtonsoft.Json.JsonPropertyAttribute("memberships")] + public virtual System.Collections.Generic.IList Memberships { get; set; } /// - /// The YAML manifest of the membership CRD to apply if a newer version of the CRD is available. Empty if no - /// update needs to be applied. - /// - [Newtonsoft.Json.JsonPropertyAttribute("crdManifest")] - public virtual string CrdManifest { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// A token to request the next page of resources from the `ListBoundMemberships` method. The value of an empty + /// string means that there are no more resources to return. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } - /// Response for GenerateRBACRoleBindingYAML. - public class GenerateMembershipRBACRoleBindingYAMLResponse : Google.Apis.Requests.IDirectResponseSchema - { - /// a yaml text blob including the RBAC policies. - [Newtonsoft.Json.JsonPropertyAttribute("roleBindingsYaml")] - public virtual string RoleBindingsYaml { get; set; } + /// List of locations that could not be reached while fetching this list. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// GkeCluster contains information specific to GKE clusters. - public class GkeCluster : Google.Apis.Requests.IDirectResponseSchema + /// Response message for the `GkeHub.ListFeatures` method. + public class ListFeaturesResponse : Google.Apis.Requests.IDirectResponseSchema { /// - /// Output only. If cluster_missing is set then it denotes that the GKE cluster no longer exists in the GKE - /// Control Plane. + /// A token to request the next page of resources from the `ListFeatures` method. The value of an empty string + /// means that there are no more resources to return. /// - [Newtonsoft.Json.JsonPropertyAttribute("clusterMissing")] - public virtual System.Nullable ClusterMissing { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } - /// - /// Immutable. Self-link of the Google Cloud resource for the GKE cluster. For example: - /// //container.googleapis.com/projects/my-project/locations/us-west1-a/clusters/my-cluster Zonal clusters are - /// also supported. - /// - [Newtonsoft.Json.JsonPropertyAttribute("resourceLink")] - public virtual string ResourceLink { get; set; } + /// The list of matching Features + [Newtonsoft.Json.JsonPropertyAttribute("resources")] + public virtual System.Collections.Generic.IList Resources { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// - /// 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). - /// - public class GoogleRpcStatus : Google.Apis.Requests.IDirectResponseSchema + /// Response message for the `GkeHub.ListFleetsResponse` method. + public class ListFleetsResponse : Google.Apis.Requests.IDirectResponseSchema { - /// The status code, which should be an enum value of google.rpc.Code. - [Newtonsoft.Json.JsonPropertyAttribute("code")] - public virtual System.Nullable Code { get; set; } - - /// - /// A list of messages that carry the error details. There is a common set of message types for APIs to use. - /// - [Newtonsoft.Json.JsonPropertyAttribute("details")] - public virtual System.Collections.Generic.IList> Details { get; set; } + /// The list of matching fleets. + [Newtonsoft.Json.JsonPropertyAttribute("fleets")] + public virtual System.Collections.Generic.IList Fleets { get; set; } /// - /// 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. + /// A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no + /// subsequent pages. The token is only valid for 1h. /// - [Newtonsoft.Json.JsonPropertyAttribute("message")] - public virtual string Message { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// - /// Configuration of an auth method for a member/cluster. Only one authentication method (e.g., OIDC and LDAP) can - /// be set per AuthMethod. - /// - public class IdentityServiceAuthMethod : Google.Apis.Requests.IDirectResponseSchema + /// The response message for Locations.ListLocations. + public class ListLocationsResponse : Google.Apis.Requests.IDirectResponseSchema { - /// AzureAD specific Configuration. - [Newtonsoft.Json.JsonPropertyAttribute("azureadConfig")] - public virtual IdentityServiceAzureADConfig AzureadConfig { get; set; } - - /// GoogleConfig specific configuration. - [Newtonsoft.Json.JsonPropertyAttribute("googleConfig")] - public virtual IdentityServiceGoogleConfig GoogleConfig { get; set; } - - /// LDAP specific configuration. - [Newtonsoft.Json.JsonPropertyAttribute("ldapConfig")] - public virtual IdentityServiceLdapConfig LdapConfig { get; set; } - - /// Identifier for auth config. - [Newtonsoft.Json.JsonPropertyAttribute("name")] - public virtual string Name { get; set; } - - /// OIDC specific configuration. - [Newtonsoft.Json.JsonPropertyAttribute("oidcConfig")] - public virtual IdentityServiceOidcConfig OidcConfig { get; set; } - - /// Proxy server address to use for auth method. - [Newtonsoft.Json.JsonPropertyAttribute("proxy")] - public virtual string Proxy { get; set; } + /// A list of locations that matches the specified filter in the request. + [Newtonsoft.Json.JsonPropertyAttribute("locations")] + public virtual System.Collections.Generic.IList Locations { get; set; } - /// SAML specific configuration. - [Newtonsoft.Json.JsonPropertyAttribute("samlConfig")] - public virtual IdentityServiceSamlConfig SamlConfig { get; set; } + /// The standard List next-page token. + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Configuration for the AzureAD Auth flow. - public class IdentityServiceAzureADConfig : Google.Apis.Requests.IDirectResponseSchema + /// List of MembershipBindings. + public class ListMembershipBindingsResponse : Google.Apis.Requests.IDirectResponseSchema { + /// The list of membership_bindings + [Newtonsoft.Json.JsonPropertyAttribute("membershipBindings")] + public virtual System.Collections.Generic.IList MembershipBindings { get; set; } + /// - /// ID for the registered client application that makes authentication requests to the Azure AD identity - /// provider. + /// A token to request the next page of resources from the `ListMembershipBindings` method. The value of an + /// empty string means that there are no more resources to return. /// - [Newtonsoft.Json.JsonPropertyAttribute("clientId")] - public virtual string ClientId { get; set; } - - /// Input only. Unencrypted AzureAD client secret will be passed to the GKE Hub CLH. - [Newtonsoft.Json.JsonPropertyAttribute("clientSecret")] - public virtual string ClientSecret { get; set; } - - /// Output only. Encrypted AzureAD client secret. - [Newtonsoft.Json.JsonPropertyAttribute("encryptedClientSecret")] - public virtual string EncryptedClientSecret { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } - /// Optional. Format of the AzureAD groups that the client wants for auth. - [Newtonsoft.Json.JsonPropertyAttribute("groupFormat")] - public virtual string GroupFormat { get; set; } + /// List of locations that could not be reached while fetching this list. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } - /// The redirect URL that kubectl uses for authorization. - [Newtonsoft.Json.JsonPropertyAttribute("kubectlRedirectUri")] - public virtual string KubectlRedirectUri { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// List of Membership RBACRoleBindings. + public class ListMembershipRBACRoleBindingsResponse : Google.Apis.Requests.IDirectResponseSchema + { /// - /// Kind of Azure AD account to be authenticated. Supported values are or for accounts belonging to a specific - /// tenant. + /// A token to request the next page of resources from the `ListMembershipRBACRoleBindings` method. The value of + /// an empty string means that there are no more resources to return. /// - [Newtonsoft.Json.JsonPropertyAttribute("tenant")] - public virtual string Tenant { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } - /// Optional. Claim in the AzureAD ID Token that holds the user details. - [Newtonsoft.Json.JsonPropertyAttribute("userClaim")] - public virtual string UserClaim { get; set; } + /// The list of Membership RBACRoleBindings. + [Newtonsoft.Json.JsonPropertyAttribute("rbacrolebindings")] + public virtual System.Collections.Generic.IList Rbacrolebindings { get; set; } + + /// List of locations that could not be reached while fetching this list. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Configuration options for the AIS diagnostic interface. - public class IdentityServiceDiagnosticInterface : Google.Apis.Requests.IDirectResponseSchema + /// Response message for the `GkeHub.ListMemberships` method. + public class ListMembershipsResponse : Google.Apis.Requests.IDirectResponseSchema { - /// Determines whether to enable the diagnostic interface. - [Newtonsoft.Json.JsonPropertyAttribute("enabled")] - public virtual System.Nullable Enabled { get; set; } - - private string _expirationTimeRaw; - - private object _expirationTime; - /// - /// Determines the expiration time of the diagnostic interface enablement. When reached, requests to the - /// interface would be automatically rejected. + /// A token to request the next page of resources from the `ListMemberships` method. The value of an empty + /// string means that there are no more resources to return. /// - [Newtonsoft.Json.JsonPropertyAttribute("expirationTime")] - public virtual string ExpirationTimeRaw - { - get => _expirationTimeRaw; - set - { - _expirationTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _expirationTimeRaw = value; - } - } + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use ExpirationTimeDateTimeOffset instead.")] - public virtual object ExpirationTime - { - get => _expirationTime; - set - { - _expirationTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _expirationTime = value; - } - } + /// The list of matching Memberships. + [Newtonsoft.Json.JsonPropertyAttribute("resources")] + public virtual System.Collections.Generic.IList Resources { get; set; } - /// - /// representation of . - /// - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? ExpirationTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(ExpirationTimeRaw); - set => ExpirationTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + /// List of locations that could not be reached while fetching this list. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Configuration for the Google Plugin Auth flow. - public class IdentityServiceGoogleConfig : Google.Apis.Requests.IDirectResponseSchema + /// The response message for Operations.ListOperations. + public class ListOperationsResponse : Google.Apis.Requests.IDirectResponseSchema { - /// Disable automatic configuration of Google Plugin on supported platforms. - [Newtonsoft.Json.JsonPropertyAttribute("disable")] - public virtual System.Nullable Disable { get; set; } + /// The standard List next-page token. + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// A list of operations that matches the specified filter in the request. + [Newtonsoft.Json.JsonPropertyAttribute("operations")] + public virtual System.Collections.Generic.IList Operations { get; set; } + + /// + /// Unordered list. Unreachable resources. Populated when the request sets + /// `ListOperationsRequest.return_partial_success` and reads across collections e.g. when attempting to list all + /// resources across all supported locations. + /// + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Contains the properties for locating and authenticating groups in the directory. - public class IdentityServiceGroupConfig : Google.Apis.Requests.IDirectResponseSchema + /// List of permitted Scopes. + public class ListPermittedScopesResponse : Google.Apis.Requests.IDirectResponseSchema { - /// Required. The location of the subtree in the LDAP directory to search for group entries. - [Newtonsoft.Json.JsonPropertyAttribute("baseDn")] - public virtual string BaseDn { get; set; } - /// - /// Optional. Optional filter to be used when searching for groups a user belongs to. This can be used to - /// explicitly match only certain groups in order to reduce the amount of groups returned for each user. This - /// defaults to "(objectClass=Group)". + /// A token to request the next page of resources from the `ListPermittedScopes` method. The value of an empty + /// string means that there are no more resources to return. /// - [Newtonsoft.Json.JsonPropertyAttribute("filter")] - public virtual string Filter { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The list of permitted Scopes + [Newtonsoft.Json.JsonPropertyAttribute("scopes")] + public virtual System.Collections.Generic.IList Scopes { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Response message for listing rollout sequences. + public class ListRolloutSequencesResponse : Google.Apis.Requests.IDirectResponseSchema + { /// - /// Optional. The identifying name of each group a user belongs to. For example, if this is set to - /// "distinguishedName" then RBACs and other group expectations should be written as full DNs. This defaults to - /// "distinguishedName". + /// A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no + /// subsequent pages. /// - [Newtonsoft.Json.JsonPropertyAttribute("idAttribute")] - public virtual string IdAttribute { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The rollout sequences from the specified parent resource. + [Newtonsoft.Json.JsonPropertyAttribute("rolloutSequences")] + public virtual System.Collections.Generic.IList RolloutSequences { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Holds non-protocol-related configuration options. - public class IdentityServiceIdentityServiceOptions : Google.Apis.Requests.IDirectResponseSchema + /// Response message for listing rollouts. + public class ListRolloutsResponse : Google.Apis.Requests.IDirectResponseSchema { - /// Configuration options for the AIS diagnostic interface. - [Newtonsoft.Json.JsonPropertyAttribute("diagnosticInterface")] - public virtual IdentityServiceDiagnosticInterface DiagnosticInterface { get; set; } + /// + /// A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no + /// subsequent pages. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } - /// Determines the lifespan of STS tokens issued by Anthos Identity Service. - [Newtonsoft.Json.JsonPropertyAttribute("sessionDuration")] - public virtual object SessionDuration { get; set; } + /// The rollouts from the specified parent resource. + [Newtonsoft.Json.JsonPropertyAttribute("rollouts")] + public virtual System.Collections.Generic.IList Rollouts { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Configuration for the LDAP Auth flow. - public class IdentityServiceLdapConfig : Google.Apis.Requests.IDirectResponseSchema + /// List of fleet namespaces. + public class ListScopeNamespacesResponse : Google.Apis.Requests.IDirectResponseSchema { /// - /// Optional. Contains the properties for locating and authenticating groups in the directory. + /// A token to request the next page of resources from the `ListNamespaces` method. The value of an empty string + /// means that there are no more resources to return. /// - [Newtonsoft.Json.JsonPropertyAttribute("group")] - public virtual IdentityServiceGroupConfig Group { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } - /// Required. Server settings for the external LDAP server. - [Newtonsoft.Json.JsonPropertyAttribute("server")] - public virtual IdentityServiceServerConfig Server { get; set; } + /// The list of fleet namespaces + [Newtonsoft.Json.JsonPropertyAttribute("scopeNamespaces")] + public virtual System.Collections.Generic.IList ScopeNamespaces { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// List of Scope RBACRoleBindings. + public class ListScopeRBACRoleBindingsResponse : Google.Apis.Requests.IDirectResponseSchema + { /// - /// Required. Contains the credentials of the service account which is authorized to perform the LDAP search in - /// the directory. The credentials can be supplied by the combination of the DN and password or the client - /// certificate. + /// A token to request the next page of resources from the `ListScopeRBACRoleBindings` method. The value of an + /// empty string means that there are no more resources to return. /// - [Newtonsoft.Json.JsonPropertyAttribute("serviceAccount")] - public virtual IdentityServiceServiceAccountConfig ServiceAccount { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } - /// Required. Defines where users exist in the LDAP directory. - [Newtonsoft.Json.JsonPropertyAttribute("user")] - public virtual IdentityServiceUserConfig User { get; set; } + /// The list of Scope RBACRoleBindings. + [Newtonsoft.Json.JsonPropertyAttribute("rbacrolebindings")] + public virtual System.Collections.Generic.IList Rbacrolebindings { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// **Anthos Identity Service**: Configuration for a single Membership. - public class IdentityServiceMembershipSpec : Google.Apis.Requests.IDirectResponseSchema + /// List of Scopes. + public class ListScopesResponse : Google.Apis.Requests.IDirectResponseSchema { - /// A member may support multiple auth methods. - [Newtonsoft.Json.JsonPropertyAttribute("authMethods")] - public virtual System.Collections.Generic.IList AuthMethods { get; set; } + /// + /// A token to request the next page of resources from the `ListScopes` method. The value of an empty string + /// means that there are no more resources to return. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } - /// Optional. non-protocol-related configuration options. - [Newtonsoft.Json.JsonPropertyAttribute("identityServiceOptions")] - public virtual IdentityServiceIdentityServiceOptions IdentityServiceOptions { get; set; } + /// The list of Scopes + [Newtonsoft.Json.JsonPropertyAttribute("scopes")] + public virtual System.Collections.Generic.IList Scopes { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// **Anthos Identity Service**: State for a single Membership. - public class IdentityServiceMembershipState : Google.Apis.Requests.IDirectResponseSchema + /// A resource that represents a Google Cloud location. + public class Location : Google.Apis.Requests.IDirectResponseSchema { - /// The reason of the failure. - [Newtonsoft.Json.JsonPropertyAttribute("failureReason")] - public virtual string FailureReason { get; set; } + /// The friendly name for this location, typically a nearby city name. For example, "Tokyo". + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } /// - /// Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is - /// OK. + /// Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} /// - [Newtonsoft.Json.JsonPropertyAttribute("installedVersion")] - public virtual string InstalledVersion { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } - /// Last reconciled membership configuration - [Newtonsoft.Json.JsonPropertyAttribute("memberConfig")] - public virtual IdentityServiceMembershipSpec MemberConfig { get; set; } + /// The canonical id for this location. For example: `"us-east1"`. + [Newtonsoft.Json.JsonPropertyAttribute("locationId")] + public virtual string LocationId { get; set; } - /// Deployment state on this member - [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual string State { get; set; } + /// Service-specific metadata. For example the available capacity at the given location. + [Newtonsoft.Json.JsonPropertyAttribute("metadata")] + public virtual System.Collections.Generic.IDictionary Metadata { get; set; } + + /// + /// Resource name for the location, which may vary between implementations. For example: + /// `"projects/example-project/locations/us-east1"` + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Configuration for OIDC Auth flow. - public class IdentityServiceOidcConfig : Google.Apis.Requests.IDirectResponseSchema + /// Membership contains information about a member cluster. + public class Membership : Google.Apis.Requests.IDirectResponseSchema { - /// PEM-encoded CA for OIDC provider. - [Newtonsoft.Json.JsonPropertyAttribute("certificateAuthorityData")] - public virtual string CertificateAuthorityData { get; set; } - - /// ID for OIDC client application. - [Newtonsoft.Json.JsonPropertyAttribute("clientId")] - public virtual string ClientId { get; set; } - - /// Input only. Unencrypted OIDC client secret will be passed to the GKE Hub CLH. - [Newtonsoft.Json.JsonPropertyAttribute("clientSecret")] - public virtual string ClientSecret { get; set; } - /// - /// Flag to denote if reverse proxy is used to connect to auth provider. This flag should be set to true when - /// provider is not reachable by Google Cloud Console. + /// Optional. How to identify workloads from this Membership. See the documentation on Workload Identity for + /// more details: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity /// - [Newtonsoft.Json.JsonPropertyAttribute("deployCloudConsoleProxy")] - public virtual System.Nullable DeployCloudConsoleProxy { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("authority")] + public virtual Authority Authority { get; set; } - /// Enable access token. - [Newtonsoft.Json.JsonPropertyAttribute("enableAccessToken")] - public virtual System.Nullable EnableAccessToken { get; set; } + /// Output only. The tier of the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("clusterTier")] + public virtual string ClusterTier { get; set; } - /// Output only. Encrypted OIDC Client secret - [Newtonsoft.Json.JsonPropertyAttribute("encryptedClientSecret")] - public virtual string EncryptedClientSecret { get; set; } + private string _createTimeRaw; - /// Comma-separated list of key-value pairs. - [Newtonsoft.Json.JsonPropertyAttribute("extraParams")] - public virtual string ExtraParams { get; set; } + private object _createTime; - /// Prefix to prepend to group name. - [Newtonsoft.Json.JsonPropertyAttribute("groupPrefix")] - public virtual string GroupPrefix { get; set; } + /// Output only. When the Membership was created. + [Newtonsoft.Json.JsonPropertyAttribute("createTime")] + public virtual string CreateTimeRaw + { + get => _createTimeRaw; + set + { + _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _createTimeRaw = value; + } + } - /// Claim in OIDC ID token that holds group information. - [Newtonsoft.Json.JsonPropertyAttribute("groupsClaim")] - public virtual string GroupsClaim { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] + public virtual object CreateTime + { + get => _createTime; + set + { + _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _createTime = value; + } + } - /// - /// URI for the OIDC provider. This should point to the level below .well-known/openid-configuration. - /// - [Newtonsoft.Json.JsonPropertyAttribute("issuerUri")] - public virtual string IssuerUri { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CreateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); + set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// Registered redirect uri to redirect users going through OAuth flow using kubectl plugin. - [Newtonsoft.Json.JsonPropertyAttribute("kubectlRedirectUri")] - public virtual string KubectlRedirectUri { get; set; } + private string _deleteTimeRaw; - /// Comma-separated list of identifiers. - [Newtonsoft.Json.JsonPropertyAttribute("scopes")] - public virtual string Scopes { get; set; } + private object _deleteTime; - /// Claim in OIDC ID token that holds username. - [Newtonsoft.Json.JsonPropertyAttribute("userClaim")] - public virtual string UserClaim { get; set; } + /// Output only. When the Membership was deleted. + [Newtonsoft.Json.JsonPropertyAttribute("deleteTime")] + public virtual string DeleteTimeRaw + { + get => _deleteTimeRaw; + set + { + _deleteTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _deleteTimeRaw = value; + } + } - /// Prefix to prepend to user name. - [Newtonsoft.Json.JsonPropertyAttribute("userPrefix")] - public virtual string UserPrefix { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use DeleteTimeDateTimeOffset instead.")] + public virtual object DeleteTime + { + get => _deleteTime; + set + { + _deleteTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _deleteTime = value; + } + } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(DeleteTimeRaw); + set => DeleteTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// Configuration for the SAML Auth flow. - public class IdentityServiceSamlConfig : Google.Apis.Requests.IDirectResponseSchema - { /// - /// Optional. The mapping of additional user attributes like nickname, birthday and address etc.. `key` is the - /// name of this additional attribute. `value` is a string presenting as CEL(common expression language, go/cel) - /// used for getting the value from the resources. Take nickname as an example, in this case, `key` is - /// "attribute.nickname" and `value` is "assertion.nickname". + /// Output only. Description of this membership, limited to 63 characters. Must match the regex: `a-zA-Z0-9*` + /// This field is present for legacy purposes. /// - [Newtonsoft.Json.JsonPropertyAttribute("attributeMapping")] - public virtual System.Collections.Generic.IDictionary AttributeMapping { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } - /// Optional. Prefix to prepend to group name. - [Newtonsoft.Json.JsonPropertyAttribute("groupPrefix")] - public virtual string GroupPrefix { get; set; } + /// Optional. Endpoint information to reach this member. + [Newtonsoft.Json.JsonPropertyAttribute("endpoint")] + public virtual MembershipEndpoint Endpoint { get; set; } /// - /// Optional. The SAML attribute to read groups from. This value is expected to be a string and will be passed - /// along as-is (with the option of being prefixed by the `group_prefix`). + /// Optional. An externally-generated and managed ID for this Membership. This ID may be modified after + /// creation, but this is not recommended. The ID must match the regex: `a-zA-Z0-9*` If this Membership + /// represents a Kubernetes cluster, this value should be set to the UID of the `kube-system` namespace object. /// - [Newtonsoft.Json.JsonPropertyAttribute("groupsAttribute")] - public virtual string GroupsAttribute { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("externalId")] + public virtual string ExternalId { get; set; } - /// Required. The list of IdP certificates to validate the SAML response against. - [Newtonsoft.Json.JsonPropertyAttribute("identityProviderCertificates")] - public virtual System.Collections.Generic.IList IdentityProviderCertificates { get; set; } + /// + /// Optional. Labels for this membership. These labels are not leveraged by multi-cluster features, instead, we + /// prefer cluster labels, which can be set on GKE cluster or other cluster types. + /// + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } - /// Required. The entity ID of the SAML IdP. - [Newtonsoft.Json.JsonPropertyAttribute("identityProviderId")] - public virtual string IdentityProviderId { get; set; } + private string _lastConnectionTimeRaw; - /// Required. The URI where the SAML IdP exposes the SSO service. - [Newtonsoft.Json.JsonPropertyAttribute("identityProviderSsoUri")] - public virtual string IdentityProviderSsoUri { get; set; } + private object _lastConnectionTime; /// - /// Optional. The SAML attribute to read username from. If unspecified, the username will be read from the - /// NameID element of the assertion in SAML response. This value is expected to be a string and will be passed - /// along as-is (with the option of being prefixed by the `user_prefix`). + /// Output only. For clusters using Connect, the timestamp of the most recent connection established with Google + /// Cloud. This time is updated every several minutes, not continuously. For clusters that do not use GKE + /// Connect, or that have never connected successfully, this field will be unset. /// - [Newtonsoft.Json.JsonPropertyAttribute("userAttribute")] - public virtual string UserAttribute { get; set; } - - /// Optional. Prefix to prepend to user name. - [Newtonsoft.Json.JsonPropertyAttribute("userPrefix")] - public virtual string UserPrefix { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("lastConnectionTime")] + public virtual string LastConnectionTimeRaw + { + get => _lastConnectionTimeRaw; + set + { + _lastConnectionTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _lastConnectionTimeRaw = value; + } + } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use LastConnectionTimeDateTimeOffset instead.")] + public virtual object LastConnectionTime + { + get => _lastConnectionTime; + set + { + _lastConnectionTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _lastConnectionTime = value; + } + } - /// Server settings for the external LDAP server. - public class IdentityServiceServerConfig : Google.Apis.Requests.IDirectResponseSchema - { /// - /// Optional. Contains a Base64 encoded, PEM formatted certificate authority certificate for the LDAP server. - /// This must be provided for the "ldaps" and "startTLS" connections. + /// representation of . /// - [Newtonsoft.Json.JsonPropertyAttribute("certificateAuthorityData")] - public virtual string CertificateAuthorityData { get; set; } + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? LastConnectionTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(LastConnectionTimeRaw); + set => LastConnectionTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// Output only. The type of the membership. + [Newtonsoft.Json.JsonPropertyAttribute("membershipType")] + public virtual string MembershipType { get; set; } + + /// Optional. The monitoring config information for this membership. + [Newtonsoft.Json.JsonPropertyAttribute("monitoringConfig")] + public virtual MonitoringConfig MonitoringConfig { get; set; } /// - /// Optional. Defines the connection type to communicate with the LDAP server. If `starttls` or `ldaps` is - /// specified, the certificate_authority_data should not be empty. + /// Output only. The full, unique name of this Membership resource in the format + /// `projects/*/locations/*/memberships/{membership_id}`, set during creation. `membership_id` must be a valid + /// RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case + /// alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which can be + /// expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters. /// - [Newtonsoft.Json.JsonPropertyAttribute("connectionType")] - public virtual string ConnectionType { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. State of the Membership resource. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual MembershipState State { get; set; } /// - /// Required. Defines the hostname or IP of the LDAP server. Port is optional and will default to 389, if - /// unspecified. For example, "ldap.server.example" or "10.10.10.10:389". + /// Output only. Google-generated UUID for this resource. This is unique across all Membership resources. If a + /// Membership resource is deleted and another resource with the same name is created, it gets a different + /// unique_id. /// - [Newtonsoft.Json.JsonPropertyAttribute("host")] - public virtual string Host { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("uniqueId")] + public virtual string UniqueId { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + private string _updateTimeRaw; - /// - /// Contains the credentials of the service account which is authorized to perform the LDAP search in the directory. - /// The credentials can be supplied by the combination of the DN and password or the client certificate. - /// - public class IdentityServiceServiceAccountConfig : Google.Apis.Requests.IDirectResponseSchema - { - /// Credentials for basic auth. - [Newtonsoft.Json.JsonPropertyAttribute("simpleBindCredentials")] - public virtual IdentityServiceSimpleBindCredentials SimpleBindCredentials { get; set; } + private object _updateTime; + + /// Output only. When the Membership was last updated. + [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] + public virtual string UpdateTimeRaw + { + get => _updateTimeRaw; + set + { + _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _updateTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] + public virtual object UpdateTime + { + get => _updateTime; + set + { + _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _updateTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); + set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } /// The ETag of the item. public virtual string ETag { get; set; } } - /// The structure holds the LDAP simple binding credential. - public class IdentityServiceSimpleBindCredentials : Google.Apis.Requests.IDirectResponseSchema + /// + /// MembershipBinding is a subresource of a Membership, representing what Fleet Scopes (or other, future Fleet + /// resources) a Membership is bound to. + /// + public class MembershipBinding : Google.Apis.Requests.IDirectResponseSchema { - /// Required. The distinguished name(DN) of the service account object/user. - [Newtonsoft.Json.JsonPropertyAttribute("dn")] - public virtual string Dn { get; set; } + private string _createTimeRaw; - /// Output only. The encrypted password of the service account object/user. - [Newtonsoft.Json.JsonPropertyAttribute("encryptedPassword")] - public virtual string EncryptedPassword { get; set; } + private object _createTime; - /// Required. Input only. The password of the service account object/user. - [Newtonsoft.Json.JsonPropertyAttribute("password")] - public virtual string Password { get; set; } + /// Output only. When the membership binding was created. + [Newtonsoft.Json.JsonPropertyAttribute("createTime")] + public virtual string CreateTimeRaw + { + get => _createTimeRaw; + set + { + _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _createTimeRaw = value; + } + } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] + public virtual object CreateTime + { + get => _createTime; + set + { + _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _createTime = value; + } + } - /// Defines where users exist in the LDAP directory. - public class IdentityServiceUserConfig : Google.Apis.Requests.IDirectResponseSchema - { - /// Required. The location of the subtree in the LDAP directory to search for user entries. - [Newtonsoft.Json.JsonPropertyAttribute("baseDn")] - public virtual string BaseDn { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CreateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); + set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// - /// Optional. Filter to apply when searching for the user. This can be used to further restrict the user - /// accounts which are allowed to login. This defaults to "(objectClass=User)". - /// - [Newtonsoft.Json.JsonPropertyAttribute("filter")] - public virtual string Filter { get; set; } + private string _deleteTimeRaw; - /// - /// Optional. Determines which attribute to use as the user's identity after they are authenticated. This is - /// distinct from the loginAttribute field to allow users to login with a username, but then have their actual - /// identifier be an email address or full Distinguished Name (DN). For example, setting loginAttribute to - /// "sAMAccountName" and identifierAttribute to "userPrincipalName" would allow a user to login as "bsmith", but - /// actual RBAC policies for the user would be written as "bsmith@example.com". Using "userPrincipalName" is - /// recommended since this will be unique for each user. This defaults to "userPrincipalName". - /// - [Newtonsoft.Json.JsonPropertyAttribute("idAttribute")] - public virtual string IdAttribute { get; set; } + private object _deleteTime; - /// - /// Optional. The name of the attribute which matches against the input username. This is used to find the user - /// in the LDAP database e.g. "(=)" and is combined with the optional filter field. This defaults to - /// "userPrincipalName". - /// - [Newtonsoft.Json.JsonPropertyAttribute("loginAttribute")] - public virtual string LoginAttribute { get; set; } + /// Output only. When the membership binding was deleted. + [Newtonsoft.Json.JsonPropertyAttribute("deleteTime")] + public virtual string DeleteTimeRaw + { + get => _deleteTimeRaw; + set + { + _deleteTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _deleteTimeRaw = value; + } + } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use DeleteTimeDateTimeOffset instead.")] + public virtual object DeleteTime + { + get => _deleteTime; + set + { + _deleteTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _deleteTime = value; + } + } - /// - /// KubernetesMetadata provides informational metadata for Memberships representing Kubernetes clusters. - /// - public class KubernetesMetadata : Google.Apis.Requests.IDirectResponseSchema - { - /// Output only. Kubernetes API server version string as reported by `/version`. - [Newtonsoft.Json.JsonPropertyAttribute("kubernetesApiServerVersion")] - public virtual string KubernetesApiServerVersion { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(DeleteTimeRaw); + set => DeleteTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// Optional. Labels for this MembershipBinding. + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } /// - /// Output only. The total memory capacity as reported by the sum of all Kubernetes nodes resources, defined in - /// MB. + /// The resource name for the membershipbinding itself + /// `projects/{project}/locations/{location}/memberships/{membership}/bindings/{membershipbinding}` /// - [Newtonsoft.Json.JsonPropertyAttribute("memoryMb")] - public virtual System.Nullable MemoryMb { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } - /// Output only. Node count as reported by Kubernetes nodes resources. - [Newtonsoft.Json.JsonPropertyAttribute("nodeCount")] - public virtual System.Nullable NodeCount { get; set; } + /// A Scope resource name in the format `projects/*/locations/*/scopes/*`. + [Newtonsoft.Json.JsonPropertyAttribute("scope")] + public virtual string Scope { get; set; } + + /// Output only. State of the membership binding resource. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual MembershipBindingLifecycleState State { get; set; } /// - /// Output only. Node providerID as reported by the first node in the list of nodes on the Kubernetes endpoint. - /// On Kubernetes platforms that support zero-node clusters (like GKE-on-GCP), the node_count will be zero and - /// the node_provider_id will be empty. + /// Output only. Google-generated UUID for this resource. This is unique across all membershipbinding resources. + /// If a membershipbinding resource is deleted and another resource with the same name is created, it gets a + /// different uid. /// - [Newtonsoft.Json.JsonPropertyAttribute("nodeProviderId")] - public virtual string NodeProviderId { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("uid")] + public virtual string Uid { get; set; } private string _updateTimeRaw; private object _updateTime; - /// - /// Output only. The time at which these details were last updated. This update_time is different from the - /// Membership-level update_time since EndpointDetails are updated internally for API consumers. - /// + /// Output only. When the membership binding was last updated. [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] public virtual string UpdateTimeRaw { @@ -8384,583 +9708,336 @@ public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); } - /// Output only. vCPU count as reported by Kubernetes nodes resources. - [Newtonsoft.Json.JsonPropertyAttribute("vcpuCount")] - public virtual System.Nullable VcpuCount { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// - /// KubernetesResource contains the YAML manifests and configuration for Membership Kubernetes resources in the - /// cluster. After CreateMembership or UpdateMembership, these resources should be re-applied in the cluster. - /// - public class KubernetesResource : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// Output only. The Kubernetes resources for installing the GKE Connect agent This field is only populated in - /// the Membership returned from a successful long-running operation from CreateMembership or UpdateMembership. - /// It is not populated during normal GetMembership or ListMemberships requests. To get the resource manifest - /// after the initial registration, the caller should make a UpdateMembership call with an empty field mask. - /// - [Newtonsoft.Json.JsonPropertyAttribute("connectResources")] - public virtual System.Collections.Generic.IList ConnectResources { get; set; } - - /// - /// Input only. The YAML representation of the Membership CR. This field is ignored for GKE clusters where Hub - /// can read the CR directly. Callers should provide the CR that is currently present in the cluster during - /// CreateMembership or UpdateMembership, or leave this field empty if none exists. The CR manifest is used to - /// validate the cluster has not been registered with another Membership. - /// - [Newtonsoft.Json.JsonPropertyAttribute("membershipCrManifest")] - public virtual string MembershipCrManifest { get; set; } - - /// - /// Output only. Additional Kubernetes resources that need to be applied to the cluster after Membership - /// creation, and after every update. This field is only populated in the Membership returned from a successful - /// long-running operation from CreateMembership or UpdateMembership. It is not populated during normal - /// GetMembership or ListMemberships requests. To get the resource manifest after the initial registration, the - /// caller should make a UpdateMembership call with an empty field mask. - /// - [Newtonsoft.Json.JsonPropertyAttribute("membershipResources")] - public virtual System.Collections.Generic.IList MembershipResources { get; set; } - - /// Optional. Options for Kubernetes resource generation. - [Newtonsoft.Json.JsonPropertyAttribute("resourceOptions")] - public virtual ResourceOptions ResourceOptions { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// Response message for the `GkeHub.ListAdminClusterMemberships` method. - public class ListAdminClusterMembershipsResponse : Google.Apis.Requests.IDirectResponseSchema - { - /// The list of matching Memberships of admin clusters. - [Newtonsoft.Json.JsonPropertyAttribute("adminClusterMemberships")] - public virtual System.Collections.Generic.IList AdminClusterMemberships { get; set; } - - /// - /// A token to request the next page of resources from the `ListAdminClusterMemberships` method. The value of an - /// empty string means that there are no more resources to return. - /// - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } - - /// List of locations that could not be reached while fetching this list. - [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] - public virtual System.Collections.Generic.IList Unreachable { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// List of Memberships bound to a Scope. - public class ListBoundMembershipsResponse : Google.Apis.Requests.IDirectResponseSchema - { - /// The list of Memberships bound to the given Scope. - [Newtonsoft.Json.JsonPropertyAttribute("memberships")] - public virtual System.Collections.Generic.IList Memberships { get; set; } - - /// - /// A token to request the next page of resources from the `ListBoundMemberships` method. The value of an empty - /// string means that there are no more resources to return. - /// - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } - - /// List of locations that could not be reached while fetching this list. - [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] - public virtual System.Collections.Generic.IList Unreachable { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// Response message for the `GkeHub.ListFeatures` method. - public class ListFeaturesResponse : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// A token to request the next page of resources from the `ListFeatures` method. The value of an empty string - /// means that there are no more resources to return. - /// - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } - - /// The list of matching Features - [Newtonsoft.Json.JsonPropertyAttribute("resources")] - public virtual System.Collections.Generic.IList Resources { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// Response message for the `GkeHub.ListFleetsResponse` method. - public class ListFleetsResponse : Google.Apis.Requests.IDirectResponseSchema - { - /// The list of matching fleets. - [Newtonsoft.Json.JsonPropertyAttribute("fleets")] - public virtual System.Collections.Generic.IList Fleets { get; set; } - - /// - /// A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no - /// subsequent pages. The token is only valid for 1h. - /// - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// The response message for Locations.ListLocations. - public class ListLocationsResponse : Google.Apis.Requests.IDirectResponseSchema - { - /// A list of locations that matches the specified filter in the request. - [Newtonsoft.Json.JsonPropertyAttribute("locations")] - public virtual System.Collections.Generic.IList Locations { get; set; } - - /// The standard List next-page token. - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// List of MembershipBindings. - public class ListMembershipBindingsResponse : Google.Apis.Requests.IDirectResponseSchema - { - /// The list of membership_bindings - [Newtonsoft.Json.JsonPropertyAttribute("membershipBindings")] - public virtual System.Collections.Generic.IList MembershipBindings { get; set; } - - /// - /// A token to request the next page of resources from the `ListMembershipBindings` method. The value of an - /// empty string means that there are no more resources to return. - /// - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } - - /// List of locations that could not be reached while fetching this list. - [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] - public virtual System.Collections.Generic.IList Unreachable { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// List of Membership RBACRoleBindings. - public class ListMembershipRBACRoleBindingsResponse : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// A token to request the next page of resources from the `ListMembershipRBACRoleBindings` method. The value of - /// an empty string means that there are no more resources to return. - /// - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } - - /// The list of Membership RBACRoleBindings. - [Newtonsoft.Json.JsonPropertyAttribute("rbacrolebindings")] - public virtual System.Collections.Generic.IList Rbacrolebindings { get; set; } - - /// List of locations that could not be reached while fetching this list. - [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] - public virtual System.Collections.Generic.IList Unreachable { get; set; } - /// The ETag of the item. public virtual string ETag { get; set; } } - /// Response message for the `GkeHub.ListMemberships` method. - public class ListMembershipsResponse : Google.Apis.Requests.IDirectResponseSchema + /// MembershipBindingLifecycleState describes the state of a Binding resource. + public class MembershipBindingLifecycleState : Google.Apis.Requests.IDirectResponseSchema { - /// - /// A token to request the next page of resources from the `ListMemberships` method. The value of an empty - /// string means that there are no more resources to return. - /// - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } - - /// The list of matching Memberships. - [Newtonsoft.Json.JsonPropertyAttribute("resources")] - public virtual System.Collections.Generic.IList Resources { get; set; } - - /// List of locations that could not be reached while fetching this list. - [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] - public virtual System.Collections.Generic.IList Unreachable { get; set; } + /// Output only. The current state of the MembershipBinding resource. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// The response message for Operations.ListOperations. - public class ListOperationsResponse : Google.Apis.Requests.IDirectResponseSchema + /// + /// MembershipEndpoint contains information needed to contact a Kubernetes API, endpoint and any additional + /// Kubernetes metadata. + /// + public class MembershipEndpoint : Google.Apis.Requests.IDirectResponseSchema { - /// The standard List next-page token. - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } + /// Optional. Specific information for a GDC Edge Appliance cluster. + [Newtonsoft.Json.JsonPropertyAttribute("applianceCluster")] + public virtual ApplianceCluster ApplianceCluster { get; set; } - /// A list of operations that matches the specified filter in the request. - [Newtonsoft.Json.JsonPropertyAttribute("operations")] - public virtual System.Collections.Generic.IList Operations { get; set; } + /// Optional. Specific information for a Google Edge cluster. + [Newtonsoft.Json.JsonPropertyAttribute("edgeCluster")] + public virtual EdgeCluster EdgeCluster { get; set; } + + /// Optional. Specific information for a GKE-on-GCP cluster. + [Newtonsoft.Json.JsonPropertyAttribute("gkeCluster")] + public virtual GkeCluster GkeCluster { get; set; } /// - /// Unordered list. Unreachable resources. Populated when the request sets - /// `ListOperationsRequest.return_partial_success` and reads across collections e.g. when attempting to list all - /// resources across all supported locations. + /// Output only. Whether the lifecycle of this membership is managed by a google cluster platform service. /// - [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] - public virtual System.Collections.Generic.IList Unreachable { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("googleManaged")] + public virtual System.Nullable GoogleManaged { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Output only. Useful Kubernetes-specific metadata. + [Newtonsoft.Json.JsonPropertyAttribute("kubernetesMetadata")] + public virtual KubernetesMetadata KubernetesMetadata { get; set; } - /// List of permitted Scopes. - public class ListPermittedScopesResponse : Google.Apis.Requests.IDirectResponseSchema - { /// - /// A token to request the next page of resources from the `ListPermittedScopes` method. The value of an empty - /// string means that there are no more resources to return. + /// Optional. The in-cluster Kubernetes Resources that should be applied for a correctly registered cluster, in + /// the steady state. These resources: * Ensure that the cluster is exclusively registered to one and only one + /// Hub Membership. * Propagate Workload Pool Information available in the Membership Authority field. * Ensure + /// proper initial configuration of default Hub Features. /// - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } - - /// The list of permitted Scopes - [Newtonsoft.Json.JsonPropertyAttribute("scopes")] - public virtual System.Collections.Generic.IList Scopes { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("kubernetesResource")] + public virtual KubernetesResource KubernetesResource { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Optional. Specific information for a GKE Multi-Cloud cluster. + [Newtonsoft.Json.JsonPropertyAttribute("multiCloudCluster")] + public virtual MultiCloudCluster MultiCloudCluster { get; set; } - /// List of fleet namespaces. - public class ListScopeNamespacesResponse : Google.Apis.Requests.IDirectResponseSchema - { /// - /// A token to request the next page of resources from the `ListNamespaces` method. The value of an empty string - /// means that there are no more resources to return. + /// Optional. Specific information for a GKE On-Prem cluster. An onprem user-cluster who has no resourceLink is + /// not allowed to use this field, it should have a nil "type" instead. /// - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } - - /// The list of fleet namespaces - [Newtonsoft.Json.JsonPropertyAttribute("scopeNamespaces")] - public virtual System.Collections.Generic.IList ScopeNamespaces { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("onPremCluster")] + public virtual OnPremCluster OnPremCluster { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// List of Scope RBACRoleBindings. - public class ListScopeRBACRoleBindingsResponse : Google.Apis.Requests.IDirectResponseSchema + /// MembershipFeatureSpec contains configuration information for a single Membership. + public class MembershipFeatureSpec : Google.Apis.Requests.IDirectResponseSchema { - /// - /// A token to request the next page of resources from the `ListScopeRBACRoleBindings` method. The value of an - /// empty string means that there are no more resources to return. - /// - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } + /// Cloud Build-specific spec + [Newtonsoft.Json.JsonPropertyAttribute("cloudbuild")] + public virtual CloudBuildMembershipSpec Cloudbuild { get; set; } - /// The list of Scope RBACRoleBindings. - [Newtonsoft.Json.JsonPropertyAttribute("rbacrolebindings")] - public virtual System.Collections.Generic.IList Rbacrolebindings { get; set; } + /// Config Management-specific spec. + [Newtonsoft.Json.JsonPropertyAttribute("configmanagement")] + public virtual ConfigManagementMembershipSpec Configmanagement { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Fleet observability membership spec + [Newtonsoft.Json.JsonPropertyAttribute("fleetobservability")] + public virtual FleetObservabilityMembershipSpec Fleetobservability { get; set; } + + /// Identity Service-specific spec. + [Newtonsoft.Json.JsonPropertyAttribute("identityservice")] + public virtual IdentityServiceMembershipSpec Identityservice { get; set; } + + /// Anthos Service Mesh-specific spec + [Newtonsoft.Json.JsonPropertyAttribute("mesh")] + public virtual ServiceMeshMembershipSpec Mesh { get; set; } + + /// FNS Actuation membership spec + [Newtonsoft.Json.JsonPropertyAttribute("namespaceactuation")] + public virtual NamespaceActuationMembershipSpec Namespaceactuation { get; set; } - /// List of Scopes. - public class ListScopesResponse : Google.Apis.Requests.IDirectResponseSchema - { /// - /// A token to request the next page of resources from the `ListScopes` method. The value of an empty string - /// means that there are no more resources to return. + /// Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by + /// users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. /// - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("origin")] + public virtual Origin Origin { get; set; } - /// The list of Scopes - [Newtonsoft.Json.JsonPropertyAttribute("scopes")] - public virtual System.Collections.Generic.IList Scopes { get; set; } + /// Policy Controller spec. + [Newtonsoft.Json.JsonPropertyAttribute("policycontroller")] + public virtual PolicyControllerMembershipSpec Policycontroller { get; set; } + + /// Workload Certificate spec. + [Newtonsoft.Json.JsonPropertyAttribute("workloadcertificate")] + public virtual MembershipSpec Workloadcertificate { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// A resource that represents a Google Cloud location. - public class Location : Google.Apis.Requests.IDirectResponseSchema + /// MembershipFeatureState contains Feature status information for a single Membership. + public class MembershipFeatureState : Google.Apis.Requests.IDirectResponseSchema { - /// The friendly name for this location, typically a nearby city name. For example, "Tokyo". - [Newtonsoft.Json.JsonPropertyAttribute("displayName")] - public virtual string DisplayName { get; set; } + /// Appdevexperience specific state. + [Newtonsoft.Json.JsonPropertyAttribute("appdevexperience")] + public virtual AppDevExperienceFeatureState Appdevexperience { get; set; } - /// - /// Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} - /// - [Newtonsoft.Json.JsonPropertyAttribute("labels")] - public virtual System.Collections.Generic.IDictionary Labels { get; set; } + /// ClusterUpgrade state. + [Newtonsoft.Json.JsonPropertyAttribute("clusterupgrade")] + public virtual ClusterUpgradeMembershipState Clusterupgrade { get; set; } - /// The canonical id for this location. For example: `"us-east1"`. - [Newtonsoft.Json.JsonPropertyAttribute("locationId")] - public virtual string LocationId { get; set; } + /// Config Management-specific state. + [Newtonsoft.Json.JsonPropertyAttribute("configmanagement")] + public virtual ConfigManagementMembershipState Configmanagement { get; set; } - /// Service-specific metadata. For example the available capacity at the given location. - [Newtonsoft.Json.JsonPropertyAttribute("metadata")] - public virtual System.Collections.Generic.IDictionary Metadata { get; set; } + /// Fleet observability membership state. + [Newtonsoft.Json.JsonPropertyAttribute("fleetobservability")] + public virtual FleetObservabilityMembershipState Fleetobservability { get; set; } - /// - /// Resource name for the location, which may vary between implementations. For example: - /// `"projects/example-project/locations/us-east1"` - /// - [Newtonsoft.Json.JsonPropertyAttribute("name")] - public virtual string Name { get; set; } + /// Identity Service-specific state. + [Newtonsoft.Json.JsonPropertyAttribute("identityservice")] + public virtual IdentityServiceMembershipState Identityservice { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Metering-specific state. + [Newtonsoft.Json.JsonPropertyAttribute("metering")] + public virtual MeteringMembershipState Metering { get; set; } - /// Membership contains information about a member cluster. - public class Membership : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// Optional. How to identify workloads from this Membership. See the documentation on Workload Identity for - /// more details: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity - /// - [Newtonsoft.Json.JsonPropertyAttribute("authority")] - public virtual Authority Authority { get; set; } + /// FNS Actuation membership state + [Newtonsoft.Json.JsonPropertyAttribute("namespaceactuation")] + public virtual NamespaceActuationMembershipState Namespaceactuation { get; set; } - /// Output only. The tier of the cluster. - [Newtonsoft.Json.JsonPropertyAttribute("clusterTier")] - public virtual string ClusterTier { get; set; } + /// Policycontroller-specific state. + [Newtonsoft.Json.JsonPropertyAttribute("policycontroller")] + public virtual PolicyControllerMembershipState Policycontroller { get; set; } - private string _createTimeRaw; + /// Service Mesh-specific state. + [Newtonsoft.Json.JsonPropertyAttribute("servicemesh")] + public virtual ServiceMeshMembershipState Servicemesh { get; set; } - private object _createTime; + /// The high-level state of this Feature for a single membership. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual FeatureState State { get; set; } - /// Output only. When the Membership was created. - [Newtonsoft.Json.JsonPropertyAttribute("createTime")] - public virtual string CreateTimeRaw - { - get => _createTimeRaw; - set - { - _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _createTimeRaw = value; - } - } + /// Workload Identity membership specific state. + [Newtonsoft.Json.JsonPropertyAttribute("workloadidentity")] + public virtual WorkloadIdentityMembershipState Workloadidentity { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] - public virtual object CreateTime - { - get => _createTime; - set - { - _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _createTime = value; - } - } + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// **Workload Certificate**: The membership-specific input for WorkloadCertificate feature. + public class MembershipSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// Specifies workload certificate management. + [Newtonsoft.Json.JsonPropertyAttribute("certificateManagement")] + public virtual string CertificateManagement { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? CreateTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); - set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - private string _deleteTimeRaw; + /// MembershipState describes the state of a Membership resource. + public class MembershipState : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The current state of the Membership resource. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } - private object _deleteTime; + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// Output only. When the Membership was deleted. - [Newtonsoft.Json.JsonPropertyAttribute("deleteTime")] - public virtual string DeleteTimeRaw + /// **Metering**: Per-Membership Feature State. + public class MeteringMembershipState : Google.Apis.Requests.IDirectResponseSchema + { + private string _lastMeasurementTimeRaw; + + private object _lastMeasurementTime; + + /// The time stamp of the most recent measurement of the number of vCPUs in the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("lastMeasurementTime")] + public virtual string LastMeasurementTimeRaw { - get => _deleteTimeRaw; + get => _lastMeasurementTimeRaw; set { - _deleteTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _deleteTimeRaw = value; + _lastMeasurementTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _lastMeasurementTimeRaw = value; } } - /// representation of . + /// representation of . [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use DeleteTimeDateTimeOffset instead.")] - public virtual object DeleteTime + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use LastMeasurementTimeDateTimeOffset instead.")] + public virtual object LastMeasurementTime { - get => _deleteTime; + get => _lastMeasurementTime; set { - _deleteTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _deleteTime = value; + _lastMeasurementTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _lastMeasurementTime = value; } } - /// representation of . + /// + /// representation of . + /// [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset + public virtual System.DateTimeOffset? LastMeasurementTimeDateTimeOffset { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(DeleteTimeRaw); - set => DeleteTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(LastMeasurementTimeRaw); + set => LastMeasurementTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); } /// - /// Output only. Description of this membership, limited to 63 characters. Must match the regex: `a-zA-Z0-9*` - /// This field is present for legacy purposes. + /// The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision). /// - [Newtonsoft.Json.JsonPropertyAttribute("description")] - public virtual string Description { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("preciseLastMeasuredClusterVcpuCapacity")] + public virtual System.Nullable PreciseLastMeasuredClusterVcpuCapacity { get; set; } - /// Optional. Endpoint information to reach this member. - [Newtonsoft.Json.JsonPropertyAttribute("endpoint")] - public virtual MembershipEndpoint Endpoint { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// + /// MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is + /// reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to + /// prevent accidentally breaking the constinousty of metrics. + /// + public class MonitoringConfig : Google.Apis.Requests.IDirectResponseSchema + { /// - /// Optional. An externally-generated and managed ID for this Membership. This ID may be modified after - /// creation, but this is not recommended. The ID must match the regex: `a-zA-Z0-9*` If this Membership - /// represents a Kubernetes cluster, this value should be set to the UID of the `kube-system` namespace object. + /// Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would + /// be in format {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1". /// - [Newtonsoft.Json.JsonPropertyAttribute("externalId")] - public virtual string ExternalId { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("cluster")] + public virtual string Cluster { get; set; } /// - /// Optional. Labels for this membership. These labels are not leveraged by multi-cluster features, instead, we - /// prefer cluster labels, which can be set on GKE cluster or other cluster types. + /// Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and + /// Baremetal clusters, this is the kube-system UID. /// - [Newtonsoft.Json.JsonPropertyAttribute("labels")] - public virtual System.Collections.Generic.IDictionary Labels { get; set; } - - private string _lastConnectionTimeRaw; - - private object _lastConnectionTime; + [Newtonsoft.Json.JsonPropertyAttribute("clusterHash")] + public virtual string ClusterHash { get; set; } /// - /// Output only. For clusters using Connect, the timestamp of the most recent connection established with Google - /// Cloud. This time is updated every several minutes, not continuously. For clusters that do not use GKE - /// Connect, or that have never connected successfully, this field will be unset. + /// Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to + /// kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have + /// kubernetes.io prefix today but will migration to be under kubernetes.io/anthos. /// - [Newtonsoft.Json.JsonPropertyAttribute("lastConnectionTime")] - public virtual string LastConnectionTimeRaw - { - get => _lastConnectionTimeRaw; - set - { - _lastConnectionTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _lastConnectionTimeRaw = value; - } - } - - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use LastConnectionTimeDateTimeOffset instead.")] - public virtual object LastConnectionTime - { - get => _lastConnectionTime; - set - { - _lastConnectionTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _lastConnectionTime = value; - } - } + [Newtonsoft.Json.JsonPropertyAttribute("kubernetesMetricsPrefix")] + public virtual string KubernetesMetricsPrefix { get; set; } - /// - /// representation of . - /// - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? LastConnectionTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(LastConnectionTimeRaw); - set => LastConnectionTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + /// Optional. Location used to report Metrics + [Newtonsoft.Json.JsonPropertyAttribute("location")] + public virtual string Location { get; set; } - /// Output only. The type of the membership. - [Newtonsoft.Json.JsonPropertyAttribute("membershipType")] - public virtual string MembershipType { get; set; } + /// Optional. Project used to report Metrics + [Newtonsoft.Json.JsonPropertyAttribute("projectId")] + public virtual string ProjectId { get; set; } - /// Optional. The monitoring config information for this membership. - [Newtonsoft.Json.JsonPropertyAttribute("monitoringConfig")] - public virtual MonitoringConfig MonitoringConfig { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// MultiCloudCluster contains information specific to GKE Multi-Cloud clusters. + public class MultiCloudCluster : Google.Apis.Requests.IDirectResponseSchema + { /// - /// Output only. The full, unique name of this Membership resource in the format - /// `projects/*/locations/*/memberships/{membership_id}`, set during creation. `membership_id` must be a valid - /// RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case - /// alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which can be - /// expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters. + /// Output only. If cluster_missing is set then it denotes that API(gkemulticloud.googleapis.com) resource for + /// this GKE Multi-Cloud cluster no longer exists. /// - [Newtonsoft.Json.JsonPropertyAttribute("name")] - public virtual string Name { get; set; } - - /// Output only. State of the Membership resource. - [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual MembershipState State { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("clusterMissing")] + public virtual System.Nullable ClusterMissing { get; set; } /// - /// Output only. Google-generated UUID for this resource. This is unique across all Membership resources. If a - /// Membership resource is deleted and another resource with the same name is created, it gets a different - /// unique_id. + /// Immutable. Self-link of the Google Cloud resource for the GKE Multi-Cloud cluster. For example: + /// //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsClusters/my-cluster + /// //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azureClusters/my-cluster + /// //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attachedClusters/my-cluster /// - [Newtonsoft.Json.JsonPropertyAttribute("uniqueId")] - public virtual string UniqueId { get; set; } - - private string _updateTimeRaw; - - private object _updateTime; + [Newtonsoft.Json.JsonPropertyAttribute("resourceLink")] + public virtual string ResourceLink { get; set; } - /// Output only. When the Membership was last updated. - [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] - public virtual string UpdateTimeRaw - { - get => _updateTimeRaw; - set - { - _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _updateTimeRaw = value; - } - } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] - public virtual object UpdateTime - { - get => _updateTime; - set - { - _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _updateTime = value; - } - } + /// **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. + public class MultiClusterIngressFeatureSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Deprecated: This field will be ignored and should not be set. Customer's billing structure. + /// + [Newtonsoft.Json.JsonPropertyAttribute("billing")] + public virtual string Billing { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); - set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + /// + /// Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: + /// `projects/foo-proj/locations/global/memberships/bar` + /// + [Newtonsoft.Json.JsonPropertyAttribute("configMembership")] + public virtual string ConfigMembership { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// - /// MembershipBinding is a subresource of a Membership, representing what Fleet Scopes (or other, future Fleet - /// resources) a Membership is bound to. - /// - public class MembershipBinding : Google.Apis.Requests.IDirectResponseSchema + /// Namespace represents a namespace across the Fleet + public class Namespace : Google.Apis.Requests.IDirectResponseSchema { private string _createTimeRaw; private object _createTime; - /// Output only. When the membership binding was created. + /// Output only. When the namespace was created. [Newtonsoft.Json.JsonPropertyAttribute("createTime")] public virtual string CreateTimeRaw { @@ -8997,7 +10074,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset private object _deleteTime; - /// Output only. When the membership binding was deleted. + /// Output only. When the namespace was deleted. [Newtonsoft.Json.JsonPropertyAttribute("deleteTime")] public virtual string DeleteTimeRaw { @@ -9030,29 +10107,36 @@ public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset set => DeleteTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); } - /// Optional. Labels for this MembershipBinding. + /// Optional. Labels for this Namespace. [Newtonsoft.Json.JsonPropertyAttribute("labels")] public virtual System.Collections.Generic.IDictionary Labels { get; set; } /// - /// The resource name for the membershipbinding itself - /// `projects/{project}/locations/{location}/memberships/{membership}/bindings/{membershipbinding}` + /// The resource name for the namespace `projects/{project}/locations/{location}/namespaces/{namespace}` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } - /// A Scope resource name in the format `projects/*/locations/*/scopes/*`. + /// + /// Optional. Namespace-level cluster namespace labels. These labels are applied to the related namespace of the + /// member clusters bound to the parent Scope. Scope-level labels (`namespace_labels` in the Fleet Scope + /// resource) take precedence over Namespace-level labels if they share a key. Keys and values must be + /// Kubernetes-conformant. + /// + [Newtonsoft.Json.JsonPropertyAttribute("namespaceLabels")] + public virtual System.Collections.Generic.IDictionary NamespaceLabels { get; set; } + + /// Required. Scope associated with the namespace [Newtonsoft.Json.JsonPropertyAttribute("scope")] public virtual string Scope { get; set; } - /// Output only. State of the membership binding resource. + /// Output only. State of the namespace resource. [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual MembershipBindingLifecycleState State { get; set; } + public virtual NamespaceLifecycleState State { get; set; } /// - /// Output only. Google-generated UUID for this resource. This is unique across all membershipbinding resources. - /// If a membershipbinding resource is deleted and another resource with the same name is created, it gets a - /// different uid. + /// Output only. Google-generated UUID for this resource. This is unique across all namespace resources. If a + /// namespace resource is deleted and another resource with the same name is created, it gets a different uid. /// [Newtonsoft.Json.JsonPropertyAttribute("uid")] public virtual string Uid { get; set; } @@ -9061,7 +10145,7 @@ public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset private object _updateTime; - /// Output only. When the membership binding was last updated. + /// Output only. When the namespace was last updated. [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] public virtual string UpdateTimeRaw { @@ -9098,10 +10182,42 @@ public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset public virtual string ETag { get; set; } } - /// MembershipBindingLifecycleState describes the state of a Binding resource. - public class MembershipBindingLifecycleState : Google.Apis.Requests.IDirectResponseSchema + /// An empty spec for actuation feature. This is required since Feature proto requires a spec. + public class NamespaceActuationFeatureSpec : Google.Apis.Requests.IDirectResponseSchema { - /// Output only. The current state of the MembershipBinding resource. + /// actuation_mode controls the behavior of the controller + [Newtonsoft.Json.JsonPropertyAttribute("actuationMode")] + public virtual string ActuationMode { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// NamespaceActuation Feature State. + public class NamespaceActuationFeatureState : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// **Namespace Actuation**: The membership-specific input for NamespaceActuation feature. + public class NamespaceActuationMembershipSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// **Namespace Actuation**: An empty state left as an example membership-specific Feature state. + public class NamespaceActuationMembershipState : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// NamespaceLifecycleState describes the state of a Namespace resource. + public class NamespaceLifecycleState : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The current state of the Namespace resource. [Newtonsoft.Json.JsonPropertyAttribute("code")] public virtual string Code { get; set; } @@ -9109,601 +10225,574 @@ public class MembershipBindingLifecycleState : Google.Apis.Requests.IDirectRespo public virtual string ETag { get; set; } } - /// - /// MembershipEndpoint contains information needed to contact a Kubernetes API, endpoint and any additional - /// Kubernetes metadata. - /// - public class MembershipEndpoint : Google.Apis.Requests.IDirectResponseSchema + /// OnPremCluster contains information specific to GKE On-Prem clusters. + public class OnPremCluster : Google.Apis.Requests.IDirectResponseSchema { - /// Optional. Specific information for a GDC Edge Appliance cluster. - [Newtonsoft.Json.JsonPropertyAttribute("applianceCluster")] - public virtual ApplianceCluster ApplianceCluster { get; set; } + /// Immutable. Whether the cluster is an admin cluster. + [Newtonsoft.Json.JsonPropertyAttribute("adminCluster")] + public virtual System.Nullable AdminCluster { get; set; } - /// Optional. Specific information for a Google Edge cluster. - [Newtonsoft.Json.JsonPropertyAttribute("edgeCluster")] - public virtual EdgeCluster EdgeCluster { get; set; } + /// + /// Output only. If cluster_missing is set then it denotes that API(gkeonprem.googleapis.com) resource for this + /// GKE On-Prem cluster no longer exists. + /// + [Newtonsoft.Json.JsonPropertyAttribute("clusterMissing")] + public virtual System.Nullable ClusterMissing { get; set; } - /// Optional. Specific information for a GKE-on-GCP cluster. - [Newtonsoft.Json.JsonPropertyAttribute("gkeCluster")] - public virtual GkeCluster GkeCluster { get; set; } + /// Immutable. The on prem cluster's type. + [Newtonsoft.Json.JsonPropertyAttribute("clusterType")] + public virtual string ClusterType { get; set; } /// - /// Output only. Whether the lifecycle of this membership is managed by a google cluster platform service. + /// Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster. For example: + /// //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster + /// //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster /// - [Newtonsoft.Json.JsonPropertyAttribute("googleManaged")] - public virtual System.Nullable GoogleManaged { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("resourceLink")] + public virtual string ResourceLink { get; set; } - /// Output only. Useful Kubernetes-specific metadata. - [Newtonsoft.Json.JsonPropertyAttribute("kubernetesMetadata")] - public virtual KubernetesMetadata KubernetesMetadata { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// This resource represents a long-running operation that is the result of a network API call. + public class Operation : Google.Apis.Requests.IDirectResponseSchema + { /// - /// Optional. The in-cluster Kubernetes Resources that should be applied for a correctly registered cluster, in - /// the steady state. These resources: * Ensure that the cluster is exclusively registered to one and only one - /// Hub Membership. * Propagate Workload Pool Information available in the Membership Authority field. * Ensure - /// proper initial configuration of default Hub Features. + /// 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. /// - [Newtonsoft.Json.JsonPropertyAttribute("kubernetesResource")] - public virtual KubernetesResource KubernetesResource { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("done")] + public virtual System.Nullable Done { get; set; } - /// Optional. Specific information for a GKE Multi-Cloud cluster. - [Newtonsoft.Json.JsonPropertyAttribute("multiCloudCluster")] - public virtual MultiCloudCluster MultiCloudCluster { get; set; } + /// The error result of the operation in case of failure or cancellation. + [Newtonsoft.Json.JsonPropertyAttribute("error")] + public virtual GoogleRpcStatus Error { get; set; } /// - /// Optional. Specific information for a GKE On-Prem cluster. An onprem user-cluster who has no resourceLink is - /// not allowed to use this field, it should have a nil "type" instead. + /// 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. /// - [Newtonsoft.Json.JsonPropertyAttribute("onPremCluster")] - public virtual OnPremCluster OnPremCluster { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("metadata")] + public virtual System.Collections.Generic.IDictionary Metadata { get; set; } + + /// + /// 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}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// + /// 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`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("response")] + public virtual System.Collections.Generic.IDictionary Response { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// MembershipFeatureSpec contains configuration information for a single Membership. - public class MembershipFeatureSpec : Google.Apis.Requests.IDirectResponseSchema + /// Represents the metadata of the long-running operation. + public class OperationMetadata : Google.Apis.Requests.IDirectResponseSchema { - /// Cloud Build-specific spec - [Newtonsoft.Json.JsonPropertyAttribute("cloudbuild")] - public virtual CloudBuildMembershipSpec Cloudbuild { get; set; } + /// Output only. API version used to start the operation. + [Newtonsoft.Json.JsonPropertyAttribute("apiVersion")] + public virtual string ApiVersion { get; set; } - /// Config Management-specific spec. - [Newtonsoft.Json.JsonPropertyAttribute("configmanagement")] - public virtual ConfigManagementMembershipSpec Configmanagement { get; set; } + /// + /// Output only. Identifies whether the user has requested cancellation of the operation. Operations that have + /// successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of + /// 1, corresponding to `Code.CANCELLED`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("cancelRequested")] + public virtual System.Nullable CancelRequested { get; set; } - /// Fleet observability membership spec - [Newtonsoft.Json.JsonPropertyAttribute("fleetobservability")] - public virtual FleetObservabilityMembershipSpec Fleetobservability { get; set; } + private string _createTimeRaw; - /// Identity Service-specific spec. - [Newtonsoft.Json.JsonPropertyAttribute("identityservice")] - public virtual IdentityServiceMembershipSpec Identityservice { get; set; } + private object _createTime; - /// Anthos Service Mesh-specific spec - [Newtonsoft.Json.JsonPropertyAttribute("mesh")] - public virtual ServiceMeshMembershipSpec Mesh { get; set; } + /// Output only. The time the operation was created. + [Newtonsoft.Json.JsonPropertyAttribute("createTime")] + public virtual string CreateTimeRaw + { + get => _createTimeRaw; + set + { + _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _createTimeRaw = value; + } + } - /// FNS Actuation membership spec - [Newtonsoft.Json.JsonPropertyAttribute("namespaceactuation")] - public virtual NamespaceActuationMembershipSpec Namespaceactuation { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] + public virtual object CreateTime + { + get => _createTime; + set + { + _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _createTime = value; + } + } - /// - /// Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by - /// users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. - /// - [Newtonsoft.Json.JsonPropertyAttribute("origin")] - public virtual Origin Origin { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CreateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); + set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + private string _endTimeRaw; + + private object _endTime; + + /// Output only. The time the operation finished running. + [Newtonsoft.Json.JsonPropertyAttribute("endTime")] + public virtual string EndTimeRaw + { + get => _endTimeRaw; + set + { + _endTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _endTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use EndTimeDateTimeOffset instead.")] + public virtual object EndTime + { + get => _endTime; + set + { + _endTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _endTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? EndTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(EndTimeRaw); + set => EndTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// Policy Controller spec. - [Newtonsoft.Json.JsonPropertyAttribute("policycontroller")] - public virtual PolicyControllerMembershipSpec Policycontroller { get; set; } + /// Output only. Human-readable status of the operation, if any. + [Newtonsoft.Json.JsonPropertyAttribute("statusDetail")] + public virtual string StatusDetail { get; set; } - /// Workload Certificate spec. - [Newtonsoft.Json.JsonPropertyAttribute("workloadcertificate")] - public virtual MembershipSpec Workloadcertificate { get; set; } + /// Output only. Server-defined resource path for the target of the operation. + [Newtonsoft.Json.JsonPropertyAttribute("target")] + public virtual string Target { get; set; } + + /// Output only. Name of the verb executed by the operation. + [Newtonsoft.Json.JsonPropertyAttribute("verb")] + public virtual string Verb { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// MembershipFeatureState contains Feature status information for a single Membership. - public class MembershipFeatureState : Google.Apis.Requests.IDirectResponseSchema + /// Origin defines where this MembershipFeatureSpec originated from. + public class Origin : Google.Apis.Requests.IDirectResponseSchema { - /// Appdevexperience specific state. - [Newtonsoft.Json.JsonPropertyAttribute("appdevexperience")] - public virtual AppDevExperienceFeatureState Appdevexperience { get; set; } - - /// ClusterUpgrade state. - [Newtonsoft.Json.JsonPropertyAttribute("clusterupgrade")] - public virtual ClusterUpgradeMembershipState Clusterupgrade { get; set; } - - /// Config Management-specific state. - [Newtonsoft.Json.JsonPropertyAttribute("configmanagement")] - public virtual ConfigManagementMembershipState Configmanagement { get; set; } - - /// Fleet observability membership state. - [Newtonsoft.Json.JsonPropertyAttribute("fleetobservability")] - public virtual FleetObservabilityMembershipState Fleetobservability { get; set; } - - /// Identity Service-specific state. - [Newtonsoft.Json.JsonPropertyAttribute("identityservice")] - public virtual IdentityServiceMembershipState Identityservice { get; set; } - - /// Metering-specific state. - [Newtonsoft.Json.JsonPropertyAttribute("metering")] - public virtual MeteringMembershipState Metering { get; set; } - - /// FNS Actuation membership state - [Newtonsoft.Json.JsonPropertyAttribute("namespaceactuation")] - public virtual NamespaceActuationMembershipState Namespaceactuation { get; set; } - - /// Policycontroller-specific state. - [Newtonsoft.Json.JsonPropertyAttribute("policycontroller")] - public virtual PolicyControllerMembershipState Policycontroller { get; set; } + /// Type specifies which type of origin is set. + [Newtonsoft.Json.JsonPropertyAttribute("type")] + public virtual string Type { get; set; } - /// Service Mesh-specific state. - [Newtonsoft.Json.JsonPropertyAttribute("servicemesh")] - public virtual ServiceMeshMembershipState Servicemesh { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// The high-level state of this Feature for a single membership. - [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual FeatureState State { get; set; } + /// + /// 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 + /// &lt; 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 &lt; + /// 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/). + /// + public class Policy : Google.Apis.Requests.IDirectResponseSchema + { + /// Specifies cloud audit logging configuration for this policy. + [Newtonsoft.Json.JsonPropertyAttribute("auditConfigs")] + public virtual System.Collections.Generic.IList AuditConfigs { get; set; } - /// Workload Identity membership specific state. - [Newtonsoft.Json.JsonPropertyAttribute("workloadidentity")] - public virtual WorkloadIdentityMembershipState Workloadidentity { get; set; } + /// + /// 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`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("bindings")] + public virtual System.Collections.Generic.IList Bindings { get; set; } - /// The ETag of the item. + /// + /// `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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("etag")] public virtual string ETag { get; set; } + + /// + /// 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). + /// + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual System.Nullable Version { get; set; } } - /// **Workload Certificate**: The membership-specific input for WorkloadCertificate feature. - public class MembershipSpec : Google.Apis.Requests.IDirectResponseSchema + /// Binauthz policy that applies to this cluster. + public class PolicyBinding : Google.Apis.Requests.IDirectResponseSchema { - /// Specifies workload certificate management. - [Newtonsoft.Json.JsonPropertyAttribute("certificateManagement")] - public virtual string CertificateManagement { get; set; } + /// + /// The relative resource name of the binauthz platform policy to audit. GKE platform policies have the + /// following format: `projects/{project_number}/platforms/gke/policies/{policy_id}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// MembershipState describes the state of a Membership resource. - public class MembershipState : Google.Apis.Requests.IDirectResponseSchema + /// BundleInstallSpec is the specification configuration for a single managed bundle. + public class PolicyControllerBundleInstallSpec : Google.Apis.Requests.IDirectResponseSchema { - /// Output only. The current state of the Membership resource. - [Newtonsoft.Json.JsonPropertyAttribute("code")] - public virtual string Code { get; set; } + /// The set of namespaces to be exempted from the bundle. + [Newtonsoft.Json.JsonPropertyAttribute("exemptedNamespaces")] + public virtual System.Collections.Generic.IList ExemptedNamespaces { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// **Metering**: Per-Membership Feature State. - public class MeteringMembershipState : Google.Apis.Requests.IDirectResponseSchema + /// Configuration for Policy Controller + public class PolicyControllerHubConfig : Google.Apis.Requests.IDirectResponseSchema { - private string _lastMeasurementTimeRaw; - - private object _lastMeasurementTime; - - /// The time stamp of the most recent measurement of the number of vCPUs in the cluster. - [Newtonsoft.Json.JsonPropertyAttribute("lastMeasurementTime")] - public virtual string LastMeasurementTimeRaw - { - get => _lastMeasurementTimeRaw; - set - { - _lastMeasurementTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _lastMeasurementTimeRaw = value; - } - } - - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use LastMeasurementTimeDateTimeOffset instead.")] - public virtual object LastMeasurementTime - { - get => _lastMeasurementTime; - set - { - _lastMeasurementTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _lastMeasurementTime = value; - } - } - /// - /// representation of . + /// Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit + /// functionality altogether. /// - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? LastMeasurementTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(LastMeasurementTimeRaw); - set => LastMeasurementTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + [Newtonsoft.Json.JsonPropertyAttribute("auditIntervalSeconds")] + public virtual System.Nullable AuditIntervalSeconds { get; set; } /// - /// The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision). + /// The maximum number of audit violations to be stored in a constraint. If not set, the internal default + /// (currently 20) will be used. /// - [Newtonsoft.Json.JsonPropertyAttribute("preciseLastMeasuredClusterVcpuCapacity")] - public virtual System.Nullable PreciseLastMeasuredClusterVcpuCapacity { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("constraintViolationLimit")] + public virtual System.Nullable ConstraintViolationLimit { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Map of deployment configs to deployments ("admission", "audit", "mutation'). + [Newtonsoft.Json.JsonPropertyAttribute("deploymentConfigs")] + public virtual System.Collections.Generic.IDictionary DeploymentConfigs { get; set; } - /// - /// MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is - /// reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to - /// prevent accidentally breaking the constinousty of metrics. - /// - public class MonitoringConfig : Google.Apis.Requests.IDirectResponseSchema - { /// - /// Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would - /// be in format {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1". + /// The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently + /// exist on the cluster. /// - [Newtonsoft.Json.JsonPropertyAttribute("cluster")] - public virtual string Cluster { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("exemptableNamespaces")] + public virtual System.Collections.Generic.IList ExemptableNamespaces { get; set; } /// - /// Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and - /// Baremetal clusters, this is the kube-system UID. + /// The install_spec represents the intended state specified by the latest request that mutated install_spec in + /// the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is + /// reported in the feature state. /// - [Newtonsoft.Json.JsonPropertyAttribute("clusterHash")] - public virtual string ClusterHash { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("installSpec")] + public virtual string InstallSpec { get; set; } + + /// Logs all denies and dry run failures. + [Newtonsoft.Json.JsonPropertyAttribute("logDeniesEnabled")] + public virtual System.Nullable LogDeniesEnabled { get; set; } + + /// Monitoring specifies the configuration of monitoring. + [Newtonsoft.Json.JsonPropertyAttribute("monitoring")] + public virtual PolicyControllerMonitoringConfig Monitoring { get; set; } + + /// Enables the ability to mutate resources using Policy Controller. + [Newtonsoft.Json.JsonPropertyAttribute("mutationEnabled")] + public virtual System.Nullable MutationEnabled { get; set; } + + /// Specifies the desired policy content on the cluster + [Newtonsoft.Json.JsonPropertyAttribute("policyContent")] + public virtual PolicyControllerPolicyContentSpec PolicyContent { get; set; } /// - /// Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to - /// kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have - /// kubernetes.io prefix today but will migration to be under kubernetes.io/anthos. + /// Enables the ability to use Constraint Templates that reference to objects other than the object currently + /// being evaluated. /// - [Newtonsoft.Json.JsonPropertyAttribute("kubernetesMetricsPrefix")] - public virtual string KubernetesMetricsPrefix { get; set; } - - /// Optional. Location used to report Metrics - [Newtonsoft.Json.JsonPropertyAttribute("location")] - public virtual string Location { get; set; } - - /// Optional. Project used to report Metrics - [Newtonsoft.Json.JsonPropertyAttribute("projectId")] - public virtual string ProjectId { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("referentialRulesEnabled")] + public virtual System.Nullable ReferentialRulesEnabled { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// MultiCloudCluster contains information specific to GKE Multi-Cloud clusters. - public class MultiCloudCluster : Google.Apis.Requests.IDirectResponseSchema + /// + /// **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. + /// + public class PolicyControllerMembershipSpec : Google.Apis.Requests.IDirectResponseSchema { - /// - /// Output only. If cluster_missing is set then it denotes that API(gkemulticloud.googleapis.com) resource for - /// this GKE Multi-Cloud cluster no longer exists. - /// - [Newtonsoft.Json.JsonPropertyAttribute("clusterMissing")] - public virtual System.Nullable ClusterMissing { get; set; } + /// Policy Controller configuration for the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("policyControllerHubConfig")] + public virtual PolicyControllerHubConfig PolicyControllerHubConfig { get; set; } - /// - /// Immutable. Self-link of the Google Cloud resource for the GKE Multi-Cloud cluster. For example: - /// //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsClusters/my-cluster - /// //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azureClusters/my-cluster - /// //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attachedClusters/my-cluster - /// - [Newtonsoft.Json.JsonPropertyAttribute("resourceLink")] - public virtual string ResourceLink { get; set; } + /// Version of Policy Controller installed. + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual string Version { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. - public class MultiClusterIngressFeatureSpec : Google.Apis.Requests.IDirectResponseSchema + /// **Policy Controller**: State for a single cluster. + public class PolicyControllerMembershipState : Google.Apis.Requests.IDirectResponseSchema { /// - /// Deprecated: This field will be ignored and should not be set. Customer's billing structure. + /// Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" /// - [Newtonsoft.Json.JsonPropertyAttribute("billing")] - public virtual string Billing { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("componentStates")] + public virtual System.Collections.Generic.IDictionary ComponentStates { get; set; } - /// - /// Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: - /// `projects/foo-proj/locations/global/memberships/bar` - /// - [Newtonsoft.Json.JsonPropertyAttribute("configMembership")] - public virtual string ConfigMembership { get; set; } + /// The overall content state observed by the Hub Feature controller. + [Newtonsoft.Json.JsonPropertyAttribute("policyContentState")] + public virtual PolicyControllerPolicyContentState PolicyContentState { get; set; } + + /// The overall Policy Controller lifecycle state observed by the Hub Feature controller. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Namespace represents a namespace across the Fleet - public class Namespace : Google.Apis.Requests.IDirectResponseSchema + /// + /// MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify + /// metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", + /// "prometheus"] + /// + public class PolicyControllerMonitoringConfig : Google.Apis.Requests.IDirectResponseSchema { - private string _createTimeRaw; - - private object _createTime; - - /// Output only. When the namespace was created. - [Newtonsoft.Json.JsonPropertyAttribute("createTime")] - public virtual string CreateTimeRaw - { - get => _createTimeRaw; - set - { - _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _createTimeRaw = value; - } - } - - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] - public virtual object CreateTime - { - get => _createTime; - set - { - _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _createTime = value; - } - } - - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? CreateTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); - set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } - - private string _deleteTimeRaw; - - private object _deleteTime; - - /// Output only. When the namespace was deleted. - [Newtonsoft.Json.JsonPropertyAttribute("deleteTime")] - public virtual string DeleteTimeRaw - { - get => _deleteTimeRaw; - set - { - _deleteTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _deleteTimeRaw = value; - } - } - - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use DeleteTimeDateTimeOffset instead.")] - public virtual object DeleteTime - { - get => _deleteTime; - set - { - _deleteTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _deleteTime = value; - } - } - - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(DeleteTimeRaw); - set => DeleteTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } - - /// Optional. Labels for this Namespace. - [Newtonsoft.Json.JsonPropertyAttribute("labels")] - public virtual System.Collections.Generic.IDictionary Labels { get; set; } - /// - /// The resource name for the namespace `projects/{project}/locations/{location}/namespaces/{namespace}` + /// Specifies the list of backends Policy Controller will export to. An empty list would effectively disable + /// metrics export. /// - [Newtonsoft.Json.JsonPropertyAttribute("name")] - public virtual string Name { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("backends")] + public virtual System.Collections.Generic.IList Backends { get; set; } - /// - /// Optional. Namespace-level cluster namespace labels. These labels are applied to the related namespace of the - /// member clusters bound to the parent Scope. Scope-level labels (`namespace_labels` in the Fleet Scope - /// resource) take precedence over Namespace-level labels if they share a key. Keys and values must be - /// Kubernetes-conformant. - /// - [Newtonsoft.Json.JsonPropertyAttribute("namespaceLabels")] - public virtual System.Collections.Generic.IDictionary NamespaceLabels { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// Required. Scope associated with the namespace - [Newtonsoft.Json.JsonPropertyAttribute("scope")] - public virtual string Scope { get; set; } + /// OnClusterState represents the state of a sub-component of Policy Controller. + public class PolicyControllerOnClusterState : Google.Apis.Requests.IDirectResponseSchema + { + /// Surface potential errors or information logs. + [Newtonsoft.Json.JsonPropertyAttribute("details")] + public virtual string Details { get; set; } - /// Output only. State of the namespace resource. + /// The lifecycle state of this component. [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual NamespaceLifecycleState State { get; set; } + public virtual string State { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// PolicyContentSpec defines the user's desired content configuration on the cluster. + public class PolicyControllerPolicyContentSpec : Google.Apis.Requests.IDirectResponseSchema + { /// - /// Output only. Google-generated UUID for this resource. This is unique across all namespace resources. If a - /// namespace resource is deleted and another resource with the same name is created, it gets a different uid. + /// map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the + /// `policycontroller.gke.io/constraintData` annotation on a constraint. /// - [Newtonsoft.Json.JsonPropertyAttribute("uid")] - public virtual string Uid { get; set; } - - private string _updateTimeRaw; - - private object _updateTime; - - /// Output only. When the namespace was last updated. - [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] - public virtual string UpdateTimeRaw - { - get => _updateTimeRaw; - set - { - _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _updateTimeRaw = value; - } - } - - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] - public virtual object UpdateTime - { - get => _updateTime; - set - { - _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _updateTime = value; - } - } + [Newtonsoft.Json.JsonPropertyAttribute("bundles")] + public virtual System.Collections.Generic.IDictionary Bundles { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); - set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + /// Configures the installation of the Template Library. + [Newtonsoft.Json.JsonPropertyAttribute("templateLibrary")] + public virtual PolicyControllerTemplateLibraryConfig TemplateLibrary { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// An empty spec for actuation feature. This is required since Feature proto requires a spec. - public class NamespaceActuationFeatureSpec : Google.Apis.Requests.IDirectResponseSchema + /// The state of the policy controller policy content + public class PolicyControllerPolicyContentState : Google.Apis.Requests.IDirectResponseSchema { - /// actuation_mode controls the behavior of the controller - [Newtonsoft.Json.JsonPropertyAttribute("actuationMode")] - public virtual string ActuationMode { get; set; } + /// The state of the any bundles included in the chosen version of the manifest + [Newtonsoft.Json.JsonPropertyAttribute("bundleStates")] + public virtual System.Collections.Generic.IDictionary BundleStates { get; set; } + + /// + /// The state of the referential data sync configuration. This could represent the state of either the syncSet + /// object(s) or the config object, depending on the version of PoCo configured by the user. + /// + [Newtonsoft.Json.JsonPropertyAttribute("referentialSyncConfigState")] + public virtual PolicyControllerOnClusterState ReferentialSyncConfigState { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// The state of the template library + [Newtonsoft.Json.JsonPropertyAttribute("templateLibraryState")] + public virtual PolicyControllerOnClusterState TemplateLibraryState { get; set; } - /// NamespaceActuation Feature State. - public class NamespaceActuationFeatureState : Google.Apis.Requests.IDirectResponseSchema - { /// The ETag of the item. public virtual string ETag { get; set; } } - /// **Namespace Actuation**: The membership-specific input for NamespaceActuation feature. - public class NamespaceActuationMembershipSpec : Google.Apis.Requests.IDirectResponseSchema + /// Deployment-specific configuration. + public class PolicyControllerPolicyControllerDeploymentConfig : Google.Apis.Requests.IDirectResponseSchema { - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Container resource requirements. + [Newtonsoft.Json.JsonPropertyAttribute("containerResources")] + public virtual PolicyControllerResourceRequirements ContainerResources { get; set; } + + /// Pod affinity configuration. + [Newtonsoft.Json.JsonPropertyAttribute("podAffinity")] + public virtual string PodAffinity { get; set; } + + /// Pod anti-affinity enablement. Deprecated: use `pod_affinity` instead. + [Newtonsoft.Json.JsonPropertyAttribute("podAntiAffinity")] + public virtual System.Nullable PodAntiAffinity { get; set; } + + /// Pod tolerations of node taints. + [Newtonsoft.Json.JsonPropertyAttribute("podTolerations")] + public virtual System.Collections.Generic.IList PodTolerations { get; set; } + + /// Pod replica count. + [Newtonsoft.Json.JsonPropertyAttribute("replicaCount")] + public virtual System.Nullable ReplicaCount { get; set; } - /// **Namespace Actuation**: An empty state left as an example membership-specific Feature state. - public class NamespaceActuationMembershipState : Google.Apis.Requests.IDirectResponseSchema - { /// The ETag of the item. public virtual string ETag { get; set; } } - /// NamespaceLifecycleState describes the state of a Namespace resource. - public class NamespaceLifecycleState : Google.Apis.Requests.IDirectResponseSchema + /// ResourceList contains container resource requirements. + public class PolicyControllerResourceList : Google.Apis.Requests.IDirectResponseSchema { - /// Output only. The current state of the Namespace resource. - [Newtonsoft.Json.JsonPropertyAttribute("code")] - public virtual string Code { get; set; } + /// CPU requirement expressed in Kubernetes resource units. + [Newtonsoft.Json.JsonPropertyAttribute("cpu")] + public virtual string Cpu { get; set; } + + /// Memory requirement expressed in Kubernetes resource units. + [Newtonsoft.Json.JsonPropertyAttribute("memory")] + public virtual string Memory { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// OnPremCluster contains information specific to GKE On-Prem clusters. - public class OnPremCluster : Google.Apis.Requests.IDirectResponseSchema + /// ResourceRequirements describes the compute resource requirements. + public class PolicyControllerResourceRequirements : Google.Apis.Requests.IDirectResponseSchema { - /// Immutable. Whether the cluster is an admin cluster. - [Newtonsoft.Json.JsonPropertyAttribute("adminCluster")] - public virtual System.Nullable AdminCluster { get; set; } - /// - /// Output only. If cluster_missing is set then it denotes that API(gkeonprem.googleapis.com) resource for this - /// GKE On-Prem cluster no longer exists. + /// Limits describes the maximum amount of compute resources allowed for use by the running container. /// - [Newtonsoft.Json.JsonPropertyAttribute("clusterMissing")] - public virtual System.Nullable ClusterMissing { get; set; } - - /// Immutable. The on prem cluster's type. - [Newtonsoft.Json.JsonPropertyAttribute("clusterType")] - public virtual string ClusterType { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("limits")] + public virtual PolicyControllerResourceList Limits { get; set; } /// - /// Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster. For example: - /// //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster - /// //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster + /// Requests describes the amount of compute resources reserved for the container by the kube-scheduler. /// - [Newtonsoft.Json.JsonPropertyAttribute("resourceLink")] - public virtual string ResourceLink { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("requests")] + public virtual PolicyControllerResourceList Requests { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// This resource represents a long-running operation that is the result of a network API call. - public class Operation : Google.Apis.Requests.IDirectResponseSchema + /// The config specifying which default library templates to install. + public class PolicyControllerTemplateLibraryConfig : Google.Apis.Requests.IDirectResponseSchema { - /// - /// 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. - /// - [Newtonsoft.Json.JsonPropertyAttribute("done")] - public virtual System.Nullable Done { get; set; } + /// Configures the manner in which the template library is installed on the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("installation")] + public virtual string Installation { get; set; } - /// The error result of the operation in case of failure or cancellation. - [Newtonsoft.Json.JsonPropertyAttribute("error")] - public virtual GoogleRpcStatus Error { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// - /// 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. - /// - [Newtonsoft.Json.JsonPropertyAttribute("metadata")] - public virtual System.Collections.Generic.IDictionary Metadata { get; set; } + /// Toleration of a node taint. + public class PolicyControllerToleration : Google.Apis.Requests.IDirectResponseSchema + { + /// Matches a taint effect. + [Newtonsoft.Json.JsonPropertyAttribute("effect")] + public virtual string Effect { get; set; } - /// - /// 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}`. - /// - [Newtonsoft.Json.JsonPropertyAttribute("name")] - public virtual string Name { get; set; } + /// Matches a taint key (not necessarily unique). + [Newtonsoft.Json.JsonPropertyAttribute("key")] + public virtual string Key { get; set; } - /// - /// 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`. - /// - [Newtonsoft.Json.JsonPropertyAttribute("response")] - public virtual System.Collections.Generic.IDictionary Response { get; set; } + /// Matches a taint operator. + [Newtonsoft.Json.JsonPropertyAttribute("operator")] + public virtual string Operator__ { get; set; } + + /// Matches a taint value. + [Newtonsoft.Json.JsonPropertyAttribute("value")] + public virtual string Value { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Represents the metadata of the long-running operation. - public class OperationMetadata : Google.Apis.Requests.IDirectResponseSchema + /// RBACRoleBinding represents a rbacrolebinding across the Fleet + public class RBACRoleBinding : Google.Apis.Requests.IDirectResponseSchema { - /// Output only. API version used to start the operation. - [Newtonsoft.Json.JsonPropertyAttribute("apiVersion")] - public virtual string ApiVersion { get; set; } - - /// - /// Output only. Identifies whether the user has requested cancellation of the operation. Operations that have - /// successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of - /// 1, corresponding to `Code.CANCELLED`. - /// - [Newtonsoft.Json.JsonPropertyAttribute("cancelRequested")] - public virtual System.Nullable CancelRequested { get; set; } - private string _createTimeRaw; private object _createTime; - /// Output only. The time the operation was created. + /// Output only. When the rbacrolebinding was created. [Newtonsoft.Json.JsonPropertyAttribute("createTime")] public virtual string CreateTimeRaw { @@ -9736,449 +10825,515 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); } - private string _endTimeRaw; - - private object _endTime; + private string _deleteTimeRaw; - /// Output only. The time the operation finished running. - [Newtonsoft.Json.JsonPropertyAttribute("endTime")] - public virtual string EndTimeRaw - { - get => _endTimeRaw; - set - { - _endTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _endTimeRaw = value; - } - } + private object _deleteTime; - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use EndTimeDateTimeOffset instead.")] - public virtual object EndTime + /// Output only. When the rbacrolebinding was deleted. + [Newtonsoft.Json.JsonPropertyAttribute("deleteTime")] + public virtual string DeleteTimeRaw { - get => _endTime; + get => _deleteTimeRaw; set { - _endTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _endTime = value; + _deleteTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _deleteTimeRaw = value; } } - /// representation of . + /// representation of . [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? EndTimeDateTimeOffset + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use DeleteTimeDateTimeOffset instead.")] + public virtual object DeleteTime { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(EndTimeRaw); - set => EndTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } - - /// Output only. Human-readable status of the operation, if any. - [Newtonsoft.Json.JsonPropertyAttribute("statusDetail")] - public virtual string StatusDetail { get; set; } - - /// Output only. Server-defined resource path for the target of the operation. - [Newtonsoft.Json.JsonPropertyAttribute("target")] - public virtual string Target { get; set; } - - /// Output only. Name of the verb executed by the operation. - [Newtonsoft.Json.JsonPropertyAttribute("verb")] - public virtual string Verb { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// Origin defines where this MembershipFeatureSpec originated from. - public class Origin : Google.Apis.Requests.IDirectResponseSchema - { - /// Type specifies which type of origin is set. - [Newtonsoft.Json.JsonPropertyAttribute("type")] - public virtual string Type { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// - /// 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 - /// &lt; 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 &lt; - /// 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/). - /// - public class Policy : Google.Apis.Requests.IDirectResponseSchema - { - /// Specifies cloud audit logging configuration for this policy. - [Newtonsoft.Json.JsonPropertyAttribute("auditConfigs")] - public virtual System.Collections.Generic.IList AuditConfigs { get; set; } + get => _deleteTime; + set + { + _deleteTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _deleteTime = value; + } + } - /// - /// 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`. - /// - [Newtonsoft.Json.JsonPropertyAttribute("bindings")] - public virtual System.Collections.Generic.IList Bindings { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(DeleteTimeRaw); + set => DeleteTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// - /// `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. - /// - [Newtonsoft.Json.JsonPropertyAttribute("etag")] - public virtual string ETag { get; set; } + /// group is the group, as seen by the kubernetes cluster. + [Newtonsoft.Json.JsonPropertyAttribute("group")] + public virtual string Group { get; set; } - /// - /// 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). - /// - [Newtonsoft.Json.JsonPropertyAttribute("version")] - public virtual System.Nullable Version { get; set; } - } + /// Optional. Labels for this RBACRolebinding. + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } - /// Binauthz policy that applies to this cluster. - public class PolicyBinding : Google.Apis.Requests.IDirectResponseSchema - { /// - /// The relative resource name of the binauthz platform policy to audit. GKE platform policies have the - /// following format: `projects/{project_number}/platforms/gke/policies/{policy_id}`. + /// The resource name for the rbacrolebinding + /// `projects/{project}/locations/{location}/scopes/{scope}/rbacrolebindings/{rbacrolebinding}` or + /// `projects/{project}/locations/{location}/memberships/{membership}/rbacrolebindings/{rbacrolebinding}` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// BundleInstallSpec is the specification configuration for a single managed bundle. - public class PolicyControllerBundleInstallSpec : Google.Apis.Requests.IDirectResponseSchema - { - /// The set of namespaces to be exempted from the bundle. - [Newtonsoft.Json.JsonPropertyAttribute("exemptedNamespaces")] - public virtual System.Collections.Generic.IList ExemptedNamespaces { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Required. Role to bind to the principal + [Newtonsoft.Json.JsonPropertyAttribute("role")] + public virtual Role Role { get; set; } - /// Configuration for Policy Controller - public class PolicyControllerHubConfig : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit - /// functionality altogether. - /// - [Newtonsoft.Json.JsonPropertyAttribute("auditIntervalSeconds")] - public virtual System.Nullable AuditIntervalSeconds { get; set; } + /// Output only. State of the rbacrolebinding resource. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual RBACRoleBindingLifecycleState State { get; set; } /// - /// The maximum number of audit violations to be stored in a constraint. If not set, the internal default - /// (currently 20) will be used. + /// Output only. Google-generated UUID for this resource. This is unique across all rbacrolebinding resources. + /// If a rbacrolebinding resource is deleted and another resource with the same name is created, it gets a + /// different uid. /// - [Newtonsoft.Json.JsonPropertyAttribute("constraintViolationLimit")] - public virtual System.Nullable ConstraintViolationLimit { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("uid")] + public virtual string Uid { get; set; } - /// Map of deployment configs to deployments ("admission", "audit", "mutation'). - [Newtonsoft.Json.JsonPropertyAttribute("deploymentConfigs")] - public virtual System.Collections.Generic.IDictionary DeploymentConfigs { get; set; } + private string _updateTimeRaw; - /// - /// The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently - /// exist on the cluster. - /// - [Newtonsoft.Json.JsonPropertyAttribute("exemptableNamespaces")] - public virtual System.Collections.Generic.IList ExemptableNamespaces { get; set; } + private object _updateTime; - /// - /// The install_spec represents the intended state specified by the latest request that mutated install_spec in - /// the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is - /// reported in the feature state. - /// - [Newtonsoft.Json.JsonPropertyAttribute("installSpec")] - public virtual string InstallSpec { get; set; } + /// Output only. When the rbacrolebinding was last updated. + [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] + public virtual string UpdateTimeRaw + { + get => _updateTimeRaw; + set + { + _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _updateTimeRaw = value; + } + } - /// Logs all denies and dry run failures. - [Newtonsoft.Json.JsonPropertyAttribute("logDeniesEnabled")] - public virtual System.Nullable LogDeniesEnabled { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] + public virtual object UpdateTime + { + get => _updateTime; + set + { + _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _updateTime = value; + } + } - /// Monitoring specifies the configuration of monitoring. - [Newtonsoft.Json.JsonPropertyAttribute("monitoring")] - public virtual PolicyControllerMonitoringConfig Monitoring { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); + set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// Enables the ability to mutate resources using Policy Controller. - [Newtonsoft.Json.JsonPropertyAttribute("mutationEnabled")] - public virtual System.Nullable MutationEnabled { get; set; } + /// + /// user is the name of the user as seen by the kubernetes cluster, example "alice" or "alice@domain.tld" + /// + [Newtonsoft.Json.JsonPropertyAttribute("user")] + public virtual string User { get; set; } - /// Specifies the desired policy content on the cluster - [Newtonsoft.Json.JsonPropertyAttribute("policyContent")] - public virtual PolicyControllerPolicyContentSpec PolicyContent { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// **RBAC RoleBinding Actuation**: The Hub-wide input for the RBACRoleBindingActuation feature. + public class RBACRoleBindingActuationFeatureSpec : Google.Apis.Requests.IDirectResponseSchema + { /// - /// Enables the ability to use Constraint Templates that reference to objects other than the object currently - /// being evaluated. + /// The list of allowed custom roles (ClusterRoles). If a ClusterRole is not part of this list, it cannot be + /// used in a Scope RBACRoleBinding. If a ClusterRole in this list is in use, it cannot be removed from the + /// list. /// - [Newtonsoft.Json.JsonPropertyAttribute("referentialRulesEnabled")] - public virtual System.Nullable ReferentialRulesEnabled { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("allowedCustomRoles")] + public virtual System.Collections.Generic.IList AllowedCustomRoles { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// - /// **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. - /// - public class PolicyControllerMembershipSpec : Google.Apis.Requests.IDirectResponseSchema + /// **RBAC RoleBinding Actuation**: An empty state left as an example Hub-wide Feature state. + public class RBACRoleBindingActuationFeatureState : Google.Apis.Requests.IDirectResponseSchema { - /// Policy Controller configuration for the cluster. - [Newtonsoft.Json.JsonPropertyAttribute("policyControllerHubConfig")] - public virtual PolicyControllerHubConfig PolicyControllerHubConfig { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// Version of Policy Controller installed. - [Newtonsoft.Json.JsonPropertyAttribute("version")] - public virtual string Version { get; set; } + /// RBACRoleBindingLifecycleState describes the state of a RbacRoleBinding resource. + public class RBACRoleBindingLifecycleState : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The current state of the rbacrolebinding resource. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// **Policy Controller**: State for a single cluster. - public class PolicyControllerMembershipState : Google.Apis.Requests.IDirectResponseSchema + /// ResourceManifest represents a single Kubernetes resource to be applied to the cluster. + public class ResourceManifest : Google.Apis.Requests.IDirectResponseSchema { /// - /// Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" + /// Output only. Whether the resource provided in the manifest is `cluster_scoped`. If unset, the manifest is + /// assumed to be namespace scoped. This field is used for REST mapping when applying the resource in a cluster. /// - [Newtonsoft.Json.JsonPropertyAttribute("componentStates")] - public virtual System.Collections.Generic.IDictionary ComponentStates { get; set; } - - /// The overall content state observed by the Hub Feature controller. - [Newtonsoft.Json.JsonPropertyAttribute("policyContentState")] - public virtual PolicyControllerPolicyContentState PolicyContentState { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("clusterScoped")] + public virtual System.Nullable ClusterScoped { get; set; } - /// The overall Policy Controller lifecycle state observed by the Hub Feature controller. - [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual string State { get; set; } + /// Output only. YAML manifest of the resource. + [Newtonsoft.Json.JsonPropertyAttribute("manifest")] + public virtual string Manifest { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// - /// MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify - /// metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", - /// "prometheus"] - /// - public class PolicyControllerMonitoringConfig : Google.Apis.Requests.IDirectResponseSchema + /// ResourceOptions represent options for Kubernetes resource generation. + public class ResourceOptions : Google.Apis.Requests.IDirectResponseSchema { /// - /// Specifies the list of backends Policy Controller will export to. An empty list would effectively disable - /// metrics export. + /// Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect + /// version. The version must be a currently supported version, obsolete versions will be rejected. + /// + [Newtonsoft.Json.JsonPropertyAttribute("connectVersion")] + public virtual string ConnectVersion { get; set; } + + /// + /// Optional. Git version of the Kubernetes cluster. This is only used to gate the Connect Agent migration to + /// svc.id.goog on GDC-SO 1.33.100 patch and above. + /// + [Newtonsoft.Json.JsonPropertyAttribute("k8sGitVersion")] + public virtual string K8sGitVersion { get; set; } + + /// + /// Optional. Major and minor version of the Kubernetes cluster. This is only used to determine which version to + /// use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("k8sVersion")] + public virtual string K8sVersion { get; set; } + + /// + /// Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. + /// This option should be set for clusters with Kubernetes apiserver versions &lt;1.16. /// - [Newtonsoft.Json.JsonPropertyAttribute("backends")] - public virtual System.Collections.Generic.IList Backends { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("v1beta1Crd")] + public virtual System.Nullable V1beta1Crd { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// OnClusterState represents the state of a sub-component of Policy Controller. - public class PolicyControllerOnClusterState : Google.Apis.Requests.IDirectResponseSchema + /// Role is the type for Kubernetes roles + public class Role : Google.Apis.Requests.IDirectResponseSchema { - /// Surface potential errors or information logs. - [Newtonsoft.Json.JsonPropertyAttribute("details")] - public virtual string Details { get; set; } + /// Optional. custom_role is the name of a custom KubernetesClusterRole to use. + [Newtonsoft.Json.JsonPropertyAttribute("customRole")] + public virtual string CustomRole { get; set; } - /// The lifecycle state of this component. - [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual string State { get; set; } + /// predefined_role is the Kubernetes default role to use + [Newtonsoft.Json.JsonPropertyAttribute("predefinedRole")] + public virtual string PredefinedRole { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// PolicyContentSpec defines the user's desired content configuration on the cluster. - public class PolicyControllerPolicyContentSpec : Google.Apis.Requests.IDirectResponseSchema + /// Rollout contains the Rollout metadata and configuration. + public class Rollout : Google.Apis.Requests.IDirectResponseSchema { - /// - /// map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the - /// `policycontroller.gke.io/constraintData` annotation on a constraint. - /// - [Newtonsoft.Json.JsonPropertyAttribute("bundles")] - public virtual System.Collections.Generic.IDictionary Bundles { get; set; } + private string _completeTimeRaw; - /// Configures the installation of the Template Library. - [Newtonsoft.Json.JsonPropertyAttribute("templateLibrary")] - public virtual PolicyControllerTemplateLibraryConfig TemplateLibrary { get; set; } + private object _completeTime; - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Output only. The timestamp at which the Rollout was completed. + [Newtonsoft.Json.JsonPropertyAttribute("completeTime")] + public virtual string CompleteTimeRaw + { + get => _completeTimeRaw; + set + { + _completeTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _completeTimeRaw = value; + } + } - /// The state of the policy controller policy content - public class PolicyControllerPolicyContentState : Google.Apis.Requests.IDirectResponseSchema - { - /// The state of the any bundles included in the chosen version of the manifest - [Newtonsoft.Json.JsonPropertyAttribute("bundleStates")] - public virtual System.Collections.Generic.IDictionary BundleStates { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CompleteTimeDateTimeOffset instead.")] + public virtual object CompleteTime + { + get => _completeTime; + set + { + _completeTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _completeTime = value; + } + } - /// - /// The state of the referential data sync configuration. This could represent the state of either the syncSet - /// object(s) or the config object, depending on the version of PoCo configured by the user. - /// - [Newtonsoft.Json.JsonPropertyAttribute("referentialSyncConfigState")] - public virtual PolicyControllerOnClusterState ReferentialSyncConfigState { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CompleteTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CompleteTimeRaw); + set => CompleteTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// The state of the template library - [Newtonsoft.Json.JsonPropertyAttribute("templateLibraryState")] - public virtual PolicyControllerOnClusterState TemplateLibraryState { get; set; } + private string _createTimeRaw; - /// The ETag of the item. - public virtual string ETag { get; set; } - } + private object _createTime; - /// Deployment-specific configuration. - public class PolicyControllerPolicyControllerDeploymentConfig : Google.Apis.Requests.IDirectResponseSchema - { - /// Container resource requirements. - [Newtonsoft.Json.JsonPropertyAttribute("containerResources")] - public virtual PolicyControllerResourceRequirements ContainerResources { get; set; } + /// Output only. The timestamp at which the Rollout was created. + [Newtonsoft.Json.JsonPropertyAttribute("createTime")] + public virtual string CreateTimeRaw + { + get => _createTimeRaw; + set + { + _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _createTimeRaw = value; + } + } - /// Pod affinity configuration. - [Newtonsoft.Json.JsonPropertyAttribute("podAffinity")] - public virtual string PodAffinity { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] + public virtual object CreateTime + { + get => _createTime; + set + { + _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _createTime = value; + } + } - /// Pod anti-affinity enablement. Deprecated: use `pod_affinity` instead. - [Newtonsoft.Json.JsonPropertyAttribute("podAntiAffinity")] - public virtual System.Nullable PodAntiAffinity { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CreateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); + set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// Pod tolerations of node taints. - [Newtonsoft.Json.JsonPropertyAttribute("podTolerations")] - public virtual System.Collections.Generic.IList PodTolerations { get; set; } + private string _deleteTimeRaw; - /// Pod replica count. - [Newtonsoft.Json.JsonPropertyAttribute("replicaCount")] - public virtual System.Nullable ReplicaCount { get; set; } + private object _deleteTime; - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Output only. The timestamp at the Rollout was deleted. + [Newtonsoft.Json.JsonPropertyAttribute("deleteTime")] + public virtual string DeleteTimeRaw + { + get => _deleteTimeRaw; + set + { + _deleteTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _deleteTimeRaw = value; + } + } - /// ResourceList contains container resource requirements. - public class PolicyControllerResourceList : Google.Apis.Requests.IDirectResponseSchema - { - /// CPU requirement expressed in Kubernetes resource units. - [Newtonsoft.Json.JsonPropertyAttribute("cpu")] - public virtual string Cpu { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use DeleteTimeDateTimeOffset instead.")] + public virtual object DeleteTime + { + get => _deleteTime; + set + { + _deleteTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _deleteTime = value; + } + } - /// Memory requirement expressed in Kubernetes resource units. - [Newtonsoft.Json.JsonPropertyAttribute("memory")] - public virtual string Memory { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(DeleteTimeRaw); + set => DeleteTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// The ETag of the item. + /// Optional. Human readable display name of the Rollout. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Output only. etag of the Rollout Ex. abc1234 + [Newtonsoft.Json.JsonPropertyAttribute("etag")] public virtual string ETag { get; set; } - } - /// ResourceRequirements describes the compute resource requirements. - public class PolicyControllerResourceRequirements : Google.Apis.Requests.IDirectResponseSchema - { + /// Optional. Output only. The excluded clusters from the rollout. + [Newtonsoft.Json.JsonPropertyAttribute("excludedClusters")] + public virtual System.Collections.Generic.IList ExcludedClusters { get; set; } + + /// Optional. Feature config to use for Rollout. + [Newtonsoft.Json.JsonPropertyAttribute("feature")] + public virtual FeatureUpdate Feature { get; set; } + + /// Optional. Labels for this Rollout. + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } + /// - /// Limits describes the maximum amount of compute resources allowed for use by the running container. + /// Output only. States of upgrading control plane or node pool targets of a single cluster (GKE Hub membership) + /// that's part of this Rollout. The key is the membership name of the cluster. The value is the state of the + /// cluster. /// - [Newtonsoft.Json.JsonPropertyAttribute("limits")] - public virtual PolicyControllerResourceList Limits { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("membershipStates")] + public virtual System.Collections.Generic.IDictionary MembershipStates { get; set; } /// - /// Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + /// Identifier. The full, unique resource name of this Rollout in the format of + /// `projects/{project}/locations/global/rollouts/{rollout}`. /// - [Newtonsoft.Json.JsonPropertyAttribute("requests")] - public virtual PolicyControllerResourceList Requests { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// + /// Optional. Immutable. The full, unique resource name of the rollout sequence that initiatied this Rollout. In + /// the format of `projects/{project}/locations/global/rolloutSequences/{rollout_sequence}`. Empty for user + /// initiated rollouts. + /// + [Newtonsoft.Json.JsonPropertyAttribute("rolloutSequence")] + public virtual string RolloutSequence { get; set; } - /// The config specifying which default library templates to install. - public class PolicyControllerTemplateLibraryConfig : Google.Apis.Requests.IDirectResponseSchema - { - /// Configures the manner in which the template library is installed on the cluster. - [Newtonsoft.Json.JsonPropertyAttribute("installation")] - public virtual string Installation { get; set; } + /// Output only. The schedule of the Rollout. + [Newtonsoft.Json.JsonPropertyAttribute("schedule")] + public virtual Schedule Schedule { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } + /// + /// Output only. The stages of the Rollout. Note: this is only populated for google-initiated rollouts. + /// + [Newtonsoft.Json.JsonPropertyAttribute("stages")] + public virtual System.Collections.Generic.IList Stages { get; set; } + + /// Output only. State specifies various states of the Rollout. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// Output only. A human-readable description explaining the reason for the current state. + [Newtonsoft.Json.JsonPropertyAttribute("stateReason")] + public virtual string StateReason { get; set; } + + /// + /// Output only. Google-generated UUID for this resource. This is unique across all Rollout resources. If a + /// Rollout resource is deleted and another resource with the same name is created, it gets a different uid. + /// + [Newtonsoft.Json.JsonPropertyAttribute("uid")] + public virtual string Uid { get; set; } + + private string _updateTimeRaw; + + private object _updateTime; + + /// Output only. The timestamp at which the Rollout was last updated. + [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] + public virtual string UpdateTimeRaw + { + get => _updateTimeRaw; + set + { + _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _updateTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] + public virtual object UpdateTime + { + get => _updateTime; + set + { + _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _updateTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); + set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// Optional. Config for version upgrade of clusters. Note: Currently for GDCE clusters only. + [Newtonsoft.Json.JsonPropertyAttribute("versionUpgrade")] + public virtual VersionUpgrade VersionUpgrade { get; set; } } - /// Toleration of a node taint. - public class PolicyControllerToleration : Google.Apis.Requests.IDirectResponseSchema + /// Metadata about single cluster (GKE Hub membership) that's part of this Rollout. + public class RolloutMembershipState : Google.Apis.Requests.IDirectResponseSchema { - /// Matches a taint effect. - [Newtonsoft.Json.JsonPropertyAttribute("effect")] - public virtual string Effect { get; set; } + private string _lastUpdateTimeRaw; + + private object _lastUpdateTime; + + /// + /// Optional. Output only. The time this status and any related Rollout-specific details for the membership were + /// updated. + /// + [Newtonsoft.Json.JsonPropertyAttribute("lastUpdateTime")] + public virtual string LastUpdateTimeRaw + { + get => _lastUpdateTimeRaw; + set + { + _lastUpdateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _lastUpdateTimeRaw = value; + } + } - /// Matches a taint key (not necessarily unique). - [Newtonsoft.Json.JsonPropertyAttribute("key")] - public virtual string Key { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use LastUpdateTimeDateTimeOffset instead.")] + public virtual object LastUpdateTime + { + get => _lastUpdateTime; + set + { + _lastUpdateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _lastUpdateTime = value; + } + } - /// Matches a taint operator. - [Newtonsoft.Json.JsonPropertyAttribute("operator")] - public virtual string Operator__ { get; set; } + /// + /// representation of . + /// + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? LastUpdateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(LastUpdateTimeRaw); + set => LastUpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// Matches a taint value. - [Newtonsoft.Json.JsonPropertyAttribute("value")] - public virtual string Value { get; set; } + /// Output only. The stage assignment of this cluster in this rollout. + [Newtonsoft.Json.JsonPropertyAttribute("stageAssignment")] + public virtual System.Nullable StageAssignment { get; set; } + + /// + /// Output only. The targets of the rollout - clusters or node pools that are being upgraded. All targets + /// belongs to the same cluster, identified by the membership name (key of membership_states map). + /// + [Newtonsoft.Json.JsonPropertyAttribute("targets")] + public virtual System.Collections.Generic.IList Targets { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// RBACRoleBinding represents a rbacrolebinding across the Fleet - public class RBACRoleBinding : Google.Apis.Requests.IDirectResponseSchema + /// RolloutSequence defines the desired order of upgrades. + public class RolloutSequence : Google.Apis.Requests.IDirectResponseSchema { private string _createTimeRaw; private object _createTime; - /// Output only. When the rbacrolebinding was created. + /// Output only. The timestamp at which the Rollout Sequence was created. [Newtonsoft.Json.JsonPropertyAttribute("createTime")] public virtual string CreateTimeRaw { @@ -10215,7 +11370,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset private object _deleteTime; - /// Output only. When the rbacrolebinding was deleted. + /// Output only. The timestamp at the Rollout Sequence was deleted. [Newtonsoft.Json.JsonPropertyAttribute("deleteTime")] public virtual string DeleteTimeRaw { @@ -10248,33 +11403,32 @@ public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset set => DeleteTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); } - /// group is the group, as seen by the kubernetes cluster. - [Newtonsoft.Json.JsonPropertyAttribute("group")] - public virtual string Group { get; set; } + /// Optional. Human readable display name of the Rollout Sequence. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } - /// Optional. Labels for this RBACRolebinding. + /// Output only. etag of the Rollout Sequence Ex. abc1234 + [Newtonsoft.Json.JsonPropertyAttribute("etag")] + public virtual string ETag { get; set; } + + /// Optional. Labels for this Rollout Sequence. [Newtonsoft.Json.JsonPropertyAttribute("labels")] public virtual System.Collections.Generic.IDictionary Labels { get; set; } /// - /// The resource name for the rbacrolebinding - /// `projects/{project}/locations/{location}/scopes/{scope}/rbacrolebindings/{rbacrolebinding}` or - /// `projects/{project}/locations/{location}/memberships/{membership}/rbacrolebindings/{rbacrolebinding}` + /// Identifier. Name of the rollout sequence in the format of: + /// projects/{PROJECT_ID}/locations/global/rolloutSequences/{NAME} /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } - /// Required. Role to bind to the principal - [Newtonsoft.Json.JsonPropertyAttribute("role")] - public virtual Role Role { get; set; } - - /// Output only. State of the rbacrolebinding resource. - [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual RBACRoleBindingLifecycleState State { get; set; } + /// Required. Ordered list of stages that constitutes this Rollout. + [Newtonsoft.Json.JsonPropertyAttribute("stages")] + public virtual System.Collections.Generic.IList Stages { get; set; } /// - /// Output only. Google-generated UUID for this resource. This is unique across all rbacrolebinding resources. - /// If a rbacrolebinding resource is deleted and another resource with the same name is created, it gets a + /// Output only. Google-generated UUID for this resource. This is unique across all Rollout Sequence resources. + /// If a Rollout Sequence resource is deleted and another resource with the same name is created, it gets a /// different uid. /// [Newtonsoft.Json.JsonPropertyAttribute("uid")] @@ -10284,7 +11438,7 @@ public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset private object _updateTime; - /// Output only. When the rbacrolebinding was last updated. + /// Output only. The timestamp at which the Rollout Sequence was last updated. [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] public virtual string UpdateTimeRaw { @@ -10316,113 +11470,142 @@ public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); } - - /// - /// user is the name of the user as seen by the kubernetes cluster, example "alice" or "alice@domain.tld" - /// - [Newtonsoft.Json.JsonPropertyAttribute("user")] - public virtual string User { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } } - /// **RBAC RoleBinding Actuation**: The Hub-wide input for the RBACRoleBindingActuation feature. - public class RBACRoleBindingActuationFeatureSpec : Google.Apis.Requests.IDirectResponseSchema + /// Stage represents a single stage in the Rollout. + public class RolloutStage : Google.Apis.Requests.IDirectResponseSchema { - /// - /// The list of allowed custom roles (ClusterRoles). If a ClusterRole is not part of this list, it cannot be - /// used in a Scope RBACRoleBinding. If a ClusterRole in this list is in use, it cannot be removed from the - /// list. - /// - [Newtonsoft.Json.JsonPropertyAttribute("allowedCustomRoles")] - public virtual System.Collections.Generic.IList AllowedCustomRoles { get; set; } + private string _endTimeRaw; - /// The ETag of the item. - public virtual string ETag { get; set; } - } + private object _endTime; - /// **RBAC RoleBinding Actuation**: An empty state left as an example Hub-wide Feature state. - public class RBACRoleBindingActuationFeatureState : Google.Apis.Requests.IDirectResponseSchema - { - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Optional. Output only. The time at which the wave ended. + [Newtonsoft.Json.JsonPropertyAttribute("endTime")] + public virtual string EndTimeRaw + { + get => _endTimeRaw; + set + { + _endTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _endTimeRaw = value; + } + } - /// RBACRoleBindingLifecycleState describes the state of a RbacRoleBinding resource. - public class RBACRoleBindingLifecycleState : Google.Apis.Requests.IDirectResponseSchema - { - /// Output only. The current state of the rbacrolebinding resource. - [Newtonsoft.Json.JsonPropertyAttribute("code")] - public virtual string Code { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use EndTimeDateTimeOffset instead.")] + public virtual object EndTime + { + get => _endTime; + set + { + _endTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _endTime = value; + } + } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? EndTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(EndTimeRaw); + set => EndTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// ResourceManifest represents a single Kubernetes resource to be applied to the cluster. - public class ResourceManifest : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// Output only. Whether the resource provided in the manifest is `cluster_scoped`. If unset, the manifest is - /// assumed to be namespace scoped. This field is used for REST mapping when applying the resource in a cluster. - /// - [Newtonsoft.Json.JsonPropertyAttribute("clusterScoped")] - public virtual System.Nullable ClusterScoped { get; set; } + /// Optional. Duration to soak after this wave before starting the next wave. + [Newtonsoft.Json.JsonPropertyAttribute("soakDuration")] + public virtual object SoakDuration { get; set; } - /// Output only. YAML manifest of the resource. - [Newtonsoft.Json.JsonPropertyAttribute("manifest")] - public virtual string Manifest { get; set; } + /// Output only. The wave number to which this status applies. + [Newtonsoft.Json.JsonPropertyAttribute("stageNumber")] + public virtual System.Nullable StageNumber { get; set; } + + private string _startTimeRaw; + + private object _startTime; + + /// Optional. Output only. The time at which the wave started. + [Newtonsoft.Json.JsonPropertyAttribute("startTime")] + public virtual string StartTimeRaw + { + get => _startTimeRaw; + set + { + _startTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _startTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use StartTimeDateTimeOffset instead.")] + public virtual object StartTime + { + get => _startTime; + set + { + _startTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _startTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? StartTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(StartTimeRaw); + set => StartTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// Output only. The state of the wave. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// ResourceOptions represent options for Kubernetes resource generation. - public class ResourceOptions : Google.Apis.Requests.IDirectResponseSchema + /// Metadata about the status of targets (clusters or node pools) involved in the Rollout. + public class RolloutTarget : Google.Apis.Requests.IDirectResponseSchema { /// - /// Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect - /// version. The version must be a currently supported version, obsolete versions will be rejected. + /// Optional. Output only. The resource link of the Cluster resource upgraded in this Rollout. It is formatted + /// as: ///projects//locations//clusters/. I.e. for GKE clusters, it is formatted as: + /// //container.googleapis.com/projects//locations//clusters/. For GDCE, it is formatted as: + /// //edgecontainer.googleapis.com/projects//locations//clusters/. /// - [Newtonsoft.Json.JsonPropertyAttribute("connectVersion")] - public virtual string ConnectVersion { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("cluster")] + public virtual string Cluster { get; set; } /// - /// Optional. Git version of the Kubernetes cluster. This is only used to gate the Connect Agent migration to - /// svc.id.goog on GDC-SO 1.33.100 patch and above. + /// Optional. Output only. The resource link of the NodePool resource upgraded in this Rollout. It is formatted + /// as: ///projects//locations//clusters//nodePools/. /// - [Newtonsoft.Json.JsonPropertyAttribute("k8sGitVersion")] - public virtual string K8sGitVersion { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("nodePool")] + public virtual string NodePool { get; set; } - /// - /// Optional. Major and minor version of the Kubernetes cluster. This is only used to determine which version to - /// use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`. - /// - [Newtonsoft.Json.JsonPropertyAttribute("k8sVersion")] - public virtual string K8sVersion { get; set; } + /// Optional. Output only. The operation resource name performing the mutation. + [Newtonsoft.Json.JsonPropertyAttribute("operation")] + public virtual string Operation { get; set; } - /// - /// Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. - /// This option should be set for clusters with Kubernetes apiserver versions &lt;1.16. - /// - [Newtonsoft.Json.JsonPropertyAttribute("v1beta1Crd")] - public virtual System.Nullable V1beta1Crd { get; set; } + /// Optional. Output only. A human-readable description of the current status. + [Newtonsoft.Json.JsonPropertyAttribute("reason")] + public virtual string Reason { get; set; } + + /// Output only. The high-level, machine-readable status of this Rollout for the target. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Role is the type for Kubernetes roles - public class Role : Google.Apis.Requests.IDirectResponseSchema + /// Schedule represents the schedule of the Rollout. + public class Schedule : Google.Apis.Requests.IDirectResponseSchema { - /// Optional. custom_role is the name of a custom KubernetesClusterRole to use. - [Newtonsoft.Json.JsonPropertyAttribute("customRole")] - public virtual string CustomRole { get; set; } - - /// predefined_role is the Kubernetes default role to use - [Newtonsoft.Json.JsonPropertyAttribute("predefinedRole")] - public virtual string PredefinedRole { get; set; } + /// Output only. The schedule of each wave in the Rollout. + [Newtonsoft.Json.JsonPropertyAttribute("waves")] + public virtual System.Collections.Generic.IList Waves { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } @@ -10899,6 +12082,30 @@ public class SetIamPolicyRequest : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// Rollout stage. + public class Stage : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Optional. Filter members of fleets (above) to a subset of clusters. If not specified, all clusters in the + /// fleets are selected. + /// + [Newtonsoft.Json.JsonPropertyAttribute("clusterSelector")] + public virtual ClusterSelector ClusterSelector { get; set; } + + /// + /// Required. List of Fleet projects to select the clusters from. Expected format: projects/{project} + /// + [Newtonsoft.Json.JsonPropertyAttribute("fleetProjects")] + public virtual System.Collections.Generic.IList FleetProjects { get; set; } + + /// Optional. Soak time after upgrading all the clusters in the stage. + [Newtonsoft.Json.JsonPropertyAttribute("soakDuration")] + public virtual object SoakDuration { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Status specifies state for the subcomponent. public class Status : Google.Apis.Requests.IDirectResponseSchema { @@ -11017,6 +12224,106 @@ public class ValidationResult : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// Config for version upgrade of clusters. + public class VersionUpgrade : Google.Apis.Requests.IDirectResponseSchema + { + /// Optional. Desired version of the component. + [Newtonsoft.Json.JsonPropertyAttribute("desiredVersion")] + public virtual string DesiredVersion { get; set; } + + /// Optional. Type of version upgrade specifies which component should be upgraded. + [Newtonsoft.Json.JsonPropertyAttribute("type")] + public virtual string Type { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// WaveSchedule represents the schedule of a single rollout wave. + public class WaveSchedule : Google.Apis.Requests.IDirectResponseSchema + { + private string _waveEndTimeRaw; + + private object _waveEndTime; + + /// Output only. The time at which the wave ends. + [Newtonsoft.Json.JsonPropertyAttribute("waveEndTime")] + public virtual string WaveEndTimeRaw + { + get => _waveEndTimeRaw; + set + { + _waveEndTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _waveEndTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use WaveEndTimeDateTimeOffset instead.")] + public virtual object WaveEndTime + { + get => _waveEndTime; + set + { + _waveEndTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _waveEndTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? WaveEndTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(WaveEndTimeRaw); + set => WaveEndTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// Output only. The wave number to which this schedule applies. + [Newtonsoft.Json.JsonPropertyAttribute("waveNumber")] + public virtual System.Nullable WaveNumber { get; set; } + + private string _waveStartTimeRaw; + + private object _waveStartTime; + + /// Output only. The time at which the wave starts. + [Newtonsoft.Json.JsonPropertyAttribute("waveStartTime")] + public virtual string WaveStartTimeRaw + { + get => _waveStartTimeRaw; + set + { + _waveStartTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _waveStartTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use WaveStartTimeDateTimeOffset instead.")] + public virtual object WaveStartTime + { + get => _waveStartTime; + set + { + _waveStartTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _waveStartTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? WaveStartTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(WaveStartTimeRaw); + set => WaveStartTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// **WorkloadIdentity**: Global feature specification. public class WorkloadIdentityFeatureSpec : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.GKEHub.v1alpha/Google.Apis.GKEHub.v1alpha.csproj b/Src/Generated/Google.Apis.GKEHub.v1alpha/Google.Apis.GKEHub.v1alpha.csproj index 5bbaa6333b5..1584534589e 100644 --- a/Src/Generated/Google.Apis.GKEHub.v1alpha/Google.Apis.GKEHub.v1alpha.csproj +++ b/Src/Generated/Google.Apis.GKEHub.v1alpha/Google.Apis.GKEHub.v1alpha.csproj @@ -3,7 +3,7 @@ Google.Apis.GKEHub.v1alpha Client Library - 1.72.0.3951 + 1.72.0.3959 Google LLC Copyright 2025 Google LLC Google From 7dbe072df13854fc3bce1682f6b14a6468d4cb69 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:57 +0000 Subject: [PATCH 42/65] feat: Generate Google.Apis.GKEHub.v1beta version 1.72.0.3959 --- DiscoveryJson/gkehub.v1beta.json | 725 ++- .../Google.Apis.GKEHub.v1beta.cs | 5421 ++++++++++------- .../Google.Apis.GKEHub.v1beta.csproj | 2 +- 3 files changed, 4089 insertions(+), 2059 deletions(-) diff --git a/DiscoveryJson/gkehub.v1beta.json b/DiscoveryJson/gkehub.v1beta.json index 2aabd941039..f2779259316 100644 --- a/DiscoveryJson/gkehub.v1beta.json +++ b/DiscoveryJson/gkehub.v1beta.json @@ -1480,6 +1480,238 @@ } } }, + "rolloutSequences": { + "methods": { + "create": { + "description": "Create a new rollout sequence resource.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/rolloutSequences", + "httpMethod": "POST", + "id": "gkehub.projects.locations.rolloutSequences.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource where this rollout sequence will be created. projects/{project}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "rolloutSequenceId": { + "description": "Required. User provided identifier that is used as part of the resource name; must conform to RFC-1034 and additionally restrict to lower-cased letters. This comes out roughly to: /^a-z+[a-z0-9]$/", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+parent}/rolloutSequences", + "request": { + "$ref": "RolloutSequence" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Remove a RolloutSequence.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/rolloutSequences/{rolloutSequencesId}", + "httpMethod": "DELETE", + "id": "gkehub.projects.locations.rolloutSequences.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the rollout sequence to delete. projects/{project}/locations/{location}/rolloutSequences/{rollout_sequence}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/rolloutSequences/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieve a single rollout sequence.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/rolloutSequences/{rolloutSequencesId}", + "httpMethod": "GET", + "id": "gkehub.projects.locations.rolloutSequences.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the rollout sequence to retrieve. projects/{project}/locations/{location}/rolloutSequences/{rollout_sequence}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/rolloutSequences/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "RolloutSequence" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Retrieve the list of all rollout sequences.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/rolloutSequences", + "httpMethod": "GET", + "id": "gkehub.projects.locations.rolloutSequences.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Lists Rollout Sequences that match the filter expression, following the syntax outlined in https://google.aip.dev/160.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of rollout sequences to return. The service may return fewer than this value. If unspecified, at most 50 rollout sequences will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListRolloutSequences` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRolloutSequences` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns this collection of rollout sequences. Format: projects/{project}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/rolloutSequences", + "response": { + "$ref": "ListRolloutSequencesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update a rollout sequence.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/rolloutSequences/{rolloutSequencesId}", + "httpMethod": "PATCH", + "id": "gkehub.projects.locations.rolloutSequences.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Name of the rollout sequence in the format of: projects/{PROJECT_ID}/locations/global/rolloutSequences/{NAME}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/rolloutSequences/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "RolloutSequence" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "rollouts": { + "methods": { + "get": { + "description": "Retrieve a single rollout.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/rollouts/{rolloutsId}", + "httpMethod": "GET", + "id": "gkehub.projects.locations.rollouts.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the rollout to retrieve. projects/{project}/locations/{location}/rollouts/{rollout}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/rollouts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Rollout" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Retrieve the list of all rollouts.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/rollouts", + "httpMethod": "GET", + "id": "gkehub.projects.locations.rollouts.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Lists Rollouts that match the filter expression, following the syntax outlined in https://google.aip.dev/160.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of rollout to return. The service may return fewer than this value. If unspecified, at most 50 rollouts will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListRollouts` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRollouts` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns this collection of rollout. Format: projects/{project}/locations/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/rollouts", + "response": { + "$ref": "ListRolloutsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "scopes": { "methods": { "create": { @@ -2122,7 +2354,7 @@ } } }, - "revision": "20251026", + "revision": "20251103", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AppDevExperienceFeatureSpec": { @@ -2293,6 +2525,17 @@ "properties": {}, "type": "object" }, + "ClusterSelector": { + "description": "Selector for clusters.", + "id": "ClusterSelector", + "properties": { + "labelSelector": { + "description": "The label selector must be a valid CEL (go/cel) expression which evaluates resource.labels.", + "type": "string" + } + }, + "type": "object" + }, "ClusterUpgradeFleetSpec": { "description": "**ClusterUpgrade**: The configuration for the fleet-level ClusterUpgrade feature.", "id": "ClusterUpgradeFleetSpec", @@ -3814,6 +4057,35 @@ "properties": {}, "type": "object" }, + "ExcludedCluster": { + "description": "An excluded cluster from the rollout.", + "id": "ExcludedCluster", + "properties": { + "membership": { + "description": "Output only. The name of the fleet Membership resource associated to the excluded cluster.", + "readOnly": true, + "type": "string" + }, + "reason": { + "description": "Output only. The reason for excluding the cluster from the rollout.", + "enum": [ + "REASON_UNSPECIFIED", + "EXCLUDED_BY_FILTER", + "ALREADY_UPGRADED", + "VERSION_TOO_OLD" + ], + "enumDescriptions": [ + "Default value.", + "The cluster was excluded by the rollout filter.", + "The cluster was already upgraded.", + "The cluster version is too old." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Expr": { "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 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.", "id": "Expr", @@ -3989,6 +4261,21 @@ }, "type": "object" }, + "FeatureUpdate": { + "description": "LINT.IfChange Feature config to use for Rollout.", + "id": "FeatureUpdate", + "properties": { + "binaryAuthorizationConfig": { + "$ref": "BinaryAuthorizationConfig", + "description": "Optional. Configuration for Binary Authorization." + }, + "securityPostureConfig": { + "$ref": "SecurityPostureConfig", + "description": "Optional. Configuration for Security Posture." + } + }, + "type": "object" + }, "Fleet": { "description": "Fleet contains the Fleet-wide metadata and configuration.", "id": "Fleet", @@ -4943,6 +5230,42 @@ }, "type": "object" }, + "ListRolloutSequencesResponse": { + "description": "Response message for listing rollout sequences.", + "id": "ListRolloutSequencesResponse", + "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" + }, + "rolloutSequences": { + "description": "The rollout sequences from the specified parent resource.", + "items": { + "$ref": "RolloutSequence" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListRolloutsResponse": { + "description": "Response message for listing rollouts.", + "id": "ListRolloutsResponse", + "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" + }, + "rollouts": { + "description": "The rollouts from the specified parent resource.", + "items": { + "$ref": "Rollout" + }, + "type": "array" + } + }, + "type": "object" + }, "ListScopeNamespacesResponse": { "description": "List of fleet namespaces.", "id": "ListScopeNamespacesResponse", @@ -6268,6 +6591,331 @@ }, "type": "object" }, + "Rollout": { + "description": "Rollout contains the Rollout metadata and configuration.", + "id": "Rollout", + "properties": { + "completeTime": { + "description": "Output only. The timestamp at which the Rollout was completed.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The timestamp at which the Rollout was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deleteTime": { + "description": "Output only. The timestamp at the Rollout was deleted.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Optional. Human readable display name of the Rollout.", + "type": "string" + }, + "etag": { + "description": "Output only. etag of the Rollout Ex. abc1234", + "readOnly": true, + "type": "string" + }, + "excludedClusters": { + "description": "Optional. Output only. The excluded clusters from the rollout.", + "items": { + "$ref": "ExcludedCluster" + }, + "readOnly": true, + "type": "array" + }, + "feature": { + "$ref": "FeatureUpdate", + "description": "Optional. Feature config to use for Rollout." + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels for this Rollout.", + "type": "object" + }, + "membershipStates": { + "additionalProperties": { + "$ref": "RolloutMembershipState" + }, + "description": "Output only. States of upgrading control plane or node pool targets of a single cluster (GKE Hub membership) that's part of this Rollout. The key is the membership name of the cluster. The value is the state of the cluster.", + "readOnly": true, + "type": "object" + }, + "name": { + "description": "Identifier. The full, unique resource name of this Rollout in the format of `projects/{project}/locations/global/rollouts/{rollout}`.", + "type": "string" + }, + "rolloutSequence": { + "description": "Optional. Immutable. The full, unique resource name of the rollout sequence that initiatied this Rollout. In the format of `projects/{project}/locations/global/rolloutSequences/{rollout_sequence}`. Empty for user initiated rollouts.", + "type": "string" + }, + "schedule": { + "$ref": "Schedule", + "description": "Output only. The schedule of the Rollout.", + "readOnly": true + }, + "stages": { + "description": "Output only. The stages of the Rollout. Note: this is only populated for google-initiated rollouts.", + "items": { + "$ref": "RolloutStage" + }, + "readOnly": true, + "type": "array" + }, + "state": { + "description": "Output only. State specifies various states of the Rollout.", + "enum": [ + "STATE_UNSPECIFIED", + "RUNNING", + "PAUSED", + "CANCELLED", + "COMPLETED", + "SCHEDULED" + ], + "enumDescriptions": [ + "Unspecified state.", + "The Rollout is running.", + "The Rollout is paused.", + "The Rollout is in a failure terminal state.", + "The Rollout is in a terminal state.", + "The Rollout is scheduled to start." + ], + "readOnly": true, + "type": "string" + }, + "stateReason": { + "description": "Output only. A human-readable description explaining the reason for the current state.", + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. Google-generated UUID for this resource. This is unique across all Rollout resources. If a Rollout resource is deleted and another resource with the same name is created, it gets a different uid.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp at which the Rollout was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "versionUpgrade": { + "$ref": "VersionUpgrade", + "description": "Optional. Config for version upgrade of clusters. Note: Currently for GDCE clusters only." + } + }, + "type": "object" + }, + "RolloutMembershipState": { + "description": "Metadata about single cluster (GKE Hub membership) that's part of this Rollout.", + "id": "RolloutMembershipState", + "properties": { + "lastUpdateTime": { + "description": "Optional. Output only. The time this status and any related Rollout-specific details for the membership were updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "stageAssignment": { + "description": "Output only. The stage assignment of this cluster in this rollout.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "targets": { + "description": "Output only. The targets of the rollout - clusters or node pools that are being upgraded. All targets belongs to the same cluster, identified by the membership name (key of membership_states map).", + "items": { + "$ref": "RolloutTarget" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "RolloutSequence": { + "description": "RolloutSequence defines the desired order of upgrades.", + "id": "RolloutSequence", + "properties": { + "createTime": { + "description": "Output only. The timestamp at which the Rollout Sequence was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deleteTime": { + "description": "Output only. The timestamp at the Rollout Sequence was deleted.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Optional. Human readable display name of the Rollout Sequence.", + "type": "string" + }, + "etag": { + "description": "Output only. etag of the Rollout Sequence Ex. abc1234", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels for this Rollout Sequence.", + "type": "object" + }, + "name": { + "description": "Identifier. Name of the rollout sequence in the format of: projects/{PROJECT_ID}/locations/global/rolloutSequences/{NAME}", + "type": "string" + }, + "stages": { + "description": "Required. Ordered list of stages that constitutes this Rollout.", + "items": { + "$ref": "Stage" + }, + "type": "array" + }, + "uid": { + "description": "Output only. Google-generated UUID for this resource. This is unique across all Rollout Sequence resources. If a Rollout Sequence resource is deleted and another resource with the same name is created, it gets a different uid.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp at which the Rollout Sequence was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "RolloutStage": { + "description": "Stage represents a single stage in the Rollout.", + "id": "RolloutStage", + "properties": { + "endTime": { + "description": "Optional. Output only. The time at which the wave ended.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "soakDuration": { + "description": "Optional. Duration to soak after this wave before starting the next wave.", + "format": "google-duration", + "type": "string" + }, + "stageNumber": { + "description": "Output only. The wave number to which this status applies.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "startTime": { + "description": "Optional. Output only. The time at which the wave started.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The state of the wave.", + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "RUNNING", + "SOAKING", + "COMPLETED", + "FORCED_SOAKING" + ], + "enumDescriptions": [ + "Default value.", + "The wave is pending.", + "The wave is running.", + "The wave is soaking.", + "The wave is completed.", + "The wave is force soaking." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "RolloutTarget": { + "description": "Metadata about the status of targets (clusters or node pools) involved in the Rollout.", + "id": "RolloutTarget", + "properties": { + "cluster": { + "description": "Optional. Output only. The resource link of the Cluster resource upgraded in this Rollout. It is formatted as: ///projects//locations//clusters/. I.e. for GKE clusters, it is formatted as: //container.googleapis.com/projects//locations//clusters/. For GDCE, it is formatted as: //edgecontainer.googleapis.com/projects//locations//clusters/.", + "readOnly": true, + "type": "string" + }, + "nodePool": { + "description": "Optional. Output only. The resource link of the NodePool resource upgraded in this Rollout. It is formatted as: ///projects//locations//clusters//nodePools/.", + "readOnly": true, + "type": "string" + }, + "operation": { + "description": "Optional. Output only. The operation resource name performing the mutation.", + "readOnly": true, + "type": "string" + }, + "reason": { + "description": "Optional. Output only. A human-readable description of the current status.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The high-level, machine-readable status of this Rollout for the target.", + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "RUNNING", + "FAILED", + "SUCCEEDED", + "PAUSED", + "REMOVED", + "INELIGIBLE" + ], + "enumDescriptions": [ + "Unspecified state.", + "The Rollout is pending for the target.", + "The Rollout is running for the target.", + "The Rollout failed for the target.", + "The Rollout succeeded for the target.", + "The Rollout is paused for the target.", + "The target was removed from the Rollout.", + "The target is ineligible for the Rollout." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Schedule": { + "description": "Schedule represents the schedule of the Rollout.", + "id": "Schedule", + "properties": { + "waves": { + "description": "Output only. The schedule of each wave in the Rollout.", + "items": { + "$ref": "WaveSchedule" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, "Scope": { "description": "Scope represents a Scope in a Fleet.", "id": "Scope", @@ -6754,6 +7402,29 @@ }, "type": "object" }, + "Stage": { + "description": "Rollout stage.", + "id": "Stage", + "properties": { + "clusterSelector": { + "$ref": "ClusterSelector", + "description": "Optional. Filter members of fleets (above) to a subset of clusters. If not specified, all clusters in the fleets are selected." + }, + "fleetProjects": { + "description": "Required. List of Fleet projects to select the clusters from. Expected format: projects/{project}", + "items": { + "type": "string" + }, + "type": "array" + }, + "soakDuration": { + "description": "Optional. Soak time after upgrading all the clusters in the stage.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "Status": { "description": "Status specifies state for the subcomponent.", "id": "Status", @@ -6823,6 +7494,58 @@ } }, "type": "object" + }, + "VersionUpgrade": { + "description": "Config for version upgrade of clusters.", + "id": "VersionUpgrade", + "properties": { + "desiredVersion": { + "description": "Optional. Desired version of the component.", + "type": "string" + }, + "type": { + "description": "Optional. Type of version upgrade specifies which component should be upgraded.", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_CONTROL_PLANE", + "TYPE_NODE_POOL", + "TYPE_CONFIG_SYNC" + ], + "enumDescriptions": [ + "Default value.", + "Control plane upgrade.", + "Node pool upgrade.", + "Config Sync upgrade." + ], + "type": "string" + } + }, + "type": "object" + }, + "WaveSchedule": { + "description": "WaveSchedule represents the schedule of a single rollout wave.", + "id": "WaveSchedule", + "properties": { + "waveEndTime": { + "description": "Output only. The time at which the wave ends.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "waveNumber": { + "description": "Output only. The wave number to which this schedule applies.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "waveStartTime": { + "description": "Output only. The time at which the wave starts.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/Src/Generated/Google.Apis.GKEHub.v1beta/Google.Apis.GKEHub.v1beta.cs b/Src/Generated/Google.Apis.GKEHub.v1beta/Google.Apis.GKEHub.v1beta.cs index 546f6ad0f4e..374860292e1 100644 --- a/Src/Generated/Google.Apis.GKEHub.v1beta/Google.Apis.GKEHub.v1beta.cs +++ b/Src/Generated/Google.Apis.GKEHub.v1beta/Google.Apis.GKEHub.v1beta.cs @@ -440,6 +440,8 @@ public LocationsResource(Google.Apis.Services.IClientService service) Fleets = new FleetsResource(service); Memberships = new MembershipsResource(service); Operations = new OperationsResource(service); + RolloutSequences = new RolloutSequencesResource(service); + Rollouts = new RolloutsResource(service); Scopes = new ScopesResource(service); } @@ -3401,205 +3403,736 @@ protected override void InitParameters() } } - /// Gets the Scopes resource. - public virtual ScopesResource Scopes { get; } + /// Gets the RolloutSequences resource. + public virtual RolloutSequencesResource RolloutSequences { get; } - /// The "scopes" collection of methods. - public class ScopesResource + /// The "rolloutSequences" collection of methods. + public class RolloutSequencesResource { - private const string Resource = "scopes"; + private const string Resource = "rolloutSequences"; /// The service which this resource belongs to. private readonly Google.Apis.Services.IClientService service; /// Constructs a new resource. - public ScopesResource(Google.Apis.Services.IClientService service) + public RolloutSequencesResource(Google.Apis.Services.IClientService service) { this.service = service; - Namespaces = new NamespacesResource(service); - Rbacrolebindings = new RbacrolebindingsResource(service); } - /// Gets the Namespaces resource. - public virtual NamespacesResource Namespaces { get; } - - /// The "namespaces" collection of methods. - public class NamespacesResource + /// Create a new rollout sequence resource. + /// The body of the request. + /// + /// Required. The parent resource where this rollout sequence will be created. + /// projects/{project}/locations/{location} + /// + public virtual CreateRequest Create(Google.Apis.GKEHub.v1beta.Data.RolloutSequence body, string parent) { - private const string Resource = "namespaces"; - - /// The service which this resource belongs to. - private readonly Google.Apis.Services.IClientService service; - - /// Constructs a new resource. - public NamespacesResource(Google.Apis.Services.IClientService service) - { - this.service = service; - } + return new CreateRequest(this.service, body, parent); + } - /// Creates a fleet namespace. - /// The body of the request. - /// - /// Required. The parent (project and location) where the Namespace will be created. Specified in - /// the format `projects/*/locations/*/scopes/*`. - /// - public virtual CreateRequest Create(Google.Apis.GKEHub.v1beta.Data.Namespace body, string parent) + /// Create a new rollout sequence resource. + public class CreateRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v1beta.Data.RolloutSequence body, string parent) : base(service) { - return new CreateRequest(this.service, body, parent); + Parent = parent; + Body = body; + InitParameters(); } - /// Creates a fleet namespace. - public class CreateRequest : GKEHubBaseServiceRequest - { - /// Constructs a new Create request. - public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v1beta.Data.Namespace body, string parent) : base(service) - { - Parent = parent; - Body = body; - InitParameters(); - } - - /// - /// Required. The parent (project and location) where the Namespace will be created. Specified - /// in the format `projects/*/locations/*/scopes/*`. - /// - [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Parent { get; private set; } + /// + /// Required. The parent resource where this rollout sequence will be created. + /// projects/{project}/locations/{location} + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } - /// - /// Required. Client chosen ID for the Namespace. `namespace_id` must be a valid RFC 1123 - /// compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case - /// alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which - /// can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 - /// characters. - /// - [Google.Apis.Util.RequestParameterAttribute("scopeNamespaceId", Google.Apis.Util.RequestParameterType.Query)] - public virtual string ScopeNamespaceId { get; set; } + /// + /// Required. User provided identifier that is used as part of the resource name; must conform to + /// RFC-1034 and additionally restrict to lower-cased letters. This comes out roughly to: + /// /^a-z+[a-z0-9]$/ + /// + [Google.Apis.Util.RequestParameterAttribute("rolloutSequenceId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string RolloutSequenceId { get; set; } - /// Gets or sets the body of this request. - Google.Apis.GKEHub.v1beta.Data.Namespace Body { get; set; } + /// Gets or sets the body of this request. + Google.Apis.GKEHub.v1beta.Data.RolloutSequence Body { get; set; } - /// Returns the body of the request. - protected override object GetBody() => Body; + /// Returns the body of the request. + protected override object GetBody() => Body; - /// Gets the method name. - public override string MethodName => "create"; + /// Gets the method name. + public override string MethodName => "create"; - /// Gets the HTTP method. - public override string HttpMethod => "POST"; + /// Gets the HTTP method. + public override string HttpMethod => "POST"; - /// Gets the REST path. - public override string RestPath => "v1beta/{+parent}/namespaces"; + /// Gets the REST path. + public override string RestPath => "v1beta/{+parent}/rolloutSequences"; - /// Initializes Create parameter list. - protected override void InitParameters() + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter { - base.InitParameters(); - RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter - { - Name = "parent", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", - }); - RequestParameters.Add("scopeNamespaceId", new Google.Apis.Discovery.Parameter - { - Name = "scopeNamespaceId", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - } + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("rolloutSequenceId", new Google.Apis.Discovery.Parameter + { + Name = "rolloutSequenceId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); } + } - /// Deletes a fleet namespace. - /// - /// Required. The Namespace resource name in the format - /// `projects/*/locations/*/scopes/*/namespaces/*`. - /// - public virtual DeleteRequest Delete(string name) - { - return new DeleteRequest(this.service, name); - } + /// Remove a RolloutSequence. + /// + /// Required. The name of the rollout sequence to delete. + /// projects/{project}/locations/{location}/rolloutSequences/{rollout_sequence} + /// + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } - /// Deletes a fleet namespace. - public class DeleteRequest : GKEHubBaseServiceRequest + /// Remove a RolloutSequence. + public class DeleteRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) { - /// Constructs a new Delete request. - public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) - { - Name = name; - InitParameters(); - } + Name = name; + InitParameters(); + } - /// - /// Required. The Namespace resource name in the format - /// `projects/*/locations/*/scopes/*/namespaces/*`. - /// - [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Name { get; private set; } + /// + /// Required. The name of the rollout sequence to delete. + /// projects/{project}/locations/{location}/rolloutSequences/{rollout_sequence} + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } - /// Gets the method name. - public override string MethodName => "delete"; + /// Gets the method name. + public override string MethodName => "delete"; - /// Gets the HTTP method. - public override string HttpMethod => "DELETE"; + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; - /// Gets the REST path. - public override string RestPath => "v1beta/{+name}"; + /// Gets the REST path. + public override string RestPath => "v1beta/{+name}"; - /// Initializes Delete parameter list. - protected override void InitParameters() + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter { - base.InitParameters(); - RequestParameters.Add("name", new Google.Apis.Discovery.Parameter - { - Name = "name", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+/namespaces/[^/]+$", - }); - } + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/rolloutSequences/[^/]+$", + }); } + } - /// Returns the details of a fleet namespace. - /// - /// Required. The Namespace resource name in the format - /// `projects/*/locations/*/scopes/*/namespaces/*`. - /// - public virtual GetRequest Get(string name) - { - return new GetRequest(this.service, name); - } + /// Retrieve a single rollout sequence. + /// + /// Required. The name of the rollout sequence to retrieve. + /// projects/{project}/locations/{location}/rolloutSequences/{rollout_sequence} + /// + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } - /// Returns the details of a fleet namespace. - public class GetRequest : GKEHubBaseServiceRequest + /// Retrieve a single rollout sequence. + public class GetRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) { - /// Constructs a new Get request. - public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) - { - Name = name; - InitParameters(); - } + Name = name; + InitParameters(); + } - /// - /// Required. The Namespace resource name in the format - /// `projects/*/locations/*/scopes/*/namespaces/*`. - /// - [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Name { get; private set; } + /// + /// Required. The name of the rollout sequence to retrieve. + /// projects/{project}/locations/{location}/rolloutSequences/{rollout_sequence} + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } - /// Gets the method name. - public override string MethodName => "get"; + /// Gets the method name. + public override string MethodName => "get"; - /// Gets the HTTP method. - public override string HttpMethod => "GET"; + /// Gets the HTTP method. + public override string HttpMethod => "GET"; - /// Gets the REST path. - public override string RestPath => "v1beta/{+name}"; + /// Gets the REST path. + public override string RestPath => "v1beta/{+name}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/rolloutSequences/[^/]+$", + }); + } + } + + /// Retrieve the list of all rollout sequences. + /// + /// Required. The parent, which owns this collection of rollout sequences. Format: + /// projects/{project}/locations/{location} + /// + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Retrieve the list of all rollout sequences. + public class ListRequest : GKEHubBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// + /// Required. The parent, which owns this collection of rollout sequences. Format: + /// projects/{project}/locations/{location} + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Optional. Lists Rollout Sequences that match the filter expression, following the syntax + /// outlined in https://google.aip.dev/160. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Optional. The maximum number of rollout sequences to return. The service may return fewer than + /// this value. If unspecified, at most 50 rollout sequences will be returned. The maximum value is + /// 1000; values above 1000 will be coerced to 1000. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// Optional. A page token, received from a previous `ListRolloutSequences` call. Provide this to + /// retrieve the subsequent page. When paginating, all other parameters provided to + /// `ListRolloutSequences` must match the call that provided the page token. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1beta/{+parent}/rolloutSequences"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Update a rollout sequence. + /// The body of the request. + /// + /// Identifier. Name of the rollout sequence in the format of: + /// projects/{PROJECT_ID}/locations/global/rolloutSequences/{NAME} + /// + public virtual PatchRequest Patch(Google.Apis.GKEHub.v1beta.Data.RolloutSequence body, string name) + { + return new PatchRequest(this.service, body, name); + } + + /// Update a rollout sequence. + public class PatchRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v1beta.Data.RolloutSequence body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Identifier. Name of the rollout sequence in the format of: + /// projects/{PROJECT_ID}/locations/global/rolloutSequences/{NAME} + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Optional. The list of fields to update. + [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] + public virtual object UpdateMask { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.GKEHub.v1beta.Data.RolloutSequence Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "patch"; + + /// Gets the HTTP method. + public override string HttpMethod => "PATCH"; + + /// Gets the REST path. + public override string RestPath => "v1beta/{+name}"; + + /// Initializes Patch parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/rolloutSequences/[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Gets the Rollouts resource. + public virtual RolloutsResource Rollouts { get; } + + /// The "rollouts" collection of methods. + public class RolloutsResource + { + private const string Resource = "rollouts"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public RolloutsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Retrieve a single rollout. + /// + /// Required. The name of the rollout to retrieve. + /// projects/{project}/locations/{location}/rollouts/{rollout} + /// + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Retrieve a single rollout. + public class GetRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The name of the rollout to retrieve. + /// projects/{project}/locations/{location}/rollouts/{rollout} + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1beta/{+name}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/rollouts/[^/]+$", + }); + } + } + + /// Retrieve the list of all rollouts. + /// + /// Required. The parent, which owns this collection of rollout. Format: + /// projects/{project}/locations/{location} + /// + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Retrieve the list of all rollouts. + public class ListRequest : GKEHubBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// + /// Required. The parent, which owns this collection of rollout. Format: + /// projects/{project}/locations/{location} + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Optional. Lists Rollouts that match the filter expression, following the syntax outlined in + /// https://google.aip.dev/160. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// The maximum number of rollout to return. The service may return fewer than this value. If + /// unspecified, at most 50 rollouts will be returned. The maximum value is 1000; values above 1000 + /// will be coerced to 1000. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A page token, received from a previous `ListRollouts` call. Provide this to retrieve the + /// subsequent page. When paginating, all other parameters provided to `ListRollouts` must match the + /// call that provided the page token. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1beta/{+parent}/rollouts"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Gets the Scopes resource. + public virtual ScopesResource Scopes { get; } + + /// The "scopes" collection of methods. + public class ScopesResource + { + private const string Resource = "scopes"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public ScopesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + Namespaces = new NamespacesResource(service); + Rbacrolebindings = new RbacrolebindingsResource(service); + } + + /// Gets the Namespaces resource. + public virtual NamespacesResource Namespaces { get; } + + /// The "namespaces" collection of methods. + public class NamespacesResource + { + private const string Resource = "namespaces"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public NamespacesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Creates a fleet namespace. + /// The body of the request. + /// + /// Required. The parent (project and location) where the Namespace will be created. Specified in + /// the format `projects/*/locations/*/scopes/*`. + /// + public virtual CreateRequest Create(Google.Apis.GKEHub.v1beta.Data.Namespace body, string parent) + { + return new CreateRequest(this.service, body, parent); + } + + /// Creates a fleet namespace. + public class CreateRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v1beta.Data.Namespace body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// + /// Required. The parent (project and location) where the Namespace will be created. Specified + /// in the format `projects/*/locations/*/scopes/*`. + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Required. Client chosen ID for the Namespace. `namespace_id` must be a valid RFC 1123 + /// compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case + /// alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which + /// can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 + /// characters. + /// + [Google.Apis.Util.RequestParameterAttribute("scopeNamespaceId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string ScopeNamespaceId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.GKEHub.v1beta.Data.Namespace Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1beta/{+parent}/namespaces"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+$", + }); + RequestParameters.Add("scopeNamespaceId", new Google.Apis.Discovery.Parameter + { + Name = "scopeNamespaceId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Deletes a fleet namespace. + /// + /// Required. The Namespace resource name in the format + /// `projects/*/locations/*/scopes/*/namespaces/*`. + /// + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// Deletes a fleet namespace. + public class DeleteRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The Namespace resource name in the format + /// `projects/*/locations/*/scopes/*/namespaces/*`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v1beta/{+name}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/scopes/[^/]+/namespaces/[^/]+$", + }); + } + } + + /// Returns the details of a fleet namespace. + /// + /// Required. The Namespace resource name in the format + /// `projects/*/locations/*/scopes/*/namespaces/*`. + /// + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Returns the details of a fleet namespace. + public class GetRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The Namespace resource name in the format + /// `projects/*/locations/*/scopes/*/namespaces/*`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1beta/{+name}"; /// Initializes Get parameter list. protected override void InitParameters() @@ -5232,6 +5765,19 @@ public class CancelOperationRequest : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// Selector for clusters. + public class ClusterSelector : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The label selector must be a valid CEL (go/cel) expression which evaluates resource.labels. + /// + [Newtonsoft.Json.JsonPropertyAttribute("labelSelector")] + public virtual string LabelSelector { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// **ClusterUpgrade**: The configuration for the fleet-level ClusterUpgrade feature. public class ClusterUpgradeFleetSpec : Google.Apis.Requests.IDirectResponseSchema { @@ -6649,6 +7195,23 @@ public class Empty : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// An excluded cluster from the rollout. + public class ExcludedCluster : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Output only. The name of the fleet Membership resource associated to the excluded cluster. + /// + [Newtonsoft.Json.JsonPropertyAttribute("membership")] + public virtual string Membership { get; set; } + + /// Output only. The reason for excluding the cluster from the rollout. + [Newtonsoft.Json.JsonPropertyAttribute("reason")] + public virtual string Reason { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// /// 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 @@ -6829,29 +7392,266 @@ public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset /// `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. /// {p} WILL match the Feature's project. /// - [Newtonsoft.Json.JsonPropertyAttribute("scopeStates")] - public virtual System.Collections.Generic.IDictionary ScopeStates { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("scopeStates")] + public virtual System.Collections.Generic.IDictionary ScopeStates { get; set; } + + /// + /// Optional. Fleet-wide Feature configuration. If this Feature does not support any Fleet-wide configuration, + /// this field may be unused. + /// + [Newtonsoft.Json.JsonPropertyAttribute("spec")] + public virtual CommonFeatureSpec Spec { get; set; } + + /// Output only. The Fleet-wide Feature state. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual CommonFeatureState State { get; set; } + + /// Output only. List of locations that could not be reached while fetching this feature. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } + + private string _updateTimeRaw; + + private object _updateTime; + + /// Output only. When the Feature resource was last updated. + [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] + public virtual string UpdateTimeRaw + { + get => _updateTimeRaw; + set + { + _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _updateTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] + public virtual object UpdateTime + { + get => _updateTime; + set + { + _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _updateTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); + set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// FeatureResourceState describes the state of a Feature *resource* in the GkeHub API. See `FeatureState` for the + /// "running state" of the Feature in the Fleet and across Memberships. + /// + public class FeatureResourceState : Google.Apis.Requests.IDirectResponseSchema + { + /// The current state of the Feature resource in the Hub API. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// FeatureState describes the high-level state of a Feature. It may be used to describe a Feature's state at the + /// environ-level, or per-membershop, depending on the context. + /// + public class FeatureState : Google.Apis.Requests.IDirectResponseSchema + { + /// The high-level, machine-readable status of this Feature. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } + + /// A human-readable description of the current status. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + private string _updateTimeRaw; + + private object _updateTime; + + /// The time this status and any related Feature-specific details were updated. + [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] + public virtual string UpdateTimeRaw + { + get => _updateTimeRaw; + set + { + _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _updateTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] + public virtual object UpdateTime + { + get => _updateTime; + set + { + _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _updateTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); + set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// LINT.IfChange Feature config to use for Rollout. + public class FeatureUpdate : Google.Apis.Requests.IDirectResponseSchema + { + /// Optional. Configuration for Binary Authorization. + [Newtonsoft.Json.JsonPropertyAttribute("binaryAuthorizationConfig")] + public virtual BinaryAuthorizationConfig BinaryAuthorizationConfig { get; set; } + + /// Optional. Configuration for Security Posture. + [Newtonsoft.Json.JsonPropertyAttribute("securityPostureConfig")] + public virtual SecurityPostureConfig SecurityPostureConfig { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Fleet contains the Fleet-wide metadata and configuration. + public class Fleet : Google.Apis.Requests.IDirectResponseSchema + { + private string _createTimeRaw; + + private object _createTime; + + /// Output only. When the Fleet was created. + [Newtonsoft.Json.JsonPropertyAttribute("createTime")] + public virtual string CreateTimeRaw + { + get => _createTimeRaw; + set + { + _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _createTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] + public virtual object CreateTime + { + get => _createTime; + set + { + _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _createTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CreateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); + set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// Optional. The default cluster configurations to apply across the fleet. + [Newtonsoft.Json.JsonPropertyAttribute("defaultClusterConfig")] + public virtual DefaultClusterConfig DefaultClusterConfig { get; set; } + + private string _deleteTimeRaw; + + private object _deleteTime; + + /// Output only. When the Fleet was deleted. + [Newtonsoft.Json.JsonPropertyAttribute("deleteTime")] + public virtual string DeleteTimeRaw + { + get => _deleteTimeRaw; + set + { + _deleteTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _deleteTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use DeleteTimeDateTimeOffset instead.")] + public virtual object DeleteTime + { + get => _deleteTime; + set + { + _deleteTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _deleteTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(DeleteTimeRaw); + set => DeleteTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// + /// Optional. A user-assigned display name of the Fleet. When present, it must be between 4 to 30 characters. + /// Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, + /// and exclamation point. Example: `Production Fleet` + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Optional. Labels for this Fleet. + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } /// - /// Optional. Fleet-wide Feature configuration. If this Feature does not support any Fleet-wide configuration, - /// this field may be unused. + /// Output only. The full, unique resource name of this fleet in the format of + /// `projects/{project}/locations/{location}/fleets/{fleet}`. Each Google Cloud project can have at most one + /// fleet resource, named "default". /// - [Newtonsoft.Json.JsonPropertyAttribute("spec")] - public virtual CommonFeatureSpec Spec { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } - /// Output only. The Fleet-wide Feature state. + /// Output only. State of the namespace resource. [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual CommonFeatureState State { get; set; } + public virtual FleetLifecycleState State { get; set; } - /// Output only. List of locations that could not be reached while fetching this feature. - [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] - public virtual System.Collections.Generic.IList Unreachable { get; set; } + /// + /// Output only. Google-generated UUID for this resource. This is unique across all Fleet resources. If a Fleet + /// resource is deleted and another resource with the same name is created, it gets a different uid. + /// + [Newtonsoft.Json.JsonPropertyAttribute("uid")] + public virtual string Uid { get; set; } private string _updateTimeRaw; private object _updateTime; - /// Output only. When the Feature resource was last updated. + /// Output only. When the Fleet was last updated. [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] public virtual string UpdateTimeRaw { @@ -6888,27 +7688,21 @@ public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset public virtual string ETag { get; set; } } - /// - /// FeatureResourceState describes the state of a Feature *resource* in the GkeHub API. See `FeatureState` for the - /// "running state" of the Feature in the Fleet and across Memberships. - /// - public class FeatureResourceState : Google.Apis.Requests.IDirectResponseSchema + /// FleetLifecycleState describes the state of a Fleet resource. + public class FleetLifecycleState : Google.Apis.Requests.IDirectResponseSchema { - /// The current state of the Feature resource in the Hub API. - [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual string State { get; set; } + /// Output only. The current state of the Fleet resource. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// - /// FeatureState describes the high-level state of a Feature. It may be used to describe a Feature's state at the - /// environ-level, or per-membershop, depending on the context. - /// - public class FeatureState : Google.Apis.Requests.IDirectResponseSchema + /// All error details of the fleet observability feature. + public class FleetObservabilityFeatureError : Google.Apis.Requests.IDirectResponseSchema { - /// The high-level, machine-readable status of this Feature. + /// The code of the error. [Newtonsoft.Json.JsonPropertyAttribute("code")] public virtual string Code { get; set; } @@ -6916,922 +7710,1282 @@ public class FeatureState : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("description")] public virtual string Description { get; set; } - private string _updateTimeRaw; + /// The ETag of the item. + public virtual string ETag { get; set; } + } - private object _updateTime; + /// **Fleet Observability**: The Hub-wide input for the FleetObservability feature. + public class FleetObservabilityFeatureSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Specified if fleet logging feature is enabled for the entire fleet. If UNSPECIFIED, fleet logging feature is + /// disabled for the entire fleet. + /// + [Newtonsoft.Json.JsonPropertyAttribute("loggingConfig")] + public virtual FleetObservabilityLoggingConfig LoggingConfig { get; set; } - /// The time this status and any related Feature-specific details were updated. - [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] - public virtual string UpdateTimeRaw - { - get => _updateTimeRaw; - set - { - _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _updateTimeRaw = value; - } - } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] - public virtual object UpdateTime - { - get => _updateTime; - set - { - _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _updateTime = value; - } - } + /// **FleetObservability**: Hub-wide Feature for FleetObservability feature. state. + public class FleetObservabilityFeatureState : Google.Apis.Requests.IDirectResponseSchema + { + /// The feature state of default logging. + [Newtonsoft.Json.JsonPropertyAttribute("logging")] + public virtual FleetObservabilityFleetObservabilityLoggingState Logging { get; set; } + + /// The feature state of fleet monitoring. + [Newtonsoft.Json.JsonPropertyAttribute("monitoring")] + public virtual FleetObservabilityFleetObservabilityMonitoringState Monitoring { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Base state for fleet observability feature. + public class FleetObservabilityFleetObservabilityBaseFeatureState : Google.Apis.Requests.IDirectResponseSchema + { + /// The high-level, machine-readable status of this Feature. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } + + /// Errors after reconciling the monitoring and logging feature if the code is not OK. + [Newtonsoft.Json.JsonPropertyAttribute("errors")] + public virtual System.Collections.Generic.IList Errors { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Feature state for logging feature. + public class FleetObservabilityFleetObservabilityLoggingState : Google.Apis.Requests.IDirectResponseSchema + { + /// The base feature state of fleet default log. + [Newtonsoft.Json.JsonPropertyAttribute("defaultLog")] + public virtual FleetObservabilityFleetObservabilityBaseFeatureState DefaultLog { get; set; } + + /// The base feature state of fleet scope log. + [Newtonsoft.Json.JsonPropertyAttribute("scopeLog")] + public virtual FleetObservabilityFleetObservabilityBaseFeatureState ScopeLog { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Feature state for monitoring feature. + public class FleetObservabilityFleetObservabilityMonitoringState : Google.Apis.Requests.IDirectResponseSchema + { + /// The base feature state of fleet monitoring feature. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual FleetObservabilityFleetObservabilityBaseFeatureState State { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// LoggingConfig defines the configuration for different types of logs. + public class FleetObservabilityLoggingConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Specified if applying the default routing config to logs not specified in other configs. + [Newtonsoft.Json.JsonPropertyAttribute("defaultConfig")] + public virtual FleetObservabilityRoutingConfig DefaultConfig { get; set; } + + /// Specified if applying the routing config to all logs for all fleet scopes. + [Newtonsoft.Json.JsonPropertyAttribute("fleetScopeLogsConfig")] + public virtual FleetObservabilityRoutingConfig FleetScopeLogsConfig { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// **FleetObservability**: The membership-specific input for FleetObservability feature. + public class FleetObservabilityMembershipSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// **FleetObservability**: Membership-specific Feature state for fleetobservability. + public class FleetObservabilityMembershipState : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// RoutingConfig configures the behaviour of fleet logging feature. + public class FleetObservabilityRoutingConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// mode configures the logs routing mode. + [Newtonsoft.Json.JsonPropertyAttribute("mode")] + public virtual string Mode { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// GenerateConnectManifestResponse contains manifest information for installing/upgrading a Connect agent. + /// + public class GenerateConnectManifestResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The ordered list of Kubernetes resources that need to be applied to the cluster for GKE Connect agent + /// installation/upgrade. + /// + [Newtonsoft.Json.JsonPropertyAttribute("manifest")] + public virtual System.Collections.Generic.IList Manifest { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Response for GenerateRBACRoleBindingYAML. + public class GenerateMembershipRBACRoleBindingYAMLResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// a yaml text blob including the RBAC policies. + [Newtonsoft.Json.JsonPropertyAttribute("roleBindingsYaml")] + public virtual string RoleBindingsYaml { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// GkeCluster contains information specific to GKE clusters. + public class GkeCluster : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Output only. If cluster_missing is set then it denotes that the GKE cluster no longer exists in the GKE + /// Control Plane. + /// + [Newtonsoft.Json.JsonPropertyAttribute("clusterMissing")] + public virtual System.Nullable ClusterMissing { get; set; } + + /// + /// Immutable. Self-link of the Google Cloud resource for the GKE cluster. For example: + /// //container.googleapis.com/projects/my-project/locations/us-west1-a/clusters/my-cluster Zonal clusters are + /// also supported. + /// + [Newtonsoft.Json.JsonPropertyAttribute("resourceLink")] + public virtual string ResourceLink { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// 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). + /// + public class GoogleRpcStatus : Google.Apis.Requests.IDirectResponseSchema + { + /// The status code, which should be an enum value of google.rpc.Code. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual System.Nullable Code { get; set; } + + /// + /// A list of messages that carry the error details. There is a common set of message types for APIs to use. + /// + [Newtonsoft.Json.JsonPropertyAttribute("details")] + public virtual System.Collections.Generic.IList> Details { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); - set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + /// + /// 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("message")] + public virtual string Message { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Fleet contains the Fleet-wide metadata and configuration. - public class Fleet : Google.Apis.Requests.IDirectResponseSchema + /// + /// Configuration of an auth method for a member/cluster. Only one authentication method (e.g., OIDC and LDAP) can + /// be set per AuthMethod. + /// + public class IdentityServiceAuthMethod : Google.Apis.Requests.IDirectResponseSchema { - private string _createTimeRaw; + /// AzureAD specific Configuration. + [Newtonsoft.Json.JsonPropertyAttribute("azureadConfig")] + public virtual IdentityServiceAzureADConfig AzureadConfig { get; set; } - private object _createTime; + /// GoogleConfig specific configuration. + [Newtonsoft.Json.JsonPropertyAttribute("googleConfig")] + public virtual IdentityServiceGoogleConfig GoogleConfig { get; set; } - /// Output only. When the Fleet was created. - [Newtonsoft.Json.JsonPropertyAttribute("createTime")] - public virtual string CreateTimeRaw - { - get => _createTimeRaw; - set - { - _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _createTimeRaw = value; - } - } + /// LDAP specific configuration. + [Newtonsoft.Json.JsonPropertyAttribute("ldapConfig")] + public virtual IdentityServiceLdapConfig LdapConfig { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] - public virtual object CreateTime - { - get => _createTime; - set - { - _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _createTime = value; - } - } + /// Identifier for auth config. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? CreateTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); - set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + /// OIDC specific configuration. + [Newtonsoft.Json.JsonPropertyAttribute("oidcConfig")] + public virtual IdentityServiceOidcConfig OidcConfig { get; set; } - /// Optional. The default cluster configurations to apply across the fleet. - [Newtonsoft.Json.JsonPropertyAttribute("defaultClusterConfig")] - public virtual DefaultClusterConfig DefaultClusterConfig { get; set; } + /// Proxy server address to use for auth method. + [Newtonsoft.Json.JsonPropertyAttribute("proxy")] + public virtual string Proxy { get; set; } - private string _deleteTimeRaw; + /// SAML specific configuration. + [Newtonsoft.Json.JsonPropertyAttribute("samlConfig")] + public virtual IdentityServiceSamlConfig SamlConfig { get; set; } - private object _deleteTime; + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// Output only. When the Fleet was deleted. - [Newtonsoft.Json.JsonPropertyAttribute("deleteTime")] - public virtual string DeleteTimeRaw - { - get => _deleteTimeRaw; - set - { - _deleteTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _deleteTimeRaw = value; - } - } + /// Configuration for the AzureAD Auth flow. + public class IdentityServiceAzureADConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// ID for the registered client application that makes authentication requests to the Azure AD identity + /// provider. + /// + [Newtonsoft.Json.JsonPropertyAttribute("clientId")] + public virtual string ClientId { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use DeleteTimeDateTimeOffset instead.")] - public virtual object DeleteTime - { - get => _deleteTime; - set - { - _deleteTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _deleteTime = value; - } - } + /// Input only. Unencrypted AzureAD client secret will be passed to the GKE Hub CLH. + [Newtonsoft.Json.JsonPropertyAttribute("clientSecret")] + public virtual string ClientSecret { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(DeleteTimeRaw); - set => DeleteTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + /// Output only. Encrypted AzureAD client secret. + [Newtonsoft.Json.JsonPropertyAttribute("encryptedClientSecret")] + public virtual string EncryptedClientSecret { get; set; } - /// - /// Optional. A user-assigned display name of the Fleet. When present, it must be between 4 to 30 characters. - /// Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, - /// and exclamation point. Example: `Production Fleet` - /// - [Newtonsoft.Json.JsonPropertyAttribute("displayName")] - public virtual string DisplayName { get; set; } + /// Optional. Format of the AzureAD groups that the client wants for auth. + [Newtonsoft.Json.JsonPropertyAttribute("groupFormat")] + public virtual string GroupFormat { get; set; } - /// Optional. Labels for this Fleet. - [Newtonsoft.Json.JsonPropertyAttribute("labels")] - public virtual System.Collections.Generic.IDictionary Labels { get; set; } + /// The redirect URL that kubectl uses for authorization. + [Newtonsoft.Json.JsonPropertyAttribute("kubectlRedirectUri")] + public virtual string KubectlRedirectUri { get; set; } /// - /// Output only. The full, unique resource name of this fleet in the format of - /// `projects/{project}/locations/{location}/fleets/{fleet}`. Each Google Cloud project can have at most one - /// fleet resource, named "default". + /// Kind of Azure AD account to be authenticated. Supported values are or for accounts belonging to a specific + /// tenant. /// - [Newtonsoft.Json.JsonPropertyAttribute("name")] - public virtual string Name { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("tenant")] + public virtual string Tenant { get; set; } - /// Output only. State of the namespace resource. - [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual FleetLifecycleState State { get; set; } + /// Optional. Claim in the AzureAD ID Token that holds the user details. + [Newtonsoft.Json.JsonPropertyAttribute("userClaim")] + public virtual string UserClaim { get; set; } - /// - /// Output only. Google-generated UUID for this resource. This is unique across all Fleet resources. If a Fleet - /// resource is deleted and another resource with the same name is created, it gets a different uid. - /// - [Newtonsoft.Json.JsonPropertyAttribute("uid")] - public virtual string Uid { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - private string _updateTimeRaw; + /// Configuration options for the AIS diagnostic interface. + public class IdentityServiceDiagnosticInterface : Google.Apis.Requests.IDirectResponseSchema + { + /// Determines whether to enable the diagnostic interface. + [Newtonsoft.Json.JsonPropertyAttribute("enabled")] + public virtual System.Nullable Enabled { get; set; } - private object _updateTime; + private string _expirationTimeRaw; - /// Output only. When the Fleet was last updated. - [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] - public virtual string UpdateTimeRaw + private object _expirationTime; + + /// + /// Determines the expiration time of the diagnostic interface enablement. When reached, requests to the + /// interface would be automatically rejected. + /// + [Newtonsoft.Json.JsonPropertyAttribute("expirationTime")] + public virtual string ExpirationTimeRaw { - get => _updateTimeRaw; + get => _expirationTimeRaw; set { - _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _updateTimeRaw = value; + _expirationTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _expirationTimeRaw = value; } } - /// representation of . + /// representation of . [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] - public virtual object UpdateTime + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use ExpirationTimeDateTimeOffset instead.")] + public virtual object ExpirationTime { - get => _updateTime; + get => _expirationTime; set { - _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _updateTime = value; + _expirationTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _expirationTime = value; } } - /// representation of . + /// + /// representation of . + /// [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset + public virtual System.DateTimeOffset? ExpirationTimeDateTimeOffset { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); - set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(ExpirationTimeRaw); + set => ExpirationTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); } /// The ETag of the item. public virtual string ETag { get; set; } } - /// FleetLifecycleState describes the state of a Fleet resource. - public class FleetLifecycleState : Google.Apis.Requests.IDirectResponseSchema + /// Configuration for the Google Plugin Auth flow. + public class IdentityServiceGoogleConfig : Google.Apis.Requests.IDirectResponseSchema { - /// Output only. The current state of the Fleet resource. - [Newtonsoft.Json.JsonPropertyAttribute("code")] - public virtual string Code { get; set; } + /// Disable automatic configuration of Google Plugin on supported platforms. + [Newtonsoft.Json.JsonPropertyAttribute("disable")] + public virtual System.Nullable Disable { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// All error details of the fleet observability feature. - public class FleetObservabilityFeatureError : Google.Apis.Requests.IDirectResponseSchema + /// Contains the properties for locating and authenticating groups in the directory. + public class IdentityServiceGroupConfig : Google.Apis.Requests.IDirectResponseSchema { - /// The code of the error. - [Newtonsoft.Json.JsonPropertyAttribute("code")] - public virtual string Code { get; set; } - - /// A human-readable description of the current status. - [Newtonsoft.Json.JsonPropertyAttribute("description")] - public virtual string Description { get; set; } + /// Required. The location of the subtree in the LDAP directory to search for group entries. + [Newtonsoft.Json.JsonPropertyAttribute("baseDn")] + public virtual string BaseDn { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// + /// Optional. Optional filter to be used when searching for groups a user belongs to. This can be used to + /// explicitly match only certain groups in order to reduce the amount of groups returned for each user. This + /// defaults to "(objectClass=Group)". + /// + [Newtonsoft.Json.JsonPropertyAttribute("filter")] + public virtual string Filter { get; set; } - /// **Fleet Observability**: The Hub-wide input for the FleetObservability feature. - public class FleetObservabilityFeatureSpec : Google.Apis.Requests.IDirectResponseSchema - { /// - /// Specified if fleet logging feature is enabled for the entire fleet. If UNSPECIFIED, fleet logging feature is - /// disabled for the entire fleet. + /// Optional. The identifying name of each group a user belongs to. For example, if this is set to + /// "distinguishedName" then RBACs and other group expectations should be written as full DNs. This defaults to + /// "distinguishedName". /// - [Newtonsoft.Json.JsonPropertyAttribute("loggingConfig")] - public virtual FleetObservabilityLoggingConfig LoggingConfig { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("idAttribute")] + public virtual string IdAttribute { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// **FleetObservability**: Hub-wide Feature for FleetObservability feature. state. - public class FleetObservabilityFeatureState : Google.Apis.Requests.IDirectResponseSchema + /// Holds non-protocol-related configuration options. + public class IdentityServiceIdentityServiceOptions : Google.Apis.Requests.IDirectResponseSchema { - /// The feature state of default logging. - [Newtonsoft.Json.JsonPropertyAttribute("logging")] - public virtual FleetObservabilityFleetObservabilityLoggingState Logging { get; set; } + /// Configuration options for the AIS diagnostic interface. + [Newtonsoft.Json.JsonPropertyAttribute("diagnosticInterface")] + public virtual IdentityServiceDiagnosticInterface DiagnosticInterface { get; set; } - /// The feature state of fleet monitoring. - [Newtonsoft.Json.JsonPropertyAttribute("monitoring")] - public virtual FleetObservabilityFleetObservabilityMonitoringState Monitoring { get; set; } + /// Determines the lifespan of STS tokens issued by Anthos Identity Service. + [Newtonsoft.Json.JsonPropertyAttribute("sessionDuration")] + public virtual object SessionDuration { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Base state for fleet observability feature. - public class FleetObservabilityFleetObservabilityBaseFeatureState : Google.Apis.Requests.IDirectResponseSchema + /// Configuration for the LDAP Auth flow. + public class IdentityServiceLdapConfig : Google.Apis.Requests.IDirectResponseSchema { - /// The high-level, machine-readable status of this Feature. - [Newtonsoft.Json.JsonPropertyAttribute("code")] - public virtual string Code { get; set; } + /// + /// Optional. Contains the properties for locating and authenticating groups in the directory. + /// + [Newtonsoft.Json.JsonPropertyAttribute("group")] + public virtual IdentityServiceGroupConfig Group { get; set; } - /// Errors after reconciling the monitoring and logging feature if the code is not OK. - [Newtonsoft.Json.JsonPropertyAttribute("errors")] - public virtual System.Collections.Generic.IList Errors { get; set; } + /// Required. Server settings for the external LDAP server. + [Newtonsoft.Json.JsonPropertyAttribute("server")] + public virtual IdentityServiceServerConfig Server { get; set; } + + /// + /// Required. Contains the credentials of the service account which is authorized to perform the LDAP search in + /// the directory. The credentials can be supplied by the combination of the DN and password or the client + /// certificate. + /// + [Newtonsoft.Json.JsonPropertyAttribute("serviceAccount")] + public virtual IdentityServiceServiceAccountConfig ServiceAccount { get; set; } + + /// Required. Defines where users exist in the LDAP directory. + [Newtonsoft.Json.JsonPropertyAttribute("user")] + public virtual IdentityServiceUserConfig User { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Feature state for logging feature. - public class FleetObservabilityFleetObservabilityLoggingState : Google.Apis.Requests.IDirectResponseSchema + /// **Anthos Identity Service**: Configuration for a single Membership. + public class IdentityServiceMembershipSpec : Google.Apis.Requests.IDirectResponseSchema { - /// The base feature state of fleet default log. - [Newtonsoft.Json.JsonPropertyAttribute("defaultLog")] - public virtual FleetObservabilityFleetObservabilityBaseFeatureState DefaultLog { get; set; } + /// A member may support multiple auth methods. + [Newtonsoft.Json.JsonPropertyAttribute("authMethods")] + public virtual System.Collections.Generic.IList AuthMethods { get; set; } - /// The base feature state of fleet scope log. - [Newtonsoft.Json.JsonPropertyAttribute("scopeLog")] - public virtual FleetObservabilityFleetObservabilityBaseFeatureState ScopeLog { get; set; } + /// Optional. non-protocol-related configuration options. + [Newtonsoft.Json.JsonPropertyAttribute("identityServiceOptions")] + public virtual IdentityServiceIdentityServiceOptions IdentityServiceOptions { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Feature state for monitoring feature. - public class FleetObservabilityFleetObservabilityMonitoringState : Google.Apis.Requests.IDirectResponseSchema + /// **Anthos Identity Service**: State for a single Membership. + public class IdentityServiceMembershipState : Google.Apis.Requests.IDirectResponseSchema { - /// The base feature state of fleet monitoring feature. + /// The reason of the failure. + [Newtonsoft.Json.JsonPropertyAttribute("failureReason")] + public virtual string FailureReason { get; set; } + + /// + /// Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is + /// OK. + /// + [Newtonsoft.Json.JsonPropertyAttribute("installedVersion")] + public virtual string InstalledVersion { get; set; } + + /// Last reconciled membership configuration + [Newtonsoft.Json.JsonPropertyAttribute("memberConfig")] + public virtual IdentityServiceMembershipSpec MemberConfig { get; set; } + + /// Deployment state on this member [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual FleetObservabilityFleetObservabilityBaseFeatureState State { get; set; } + public virtual string State { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// LoggingConfig defines the configuration for different types of logs. - public class FleetObservabilityLoggingConfig : Google.Apis.Requests.IDirectResponseSchema + /// Configuration for OIDC Auth flow. + public class IdentityServiceOidcConfig : Google.Apis.Requests.IDirectResponseSchema { - /// Specified if applying the default routing config to logs not specified in other configs. - [Newtonsoft.Json.JsonPropertyAttribute("defaultConfig")] - public virtual FleetObservabilityRoutingConfig DefaultConfig { get; set; } + /// PEM-encoded CA for OIDC provider. + [Newtonsoft.Json.JsonPropertyAttribute("certificateAuthorityData")] + public virtual string CertificateAuthorityData { get; set; } - /// Specified if applying the routing config to all logs for all fleet scopes. - [Newtonsoft.Json.JsonPropertyAttribute("fleetScopeLogsConfig")] - public virtual FleetObservabilityRoutingConfig FleetScopeLogsConfig { get; set; } + /// ID for OIDC client application. + [Newtonsoft.Json.JsonPropertyAttribute("clientId")] + public virtual string ClientId { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Input only. Unencrypted OIDC client secret will be passed to the GKE Hub CLH. + [Newtonsoft.Json.JsonPropertyAttribute("clientSecret")] + public virtual string ClientSecret { get; set; } - /// **FleetObservability**: The membership-specific input for FleetObservability feature. - public class FleetObservabilityMembershipSpec : Google.Apis.Requests.IDirectResponseSchema - { - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// + /// Flag to denote if reverse proxy is used to connect to auth provider. This flag should be set to true when + /// provider is not reachable by Google Cloud Console. + /// + [Newtonsoft.Json.JsonPropertyAttribute("deployCloudConsoleProxy")] + public virtual System.Nullable DeployCloudConsoleProxy { get; set; } - /// **FleetObservability**: Membership-specific Feature state for fleetobservability. - public class FleetObservabilityMembershipState : Google.Apis.Requests.IDirectResponseSchema - { - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Enable access token. + [Newtonsoft.Json.JsonPropertyAttribute("enableAccessToken")] + public virtual System.Nullable EnableAccessToken { get; set; } - /// RoutingConfig configures the behaviour of fleet logging feature. - public class FleetObservabilityRoutingConfig : Google.Apis.Requests.IDirectResponseSchema - { - /// mode configures the logs routing mode. - [Newtonsoft.Json.JsonPropertyAttribute("mode")] - public virtual string Mode { get; set; } + /// Output only. Encrypted OIDC Client secret + [Newtonsoft.Json.JsonPropertyAttribute("encryptedClientSecret")] + public virtual string EncryptedClientSecret { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Comma-separated list of key-value pairs. + [Newtonsoft.Json.JsonPropertyAttribute("extraParams")] + public virtual string ExtraParams { get; set; } + + /// Prefix to prepend to group name. + [Newtonsoft.Json.JsonPropertyAttribute("groupPrefix")] + public virtual string GroupPrefix { get; set; } + + /// Claim in OIDC ID token that holds group information. + [Newtonsoft.Json.JsonPropertyAttribute("groupsClaim")] + public virtual string GroupsClaim { get; set; } - /// - /// GenerateConnectManifestResponse contains manifest information for installing/upgrading a Connect agent. - /// - public class GenerateConnectManifestResponse : Google.Apis.Requests.IDirectResponseSchema - { /// - /// The ordered list of Kubernetes resources that need to be applied to the cluster for GKE Connect agent - /// installation/upgrade. + /// URI for the OIDC provider. This should point to the level below .well-known/openid-configuration. /// - [Newtonsoft.Json.JsonPropertyAttribute("manifest")] - public virtual System.Collections.Generic.IList Manifest { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("issuerUri")] + public virtual string IssuerUri { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Registered redirect uri to redirect users going through OAuth flow using kubectl plugin. + [Newtonsoft.Json.JsonPropertyAttribute("kubectlRedirectUri")] + public virtual string KubectlRedirectUri { get; set; } - /// Response for GenerateRBACRoleBindingYAML. - public class GenerateMembershipRBACRoleBindingYAMLResponse : Google.Apis.Requests.IDirectResponseSchema - { - /// a yaml text blob including the RBAC policies. - [Newtonsoft.Json.JsonPropertyAttribute("roleBindingsYaml")] - public virtual string RoleBindingsYaml { get; set; } + /// Comma-separated list of identifiers. + [Newtonsoft.Json.JsonPropertyAttribute("scopes")] + public virtual string Scopes { get; set; } + + /// Claim in OIDC ID token that holds username. + [Newtonsoft.Json.JsonPropertyAttribute("userClaim")] + public virtual string UserClaim { get; set; } + + /// Prefix to prepend to user name. + [Newtonsoft.Json.JsonPropertyAttribute("userPrefix")] + public virtual string UserPrefix { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// GkeCluster contains information specific to GKE clusters. - public class GkeCluster : Google.Apis.Requests.IDirectResponseSchema + /// Configuration for the SAML Auth flow. + public class IdentityServiceSamlConfig : Google.Apis.Requests.IDirectResponseSchema { /// - /// Output only. If cluster_missing is set then it denotes that the GKE cluster no longer exists in the GKE - /// Control Plane. + /// Optional. The mapping of additional user attributes like nickname, birthday and address etc.. `key` is the + /// name of this additional attribute. `value` is a string presenting as CEL(common expression language, go/cel) + /// used for getting the value from the resources. Take nickname as an example, in this case, `key` is + /// "attribute.nickname" and `value` is "assertion.nickname". /// - [Newtonsoft.Json.JsonPropertyAttribute("clusterMissing")] - public virtual System.Nullable ClusterMissing { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("attributeMapping")] + public virtual System.Collections.Generic.IDictionary AttributeMapping { get; set; } + + /// Optional. Prefix to prepend to group name. + [Newtonsoft.Json.JsonPropertyAttribute("groupPrefix")] + public virtual string GroupPrefix { get; set; } /// - /// Immutable. Self-link of the Google Cloud resource for the GKE cluster. For example: - /// //container.googleapis.com/projects/my-project/locations/us-west1-a/clusters/my-cluster Zonal clusters are - /// also supported. + /// Optional. The SAML attribute to read groups from. This value is expected to be a string and will be passed + /// along as-is (with the option of being prefixed by the `group_prefix`). /// - [Newtonsoft.Json.JsonPropertyAttribute("resourceLink")] - public virtual string ResourceLink { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("groupsAttribute")] + public virtual string GroupsAttribute { get; set; } + + /// Required. The list of IdP certificates to validate the SAML response against. + [Newtonsoft.Json.JsonPropertyAttribute("identityProviderCertificates")] + public virtual System.Collections.Generic.IList IdentityProviderCertificates { get; set; } + + /// Required. The entity ID of the SAML IdP. + [Newtonsoft.Json.JsonPropertyAttribute("identityProviderId")] + public virtual string IdentityProviderId { get; set; } + + /// Required. The URI where the SAML IdP exposes the SSO service. + [Newtonsoft.Json.JsonPropertyAttribute("identityProviderSsoUri")] + public virtual string IdentityProviderSsoUri { get; set; } + + /// + /// Optional. The SAML attribute to read username from. If unspecified, the username will be read from the + /// NameID element of the assertion in SAML response. This value is expected to be a string and will be passed + /// along as-is (with the option of being prefixed by the `user_prefix`). + /// + [Newtonsoft.Json.JsonPropertyAttribute("userAttribute")] + public virtual string UserAttribute { get; set; } + + /// Optional. Prefix to prepend to user name. + [Newtonsoft.Json.JsonPropertyAttribute("userPrefix")] + public virtual string UserPrefix { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// - /// 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). - /// - public class GoogleRpcStatus : Google.Apis.Requests.IDirectResponseSchema + /// Server settings for the external LDAP server. + public class IdentityServiceServerConfig : Google.Apis.Requests.IDirectResponseSchema { - /// The status code, which should be an enum value of google.rpc.Code. - [Newtonsoft.Json.JsonPropertyAttribute("code")] - public virtual System.Nullable Code { get; set; } + /// + /// Optional. Contains a Base64 encoded, PEM formatted certificate authority certificate for the LDAP server. + /// This must be provided for the "ldaps" and "startTLS" connections. + /// + [Newtonsoft.Json.JsonPropertyAttribute("certificateAuthorityData")] + public virtual string CertificateAuthorityData { get; set; } /// - /// A list of messages that carry the error details. There is a common set of message types for APIs to use. + /// Optional. Defines the connection type to communicate with the LDAP server. If `starttls` or `ldaps` is + /// specified, the certificate_authority_data should not be empty. /// - [Newtonsoft.Json.JsonPropertyAttribute("details")] - public virtual System.Collections.Generic.IList> Details { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("connectionType")] + public virtual string ConnectionType { get; set; } /// - /// 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. + /// Required. Defines the hostname or IP of the LDAP server. Port is optional and will default to 389, if + /// unspecified. For example, "ldap.server.example" or "10.10.10.10:389". /// - [Newtonsoft.Json.JsonPropertyAttribute("message")] - public virtual string Message { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("host")] + public virtual string Host { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// - /// Configuration of an auth method for a member/cluster. Only one authentication method (e.g., OIDC and LDAP) can - /// be set per AuthMethod. + /// Contains the credentials of the service account which is authorized to perform the LDAP search in the directory. + /// The credentials can be supplied by the combination of the DN and password or the client certificate. /// - public class IdentityServiceAuthMethod : Google.Apis.Requests.IDirectResponseSchema + public class IdentityServiceServiceAccountConfig : Google.Apis.Requests.IDirectResponseSchema { - /// AzureAD specific Configuration. - [Newtonsoft.Json.JsonPropertyAttribute("azureadConfig")] - public virtual IdentityServiceAzureADConfig AzureadConfig { get; set; } - - /// GoogleConfig specific configuration. - [Newtonsoft.Json.JsonPropertyAttribute("googleConfig")] - public virtual IdentityServiceGoogleConfig GoogleConfig { get; set; } - - /// LDAP specific configuration. - [Newtonsoft.Json.JsonPropertyAttribute("ldapConfig")] - public virtual IdentityServiceLdapConfig LdapConfig { get; set; } + /// Credentials for basic auth. + [Newtonsoft.Json.JsonPropertyAttribute("simpleBindCredentials")] + public virtual IdentityServiceSimpleBindCredentials SimpleBindCredentials { get; set; } - /// Identifier for auth config. - [Newtonsoft.Json.JsonPropertyAttribute("name")] - public virtual string Name { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// OIDC specific configuration. - [Newtonsoft.Json.JsonPropertyAttribute("oidcConfig")] - public virtual IdentityServiceOidcConfig OidcConfig { get; set; } + /// The structure holds the LDAP simple binding credential. + public class IdentityServiceSimpleBindCredentials : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The distinguished name(DN) of the service account object/user. + [Newtonsoft.Json.JsonPropertyAttribute("dn")] + public virtual string Dn { get; set; } - /// Proxy server address to use for auth method. - [Newtonsoft.Json.JsonPropertyAttribute("proxy")] - public virtual string Proxy { get; set; } + /// Output only. The encrypted password of the service account object/user. + [Newtonsoft.Json.JsonPropertyAttribute("encryptedPassword")] + public virtual string EncryptedPassword { get; set; } - /// SAML specific configuration. - [Newtonsoft.Json.JsonPropertyAttribute("samlConfig")] - public virtual IdentityServiceSamlConfig SamlConfig { get; set; } + /// Required. Input only. The password of the service account object/user. + [Newtonsoft.Json.JsonPropertyAttribute("password")] + public virtual string Password { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Configuration for the AzureAD Auth flow. - public class IdentityServiceAzureADConfig : Google.Apis.Requests.IDirectResponseSchema + /// Defines where users exist in the LDAP directory. + public class IdentityServiceUserConfig : Google.Apis.Requests.IDirectResponseSchema { + /// Required. The location of the subtree in the LDAP directory to search for user entries. + [Newtonsoft.Json.JsonPropertyAttribute("baseDn")] + public virtual string BaseDn { get; set; } + /// - /// ID for the registered client application that makes authentication requests to the Azure AD identity - /// provider. + /// Optional. Filter to apply when searching for the user. This can be used to further restrict the user + /// accounts which are allowed to login. This defaults to "(objectClass=User)". /// - [Newtonsoft.Json.JsonPropertyAttribute("clientId")] - public virtual string ClientId { get; set; } - - /// Input only. Unencrypted AzureAD client secret will be passed to the GKE Hub CLH. - [Newtonsoft.Json.JsonPropertyAttribute("clientSecret")] - public virtual string ClientSecret { get; set; } - - /// Output only. Encrypted AzureAD client secret. - [Newtonsoft.Json.JsonPropertyAttribute("encryptedClientSecret")] - public virtual string EncryptedClientSecret { get; set; } - - /// Optional. Format of the AzureAD groups that the client wants for auth. - [Newtonsoft.Json.JsonPropertyAttribute("groupFormat")] - public virtual string GroupFormat { get; set; } - - /// The redirect URL that kubectl uses for authorization. - [Newtonsoft.Json.JsonPropertyAttribute("kubectlRedirectUri")] - public virtual string KubectlRedirectUri { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("filter")] + public virtual string Filter { get; set; } /// - /// Kind of Azure AD account to be authenticated. Supported values are or for accounts belonging to a specific - /// tenant. + /// Optional. Determines which attribute to use as the user's identity after they are authenticated. This is + /// distinct from the loginAttribute field to allow users to login with a username, but then have their actual + /// identifier be an email address or full Distinguished Name (DN). For example, setting loginAttribute to + /// "sAMAccountName" and identifierAttribute to "userPrincipalName" would allow a user to login as "bsmith", but + /// actual RBAC policies for the user would be written as "bsmith@example.com". Using "userPrincipalName" is + /// recommended since this will be unique for each user. This defaults to "userPrincipalName". /// - [Newtonsoft.Json.JsonPropertyAttribute("tenant")] - public virtual string Tenant { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("idAttribute")] + public virtual string IdAttribute { get; set; } - /// Optional. Claim in the AzureAD ID Token that holds the user details. - [Newtonsoft.Json.JsonPropertyAttribute("userClaim")] - public virtual string UserClaim { get; set; } + /// + /// Optional. The name of the attribute which matches against the input username. This is used to find the user + /// in the LDAP database e.g. "(=)" and is combined with the optional filter field. This defaults to + /// "userPrincipalName". + /// + [Newtonsoft.Json.JsonPropertyAttribute("loginAttribute")] + public virtual string LoginAttribute { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Configuration options for the AIS diagnostic interface. - public class IdentityServiceDiagnosticInterface : Google.Apis.Requests.IDirectResponseSchema + /// + /// KubernetesMetadata provides informational metadata for Memberships representing Kubernetes clusters. + /// + public class KubernetesMetadata : Google.Apis.Requests.IDirectResponseSchema { - /// Determines whether to enable the diagnostic interface. - [Newtonsoft.Json.JsonPropertyAttribute("enabled")] - public virtual System.Nullable Enabled { get; set; } + /// Output only. Kubernetes API server version string as reported by `/version`. + [Newtonsoft.Json.JsonPropertyAttribute("kubernetesApiServerVersion")] + public virtual string KubernetesApiServerVersion { get; set; } - private string _expirationTimeRaw; + /// + /// Output only. The total memory capacity as reported by the sum of all Kubernetes nodes resources, defined in + /// MB. + /// + [Newtonsoft.Json.JsonPropertyAttribute("memoryMb")] + public virtual System.Nullable MemoryMb { get; set; } - private object _expirationTime; + /// Output only. Node count as reported by Kubernetes nodes resources. + [Newtonsoft.Json.JsonPropertyAttribute("nodeCount")] + public virtual System.Nullable NodeCount { get; set; } /// - /// Determines the expiration time of the diagnostic interface enablement. When reached, requests to the - /// interface would be automatically rejected. + /// Output only. Node providerID as reported by the first node in the list of nodes on the Kubernetes endpoint. + /// On Kubernetes platforms that support zero-node clusters (like GKE-on-GCP), the node_count will be zero and + /// the node_provider_id will be empty. /// - [Newtonsoft.Json.JsonPropertyAttribute("expirationTime")] - public virtual string ExpirationTimeRaw + [Newtonsoft.Json.JsonPropertyAttribute("nodeProviderId")] + public virtual string NodeProviderId { get; set; } + + private string _updateTimeRaw; + + private object _updateTime; + + /// + /// Output only. The time at which these details were last updated. This update_time is different from the + /// Membership-level update_time since EndpointDetails are updated internally for API consumers. + /// + [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] + public virtual string UpdateTimeRaw { - get => _expirationTimeRaw; + get => _updateTimeRaw; set { - _expirationTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _expirationTimeRaw = value; + _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _updateTimeRaw = value; } } - /// representation of . + /// representation of . [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use ExpirationTimeDateTimeOffset instead.")] - public virtual object ExpirationTime + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] + public virtual object UpdateTime { - get => _expirationTime; + get => _updateTime; set { - _expirationTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _expirationTime = value; + _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _updateTime = value; } } - /// - /// representation of . - /// + /// representation of . [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? ExpirationTimeDateTimeOffset + public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(ExpirationTimeRaw); - set => ExpirationTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); + set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); } + /// Output only. vCPU count as reported by Kubernetes nodes resources. + [Newtonsoft.Json.JsonPropertyAttribute("vcpuCount")] + public virtual System.Nullable VcpuCount { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// KubernetesResource contains the YAML manifests and configuration for Membership Kubernetes resources in the + /// cluster. After CreateMembership or UpdateMembership, these resources should be re-applied in the cluster. + /// + public class KubernetesResource : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Output only. The Kubernetes resources for installing the GKE Connect agent This field is only populated in + /// the Membership returned from a successful long-running operation from CreateMembership or UpdateMembership. + /// It is not populated during normal GetMembership or ListMemberships requests. To get the resource manifest + /// after the initial registration, the caller should make a UpdateMembership call with an empty field mask. + /// + [Newtonsoft.Json.JsonPropertyAttribute("connectResources")] + public virtual System.Collections.Generic.IList ConnectResources { get; set; } + + /// + /// Input only. The YAML representation of the Membership CR. This field is ignored for GKE clusters where Hub + /// can read the CR directly. Callers should provide the CR that is currently present in the cluster during + /// CreateMembership or UpdateMembership, or leave this field empty if none exists. The CR manifest is used to + /// validate the cluster has not been registered with another Membership. + /// + [Newtonsoft.Json.JsonPropertyAttribute("membershipCrManifest")] + public virtual string MembershipCrManifest { get; set; } + + /// + /// Output only. Additional Kubernetes resources that need to be applied to the cluster after Membership + /// creation, and after every update. This field is only populated in the Membership returned from a successful + /// long-running operation from CreateMembership or UpdateMembership. It is not populated during normal + /// GetMembership or ListMemberships requests. To get the resource manifest after the initial registration, the + /// caller should make a UpdateMembership call with an empty field mask. + /// + [Newtonsoft.Json.JsonPropertyAttribute("membershipResources")] + public virtual System.Collections.Generic.IList MembershipResources { get; set; } + + /// Optional. Options for Kubernetes resource generation. + [Newtonsoft.Json.JsonPropertyAttribute("resourceOptions")] + public virtual ResourceOptions ResourceOptions { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// List of Memberships bound to a Scope. + public class ListBoundMembershipsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of Memberships bound to the given Scope. + [Newtonsoft.Json.JsonPropertyAttribute("memberships")] + public virtual System.Collections.Generic.IList Memberships { get; set; } + + /// + /// A token to request the next page of resources from the `ListBoundMemberships` method. The value of an empty + /// string means that there are no more resources to return. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// List of locations that could not be reached while fetching this list. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } + /// The ETag of the item. public virtual string ETag { get; set; } } - /// Configuration for the Google Plugin Auth flow. - public class IdentityServiceGoogleConfig : Google.Apis.Requests.IDirectResponseSchema + /// Response message for the `GkeHub.ListFeatures` method. + public class ListFeaturesResponse : Google.Apis.Requests.IDirectResponseSchema { - /// Disable automatic configuration of Google Plugin on supported platforms. - [Newtonsoft.Json.JsonPropertyAttribute("disable")] - public virtual System.Nullable Disable { get; set; } + /// + /// A token to request the next page of resources from the `ListFeatures` method. The value of an empty string + /// means that there are no more resources to return. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The list of matching Features + [Newtonsoft.Json.JsonPropertyAttribute("resources")] + public virtual System.Collections.Generic.IList Resources { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Contains the properties for locating and authenticating groups in the directory. - public class IdentityServiceGroupConfig : Google.Apis.Requests.IDirectResponseSchema + /// Response message for the `GkeHub.ListFleetsResponse` method. + public class ListFleetsResponse : Google.Apis.Requests.IDirectResponseSchema { - /// Required. The location of the subtree in the LDAP directory to search for group entries. - [Newtonsoft.Json.JsonPropertyAttribute("baseDn")] - public virtual string BaseDn { get; set; } - - /// - /// Optional. Optional filter to be used when searching for groups a user belongs to. This can be used to - /// explicitly match only certain groups in order to reduce the amount of groups returned for each user. This - /// defaults to "(objectClass=Group)". - /// - [Newtonsoft.Json.JsonPropertyAttribute("filter")] - public virtual string Filter { get; set; } + /// The list of matching fleets. + [Newtonsoft.Json.JsonPropertyAttribute("fleets")] + public virtual System.Collections.Generic.IList Fleets { get; set; } /// - /// Optional. The identifying name of each group a user belongs to. For example, if this is set to - /// "distinguishedName" then RBACs and other group expectations should be written as full DNs. This defaults to - /// "distinguishedName". + /// A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no + /// subsequent pages. The token is only valid for 1h. /// - [Newtonsoft.Json.JsonPropertyAttribute("idAttribute")] - public virtual string IdAttribute { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Holds non-protocol-related configuration options. - public class IdentityServiceIdentityServiceOptions : Google.Apis.Requests.IDirectResponseSchema + /// The response message for Locations.ListLocations. + public class ListLocationsResponse : Google.Apis.Requests.IDirectResponseSchema { - /// Configuration options for the AIS diagnostic interface. - [Newtonsoft.Json.JsonPropertyAttribute("diagnosticInterface")] - public virtual IdentityServiceDiagnosticInterface DiagnosticInterface { get; set; } + /// A list of locations that matches the specified filter in the request. + [Newtonsoft.Json.JsonPropertyAttribute("locations")] + public virtual System.Collections.Generic.IList Locations { get; set; } - /// Determines the lifespan of STS tokens issued by Anthos Identity Service. - [Newtonsoft.Json.JsonPropertyAttribute("sessionDuration")] - public virtual object SessionDuration { get; set; } + /// The standard List next-page token. + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Configuration for the LDAP Auth flow. - public class IdentityServiceLdapConfig : Google.Apis.Requests.IDirectResponseSchema + /// List of MembershipBindings. + public class ListMembershipBindingsResponse : Google.Apis.Requests.IDirectResponseSchema { - /// - /// Optional. Contains the properties for locating and authenticating groups in the directory. - /// - [Newtonsoft.Json.JsonPropertyAttribute("group")] - public virtual IdentityServiceGroupConfig Group { get; set; } - - /// Required. Server settings for the external LDAP server. - [Newtonsoft.Json.JsonPropertyAttribute("server")] - public virtual IdentityServiceServerConfig Server { get; set; } + /// The list of membership_bindings + [Newtonsoft.Json.JsonPropertyAttribute("membershipBindings")] + public virtual System.Collections.Generic.IList MembershipBindings { get; set; } /// - /// Required. Contains the credentials of the service account which is authorized to perform the LDAP search in - /// the directory. The credentials can be supplied by the combination of the DN and password or the client - /// certificate. + /// A token to request the next page of resources from the `ListMembershipBindings` method. The value of an + /// empty string means that there are no more resources to return. /// - [Newtonsoft.Json.JsonPropertyAttribute("serviceAccount")] - public virtual IdentityServiceServiceAccountConfig ServiceAccount { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } - /// Required. Defines where users exist in the LDAP directory. - [Newtonsoft.Json.JsonPropertyAttribute("user")] - public virtual IdentityServiceUserConfig User { get; set; } + /// List of locations that could not be reached while fetching this list. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// **Anthos Identity Service**: Configuration for a single Membership. - public class IdentityServiceMembershipSpec : Google.Apis.Requests.IDirectResponseSchema + /// List of Membership RBACRoleBindings. + public class ListMembershipRBACRoleBindingsResponse : Google.Apis.Requests.IDirectResponseSchema { - /// A member may support multiple auth methods. - [Newtonsoft.Json.JsonPropertyAttribute("authMethods")] - public virtual System.Collections.Generic.IList AuthMethods { get; set; } + /// + /// A token to request the next page of resources from the `ListMembershipRBACRoleBindings` method. The value of + /// an empty string means that there are no more resources to return. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } - /// Optional. non-protocol-related configuration options. - [Newtonsoft.Json.JsonPropertyAttribute("identityServiceOptions")] - public virtual IdentityServiceIdentityServiceOptions IdentityServiceOptions { get; set; } + /// The list of Membership RBACRoleBindings. + [Newtonsoft.Json.JsonPropertyAttribute("rbacrolebindings")] + public virtual System.Collections.Generic.IList Rbacrolebindings { get; set; } + + /// List of locations that could not be reached while fetching this list. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// **Anthos Identity Service**: State for a single Membership. - public class IdentityServiceMembershipState : Google.Apis.Requests.IDirectResponseSchema + /// Response message for the `GkeHub.ListMemberships` method. + public class ListMembershipsResponse : Google.Apis.Requests.IDirectResponseSchema { - /// The reason of the failure. - [Newtonsoft.Json.JsonPropertyAttribute("failureReason")] - public virtual string FailureReason { get; set; } - /// - /// Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is - /// OK. + /// A token to request the next page of resources from the `ListMemberships` method. The value of an empty + /// string means that there are no more resources to return. /// - [Newtonsoft.Json.JsonPropertyAttribute("installedVersion")] - public virtual string InstalledVersion { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } - /// Last reconciled membership configuration - [Newtonsoft.Json.JsonPropertyAttribute("memberConfig")] - public virtual IdentityServiceMembershipSpec MemberConfig { get; set; } + /// The list of matching Memberships. + [Newtonsoft.Json.JsonPropertyAttribute("resources")] + public virtual System.Collections.Generic.IList Resources { get; set; } - /// Deployment state on this member - [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual string State { get; set; } + /// List of locations that could not be reached while fetching this list. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Configuration for OIDC Auth flow. - public class IdentityServiceOidcConfig : Google.Apis.Requests.IDirectResponseSchema + /// The response message for Operations.ListOperations. + public class ListOperationsResponse : Google.Apis.Requests.IDirectResponseSchema { - /// PEM-encoded CA for OIDC provider. - [Newtonsoft.Json.JsonPropertyAttribute("certificateAuthorityData")] - public virtual string CertificateAuthorityData { get; set; } - - /// ID for OIDC client application. - [Newtonsoft.Json.JsonPropertyAttribute("clientId")] - public virtual string ClientId { get; set; } + /// The standard List next-page token. + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } - /// Input only. Unencrypted OIDC client secret will be passed to the GKE Hub CLH. - [Newtonsoft.Json.JsonPropertyAttribute("clientSecret")] - public virtual string ClientSecret { get; set; } + /// A list of operations that matches the specified filter in the request. + [Newtonsoft.Json.JsonPropertyAttribute("operations")] + public virtual System.Collections.Generic.IList Operations { get; set; } /// - /// Flag to denote if reverse proxy is used to connect to auth provider. This flag should be set to true when - /// provider is not reachable by Google Cloud Console. + /// Unordered list. Unreachable resources. Populated when the request sets + /// `ListOperationsRequest.return_partial_success` and reads across collections e.g. when attempting to list all + /// resources across all supported locations. /// - [Newtonsoft.Json.JsonPropertyAttribute("deployCloudConsoleProxy")] - public virtual System.Nullable DeployCloudConsoleProxy { get; set; } - - /// Enable access token. - [Newtonsoft.Json.JsonPropertyAttribute("enableAccessToken")] - public virtual System.Nullable EnableAccessToken { get; set; } - - /// Output only. Encrypted OIDC Client secret - [Newtonsoft.Json.JsonPropertyAttribute("encryptedClientSecret")] - public virtual string EncryptedClientSecret { get; set; } - - /// Comma-separated list of key-value pairs. - [Newtonsoft.Json.JsonPropertyAttribute("extraParams")] - public virtual string ExtraParams { get; set; } - - /// Prefix to prepend to group name. - [Newtonsoft.Json.JsonPropertyAttribute("groupPrefix")] - public virtual string GroupPrefix { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } - /// Claim in OIDC ID token that holds group information. - [Newtonsoft.Json.JsonPropertyAttribute("groupsClaim")] - public virtual string GroupsClaim { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// List of permitted Scopes. + public class ListPermittedScopesResponse : Google.Apis.Requests.IDirectResponseSchema + { /// - /// URI for the OIDC provider. This should point to the level below .well-known/openid-configuration. + /// A token to request the next page of resources from the `ListPermittedScopes` method. The value of an empty + /// string means that there are no more resources to return. /// - [Newtonsoft.Json.JsonPropertyAttribute("issuerUri")] - public virtual string IssuerUri { get; set; } - - /// Registered redirect uri to redirect users going through OAuth flow using kubectl plugin. - [Newtonsoft.Json.JsonPropertyAttribute("kubectlRedirectUri")] - public virtual string KubectlRedirectUri { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } - /// Comma-separated list of identifiers. + /// The list of permitted Scopes [Newtonsoft.Json.JsonPropertyAttribute("scopes")] - public virtual string Scopes { get; set; } - - /// Claim in OIDC ID token that holds username. - [Newtonsoft.Json.JsonPropertyAttribute("userClaim")] - public virtual string UserClaim { get; set; } - - /// Prefix to prepend to user name. - [Newtonsoft.Json.JsonPropertyAttribute("userPrefix")] - public virtual string UserPrefix { get; set; } + public virtual System.Collections.Generic.IList Scopes { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Configuration for the SAML Auth flow. - public class IdentityServiceSamlConfig : Google.Apis.Requests.IDirectResponseSchema + /// Response message for listing rollout sequences. + public class ListRolloutSequencesResponse : Google.Apis.Requests.IDirectResponseSchema { /// - /// Optional. The mapping of additional user attributes like nickname, birthday and address etc.. `key` is the - /// name of this additional attribute. `value` is a string presenting as CEL(common expression language, go/cel) - /// used for getting the value from the resources. Take nickname as an example, in this case, `key` is - /// "attribute.nickname" and `value` is "assertion.nickname". - /// - [Newtonsoft.Json.JsonPropertyAttribute("attributeMapping")] - public virtual System.Collections.Generic.IDictionary AttributeMapping { get; set; } - - /// Optional. Prefix to prepend to group name. - [Newtonsoft.Json.JsonPropertyAttribute("groupPrefix")] - public virtual string GroupPrefix { get; set; } - - /// - /// Optional. The SAML attribute to read groups from. This value is expected to be a string and will be passed - /// along as-is (with the option of being prefixed by the `group_prefix`). + /// A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no + /// subsequent pages. /// - [Newtonsoft.Json.JsonPropertyAttribute("groupsAttribute")] - public virtual string GroupsAttribute { get; set; } - - /// Required. The list of IdP certificates to validate the SAML response against. - [Newtonsoft.Json.JsonPropertyAttribute("identityProviderCertificates")] - public virtual System.Collections.Generic.IList IdentityProviderCertificates { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } - /// Required. The entity ID of the SAML IdP. - [Newtonsoft.Json.JsonPropertyAttribute("identityProviderId")] - public virtual string IdentityProviderId { get; set; } + /// The rollout sequences from the specified parent resource. + [Newtonsoft.Json.JsonPropertyAttribute("rolloutSequences")] + public virtual System.Collections.Generic.IList RolloutSequences { get; set; } - /// Required. The URI where the SAML IdP exposes the SSO service. - [Newtonsoft.Json.JsonPropertyAttribute("identityProviderSsoUri")] - public virtual string IdentityProviderSsoUri { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Response message for listing rollouts. + public class ListRolloutsResponse : Google.Apis.Requests.IDirectResponseSchema + { /// - /// Optional. The SAML attribute to read username from. If unspecified, the username will be read from the - /// NameID element of the assertion in SAML response. This value is expected to be a string and will be passed - /// along as-is (with the option of being prefixed by the `user_prefix`). + /// A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no + /// subsequent pages. /// - [Newtonsoft.Json.JsonPropertyAttribute("userAttribute")] - public virtual string UserAttribute { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } - /// Optional. Prefix to prepend to user name. - [Newtonsoft.Json.JsonPropertyAttribute("userPrefix")] - public virtual string UserPrefix { get; set; } + /// The rollouts from the specified parent resource. + [Newtonsoft.Json.JsonPropertyAttribute("rollouts")] + public virtual System.Collections.Generic.IList Rollouts { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Server settings for the external LDAP server. - public class IdentityServiceServerConfig : Google.Apis.Requests.IDirectResponseSchema + /// List of fleet namespaces. + public class ListScopeNamespacesResponse : Google.Apis.Requests.IDirectResponseSchema { /// - /// Optional. Contains a Base64 encoded, PEM formatted certificate authority certificate for the LDAP server. - /// This must be provided for the "ldaps" and "startTLS" connections. + /// A token to request the next page of resources from the `ListNamespaces` method. The value of an empty string + /// means that there are no more resources to return. /// - [Newtonsoft.Json.JsonPropertyAttribute("certificateAuthorityData")] - public virtual string CertificateAuthorityData { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } - /// - /// Optional. Defines the connection type to communicate with the LDAP server. If `starttls` or `ldaps` is - /// specified, the certificate_authority_data should not be empty. - /// - [Newtonsoft.Json.JsonPropertyAttribute("connectionType")] - public virtual string ConnectionType { get; set; } + /// The list of fleet namespaces + [Newtonsoft.Json.JsonPropertyAttribute("scopeNamespaces")] + public virtual System.Collections.Generic.IList ScopeNamespaces { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// List of Scope RBACRoleBindings. + public class ListScopeRBACRoleBindingsResponse : Google.Apis.Requests.IDirectResponseSchema + { /// - /// Required. Defines the hostname or IP of the LDAP server. Port is optional and will default to 389, if - /// unspecified. For example, "ldap.server.example" or "10.10.10.10:389". + /// A token to request the next page of resources from the `ListScopeRBACRoleBindings` method. The value of an + /// empty string means that there are no more resources to return. /// - [Newtonsoft.Json.JsonPropertyAttribute("host")] - public virtual string Host { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The list of Scope RBACRoleBindings. + [Newtonsoft.Json.JsonPropertyAttribute("rbacrolebindings")] + public virtual System.Collections.Generic.IList Rbacrolebindings { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// - /// Contains the credentials of the service account which is authorized to perform the LDAP search in the directory. - /// The credentials can be supplied by the combination of the DN and password or the client certificate. - /// - public class IdentityServiceServiceAccountConfig : Google.Apis.Requests.IDirectResponseSchema + /// List of Scopes. + public class ListScopesResponse : Google.Apis.Requests.IDirectResponseSchema { - /// Credentials for basic auth. - [Newtonsoft.Json.JsonPropertyAttribute("simpleBindCredentials")] - public virtual IdentityServiceSimpleBindCredentials SimpleBindCredentials { get; set; } + /// + /// A token to request the next page of resources from the `ListScopes` method. The value of an empty string + /// means that there are no more resources to return. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The list of Scopes + [Newtonsoft.Json.JsonPropertyAttribute("scopes")] + public virtual System.Collections.Generic.IList Scopes { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// The structure holds the LDAP simple binding credential. - public class IdentityServiceSimpleBindCredentials : Google.Apis.Requests.IDirectResponseSchema + /// A resource that represents a Google Cloud location. + public class Location : Google.Apis.Requests.IDirectResponseSchema { - /// Required. The distinguished name(DN) of the service account object/user. - [Newtonsoft.Json.JsonPropertyAttribute("dn")] - public virtual string Dn { get; set; } + /// The friendly name for this location, typically a nearby city name. For example, "Tokyo". + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } - /// Output only. The encrypted password of the service account object/user. - [Newtonsoft.Json.JsonPropertyAttribute("encryptedPassword")] - public virtual string EncryptedPassword { get; set; } + /// + /// Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} + /// + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } - /// Required. Input only. The password of the service account object/user. - [Newtonsoft.Json.JsonPropertyAttribute("password")] - public virtual string Password { get; set; } + /// The canonical id for this location. For example: `"us-east1"`. + [Newtonsoft.Json.JsonPropertyAttribute("locationId")] + public virtual string LocationId { get; set; } + + /// Service-specific metadata. For example the available capacity at the given location. + [Newtonsoft.Json.JsonPropertyAttribute("metadata")] + public virtual System.Collections.Generic.IDictionary Metadata { get; set; } + + /// + /// Resource name for the location, which may vary between implementations. For example: + /// `"projects/example-project/locations/us-east1"` + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Defines where users exist in the LDAP directory. - public class IdentityServiceUserConfig : Google.Apis.Requests.IDirectResponseSchema + /// Membership contains information about a member cluster. + public class Membership : Google.Apis.Requests.IDirectResponseSchema { - /// Required. The location of the subtree in the LDAP directory to search for user entries. - [Newtonsoft.Json.JsonPropertyAttribute("baseDn")] - public virtual string BaseDn { get; set; } + /// + /// Optional. How to identify workloads from this Membership. See the documentation on Workload Identity for + /// more details: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity + /// + [Newtonsoft.Json.JsonPropertyAttribute("authority")] + public virtual Authority Authority { get; set; } + + /// Output only. The tier of the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("clusterTier")] + public virtual string ClusterTier { get; set; } + + private string _createTimeRaw; + + private object _createTime; + + /// Output only. When the Membership was created. + [Newtonsoft.Json.JsonPropertyAttribute("createTime")] + public virtual string CreateTimeRaw + { + get => _createTimeRaw; + set + { + _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _createTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] + public virtual object CreateTime + { + get => _createTime; + set + { + _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _createTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CreateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); + set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + private string _deleteTimeRaw; + + private object _deleteTime; + + /// Output only. When the Membership was deleted. + [Newtonsoft.Json.JsonPropertyAttribute("deleteTime")] + public virtual string DeleteTimeRaw + { + get => _deleteTimeRaw; + set + { + _deleteTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _deleteTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use DeleteTimeDateTimeOffset instead.")] + public virtual object DeleteTime + { + get => _deleteTime; + set + { + _deleteTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _deleteTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(DeleteTimeRaw); + set => DeleteTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } /// - /// Optional. Filter to apply when searching for the user. This can be used to further restrict the user - /// accounts which are allowed to login. This defaults to "(objectClass=User)". + /// Output only. Description of this membership, limited to 63 characters. Must match the regex: `a-zA-Z0-9*` + /// This field is present for legacy purposes. /// - [Newtonsoft.Json.JsonPropertyAttribute("filter")] - public virtual string Filter { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// Optional. Endpoint information to reach this member. + [Newtonsoft.Json.JsonPropertyAttribute("endpoint")] + public virtual MembershipEndpoint Endpoint { get; set; } /// - /// Optional. Determines which attribute to use as the user's identity after they are authenticated. This is - /// distinct from the loginAttribute field to allow users to login with a username, but then have their actual - /// identifier be an email address or full Distinguished Name (DN). For example, setting loginAttribute to - /// "sAMAccountName" and identifierAttribute to "userPrincipalName" would allow a user to login as "bsmith", but - /// actual RBAC policies for the user would be written as "bsmith@example.com". Using "userPrincipalName" is - /// recommended since this will be unique for each user. This defaults to "userPrincipalName". + /// Optional. An externally-generated and managed ID for this Membership. This ID may be modified after + /// creation, but this is not recommended. The ID must match the regex: `a-zA-Z0-9*` If this Membership + /// represents a Kubernetes cluster, this value should be set to the UID of the `kube-system` namespace object. /// - [Newtonsoft.Json.JsonPropertyAttribute("idAttribute")] - public virtual string IdAttribute { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("externalId")] + public virtual string ExternalId { get; set; } + + /// + /// Optional. Labels for this membership. These labels are not leveraged by multi-cluster features, instead, we + /// prefer cluster labels, which can be set on GKE cluster or other cluster types. + /// + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } + + private string _lastConnectionTimeRaw; + + private object _lastConnectionTime; + + /// + /// Output only. For clusters using Connect, the timestamp of the most recent connection established with Google + /// Cloud. This time is updated every several minutes, not continuously. For clusters that do not use GKE + /// Connect, or that have never connected successfully, this field will be unset. + /// + [Newtonsoft.Json.JsonPropertyAttribute("lastConnectionTime")] + public virtual string LastConnectionTimeRaw + { + get => _lastConnectionTimeRaw; + set + { + _lastConnectionTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _lastConnectionTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use LastConnectionTimeDateTimeOffset instead.")] + public virtual object LastConnectionTime + { + get => _lastConnectionTime; + set + { + _lastConnectionTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _lastConnectionTime = value; + } + } /// - /// Optional. The name of the attribute which matches against the input username. This is used to find the user - /// in the LDAP database e.g. "(=)" and is combined with the optional filter field. This defaults to - /// "userPrincipalName". + /// representation of . /// - [Newtonsoft.Json.JsonPropertyAttribute("loginAttribute")] - public virtual string LoginAttribute { get; set; } + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? LastConnectionTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(LastConnectionTimeRaw); + set => LastConnectionTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Output only. The type of the membership. + [Newtonsoft.Json.JsonPropertyAttribute("membershipType")] + public virtual string MembershipType { get; set; } - /// - /// KubernetesMetadata provides informational metadata for Memberships representing Kubernetes clusters. - /// - public class KubernetesMetadata : Google.Apis.Requests.IDirectResponseSchema - { - /// Output only. Kubernetes API server version string as reported by `/version`. - [Newtonsoft.Json.JsonPropertyAttribute("kubernetesApiServerVersion")] - public virtual string KubernetesApiServerVersion { get; set; } + /// Optional. The monitoring config information for this membership. + [Newtonsoft.Json.JsonPropertyAttribute("monitoringConfig")] + public virtual MonitoringConfig MonitoringConfig { get; set; } /// - /// Output only. The total memory capacity as reported by the sum of all Kubernetes nodes resources, defined in - /// MB. + /// Output only. The full, unique name of this Membership resource in the format + /// `projects/*/locations/*/memberships/{membership_id}`, set during creation. `membership_id` must be a valid + /// RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case + /// alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which can be + /// expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters. /// - [Newtonsoft.Json.JsonPropertyAttribute("memoryMb")] - public virtual System.Nullable MemoryMb { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } - /// Output only. Node count as reported by Kubernetes nodes resources. - [Newtonsoft.Json.JsonPropertyAttribute("nodeCount")] - public virtual System.Nullable NodeCount { get; set; } + /// Output only. State of the Membership resource. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual MembershipState State { get; set; } /// - /// Output only. Node providerID as reported by the first node in the list of nodes on the Kubernetes endpoint. - /// On Kubernetes platforms that support zero-node clusters (like GKE-on-GCP), the node_count will be zero and - /// the node_provider_id will be empty. + /// Output only. Google-generated UUID for this resource. This is unique across all Membership resources. If a + /// Membership resource is deleted and another resource with the same name is created, it gets a different + /// unique_id. /// - [Newtonsoft.Json.JsonPropertyAttribute("nodeProviderId")] - public virtual string NodeProviderId { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("uniqueId")] + public virtual string UniqueId { get; set; } private string _updateTimeRaw; private object _updateTime; - /// - /// Output only. The time at which these details were last updated. This update_time is different from the - /// Membership-level update_time since EndpointDetails are updated internally for API consumers. - /// + /// Output only. When the Membership was last updated. [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] public virtual string UpdateTimeRaw { @@ -7864,561 +9018,472 @@ public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); } - /// Output only. vCPU count as reported by Kubernetes nodes resources. - [Newtonsoft.Json.JsonPropertyAttribute("vcpuCount")] - public virtual System.Nullable VcpuCount { get; set; } - /// The ETag of the item. public virtual string ETag { get; set; } } /// - /// KubernetesResource contains the YAML manifests and configuration for Membership Kubernetes resources in the - /// cluster. After CreateMembership or UpdateMembership, these resources should be re-applied in the cluster. + /// MembershipBinding is a subresource of a Membership, representing what Fleet Scopes (or other, future Fleet + /// resources) a Membership is bound to. /// - public class KubernetesResource : Google.Apis.Requests.IDirectResponseSchema + public class MembershipBinding : Google.Apis.Requests.IDirectResponseSchema { - /// - /// Output only. The Kubernetes resources for installing the GKE Connect agent This field is only populated in - /// the Membership returned from a successful long-running operation from CreateMembership or UpdateMembership. - /// It is not populated during normal GetMembership or ListMemberships requests. To get the resource manifest - /// after the initial registration, the caller should make a UpdateMembership call with an empty field mask. - /// - [Newtonsoft.Json.JsonPropertyAttribute("connectResources")] - public virtual System.Collections.Generic.IList ConnectResources { get; set; } - - /// - /// Input only. The YAML representation of the Membership CR. This field is ignored for GKE clusters where Hub - /// can read the CR directly. Callers should provide the CR that is currently present in the cluster during - /// CreateMembership or UpdateMembership, or leave this field empty if none exists. The CR manifest is used to - /// validate the cluster has not been registered with another Membership. - /// - [Newtonsoft.Json.JsonPropertyAttribute("membershipCrManifest")] - public virtual string MembershipCrManifest { get; set; } - - /// - /// Output only. Additional Kubernetes resources that need to be applied to the cluster after Membership - /// creation, and after every update. This field is only populated in the Membership returned from a successful - /// long-running operation from CreateMembership or UpdateMembership. It is not populated during normal - /// GetMembership or ListMemberships requests. To get the resource manifest after the initial registration, the - /// caller should make a UpdateMembership call with an empty field mask. - /// - [Newtonsoft.Json.JsonPropertyAttribute("membershipResources")] - public virtual System.Collections.Generic.IList MembershipResources { get; set; } + private string _createTimeRaw; - /// Optional. Options for Kubernetes resource generation. - [Newtonsoft.Json.JsonPropertyAttribute("resourceOptions")] - public virtual ResourceOptions ResourceOptions { get; set; } + private object _createTime; - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Output only. When the membership binding was created. + [Newtonsoft.Json.JsonPropertyAttribute("createTime")] + public virtual string CreateTimeRaw + { + get => _createTimeRaw; + set + { + _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _createTimeRaw = value; + } + } - /// List of Memberships bound to a Scope. - public class ListBoundMembershipsResponse : Google.Apis.Requests.IDirectResponseSchema - { - /// The list of Memberships bound to the given Scope. - [Newtonsoft.Json.JsonPropertyAttribute("memberships")] - public virtual System.Collections.Generic.IList Memberships { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] + public virtual object CreateTime + { + get => _createTime; + set + { + _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _createTime = value; + } + } - /// - /// A token to request the next page of resources from the `ListBoundMemberships` method. The value of an empty - /// string means that there are no more resources to return. - /// - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CreateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); + set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// List of locations that could not be reached while fetching this list. - [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] - public virtual System.Collections.Generic.IList Unreachable { get; set; } + private string _deleteTimeRaw; - /// The ETag of the item. - public virtual string ETag { get; set; } - } + private object _deleteTime; - /// Response message for the `GkeHub.ListFeatures` method. - public class ListFeaturesResponse : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// A token to request the next page of resources from the `ListFeatures` method. The value of an empty string - /// means that there are no more resources to return. - /// - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } + /// Output only. When the membership binding was deleted. + [Newtonsoft.Json.JsonPropertyAttribute("deleteTime")] + public virtual string DeleteTimeRaw + { + get => _deleteTimeRaw; + set + { + _deleteTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _deleteTimeRaw = value; + } + } - /// The list of matching Features - [Newtonsoft.Json.JsonPropertyAttribute("resources")] - public virtual System.Collections.Generic.IList Resources { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use DeleteTimeDateTimeOffset instead.")] + public virtual object DeleteTime + { + get => _deleteTime; + set + { + _deleteTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _deleteTime = value; + } + } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(DeleteTimeRaw); + set => DeleteTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// Response message for the `GkeHub.ListFleetsResponse` method. - public class ListFleetsResponse : Google.Apis.Requests.IDirectResponseSchema - { - /// The list of matching fleets. - [Newtonsoft.Json.JsonPropertyAttribute("fleets")] - public virtual System.Collections.Generic.IList Fleets { get; set; } + /// Optional. Labels for this MembershipBinding. + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } /// - /// A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no - /// subsequent pages. The token is only valid for 1h. + /// The resource name for the membershipbinding itself + /// `projects/{project}/locations/{location}/memberships/{membership}/bindings/{membershipbinding}` /// - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// The response message for Locations.ListLocations. - public class ListLocationsResponse : Google.Apis.Requests.IDirectResponseSchema - { - /// A list of locations that matches the specified filter in the request. - [Newtonsoft.Json.JsonPropertyAttribute("locations")] - public virtual System.Collections.Generic.IList Locations { get; set; } - - /// The standard List next-page token. - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// A Scope resource name in the format `projects/*/locations/*/scopes/*`. + [Newtonsoft.Json.JsonPropertyAttribute("scope")] + public virtual string Scope { get; set; } - /// List of MembershipBindings. - public class ListMembershipBindingsResponse : Google.Apis.Requests.IDirectResponseSchema - { - /// The list of membership_bindings - [Newtonsoft.Json.JsonPropertyAttribute("membershipBindings")] - public virtual System.Collections.Generic.IList MembershipBindings { get; set; } + /// Output only. State of the membership binding resource. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual MembershipBindingLifecycleState State { get; set; } /// - /// A token to request the next page of resources from the `ListMembershipBindings` method. The value of an - /// empty string means that there are no more resources to return. + /// Output only. Google-generated UUID for this resource. This is unique across all membershipbinding resources. + /// If a membershipbinding resource is deleted and another resource with the same name is created, it gets a + /// different uid. /// - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("uid")] + public virtual string Uid { get; set; } - /// List of locations that could not be reached while fetching this list. - [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] - public virtual System.Collections.Generic.IList Unreachable { get; set; } + private string _updateTimeRaw; - /// The ETag of the item. - public virtual string ETag { get; set; } - } + private object _updateTime; - /// List of Membership RBACRoleBindings. - public class ListMembershipRBACRoleBindingsResponse : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// A token to request the next page of resources from the `ListMembershipRBACRoleBindings` method. The value of - /// an empty string means that there are no more resources to return. - /// - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } + /// Output only. When the membership binding was last updated. + [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] + public virtual string UpdateTimeRaw + { + get => _updateTimeRaw; + set + { + _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _updateTimeRaw = value; + } + } - /// The list of Membership RBACRoleBindings. - [Newtonsoft.Json.JsonPropertyAttribute("rbacrolebindings")] - public virtual System.Collections.Generic.IList Rbacrolebindings { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] + public virtual object UpdateTime + { + get => _updateTime; + set + { + _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _updateTime = value; + } + } - /// List of locations that could not be reached while fetching this list. - [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] - public virtual System.Collections.Generic.IList Unreachable { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); + set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Response message for the `GkeHub.ListMemberships` method. - public class ListMembershipsResponse : Google.Apis.Requests.IDirectResponseSchema + /// MembershipBindingLifecycleState describes the state of a Binding resource. + public class MembershipBindingLifecycleState : Google.Apis.Requests.IDirectResponseSchema { - /// - /// A token to request the next page of resources from the `ListMemberships` method. The value of an empty - /// string means that there are no more resources to return. - /// - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } - - /// The list of matching Memberships. - [Newtonsoft.Json.JsonPropertyAttribute("resources")] - public virtual System.Collections.Generic.IList Resources { get; set; } - - /// List of locations that could not be reached while fetching this list. - [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] - public virtual System.Collections.Generic.IList Unreachable { get; set; } + /// Output only. The current state of the MembershipBinding resource. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// The response message for Operations.ListOperations. - public class ListOperationsResponse : Google.Apis.Requests.IDirectResponseSchema + /// + /// MembershipEndpoint contains information needed to contact a Kubernetes API, endpoint and any additional + /// Kubernetes metadata. + /// + public class MembershipEndpoint : Google.Apis.Requests.IDirectResponseSchema { - /// The standard List next-page token. - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } + /// Optional. Specific information for a GDC Edge Appliance cluster. + [Newtonsoft.Json.JsonPropertyAttribute("applianceCluster")] + public virtual ApplianceCluster ApplianceCluster { get; set; } - /// A list of operations that matches the specified filter in the request. - [Newtonsoft.Json.JsonPropertyAttribute("operations")] - public virtual System.Collections.Generic.IList Operations { get; set; } + /// Optional. Specific information for a Google Edge cluster. + [Newtonsoft.Json.JsonPropertyAttribute("edgeCluster")] + public virtual EdgeCluster EdgeCluster { get; set; } + + /// Optional. Specific information for a GKE-on-GCP cluster. + [Newtonsoft.Json.JsonPropertyAttribute("gkeCluster")] + public virtual GkeCluster GkeCluster { get; set; } /// - /// Unordered list. Unreachable resources. Populated when the request sets - /// `ListOperationsRequest.return_partial_success` and reads across collections e.g. when attempting to list all - /// resources across all supported locations. + /// Output only. Whether the lifecycle of this membership is managed by a google cluster platform service. /// - [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] - public virtual System.Collections.Generic.IList Unreachable { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("googleManaged")] + public virtual System.Nullable GoogleManaged { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Output only. Useful Kubernetes-specific metadata. + [Newtonsoft.Json.JsonPropertyAttribute("kubernetesMetadata")] + public virtual KubernetesMetadata KubernetesMetadata { get; set; } - /// List of permitted Scopes. - public class ListPermittedScopesResponse : Google.Apis.Requests.IDirectResponseSchema - { /// - /// A token to request the next page of resources from the `ListPermittedScopes` method. The value of an empty - /// string means that there are no more resources to return. + /// Optional. The in-cluster Kubernetes Resources that should be applied for a correctly registered cluster, in + /// the steady state. These resources: * Ensure that the cluster is exclusively registered to one and only one + /// Hub Membership. * Propagate Workload Pool Information available in the Membership Authority field. * Ensure + /// proper initial configuration of default Hub Features. /// - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } - - /// The list of permitted Scopes - [Newtonsoft.Json.JsonPropertyAttribute("scopes")] - public virtual System.Collections.Generic.IList Scopes { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("kubernetesResource")] + public virtual KubernetesResource KubernetesResource { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Optional. Specific information for a GKE Multi-Cloud cluster. + [Newtonsoft.Json.JsonPropertyAttribute("multiCloudCluster")] + public virtual MultiCloudCluster MultiCloudCluster { get; set; } - /// List of fleet namespaces. - public class ListScopeNamespacesResponse : Google.Apis.Requests.IDirectResponseSchema - { /// - /// A token to request the next page of resources from the `ListNamespaces` method. The value of an empty string - /// means that there are no more resources to return. + /// Optional. Specific information for a GKE On-Prem cluster. An onprem user-cluster who has no resourceLink is + /// not allowed to use this field, it should have a nil "type" instead. /// - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } - - /// The list of fleet namespaces - [Newtonsoft.Json.JsonPropertyAttribute("scopeNamespaces")] - public virtual System.Collections.Generic.IList ScopeNamespaces { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("onPremCluster")] + public virtual OnPremCluster OnPremCluster { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// List of Scope RBACRoleBindings. - public class ListScopeRBACRoleBindingsResponse : Google.Apis.Requests.IDirectResponseSchema + /// MembershipFeatureSpec contains configuration information for a single Membership. + public class MembershipFeatureSpec : Google.Apis.Requests.IDirectResponseSchema { - /// - /// A token to request the next page of resources from the `ListScopeRBACRoleBindings` method. The value of an - /// empty string means that there are no more resources to return. - /// - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } + /// Cloud Build-specific spec + [Newtonsoft.Json.JsonPropertyAttribute("cloudbuild")] + public virtual MembershipSpec Cloudbuild { get; set; } - /// The list of Scope RBACRoleBindings. - [Newtonsoft.Json.JsonPropertyAttribute("rbacrolebindings")] - public virtual System.Collections.Generic.IList Rbacrolebindings { get; set; } + /// Config Management-specific spec. + [Newtonsoft.Json.JsonPropertyAttribute("configmanagement")] + public virtual ConfigManagementMembershipSpec Configmanagement { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Fleet observability membership spec + [Newtonsoft.Json.JsonPropertyAttribute("fleetobservability")] + public virtual FleetObservabilityMembershipSpec Fleetobservability { get; set; } + + /// Identity Service-specific spec. + [Newtonsoft.Json.JsonPropertyAttribute("identityservice")] + public virtual IdentityServiceMembershipSpec Identityservice { get; set; } + + /// Anthos Service Mesh-specific spec + [Newtonsoft.Json.JsonPropertyAttribute("mesh")] + public virtual ServiceMeshMembershipSpec Mesh { get; set; } - /// List of Scopes. - public class ListScopesResponse : Google.Apis.Requests.IDirectResponseSchema - { /// - /// A token to request the next page of resources from the `ListScopes` method. The value of an empty string - /// means that there are no more resources to return. + /// Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by + /// users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. /// - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("origin")] + public virtual Origin Origin { get; set; } - /// The list of Scopes - [Newtonsoft.Json.JsonPropertyAttribute("scopes")] - public virtual System.Collections.Generic.IList Scopes { get; set; } + /// Policy Controller spec. + [Newtonsoft.Json.JsonPropertyAttribute("policycontroller")] + public virtual PolicyControllerMembershipSpec Policycontroller { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// A resource that represents a Google Cloud location. - public class Location : Google.Apis.Requests.IDirectResponseSchema + /// MembershipFeatureState contains Feature status information for a single Membership. + public class MembershipFeatureState : Google.Apis.Requests.IDirectResponseSchema { - /// The friendly name for this location, typically a nearby city name. For example, "Tokyo". - [Newtonsoft.Json.JsonPropertyAttribute("displayName")] - public virtual string DisplayName { get; set; } + /// Appdevexperience specific state. + [Newtonsoft.Json.JsonPropertyAttribute("appdevexperience")] + public virtual AppDevExperienceFeatureState Appdevexperience { get; set; } - /// - /// Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"} - /// - [Newtonsoft.Json.JsonPropertyAttribute("labels")] - public virtual System.Collections.Generic.IDictionary Labels { get; set; } + /// ClusterUpgrade state. + [Newtonsoft.Json.JsonPropertyAttribute("clusterupgrade")] + public virtual ClusterUpgradeMembershipState Clusterupgrade { get; set; } - /// The canonical id for this location. For example: `"us-east1"`. - [Newtonsoft.Json.JsonPropertyAttribute("locationId")] - public virtual string LocationId { get; set; } + /// Config Management-specific state. + [Newtonsoft.Json.JsonPropertyAttribute("configmanagement")] + public virtual ConfigManagementMembershipState Configmanagement { get; set; } - /// Service-specific metadata. For example the available capacity at the given location. - [Newtonsoft.Json.JsonPropertyAttribute("metadata")] - public virtual System.Collections.Generic.IDictionary Metadata { get; set; } + /// Fleet observability membership state. + [Newtonsoft.Json.JsonPropertyAttribute("fleetobservability")] + public virtual FleetObservabilityMembershipState Fleetobservability { get; set; } - /// - /// Resource name for the location, which may vary between implementations. For example: - /// `"projects/example-project/locations/us-east1"` - /// - [Newtonsoft.Json.JsonPropertyAttribute("name")] - public virtual string Name { get; set; } + /// Identity Service-specific state. + [Newtonsoft.Json.JsonPropertyAttribute("identityservice")] + public virtual IdentityServiceMembershipState Identityservice { get; set; } + + /// Metering-specific state. + [Newtonsoft.Json.JsonPropertyAttribute("metering")] + public virtual MeteringMembershipState Metering { get; set; } + + /// Policycontroller-specific state. + [Newtonsoft.Json.JsonPropertyAttribute("policycontroller")] + public virtual PolicyControllerMembershipState Policycontroller { get; set; } + + /// Service Mesh-specific state. + [Newtonsoft.Json.JsonPropertyAttribute("servicemesh")] + public virtual ServiceMeshMembershipState Servicemesh { get; set; } + + /// The high-level state of this Feature for a single membership. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual FeatureState State { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Membership contains information about a member cluster. - public class Membership : Google.Apis.Requests.IDirectResponseSchema + /// **Cloud Build**: Configurations for each Cloud Build enabled cluster. + public class MembershipSpec : Google.Apis.Requests.IDirectResponseSchema { - /// - /// Optional. How to identify workloads from this Membership. See the documentation on Workload Identity for - /// more details: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity - /// - [Newtonsoft.Json.JsonPropertyAttribute("authority")] - public virtual Authority Authority { get; set; } - - /// Output only. The tier of the cluster. - [Newtonsoft.Json.JsonPropertyAttribute("clusterTier")] - public virtual string ClusterTier { get; set; } - - private string _createTimeRaw; + /// Whether it is allowed to run the privileged builds on the cluster or not. + [Newtonsoft.Json.JsonPropertyAttribute("securityPolicy")] + public virtual string SecurityPolicy { get; set; } - private object _createTime; + /// Version of the cloud build software on the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual string Version { get; set; } - /// Output only. When the Membership was created. - [Newtonsoft.Json.JsonPropertyAttribute("createTime")] - public virtual string CreateTimeRaw - { - get => _createTimeRaw; - set - { - _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _createTimeRaw = value; - } - } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] - public virtual object CreateTime - { - get => _createTime; - set - { - _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _createTime = value; - } - } + /// MembershipState describes the state of a Membership resource. + public class MembershipState : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The current state of the Membership resource. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? CreateTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); - set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - private string _deleteTimeRaw; + /// **Metering**: Per-Membership Feature State. + public class MeteringMembershipState : Google.Apis.Requests.IDirectResponseSchema + { + private string _lastMeasurementTimeRaw; - private object _deleteTime; + private object _lastMeasurementTime; - /// Output only. When the Membership was deleted. - [Newtonsoft.Json.JsonPropertyAttribute("deleteTime")] - public virtual string DeleteTimeRaw + /// The time stamp of the most recent measurement of the number of vCPUs in the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("lastMeasurementTime")] + public virtual string LastMeasurementTimeRaw { - get => _deleteTimeRaw; + get => _lastMeasurementTimeRaw; set { - _deleteTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _deleteTimeRaw = value; + _lastMeasurementTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _lastMeasurementTimeRaw = value; } } - /// representation of . + /// representation of . [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use DeleteTimeDateTimeOffset instead.")] - public virtual object DeleteTime + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use LastMeasurementTimeDateTimeOffset instead.")] + public virtual object LastMeasurementTime { - get => _deleteTime; + get => _lastMeasurementTime; set { - _deleteTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _deleteTime = value; + _lastMeasurementTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _lastMeasurementTime = value; } } - /// representation of . + /// + /// representation of . + /// [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset + public virtual System.DateTimeOffset? LastMeasurementTimeDateTimeOffset { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(DeleteTimeRaw); - set => DeleteTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(LastMeasurementTimeRaw); + set => LastMeasurementTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); } /// - /// Output only. Description of this membership, limited to 63 characters. Must match the regex: `a-zA-Z0-9*` - /// This field is present for legacy purposes. + /// The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision). /// - [Newtonsoft.Json.JsonPropertyAttribute("description")] - public virtual string Description { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("preciseLastMeasuredClusterVcpuCapacity")] + public virtual System.Nullable PreciseLastMeasuredClusterVcpuCapacity { get; set; } - /// Optional. Endpoint information to reach this member. - [Newtonsoft.Json.JsonPropertyAttribute("endpoint")] - public virtual MembershipEndpoint Endpoint { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// + /// MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is + /// reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to + /// prevent accidentally breaking the constinousty of metrics. + /// + public class MonitoringConfig : Google.Apis.Requests.IDirectResponseSchema + { /// - /// Optional. An externally-generated and managed ID for this Membership. This ID may be modified after - /// creation, but this is not recommended. The ID must match the regex: `a-zA-Z0-9*` If this Membership - /// represents a Kubernetes cluster, this value should be set to the UID of the `kube-system` namespace object. + /// Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would + /// be in format {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1". /// - [Newtonsoft.Json.JsonPropertyAttribute("externalId")] - public virtual string ExternalId { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("cluster")] + public virtual string Cluster { get; set; } /// - /// Optional. Labels for this membership. These labels are not leveraged by multi-cluster features, instead, we - /// prefer cluster labels, which can be set on GKE cluster or other cluster types. + /// Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and + /// Baremetal clusters, this is the kube-system UID. /// - [Newtonsoft.Json.JsonPropertyAttribute("labels")] - public virtual System.Collections.Generic.IDictionary Labels { get; set; } - - private string _lastConnectionTimeRaw; - - private object _lastConnectionTime; + [Newtonsoft.Json.JsonPropertyAttribute("clusterHash")] + public virtual string ClusterHash { get; set; } /// - /// Output only. For clusters using Connect, the timestamp of the most recent connection established with Google - /// Cloud. This time is updated every several minutes, not continuously. For clusters that do not use GKE - /// Connect, or that have never connected successfully, this field will be unset. + /// Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to + /// kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have + /// kubernetes.io prefix today but will migration to be under kubernetes.io/anthos. /// - [Newtonsoft.Json.JsonPropertyAttribute("lastConnectionTime")] - public virtual string LastConnectionTimeRaw - { - get => _lastConnectionTimeRaw; - set - { - _lastConnectionTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _lastConnectionTimeRaw = value; - } - } - - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use LastConnectionTimeDateTimeOffset instead.")] - public virtual object LastConnectionTime - { - get => _lastConnectionTime; - set - { - _lastConnectionTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _lastConnectionTime = value; - } - } + [Newtonsoft.Json.JsonPropertyAttribute("kubernetesMetricsPrefix")] + public virtual string KubernetesMetricsPrefix { get; set; } - /// - /// representation of . - /// - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? LastConnectionTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(LastConnectionTimeRaw); - set => LastConnectionTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + /// Optional. Location used to report Metrics + [Newtonsoft.Json.JsonPropertyAttribute("location")] + public virtual string Location { get; set; } - /// Output only. The type of the membership. - [Newtonsoft.Json.JsonPropertyAttribute("membershipType")] - public virtual string MembershipType { get; set; } + /// Optional. Project used to report Metrics + [Newtonsoft.Json.JsonPropertyAttribute("projectId")] + public virtual string ProjectId { get; set; } - /// Optional. The monitoring config information for this membership. - [Newtonsoft.Json.JsonPropertyAttribute("monitoringConfig")] - public virtual MonitoringConfig MonitoringConfig { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// MultiCloudCluster contains information specific to GKE Multi-Cloud clusters. + public class MultiCloudCluster : Google.Apis.Requests.IDirectResponseSchema + { /// - /// Output only. The full, unique name of this Membership resource in the format - /// `projects/*/locations/*/memberships/{membership_id}`, set during creation. `membership_id` must be a valid - /// RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It must consist of lower case - /// alphanumeric characters or `-` 3. It must start and end with an alphanumeric character Which can be - /// expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters. + /// Output only. If cluster_missing is set then it denotes that API(gkemulticloud.googleapis.com) resource for + /// this GKE Multi-Cloud cluster no longer exists. /// - [Newtonsoft.Json.JsonPropertyAttribute("name")] - public virtual string Name { get; set; } - - /// Output only. State of the Membership resource. - [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual MembershipState State { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("clusterMissing")] + public virtual System.Nullable ClusterMissing { get; set; } /// - /// Output only. Google-generated UUID for this resource. This is unique across all Membership resources. If a - /// Membership resource is deleted and another resource with the same name is created, it gets a different - /// unique_id. + /// Immutable. Self-link of the Google Cloud resource for the GKE Multi-Cloud cluster. For example: + /// //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsClusters/my-cluster + /// //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azureClusters/my-cluster + /// //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attachedClusters/my-cluster /// - [Newtonsoft.Json.JsonPropertyAttribute("uniqueId")] - public virtual string UniqueId { get; set; } - - private string _updateTimeRaw; - - private object _updateTime; + [Newtonsoft.Json.JsonPropertyAttribute("resourceLink")] + public virtual string ResourceLink { get; set; } - /// Output only. When the Membership was last updated. - [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] - public virtual string UpdateTimeRaw - { - get => _updateTimeRaw; - set - { - _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _updateTimeRaw = value; - } - } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] - public virtual object UpdateTime - { - get => _updateTime; - set - { - _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _updateTime = value; - } - } + /// **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. + public class MultiClusterIngressFeatureSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Deprecated: This field will be ignored and should not be set. Customer's billing structure. + /// + [Newtonsoft.Json.JsonPropertyAttribute("billing")] + public virtual string Billing { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); - set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + /// + /// Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: + /// `projects/foo-proj/locations/global/memberships/bar` + /// + [Newtonsoft.Json.JsonPropertyAttribute("configMembership")] + public virtual string ConfigMembership { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// - /// MembershipBinding is a subresource of a Membership, representing what Fleet Scopes (or other, future Fleet - /// resources) a Membership is bound to. - /// - public class MembershipBinding : Google.Apis.Requests.IDirectResponseSchema + /// Namespace represents a namespace across the Fleet + public class Namespace : Google.Apis.Requests.IDirectResponseSchema { private string _createTimeRaw; private object _createTime; - /// Output only. When the membership binding was created. + /// Output only. When the namespace was created. [Newtonsoft.Json.JsonPropertyAttribute("createTime")] public virtual string CreateTimeRaw { @@ -8455,7 +9520,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset private object _deleteTime; - /// Output only. When the membership binding was deleted. + /// Output only. When the namespace was deleted. [Newtonsoft.Json.JsonPropertyAttribute("deleteTime")] public virtual string DeleteTimeRaw { @@ -8488,29 +9553,36 @@ public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset set => DeleteTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); } - /// Optional. Labels for this MembershipBinding. + /// Optional. Labels for this Namespace. [Newtonsoft.Json.JsonPropertyAttribute("labels")] public virtual System.Collections.Generic.IDictionary Labels { get; set; } /// - /// The resource name for the membershipbinding itself - /// `projects/{project}/locations/{location}/memberships/{membership}/bindings/{membershipbinding}` + /// The resource name for the namespace `projects/{project}/locations/{location}/namespaces/{namespace}` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } - /// A Scope resource name in the format `projects/*/locations/*/scopes/*`. + /// + /// Optional. Namespace-level cluster namespace labels. These labels are applied to the related namespace of the + /// member clusters bound to the parent Scope. Scope-level labels (`namespace_labels` in the Fleet Scope + /// resource) take precedence over Namespace-level labels if they share a key. Keys and values must be + /// Kubernetes-conformant. + /// + [Newtonsoft.Json.JsonPropertyAttribute("namespaceLabels")] + public virtual System.Collections.Generic.IDictionary NamespaceLabels { get; set; } + + /// Required. Scope associated with the namespace [Newtonsoft.Json.JsonPropertyAttribute("scope")] public virtual string Scope { get; set; } - /// Output only. State of the membership binding resource. + /// Output only. State of the namespace resource. [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual MembershipBindingLifecycleState State { get; set; } + public virtual NamespaceLifecycleState State { get; set; } /// - /// Output only. Google-generated UUID for this resource. This is unique across all membershipbinding resources. - /// If a membershipbinding resource is deleted and another resource with the same name is created, it gets a - /// different uid. + /// Output only. Google-generated UUID for this resource. This is unique across all namespace resources. If a + /// namespace resource is deleted and another resource with the same name is created, it gets a different uid. /// [Newtonsoft.Json.JsonPropertyAttribute("uid")] public virtual string Uid { get; set; } @@ -8519,7 +9591,7 @@ public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset private object _updateTime; - /// Output only. When the membership binding was last updated. + /// Output only. When the namespace was last updated. [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] public virtual string UpdateTimeRaw { @@ -8556,10 +9628,10 @@ public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset public virtual string ETag { get; set; } } - /// MembershipBindingLifecycleState describes the state of a Binding resource. - public class MembershipBindingLifecycleState : Google.Apis.Requests.IDirectResponseSchema + /// NamespaceLifecycleState describes the state of a Namespace resource. + public class NamespaceLifecycleState : Google.Apis.Requests.IDirectResponseSchema { - /// Output only. The current state of the MembershipBinding resource. + /// Output only. The current state of the Namespace resource. [Newtonsoft.Json.JsonPropertyAttribute("code")] public virtual string Code { get; set; } @@ -8567,557 +9639,574 @@ public class MembershipBindingLifecycleState : Google.Apis.Requests.IDirectRespo public virtual string ETag { get; set; } } - /// - /// MembershipEndpoint contains information needed to contact a Kubernetes API, endpoint and any additional - /// Kubernetes metadata. - /// - public class MembershipEndpoint : Google.Apis.Requests.IDirectResponseSchema + /// OnPremCluster contains information specific to GKE On-Prem clusters. + public class OnPremCluster : Google.Apis.Requests.IDirectResponseSchema { - /// Optional. Specific information for a GDC Edge Appliance cluster. - [Newtonsoft.Json.JsonPropertyAttribute("applianceCluster")] - public virtual ApplianceCluster ApplianceCluster { get; set; } + /// Immutable. Whether the cluster is an admin cluster. + [Newtonsoft.Json.JsonPropertyAttribute("adminCluster")] + public virtual System.Nullable AdminCluster { get; set; } - /// Optional. Specific information for a Google Edge cluster. - [Newtonsoft.Json.JsonPropertyAttribute("edgeCluster")] - public virtual EdgeCluster EdgeCluster { get; set; } + /// + /// Output only. If cluster_missing is set then it denotes that API(gkeonprem.googleapis.com) resource for this + /// GKE On-Prem cluster no longer exists. + /// + [Newtonsoft.Json.JsonPropertyAttribute("clusterMissing")] + public virtual System.Nullable ClusterMissing { get; set; } - /// Optional. Specific information for a GKE-on-GCP cluster. - [Newtonsoft.Json.JsonPropertyAttribute("gkeCluster")] - public virtual GkeCluster GkeCluster { get; set; } + /// Immutable. The on prem cluster's type. + [Newtonsoft.Json.JsonPropertyAttribute("clusterType")] + public virtual string ClusterType { get; set; } /// - /// Output only. Whether the lifecycle of this membership is managed by a google cluster platform service. + /// Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster. For example: + /// //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster + /// //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster /// - [Newtonsoft.Json.JsonPropertyAttribute("googleManaged")] - public virtual System.Nullable GoogleManaged { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("resourceLink")] + public virtual string ResourceLink { get; set; } - /// Output only. Useful Kubernetes-specific metadata. - [Newtonsoft.Json.JsonPropertyAttribute("kubernetesMetadata")] - public virtual KubernetesMetadata KubernetesMetadata { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// This resource represents a long-running operation that is the result of a network API call. + public class Operation : Google.Apis.Requests.IDirectResponseSchema + { /// - /// Optional. The in-cluster Kubernetes Resources that should be applied for a correctly registered cluster, in - /// the steady state. These resources: * Ensure that the cluster is exclusively registered to one and only one - /// Hub Membership. * Propagate Workload Pool Information available in the Membership Authority field. * Ensure - /// proper initial configuration of default Hub Features. + /// 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. /// - [Newtonsoft.Json.JsonPropertyAttribute("kubernetesResource")] - public virtual KubernetesResource KubernetesResource { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("done")] + public virtual System.Nullable Done { get; set; } + + /// The error result of the operation in case of failure or cancellation. + [Newtonsoft.Json.JsonPropertyAttribute("error")] + public virtual GoogleRpcStatus Error { get; set; } + + /// + /// 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("metadata")] + public virtual System.Collections.Generic.IDictionary Metadata { get; set; } + + /// + /// 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}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// + /// 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`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("response")] + public virtual System.Collections.Generic.IDictionary Response { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Represents the metadata of the long-running operation. + public class OperationMetadata : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. API version used to start the operation. + [Newtonsoft.Json.JsonPropertyAttribute("apiVersion")] + public virtual string ApiVersion { get; set; } + + /// + /// Output only. Identifies whether the user has requested cancellation of the operation. Operations that have + /// successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of + /// 1, corresponding to `Code.CANCELLED`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("cancelRequested")] + public virtual System.Nullable CancelRequested { get; set; } + + private string _createTimeRaw; + + private object _createTime; + + /// Output only. The time the operation was created. + [Newtonsoft.Json.JsonPropertyAttribute("createTime")] + public virtual string CreateTimeRaw + { + get => _createTimeRaw; + set + { + _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _createTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] + public virtual object CreateTime + { + get => _createTime; + set + { + _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _createTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CreateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); + set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + private string _endTimeRaw; + + private object _endTime; + + /// Output only. The time the operation finished running. + [Newtonsoft.Json.JsonPropertyAttribute("endTime")] + public virtual string EndTimeRaw + { + get => _endTimeRaw; + set + { + _endTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _endTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use EndTimeDateTimeOffset instead.")] + public virtual object EndTime + { + get => _endTime; + set + { + _endTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _endTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? EndTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(EndTimeRaw); + set => EndTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// Output only. Human-readable status of the operation, if any. + [Newtonsoft.Json.JsonPropertyAttribute("statusDetail")] + public virtual string StatusDetail { get; set; } - /// Optional. Specific information for a GKE Multi-Cloud cluster. - [Newtonsoft.Json.JsonPropertyAttribute("multiCloudCluster")] - public virtual MultiCloudCluster MultiCloudCluster { get; set; } + /// Output only. Server-defined resource path for the target of the operation. + [Newtonsoft.Json.JsonPropertyAttribute("target")] + public virtual string Target { get; set; } - /// - /// Optional. Specific information for a GKE On-Prem cluster. An onprem user-cluster who has no resourceLink is - /// not allowed to use this field, it should have a nil "type" instead. - /// - [Newtonsoft.Json.JsonPropertyAttribute("onPremCluster")] - public virtual OnPremCluster OnPremCluster { get; set; } + /// Output only. Name of the verb executed by the operation. + [Newtonsoft.Json.JsonPropertyAttribute("verb")] + public virtual string Verb { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// MembershipFeatureSpec contains configuration information for a single Membership. - public class MembershipFeatureSpec : Google.Apis.Requests.IDirectResponseSchema + /// Origin defines where this MembershipFeatureSpec originated from. + public class Origin : Google.Apis.Requests.IDirectResponseSchema { - /// Cloud Build-specific spec - [Newtonsoft.Json.JsonPropertyAttribute("cloudbuild")] - public virtual MembershipSpec Cloudbuild { get; set; } - - /// Config Management-specific spec. - [Newtonsoft.Json.JsonPropertyAttribute("configmanagement")] - public virtual ConfigManagementMembershipSpec Configmanagement { get; set; } - - /// Fleet observability membership spec - [Newtonsoft.Json.JsonPropertyAttribute("fleetobservability")] - public virtual FleetObservabilityMembershipSpec Fleetobservability { get; set; } - - /// Identity Service-specific spec. - [Newtonsoft.Json.JsonPropertyAttribute("identityservice")] - public virtual IdentityServiceMembershipSpec Identityservice { get; set; } - - /// Anthos Service Mesh-specific spec - [Newtonsoft.Json.JsonPropertyAttribute("mesh")] - public virtual ServiceMeshMembershipSpec Mesh { get; set; } - - /// - /// Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by - /// users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. - /// - [Newtonsoft.Json.JsonPropertyAttribute("origin")] - public virtual Origin Origin { get; set; } - - /// Policy Controller spec. - [Newtonsoft.Json.JsonPropertyAttribute("policycontroller")] - public virtual PolicyControllerMembershipSpec Policycontroller { get; set; } + /// Type specifies which type of origin is set. + [Newtonsoft.Json.JsonPropertyAttribute("type")] + public virtual string Type { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// MembershipFeatureState contains Feature status information for a single Membership. - public class MembershipFeatureState : Google.Apis.Requests.IDirectResponseSchema + /// + /// 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 + /// &lt; 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 &lt; + /// 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/). + /// + public class Policy : Google.Apis.Requests.IDirectResponseSchema { - /// Appdevexperience specific state. - [Newtonsoft.Json.JsonPropertyAttribute("appdevexperience")] - public virtual AppDevExperienceFeatureState Appdevexperience { get; set; } - - /// ClusterUpgrade state. - [Newtonsoft.Json.JsonPropertyAttribute("clusterupgrade")] - public virtual ClusterUpgradeMembershipState Clusterupgrade { get; set; } - - /// Config Management-specific state. - [Newtonsoft.Json.JsonPropertyAttribute("configmanagement")] - public virtual ConfigManagementMembershipState Configmanagement { get; set; } - - /// Fleet observability membership state. - [Newtonsoft.Json.JsonPropertyAttribute("fleetobservability")] - public virtual FleetObservabilityMembershipState Fleetobservability { get; set; } - - /// Identity Service-specific state. - [Newtonsoft.Json.JsonPropertyAttribute("identityservice")] - public virtual IdentityServiceMembershipState Identityservice { get; set; } - - /// Metering-specific state. - [Newtonsoft.Json.JsonPropertyAttribute("metering")] - public virtual MeteringMembershipState Metering { get; set; } - - /// Policycontroller-specific state. - [Newtonsoft.Json.JsonPropertyAttribute("policycontroller")] - public virtual PolicyControllerMembershipState Policycontroller { get; set; } - - /// Service Mesh-specific state. - [Newtonsoft.Json.JsonPropertyAttribute("servicemesh")] - public virtual ServiceMeshMembershipState Servicemesh { get; set; } + /// Specifies cloud audit logging configuration for this policy. + [Newtonsoft.Json.JsonPropertyAttribute("auditConfigs")] + public virtual System.Collections.Generic.IList AuditConfigs { get; set; } - /// The high-level state of this Feature for a single membership. - [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual FeatureState State { get; set; } + /// + /// 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`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("bindings")] + public virtual System.Collections.Generic.IList Bindings { get; set; } - /// The ETag of the item. + /// + /// `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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("etag")] public virtual string ETag { get; set; } + + /// + /// 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). + /// + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual System.Nullable Version { get; set; } } - /// **Cloud Build**: Configurations for each Cloud Build enabled cluster. - public class MembershipSpec : Google.Apis.Requests.IDirectResponseSchema + /// Binauthz policy that applies to this cluster. + public class PolicyBinding : Google.Apis.Requests.IDirectResponseSchema { - /// Whether it is allowed to run the privileged builds on the cluster or not. - [Newtonsoft.Json.JsonPropertyAttribute("securityPolicy")] - public virtual string SecurityPolicy { get; set; } - - /// Version of the cloud build software on the cluster. - [Newtonsoft.Json.JsonPropertyAttribute("version")] - public virtual string Version { get; set; } + /// + /// The relative resource name of the binauthz platform policy to audit. GKE platform policies have the + /// following format: `projects/{project_number}/platforms/gke/policies/{policy_id}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// MembershipState describes the state of a Membership resource. - public class MembershipState : Google.Apis.Requests.IDirectResponseSchema + /// BundleInstallSpec is the specification configuration for a single managed bundle. + public class PolicyControllerBundleInstallSpec : Google.Apis.Requests.IDirectResponseSchema { - /// Output only. The current state of the Membership resource. - [Newtonsoft.Json.JsonPropertyAttribute("code")] - public virtual string Code { get; set; } + /// The set of namespaces to be exempted from the bundle. + [Newtonsoft.Json.JsonPropertyAttribute("exemptedNamespaces")] + public virtual System.Collections.Generic.IList ExemptedNamespaces { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// **Metering**: Per-Membership Feature State. - public class MeteringMembershipState : Google.Apis.Requests.IDirectResponseSchema + /// Configuration for Policy Controller + public class PolicyControllerHubConfig : Google.Apis.Requests.IDirectResponseSchema { - private string _lastMeasurementTimeRaw; + /// + /// Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit + /// functionality altogether. + /// + [Newtonsoft.Json.JsonPropertyAttribute("auditIntervalSeconds")] + public virtual System.Nullable AuditIntervalSeconds { get; set; } - private object _lastMeasurementTime; + /// + /// The maximum number of audit violations to be stored in a constraint. If not set, the internal default + /// (currently 20) will be used. + /// + [Newtonsoft.Json.JsonPropertyAttribute("constraintViolationLimit")] + public virtual System.Nullable ConstraintViolationLimit { get; set; } - /// The time stamp of the most recent measurement of the number of vCPUs in the cluster. - [Newtonsoft.Json.JsonPropertyAttribute("lastMeasurementTime")] - public virtual string LastMeasurementTimeRaw - { - get => _lastMeasurementTimeRaw; - set - { - _lastMeasurementTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _lastMeasurementTimeRaw = value; - } - } + /// Map of deployment configs to deployments ("admission", "audit", "mutation'). + [Newtonsoft.Json.JsonPropertyAttribute("deploymentConfigs")] + public virtual System.Collections.Generic.IDictionary DeploymentConfigs { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use LastMeasurementTimeDateTimeOffset instead.")] - public virtual object LastMeasurementTime - { - get => _lastMeasurementTime; - set - { - _lastMeasurementTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _lastMeasurementTime = value; - } - } + /// + /// The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently + /// exist on the cluster. + /// + [Newtonsoft.Json.JsonPropertyAttribute("exemptableNamespaces")] + public virtual System.Collections.Generic.IList ExemptableNamespaces { get; set; } /// - /// representation of . + /// The install_spec represents the intended state specified by the latest request that mutated install_spec in + /// the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is + /// reported in the feature state. /// - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? LastMeasurementTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(LastMeasurementTimeRaw); - set => LastMeasurementTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + [Newtonsoft.Json.JsonPropertyAttribute("installSpec")] + public virtual string InstallSpec { get; set; } + + /// Logs all denies and dry run failures. + [Newtonsoft.Json.JsonPropertyAttribute("logDeniesEnabled")] + public virtual System.Nullable LogDeniesEnabled { get; set; } + + /// Monitoring specifies the configuration of monitoring. + [Newtonsoft.Json.JsonPropertyAttribute("monitoring")] + public virtual PolicyControllerMonitoringConfig Monitoring { get; set; } + + /// Enables the ability to mutate resources using Policy Controller. + [Newtonsoft.Json.JsonPropertyAttribute("mutationEnabled")] + public virtual System.Nullable MutationEnabled { get; set; } + + /// Specifies the desired policy content on the cluster + [Newtonsoft.Json.JsonPropertyAttribute("policyContent")] + public virtual PolicyControllerPolicyContentSpec PolicyContent { get; set; } /// - /// The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision). + /// Enables the ability to use Constraint Templates that reference to objects other than the object currently + /// being evaluated. /// - [Newtonsoft.Json.JsonPropertyAttribute("preciseLastMeasuredClusterVcpuCapacity")] - public virtual System.Nullable PreciseLastMeasuredClusterVcpuCapacity { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("referentialRulesEnabled")] + public virtual System.Nullable ReferentialRulesEnabled { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } /// - /// MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is - /// reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to - /// prevent accidentally breaking the constinousty of metrics. + /// **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. /// - public class MonitoringConfig : Google.Apis.Requests.IDirectResponseSchema + public class PolicyControllerMembershipSpec : Google.Apis.Requests.IDirectResponseSchema { - /// - /// Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would - /// be in format {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1". - /// - [Newtonsoft.Json.JsonPropertyAttribute("cluster")] - public virtual string Cluster { get; set; } - - /// - /// Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and - /// Baremetal clusters, this is the kube-system UID. - /// - [Newtonsoft.Json.JsonPropertyAttribute("clusterHash")] - public virtual string ClusterHash { get; set; } - - /// - /// Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to - /// kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have - /// kubernetes.io prefix today but will migration to be under kubernetes.io/anthos. - /// - [Newtonsoft.Json.JsonPropertyAttribute("kubernetesMetricsPrefix")] - public virtual string KubernetesMetricsPrefix { get; set; } - - /// Optional. Location used to report Metrics - [Newtonsoft.Json.JsonPropertyAttribute("location")] - public virtual string Location { get; set; } + /// Policy Controller configuration for the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("policyControllerHubConfig")] + public virtual PolicyControllerHubConfig PolicyControllerHubConfig { get; set; } - /// Optional. Project used to report Metrics - [Newtonsoft.Json.JsonPropertyAttribute("projectId")] - public virtual string ProjectId { get; set; } + /// Version of Policy Controller installed. + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual string Version { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// MultiCloudCluster contains information specific to GKE Multi-Cloud clusters. - public class MultiCloudCluster : Google.Apis.Requests.IDirectResponseSchema + /// **Policy Controller**: State for a single cluster. + public class PolicyControllerMembershipState : Google.Apis.Requests.IDirectResponseSchema { /// - /// Output only. If cluster_missing is set then it denotes that API(gkemulticloud.googleapis.com) resource for - /// this GKE Multi-Cloud cluster no longer exists. + /// Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" /// - [Newtonsoft.Json.JsonPropertyAttribute("clusterMissing")] - public virtual System.Nullable ClusterMissing { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("componentStates")] + public virtual System.Collections.Generic.IDictionary ComponentStates { get; set; } - /// - /// Immutable. Self-link of the Google Cloud resource for the GKE Multi-Cloud cluster. For example: - /// //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsClusters/my-cluster - /// //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azureClusters/my-cluster - /// //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attachedClusters/my-cluster - /// - [Newtonsoft.Json.JsonPropertyAttribute("resourceLink")] - public virtual string ResourceLink { get; set; } + /// The overall content state observed by the Hub Feature controller. + [Newtonsoft.Json.JsonPropertyAttribute("policyContentState")] + public virtual PolicyControllerPolicyContentState PolicyContentState { get; set; } + + /// The overall Policy Controller lifecycle state observed by the Hub Feature controller. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. - public class MultiClusterIngressFeatureSpec : Google.Apis.Requests.IDirectResponseSchema + /// + /// MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify + /// metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", + /// "prometheus"] + /// + public class PolicyControllerMonitoringConfig : Google.Apis.Requests.IDirectResponseSchema { /// - /// Deprecated: This field will be ignored and should not be set. Customer's billing structure. - /// - [Newtonsoft.Json.JsonPropertyAttribute("billing")] - public virtual string Billing { get; set; } - - /// - /// Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: - /// `projects/foo-proj/locations/global/memberships/bar` + /// Specifies the list of backends Policy Controller will export to. An empty list would effectively disable + /// metrics export. /// - [Newtonsoft.Json.JsonPropertyAttribute("configMembership")] - public virtual string ConfigMembership { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("backends")] + public virtual System.Collections.Generic.IList Backends { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Namespace represents a namespace across the Fleet - public class Namespace : Google.Apis.Requests.IDirectResponseSchema + /// OnClusterState represents the state of a sub-component of Policy Controller. + public class PolicyControllerOnClusterState : Google.Apis.Requests.IDirectResponseSchema { - private string _createTimeRaw; - - private object _createTime; - - /// Output only. When the namespace was created. - [Newtonsoft.Json.JsonPropertyAttribute("createTime")] - public virtual string CreateTimeRaw - { - get => _createTimeRaw; - set - { - _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _createTimeRaw = value; - } - } - - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] - public virtual object CreateTime - { - get => _createTime; - set - { - _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _createTime = value; - } - } - - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? CreateTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); - set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } - - private string _deleteTimeRaw; - - private object _deleteTime; - - /// Output only. When the namespace was deleted. - [Newtonsoft.Json.JsonPropertyAttribute("deleteTime")] - public virtual string DeleteTimeRaw - { - get => _deleteTimeRaw; - set - { - _deleteTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _deleteTimeRaw = value; - } - } - - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use DeleteTimeDateTimeOffset instead.")] - public virtual object DeleteTime - { - get => _deleteTime; - set - { - _deleteTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _deleteTime = value; - } - } + /// Surface potential errors or information logs. + [Newtonsoft.Json.JsonPropertyAttribute("details")] + public virtual string Details { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(DeleteTimeRaw); - set => DeleteTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + /// The lifecycle state of this component. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } - /// Optional. Labels for this Namespace. - [Newtonsoft.Json.JsonPropertyAttribute("labels")] - public virtual System.Collections.Generic.IDictionary Labels { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// PolicyContentSpec defines the user's desired content configuration on the cluster. + public class PolicyControllerPolicyContentSpec : Google.Apis.Requests.IDirectResponseSchema + { /// - /// The resource name for the namespace `projects/{project}/locations/{location}/namespaces/{namespace}` + /// map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the + /// `policycontroller.gke.io/constraintData` annotation on a constraint. /// - [Newtonsoft.Json.JsonPropertyAttribute("name")] - public virtual string Name { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("bundles")] + public virtual System.Collections.Generic.IDictionary Bundles { get; set; } - /// - /// Optional. Namespace-level cluster namespace labels. These labels are applied to the related namespace of the - /// member clusters bound to the parent Scope. Scope-level labels (`namespace_labels` in the Fleet Scope - /// resource) take precedence over Namespace-level labels if they share a key. Keys and values must be - /// Kubernetes-conformant. - /// - [Newtonsoft.Json.JsonPropertyAttribute("namespaceLabels")] - public virtual System.Collections.Generic.IDictionary NamespaceLabels { get; set; } + /// Configures the installation of the Template Library. + [Newtonsoft.Json.JsonPropertyAttribute("templateLibrary")] + public virtual PolicyControllerTemplateLibraryConfig TemplateLibrary { get; set; } - /// Required. Scope associated with the namespace - [Newtonsoft.Json.JsonPropertyAttribute("scope")] - public virtual string Scope { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// Output only. State of the namespace resource. - [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual NamespaceLifecycleState State { get; set; } + /// The state of the policy controller policy content + public class PolicyControllerPolicyContentState : Google.Apis.Requests.IDirectResponseSchema + { + /// The state of the any bundles included in the chosen version of the manifest + [Newtonsoft.Json.JsonPropertyAttribute("bundleStates")] + public virtual System.Collections.Generic.IDictionary BundleStates { get; set; } /// - /// Output only. Google-generated UUID for this resource. This is unique across all namespace resources. If a - /// namespace resource is deleted and another resource with the same name is created, it gets a different uid. + /// The state of the referential data sync configuration. This could represent the state of either the syncSet + /// object(s) or the config object, depending on the version of PoCo configured by the user. /// - [Newtonsoft.Json.JsonPropertyAttribute("uid")] - public virtual string Uid { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("referentialSyncConfigState")] + public virtual PolicyControllerOnClusterState ReferentialSyncConfigState { get; set; } - private string _updateTimeRaw; + /// The state of the template library + [Newtonsoft.Json.JsonPropertyAttribute("templateLibraryState")] + public virtual PolicyControllerOnClusterState TemplateLibraryState { get; set; } - private object _updateTime; + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Deployment-specific configuration. + public class PolicyControllerPolicyControllerDeploymentConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Container resource requirements. + [Newtonsoft.Json.JsonPropertyAttribute("containerResources")] + public virtual PolicyControllerResourceRequirements ContainerResources { get; set; } + + /// Pod affinity configuration. + [Newtonsoft.Json.JsonPropertyAttribute("podAffinity")] + public virtual string PodAffinity { get; set; } - /// Output only. When the namespace was last updated. - [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] - public virtual string UpdateTimeRaw - { - get => _updateTimeRaw; - set - { - _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _updateTimeRaw = value; - } - } + /// Pod anti-affinity enablement. Deprecated: use `pod_affinity` instead. + [Newtonsoft.Json.JsonPropertyAttribute("podAntiAffinity")] + public virtual System.Nullable PodAntiAffinity { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] - public virtual object UpdateTime - { - get => _updateTime; - set - { - _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _updateTime = value; - } - } + /// Pod tolerations of node taints. + [Newtonsoft.Json.JsonPropertyAttribute("podTolerations")] + public virtual System.Collections.Generic.IList PodTolerations { get; set; } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); - set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } + /// Pod replica count. + [Newtonsoft.Json.JsonPropertyAttribute("replicaCount")] + public virtual System.Nullable ReplicaCount { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// NamespaceLifecycleState describes the state of a Namespace resource. - public class NamespaceLifecycleState : Google.Apis.Requests.IDirectResponseSchema + /// ResourceList contains container resource requirements. + public class PolicyControllerResourceList : Google.Apis.Requests.IDirectResponseSchema { - /// Output only. The current state of the Namespace resource. - [Newtonsoft.Json.JsonPropertyAttribute("code")] - public virtual string Code { get; set; } + /// CPU requirement expressed in Kubernetes resource units. + [Newtonsoft.Json.JsonPropertyAttribute("cpu")] + public virtual string Cpu { get; set; } + + /// Memory requirement expressed in Kubernetes resource units. + [Newtonsoft.Json.JsonPropertyAttribute("memory")] + public virtual string Memory { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// OnPremCluster contains information specific to GKE On-Prem clusters. - public class OnPremCluster : Google.Apis.Requests.IDirectResponseSchema + /// ResourceRequirements describes the compute resource requirements. + public class PolicyControllerResourceRequirements : Google.Apis.Requests.IDirectResponseSchema { - /// Immutable. Whether the cluster is an admin cluster. - [Newtonsoft.Json.JsonPropertyAttribute("adminCluster")] - public virtual System.Nullable AdminCluster { get; set; } - /// - /// Output only. If cluster_missing is set then it denotes that API(gkeonprem.googleapis.com) resource for this - /// GKE On-Prem cluster no longer exists. + /// Limits describes the maximum amount of compute resources allowed for use by the running container. /// - [Newtonsoft.Json.JsonPropertyAttribute("clusterMissing")] - public virtual System.Nullable ClusterMissing { get; set; } - - /// Immutable. The on prem cluster's type. - [Newtonsoft.Json.JsonPropertyAttribute("clusterType")] - public virtual string ClusterType { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("limits")] + public virtual PolicyControllerResourceList Limits { get; set; } /// - /// Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster. For example: - /// //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster - /// //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster + /// Requests describes the amount of compute resources reserved for the container by the kube-scheduler. /// - [Newtonsoft.Json.JsonPropertyAttribute("resourceLink")] - public virtual string ResourceLink { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("requests")] + public virtual PolicyControllerResourceList Requests { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// This resource represents a long-running operation that is the result of a network API call. - public class Operation : Google.Apis.Requests.IDirectResponseSchema + /// The config specifying which default library templates to install. + public class PolicyControllerTemplateLibraryConfig : Google.Apis.Requests.IDirectResponseSchema { - /// - /// 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. - /// - [Newtonsoft.Json.JsonPropertyAttribute("done")] - public virtual System.Nullable Done { get; set; } + /// Configures the manner in which the template library is installed on the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("installation")] + public virtual string Installation { get; set; } - /// The error result of the operation in case of failure or cancellation. - [Newtonsoft.Json.JsonPropertyAttribute("error")] - public virtual GoogleRpcStatus Error { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// - /// 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. - /// - [Newtonsoft.Json.JsonPropertyAttribute("metadata")] - public virtual System.Collections.Generic.IDictionary Metadata { get; set; } + /// Toleration of a node taint. + public class PolicyControllerToleration : Google.Apis.Requests.IDirectResponseSchema + { + /// Matches a taint effect. + [Newtonsoft.Json.JsonPropertyAttribute("effect")] + public virtual string Effect { get; set; } - /// - /// 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}`. - /// - [Newtonsoft.Json.JsonPropertyAttribute("name")] - public virtual string Name { get; set; } + /// Matches a taint key (not necessarily unique). + [Newtonsoft.Json.JsonPropertyAttribute("key")] + public virtual string Key { get; set; } - /// - /// 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`. - /// - [Newtonsoft.Json.JsonPropertyAttribute("response")] - public virtual System.Collections.Generic.IDictionary Response { get; set; } + /// Matches a taint operator. + [Newtonsoft.Json.JsonPropertyAttribute("operator")] + public virtual string Operator__ { get; set; } + + /// Matches a taint value. + [Newtonsoft.Json.JsonPropertyAttribute("value")] + public virtual string Value { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Represents the metadata of the long-running operation. - public class OperationMetadata : Google.Apis.Requests.IDirectResponseSchema + /// RBACRoleBinding represents a rbacrolebinding across the Fleet + public class RBACRoleBinding : Google.Apis.Requests.IDirectResponseSchema { - /// Output only. API version used to start the operation. - [Newtonsoft.Json.JsonPropertyAttribute("apiVersion")] - public virtual string ApiVersion { get; set; } - - /// - /// Output only. Identifies whether the user has requested cancellation of the operation. Operations that have - /// successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of - /// 1, corresponding to `Code.CANCELLED`. - /// - [Newtonsoft.Json.JsonPropertyAttribute("cancelRequested")] - public virtual System.Nullable CancelRequested { get; set; } - private string _createTimeRaw; private object _createTime; - /// Output only. The time the operation was created. + /// Output only. When the rbacrolebinding was created. [Newtonsoft.Json.JsonPropertyAttribute("createTime")] public virtual string CreateTimeRaw { @@ -9150,449 +10239,515 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); } - private string _endTimeRaw; - - private object _endTime; + private string _deleteTimeRaw; - /// Output only. The time the operation finished running. - [Newtonsoft.Json.JsonPropertyAttribute("endTime")] - public virtual string EndTimeRaw - { - get => _endTimeRaw; - set - { - _endTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _endTimeRaw = value; - } - } + private object _deleteTime; - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use EndTimeDateTimeOffset instead.")] - public virtual object EndTime + /// Output only. When the rbacrolebinding was deleted. + [Newtonsoft.Json.JsonPropertyAttribute("deleteTime")] + public virtual string DeleteTimeRaw { - get => _endTime; + get => _deleteTimeRaw; set { - _endTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _endTime = value; + _deleteTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _deleteTimeRaw = value; } } - /// representation of . + /// representation of . [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? EndTimeDateTimeOffset + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use DeleteTimeDateTimeOffset instead.")] + public virtual object DeleteTime { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(EndTimeRaw); - set => EndTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - } - - /// Output only. Human-readable status of the operation, if any. - [Newtonsoft.Json.JsonPropertyAttribute("statusDetail")] - public virtual string StatusDetail { get; set; } - - /// Output only. Server-defined resource path for the target of the operation. - [Newtonsoft.Json.JsonPropertyAttribute("target")] - public virtual string Target { get; set; } - - /// Output only. Name of the verb executed by the operation. - [Newtonsoft.Json.JsonPropertyAttribute("verb")] - public virtual string Verb { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// Origin defines where this MembershipFeatureSpec originated from. - public class Origin : Google.Apis.Requests.IDirectResponseSchema - { - /// Type specifies which type of origin is set. - [Newtonsoft.Json.JsonPropertyAttribute("type")] - public virtual string Type { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// - /// 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 - /// &lt; 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 &lt; - /// 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/). - /// - public class Policy : Google.Apis.Requests.IDirectResponseSchema - { - /// Specifies cloud audit logging configuration for this policy. - [Newtonsoft.Json.JsonPropertyAttribute("auditConfigs")] - public virtual System.Collections.Generic.IList AuditConfigs { get; set; } + get => _deleteTime; + set + { + _deleteTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _deleteTime = value; + } + } - /// - /// 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`. - /// - [Newtonsoft.Json.JsonPropertyAttribute("bindings")] - public virtual System.Collections.Generic.IList Bindings { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(DeleteTimeRaw); + set => DeleteTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// - /// `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. - /// - [Newtonsoft.Json.JsonPropertyAttribute("etag")] - public virtual string ETag { get; set; } + /// group is the group, as seen by the kubernetes cluster. + [Newtonsoft.Json.JsonPropertyAttribute("group")] + public virtual string Group { get; set; } - /// - /// 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). - /// - [Newtonsoft.Json.JsonPropertyAttribute("version")] - public virtual System.Nullable Version { get; set; } - } + /// Optional. Labels for this RBACRolebinding. + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } - /// Binauthz policy that applies to this cluster. - public class PolicyBinding : Google.Apis.Requests.IDirectResponseSchema - { /// - /// The relative resource name of the binauthz platform policy to audit. GKE platform policies have the - /// following format: `projects/{project_number}/platforms/gke/policies/{policy_id}`. + /// The resource name for the rbacrolebinding + /// `projects/{project}/locations/{location}/scopes/{scope}/rbacrolebindings/{rbacrolebinding}` or + /// `projects/{project}/locations/{location}/memberships/{membership}/rbacrolebindings/{rbacrolebinding}` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// BundleInstallSpec is the specification configuration for a single managed bundle. - public class PolicyControllerBundleInstallSpec : Google.Apis.Requests.IDirectResponseSchema - { - /// The set of namespaces to be exempted from the bundle. - [Newtonsoft.Json.JsonPropertyAttribute("exemptedNamespaces")] - public virtual System.Collections.Generic.IList ExemptedNamespaces { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Required. Role to bind to the principal + [Newtonsoft.Json.JsonPropertyAttribute("role")] + public virtual Role Role { get; set; } - /// Configuration for Policy Controller - public class PolicyControllerHubConfig : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit - /// functionality altogether. - /// - [Newtonsoft.Json.JsonPropertyAttribute("auditIntervalSeconds")] - public virtual System.Nullable AuditIntervalSeconds { get; set; } + /// Output only. State of the rbacrolebinding resource. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual RBACRoleBindingLifecycleState State { get; set; } /// - /// The maximum number of audit violations to be stored in a constraint. If not set, the internal default - /// (currently 20) will be used. + /// Output only. Google-generated UUID for this resource. This is unique across all rbacrolebinding resources. + /// If a rbacrolebinding resource is deleted and another resource with the same name is created, it gets a + /// different uid. /// - [Newtonsoft.Json.JsonPropertyAttribute("constraintViolationLimit")] - public virtual System.Nullable ConstraintViolationLimit { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("uid")] + public virtual string Uid { get; set; } - /// Map of deployment configs to deployments ("admission", "audit", "mutation'). - [Newtonsoft.Json.JsonPropertyAttribute("deploymentConfigs")] - public virtual System.Collections.Generic.IDictionary DeploymentConfigs { get; set; } + private string _updateTimeRaw; - /// - /// The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently - /// exist on the cluster. - /// - [Newtonsoft.Json.JsonPropertyAttribute("exemptableNamespaces")] - public virtual System.Collections.Generic.IList ExemptableNamespaces { get; set; } + private object _updateTime; - /// - /// The install_spec represents the intended state specified by the latest request that mutated install_spec in - /// the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is - /// reported in the feature state. - /// - [Newtonsoft.Json.JsonPropertyAttribute("installSpec")] - public virtual string InstallSpec { get; set; } + /// Output only. When the rbacrolebinding was last updated. + [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] + public virtual string UpdateTimeRaw + { + get => _updateTimeRaw; + set + { + _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _updateTimeRaw = value; + } + } - /// Logs all denies and dry run failures. - [Newtonsoft.Json.JsonPropertyAttribute("logDeniesEnabled")] - public virtual System.Nullable LogDeniesEnabled { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] + public virtual object UpdateTime + { + get => _updateTime; + set + { + _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _updateTime = value; + } + } - /// Monitoring specifies the configuration of monitoring. - [Newtonsoft.Json.JsonPropertyAttribute("monitoring")] - public virtual PolicyControllerMonitoringConfig Monitoring { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); + set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// Enables the ability to mutate resources using Policy Controller. - [Newtonsoft.Json.JsonPropertyAttribute("mutationEnabled")] - public virtual System.Nullable MutationEnabled { get; set; } + /// + /// user is the name of the user as seen by the kubernetes cluster, example "alice" or "alice@domain.tld" + /// + [Newtonsoft.Json.JsonPropertyAttribute("user")] + public virtual string User { get; set; } - /// Specifies the desired policy content on the cluster - [Newtonsoft.Json.JsonPropertyAttribute("policyContent")] - public virtual PolicyControllerPolicyContentSpec PolicyContent { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// **RBAC RoleBinding Actuation**: The Hub-wide input for the RBACRoleBindingActuation feature. + public class RBACRoleBindingActuationFeatureSpec : Google.Apis.Requests.IDirectResponseSchema + { /// - /// Enables the ability to use Constraint Templates that reference to objects other than the object currently - /// being evaluated. + /// The list of allowed custom roles (ClusterRoles). If a ClusterRole is not part of this list, it cannot be + /// used in a Scope RBACRoleBinding. If a ClusterRole in this list is in use, it cannot be removed from the + /// list. /// - [Newtonsoft.Json.JsonPropertyAttribute("referentialRulesEnabled")] - public virtual System.Nullable ReferentialRulesEnabled { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("allowedCustomRoles")] + public virtual System.Collections.Generic.IList AllowedCustomRoles { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// - /// **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. - /// - public class PolicyControllerMembershipSpec : Google.Apis.Requests.IDirectResponseSchema + /// **RBAC RoleBinding Actuation**: An empty state left as an example Hub-wide Feature state. + public class RBACRoleBindingActuationFeatureState : Google.Apis.Requests.IDirectResponseSchema { - /// Policy Controller configuration for the cluster. - [Newtonsoft.Json.JsonPropertyAttribute("policyControllerHubConfig")] - public virtual PolicyControllerHubConfig PolicyControllerHubConfig { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// Version of Policy Controller installed. - [Newtonsoft.Json.JsonPropertyAttribute("version")] - public virtual string Version { get; set; } + /// RBACRoleBindingLifecycleState describes the state of a RbacRoleBinding resource. + public class RBACRoleBindingLifecycleState : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The current state of the rbacrolebinding resource. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// **Policy Controller**: State for a single cluster. - public class PolicyControllerMembershipState : Google.Apis.Requests.IDirectResponseSchema + /// ResourceManifest represents a single Kubernetes resource to be applied to the cluster. + public class ResourceManifest : Google.Apis.Requests.IDirectResponseSchema { /// - /// Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" + /// Output only. Whether the resource provided in the manifest is `cluster_scoped`. If unset, the manifest is + /// assumed to be namespace scoped. This field is used for REST mapping when applying the resource in a cluster. /// - [Newtonsoft.Json.JsonPropertyAttribute("componentStates")] - public virtual System.Collections.Generic.IDictionary ComponentStates { get; set; } - - /// The overall content state observed by the Hub Feature controller. - [Newtonsoft.Json.JsonPropertyAttribute("policyContentState")] - public virtual PolicyControllerPolicyContentState PolicyContentState { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("clusterScoped")] + public virtual System.Nullable ClusterScoped { get; set; } - /// The overall Policy Controller lifecycle state observed by the Hub Feature controller. - [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual string State { get; set; } + /// Output only. YAML manifest of the resource. + [Newtonsoft.Json.JsonPropertyAttribute("manifest")] + public virtual string Manifest { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// - /// MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify - /// metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", - /// "prometheus"] - /// - public class PolicyControllerMonitoringConfig : Google.Apis.Requests.IDirectResponseSchema + /// ResourceOptions represent options for Kubernetes resource generation. + public class ResourceOptions : Google.Apis.Requests.IDirectResponseSchema { /// - /// Specifies the list of backends Policy Controller will export to. An empty list would effectively disable - /// metrics export. + /// Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect + /// version. The version must be a currently supported version, obsolete versions will be rejected. + /// + [Newtonsoft.Json.JsonPropertyAttribute("connectVersion")] + public virtual string ConnectVersion { get; set; } + + /// + /// Optional. Git version of the Kubernetes cluster. This is only used to gate the Connect Agent migration to + /// svc.id.goog on GDC-SO 1.33.100 patch and above. + /// + [Newtonsoft.Json.JsonPropertyAttribute("k8sGitVersion")] + public virtual string K8sGitVersion { get; set; } + + /// + /// Optional. Major and minor version of the Kubernetes cluster. This is only used to determine which version to + /// use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("k8sVersion")] + public virtual string K8sVersion { get; set; } + + /// + /// Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. + /// This option should be set for clusters with Kubernetes apiserver versions &lt;1.16. /// - [Newtonsoft.Json.JsonPropertyAttribute("backends")] - public virtual System.Collections.Generic.IList Backends { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("v1beta1Crd")] + public virtual System.Nullable V1beta1Crd { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// OnClusterState represents the state of a sub-component of Policy Controller. - public class PolicyControllerOnClusterState : Google.Apis.Requests.IDirectResponseSchema + /// Role is the type for Kubernetes roles + public class Role : Google.Apis.Requests.IDirectResponseSchema { - /// Surface potential errors or information logs. - [Newtonsoft.Json.JsonPropertyAttribute("details")] - public virtual string Details { get; set; } + /// Optional. custom_role is the name of a custom KubernetesClusterRole to use. + [Newtonsoft.Json.JsonPropertyAttribute("customRole")] + public virtual string CustomRole { get; set; } - /// The lifecycle state of this component. - [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual string State { get; set; } + /// predefined_role is the Kubernetes default role to use + [Newtonsoft.Json.JsonPropertyAttribute("predefinedRole")] + public virtual string PredefinedRole { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// PolicyContentSpec defines the user's desired content configuration on the cluster. - public class PolicyControllerPolicyContentSpec : Google.Apis.Requests.IDirectResponseSchema + /// Rollout contains the Rollout metadata and configuration. + public class Rollout : Google.Apis.Requests.IDirectResponseSchema { - /// - /// map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the - /// `policycontroller.gke.io/constraintData` annotation on a constraint. - /// - [Newtonsoft.Json.JsonPropertyAttribute("bundles")] - public virtual System.Collections.Generic.IDictionary Bundles { get; set; } + private string _completeTimeRaw; - /// Configures the installation of the Template Library. - [Newtonsoft.Json.JsonPropertyAttribute("templateLibrary")] - public virtual PolicyControllerTemplateLibraryConfig TemplateLibrary { get; set; } + private object _completeTime; - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Output only. The timestamp at which the Rollout was completed. + [Newtonsoft.Json.JsonPropertyAttribute("completeTime")] + public virtual string CompleteTimeRaw + { + get => _completeTimeRaw; + set + { + _completeTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _completeTimeRaw = value; + } + } - /// The state of the policy controller policy content - public class PolicyControllerPolicyContentState : Google.Apis.Requests.IDirectResponseSchema - { - /// The state of the any bundles included in the chosen version of the manifest - [Newtonsoft.Json.JsonPropertyAttribute("bundleStates")] - public virtual System.Collections.Generic.IDictionary BundleStates { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CompleteTimeDateTimeOffset instead.")] + public virtual object CompleteTime + { + get => _completeTime; + set + { + _completeTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _completeTime = value; + } + } - /// - /// The state of the referential data sync configuration. This could represent the state of either the syncSet - /// object(s) or the config object, depending on the version of PoCo configured by the user. - /// - [Newtonsoft.Json.JsonPropertyAttribute("referentialSyncConfigState")] - public virtual PolicyControllerOnClusterState ReferentialSyncConfigState { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CompleteTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CompleteTimeRaw); + set => CompleteTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// The state of the template library - [Newtonsoft.Json.JsonPropertyAttribute("templateLibraryState")] - public virtual PolicyControllerOnClusterState TemplateLibraryState { get; set; } + private string _createTimeRaw; - /// The ETag of the item. - public virtual string ETag { get; set; } - } + private object _createTime; - /// Deployment-specific configuration. - public class PolicyControllerPolicyControllerDeploymentConfig : Google.Apis.Requests.IDirectResponseSchema - { - /// Container resource requirements. - [Newtonsoft.Json.JsonPropertyAttribute("containerResources")] - public virtual PolicyControllerResourceRequirements ContainerResources { get; set; } + /// Output only. The timestamp at which the Rollout was created. + [Newtonsoft.Json.JsonPropertyAttribute("createTime")] + public virtual string CreateTimeRaw + { + get => _createTimeRaw; + set + { + _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _createTimeRaw = value; + } + } - /// Pod affinity configuration. - [Newtonsoft.Json.JsonPropertyAttribute("podAffinity")] - public virtual string PodAffinity { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] + public virtual object CreateTime + { + get => _createTime; + set + { + _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _createTime = value; + } + } - /// Pod anti-affinity enablement. Deprecated: use `pod_affinity` instead. - [Newtonsoft.Json.JsonPropertyAttribute("podAntiAffinity")] - public virtual System.Nullable PodAntiAffinity { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CreateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); + set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// Pod tolerations of node taints. - [Newtonsoft.Json.JsonPropertyAttribute("podTolerations")] - public virtual System.Collections.Generic.IList PodTolerations { get; set; } + private string _deleteTimeRaw; - /// Pod replica count. - [Newtonsoft.Json.JsonPropertyAttribute("replicaCount")] - public virtual System.Nullable ReplicaCount { get; set; } + private object _deleteTime; - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Output only. The timestamp at the Rollout was deleted. + [Newtonsoft.Json.JsonPropertyAttribute("deleteTime")] + public virtual string DeleteTimeRaw + { + get => _deleteTimeRaw; + set + { + _deleteTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _deleteTimeRaw = value; + } + } - /// ResourceList contains container resource requirements. - public class PolicyControllerResourceList : Google.Apis.Requests.IDirectResponseSchema - { - /// CPU requirement expressed in Kubernetes resource units. - [Newtonsoft.Json.JsonPropertyAttribute("cpu")] - public virtual string Cpu { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use DeleteTimeDateTimeOffset instead.")] + public virtual object DeleteTime + { + get => _deleteTime; + set + { + _deleteTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _deleteTime = value; + } + } - /// Memory requirement expressed in Kubernetes resource units. - [Newtonsoft.Json.JsonPropertyAttribute("memory")] - public virtual string Memory { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(DeleteTimeRaw); + set => DeleteTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// The ETag of the item. + /// Optional. Human readable display name of the Rollout. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Output only. etag of the Rollout Ex. abc1234 + [Newtonsoft.Json.JsonPropertyAttribute("etag")] public virtual string ETag { get; set; } - } - /// ResourceRequirements describes the compute resource requirements. - public class PolicyControllerResourceRequirements : Google.Apis.Requests.IDirectResponseSchema - { + /// Optional. Output only. The excluded clusters from the rollout. + [Newtonsoft.Json.JsonPropertyAttribute("excludedClusters")] + public virtual System.Collections.Generic.IList ExcludedClusters { get; set; } + + /// Optional. Feature config to use for Rollout. + [Newtonsoft.Json.JsonPropertyAttribute("feature")] + public virtual FeatureUpdate Feature { get; set; } + + /// Optional. Labels for this Rollout. + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } + /// - /// Limits describes the maximum amount of compute resources allowed for use by the running container. + /// Output only. States of upgrading control plane or node pool targets of a single cluster (GKE Hub membership) + /// that's part of this Rollout. The key is the membership name of the cluster. The value is the state of the + /// cluster. /// - [Newtonsoft.Json.JsonPropertyAttribute("limits")] - public virtual PolicyControllerResourceList Limits { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("membershipStates")] + public virtual System.Collections.Generic.IDictionary MembershipStates { get; set; } /// - /// Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + /// Identifier. The full, unique resource name of this Rollout in the format of + /// `projects/{project}/locations/global/rollouts/{rollout}`. /// - [Newtonsoft.Json.JsonPropertyAttribute("requests")] - public virtual PolicyControllerResourceList Requests { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// + /// Optional. Immutable. The full, unique resource name of the rollout sequence that initiatied this Rollout. In + /// the format of `projects/{project}/locations/global/rolloutSequences/{rollout_sequence}`. Empty for user + /// initiated rollouts. + /// + [Newtonsoft.Json.JsonPropertyAttribute("rolloutSequence")] + public virtual string RolloutSequence { get; set; } - /// The config specifying which default library templates to install. - public class PolicyControllerTemplateLibraryConfig : Google.Apis.Requests.IDirectResponseSchema - { - /// Configures the manner in which the template library is installed on the cluster. - [Newtonsoft.Json.JsonPropertyAttribute("installation")] - public virtual string Installation { get; set; } + /// Output only. The schedule of the Rollout. + [Newtonsoft.Json.JsonPropertyAttribute("schedule")] + public virtual Schedule Schedule { get; set; } - /// The ETag of the item. - public virtual string ETag { get; set; } + /// + /// Output only. The stages of the Rollout. Note: this is only populated for google-initiated rollouts. + /// + [Newtonsoft.Json.JsonPropertyAttribute("stages")] + public virtual System.Collections.Generic.IList Stages { get; set; } + + /// Output only. State specifies various states of the Rollout. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// Output only. A human-readable description explaining the reason for the current state. + [Newtonsoft.Json.JsonPropertyAttribute("stateReason")] + public virtual string StateReason { get; set; } + + /// + /// Output only. Google-generated UUID for this resource. This is unique across all Rollout resources. If a + /// Rollout resource is deleted and another resource with the same name is created, it gets a different uid. + /// + [Newtonsoft.Json.JsonPropertyAttribute("uid")] + public virtual string Uid { get; set; } + + private string _updateTimeRaw; + + private object _updateTime; + + /// Output only. The timestamp at which the Rollout was last updated. + [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] + public virtual string UpdateTimeRaw + { + get => _updateTimeRaw; + set + { + _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _updateTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] + public virtual object UpdateTime + { + get => _updateTime; + set + { + _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _updateTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); + set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// Optional. Config for version upgrade of clusters. Note: Currently for GDCE clusters only. + [Newtonsoft.Json.JsonPropertyAttribute("versionUpgrade")] + public virtual VersionUpgrade VersionUpgrade { get; set; } } - /// Toleration of a node taint. - public class PolicyControllerToleration : Google.Apis.Requests.IDirectResponseSchema + /// Metadata about single cluster (GKE Hub membership) that's part of this Rollout. + public class RolloutMembershipState : Google.Apis.Requests.IDirectResponseSchema { - /// Matches a taint effect. - [Newtonsoft.Json.JsonPropertyAttribute("effect")] - public virtual string Effect { get; set; } + private string _lastUpdateTimeRaw; + + private object _lastUpdateTime; + + /// + /// Optional. Output only. The time this status and any related Rollout-specific details for the membership were + /// updated. + /// + [Newtonsoft.Json.JsonPropertyAttribute("lastUpdateTime")] + public virtual string LastUpdateTimeRaw + { + get => _lastUpdateTimeRaw; + set + { + _lastUpdateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _lastUpdateTimeRaw = value; + } + } - /// Matches a taint key (not necessarily unique). - [Newtonsoft.Json.JsonPropertyAttribute("key")] - public virtual string Key { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use LastUpdateTimeDateTimeOffset instead.")] + public virtual object LastUpdateTime + { + get => _lastUpdateTime; + set + { + _lastUpdateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _lastUpdateTime = value; + } + } - /// Matches a taint operator. - [Newtonsoft.Json.JsonPropertyAttribute("operator")] - public virtual string Operator__ { get; set; } + /// + /// representation of . + /// + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? LastUpdateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(LastUpdateTimeRaw); + set => LastUpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// Matches a taint value. - [Newtonsoft.Json.JsonPropertyAttribute("value")] - public virtual string Value { get; set; } + /// Output only. The stage assignment of this cluster in this rollout. + [Newtonsoft.Json.JsonPropertyAttribute("stageAssignment")] + public virtual System.Nullable StageAssignment { get; set; } + + /// + /// Output only. The targets of the rollout - clusters or node pools that are being upgraded. All targets + /// belongs to the same cluster, identified by the membership name (key of membership_states map). + /// + [Newtonsoft.Json.JsonPropertyAttribute("targets")] + public virtual System.Collections.Generic.IList Targets { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// RBACRoleBinding represents a rbacrolebinding across the Fleet - public class RBACRoleBinding : Google.Apis.Requests.IDirectResponseSchema + /// RolloutSequence defines the desired order of upgrades. + public class RolloutSequence : Google.Apis.Requests.IDirectResponseSchema { private string _createTimeRaw; private object _createTime; - /// Output only. When the rbacrolebinding was created. + /// Output only. The timestamp at which the Rollout Sequence was created. [Newtonsoft.Json.JsonPropertyAttribute("createTime")] public virtual string CreateTimeRaw { @@ -9629,7 +10784,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset private object _deleteTime; - /// Output only. When the rbacrolebinding was deleted. + /// Output only. The timestamp at the Rollout Sequence was deleted. [Newtonsoft.Json.JsonPropertyAttribute("deleteTime")] public virtual string DeleteTimeRaw { @@ -9662,33 +10817,32 @@ public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset set => DeleteTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); } - /// group is the group, as seen by the kubernetes cluster. - [Newtonsoft.Json.JsonPropertyAttribute("group")] - public virtual string Group { get; set; } + /// Optional. Human readable display name of the Rollout Sequence. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } - /// Optional. Labels for this RBACRolebinding. + /// Output only. etag of the Rollout Sequence Ex. abc1234 + [Newtonsoft.Json.JsonPropertyAttribute("etag")] + public virtual string ETag { get; set; } + + /// Optional. Labels for this Rollout Sequence. [Newtonsoft.Json.JsonPropertyAttribute("labels")] public virtual System.Collections.Generic.IDictionary Labels { get; set; } /// - /// The resource name for the rbacrolebinding - /// `projects/{project}/locations/{location}/scopes/{scope}/rbacrolebindings/{rbacrolebinding}` or - /// `projects/{project}/locations/{location}/memberships/{membership}/rbacrolebindings/{rbacrolebinding}` + /// Identifier. Name of the rollout sequence in the format of: + /// projects/{PROJECT_ID}/locations/global/rolloutSequences/{NAME} /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } - /// Required. Role to bind to the principal - [Newtonsoft.Json.JsonPropertyAttribute("role")] - public virtual Role Role { get; set; } - - /// Output only. State of the rbacrolebinding resource. - [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual RBACRoleBindingLifecycleState State { get; set; } + /// Required. Ordered list of stages that constitutes this Rollout. + [Newtonsoft.Json.JsonPropertyAttribute("stages")] + public virtual System.Collections.Generic.IList Stages { get; set; } /// - /// Output only. Google-generated UUID for this resource. This is unique across all rbacrolebinding resources. - /// If a rbacrolebinding resource is deleted and another resource with the same name is created, it gets a + /// Output only. Google-generated UUID for this resource. This is unique across all Rollout Sequence resources. + /// If a Rollout Sequence resource is deleted and another resource with the same name is created, it gets a /// different uid. /// [Newtonsoft.Json.JsonPropertyAttribute("uid")] @@ -9698,7 +10852,7 @@ public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset private object _updateTime; - /// Output only. When the rbacrolebinding was last updated. + /// Output only. The timestamp at which the Rollout Sequence was last updated. [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] public virtual string UpdateTimeRaw { @@ -9730,113 +10884,142 @@ public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UpdateTimeRaw); set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); } - - /// - /// user is the name of the user as seen by the kubernetes cluster, example "alice" or "alice@domain.tld" - /// - [Newtonsoft.Json.JsonPropertyAttribute("user")] - public virtual string User { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } } - /// **RBAC RoleBinding Actuation**: The Hub-wide input for the RBACRoleBindingActuation feature. - public class RBACRoleBindingActuationFeatureSpec : Google.Apis.Requests.IDirectResponseSchema + /// Stage represents a single stage in the Rollout. + public class RolloutStage : Google.Apis.Requests.IDirectResponseSchema { - /// - /// The list of allowed custom roles (ClusterRoles). If a ClusterRole is not part of this list, it cannot be - /// used in a Scope RBACRoleBinding. If a ClusterRole in this list is in use, it cannot be removed from the - /// list. - /// - [Newtonsoft.Json.JsonPropertyAttribute("allowedCustomRoles")] - public virtual System.Collections.Generic.IList AllowedCustomRoles { get; set; } + private string _endTimeRaw; - /// The ETag of the item. - public virtual string ETag { get; set; } - } + private object _endTime; - /// **RBAC RoleBinding Actuation**: An empty state left as an example Hub-wide Feature state. - public class RBACRoleBindingActuationFeatureState : Google.Apis.Requests.IDirectResponseSchema - { - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Optional. Output only. The time at which the wave ended. + [Newtonsoft.Json.JsonPropertyAttribute("endTime")] + public virtual string EndTimeRaw + { + get => _endTimeRaw; + set + { + _endTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _endTimeRaw = value; + } + } - /// RBACRoleBindingLifecycleState describes the state of a RbacRoleBinding resource. - public class RBACRoleBindingLifecycleState : Google.Apis.Requests.IDirectResponseSchema - { - /// Output only. The current state of the rbacrolebinding resource. - [Newtonsoft.Json.JsonPropertyAttribute("code")] - public virtual string Code { get; set; } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use EndTimeDateTimeOffset instead.")] + public virtual object EndTime + { + get => _endTime; + set + { + _endTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _endTime = value; + } + } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? EndTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(EndTimeRaw); + set => EndTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } - /// ResourceManifest represents a single Kubernetes resource to be applied to the cluster. - public class ResourceManifest : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// Output only. Whether the resource provided in the manifest is `cluster_scoped`. If unset, the manifest is - /// assumed to be namespace scoped. This field is used for REST mapping when applying the resource in a cluster. - /// - [Newtonsoft.Json.JsonPropertyAttribute("clusterScoped")] - public virtual System.Nullable ClusterScoped { get; set; } + /// Optional. Duration to soak after this wave before starting the next wave. + [Newtonsoft.Json.JsonPropertyAttribute("soakDuration")] + public virtual object SoakDuration { get; set; } - /// Output only. YAML manifest of the resource. - [Newtonsoft.Json.JsonPropertyAttribute("manifest")] - public virtual string Manifest { get; set; } + /// Output only. The wave number to which this status applies. + [Newtonsoft.Json.JsonPropertyAttribute("stageNumber")] + public virtual System.Nullable StageNumber { get; set; } + + private string _startTimeRaw; + + private object _startTime; + + /// Optional. Output only. The time at which the wave started. + [Newtonsoft.Json.JsonPropertyAttribute("startTime")] + public virtual string StartTimeRaw + { + get => _startTimeRaw; + set + { + _startTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _startTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use StartTimeDateTimeOffset instead.")] + public virtual object StartTime + { + get => _startTime; + set + { + _startTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _startTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? StartTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(StartTimeRaw); + set => StartTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// Output only. The state of the wave. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// ResourceOptions represent options for Kubernetes resource generation. - public class ResourceOptions : Google.Apis.Requests.IDirectResponseSchema + /// Metadata about the status of targets (clusters or node pools) involved in the Rollout. + public class RolloutTarget : Google.Apis.Requests.IDirectResponseSchema { /// - /// Optional. The Connect agent version to use for connect_resources. Defaults to the latest GKE Connect - /// version. The version must be a currently supported version, obsolete versions will be rejected. + /// Optional. Output only. The resource link of the Cluster resource upgraded in this Rollout. It is formatted + /// as: ///projects//locations//clusters/. I.e. for GKE clusters, it is formatted as: + /// //container.googleapis.com/projects//locations//clusters/. For GDCE, it is formatted as: + /// //edgecontainer.googleapis.com/projects//locations//clusters/. /// - [Newtonsoft.Json.JsonPropertyAttribute("connectVersion")] - public virtual string ConnectVersion { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("cluster")] + public virtual string Cluster { get; set; } /// - /// Optional. Git version of the Kubernetes cluster. This is only used to gate the Connect Agent migration to - /// svc.id.goog on GDC-SO 1.33.100 patch and above. + /// Optional. Output only. The resource link of the NodePool resource upgraded in this Rollout. It is formatted + /// as: ///projects//locations//clusters//nodePools/. /// - [Newtonsoft.Json.JsonPropertyAttribute("k8sGitVersion")] - public virtual string K8sGitVersion { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("nodePool")] + public virtual string NodePool { get; set; } - /// - /// Optional. Major and minor version of the Kubernetes cluster. This is only used to determine which version to - /// use for the CustomResourceDefinition resources, `apiextensions/v1beta1` or`apiextensions/v1`. - /// - [Newtonsoft.Json.JsonPropertyAttribute("k8sVersion")] - public virtual string K8sVersion { get; set; } + /// Optional. Output only. The operation resource name performing the mutation. + [Newtonsoft.Json.JsonPropertyAttribute("operation")] + public virtual string Operation { get; set; } - /// - /// Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for CustomResourceDefinition resources. - /// This option should be set for clusters with Kubernetes apiserver versions &lt;1.16. - /// - [Newtonsoft.Json.JsonPropertyAttribute("v1beta1Crd")] - public virtual System.Nullable V1beta1Crd { get; set; } + /// Optional. Output only. A human-readable description of the current status. + [Newtonsoft.Json.JsonPropertyAttribute("reason")] + public virtual string Reason { get; set; } + + /// Output only. The high-level, machine-readable status of this Rollout for the target. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } } - /// Role is the type for Kubernetes roles - public class Role : Google.Apis.Requests.IDirectResponseSchema + /// Schedule represents the schedule of the Rollout. + public class Schedule : Google.Apis.Requests.IDirectResponseSchema { - /// Optional. custom_role is the name of a custom KubernetesClusterRole to use. - [Newtonsoft.Json.JsonPropertyAttribute("customRole")] - public virtual string CustomRole { get; set; } - - /// predefined_role is the Kubernetes default role to use - [Newtonsoft.Json.JsonPropertyAttribute("predefinedRole")] - public virtual string PredefinedRole { get; set; } + /// Output only. The schedule of each wave in the Rollout. + [Newtonsoft.Json.JsonPropertyAttribute("waves")] + public virtual System.Collections.Generic.IList Waves { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } @@ -10170,6 +11353,30 @@ public class SetIamPolicyRequest : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// Rollout stage. + public class Stage : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Optional. Filter members of fleets (above) to a subset of clusters. If not specified, all clusters in the + /// fleets are selected. + /// + [Newtonsoft.Json.JsonPropertyAttribute("clusterSelector")] + public virtual ClusterSelector ClusterSelector { get; set; } + + /// + /// Required. List of Fleet projects to select the clusters from. Expected format: projects/{project} + /// + [Newtonsoft.Json.JsonPropertyAttribute("fleetProjects")] + public virtual System.Collections.Generic.IList FleetProjects { get; set; } + + /// Optional. Soak time after upgrading all the clusters in the stage. + [Newtonsoft.Json.JsonPropertyAttribute("soakDuration")] + public virtual object SoakDuration { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Status specifies state for the subcomponent. public class Status : Google.Apis.Requests.IDirectResponseSchema { @@ -10227,4 +11434,104 @@ public class TypeMeta : Google.Apis.Requests.IDirectResponseSchema /// The ETag of the item. public virtual string ETag { get; set; } } + + /// Config for version upgrade of clusters. + public class VersionUpgrade : Google.Apis.Requests.IDirectResponseSchema + { + /// Optional. Desired version of the component. + [Newtonsoft.Json.JsonPropertyAttribute("desiredVersion")] + public virtual string DesiredVersion { get; set; } + + /// Optional. Type of version upgrade specifies which component should be upgraded. + [Newtonsoft.Json.JsonPropertyAttribute("type")] + public virtual string Type { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// WaveSchedule represents the schedule of a single rollout wave. + public class WaveSchedule : Google.Apis.Requests.IDirectResponseSchema + { + private string _waveEndTimeRaw; + + private object _waveEndTime; + + /// Output only. The time at which the wave ends. + [Newtonsoft.Json.JsonPropertyAttribute("waveEndTime")] + public virtual string WaveEndTimeRaw + { + get => _waveEndTimeRaw; + set + { + _waveEndTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _waveEndTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use WaveEndTimeDateTimeOffset instead.")] + public virtual object WaveEndTime + { + get => _waveEndTime; + set + { + _waveEndTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _waveEndTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? WaveEndTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(WaveEndTimeRaw); + set => WaveEndTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// Output only. The wave number to which this schedule applies. + [Newtonsoft.Json.JsonPropertyAttribute("waveNumber")] + public virtual System.Nullable WaveNumber { get; set; } + + private string _waveStartTimeRaw; + + private object _waveStartTime; + + /// Output only. The time at which the wave starts. + [Newtonsoft.Json.JsonPropertyAttribute("waveStartTime")] + public virtual string WaveStartTimeRaw + { + get => _waveStartTimeRaw; + set + { + _waveStartTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _waveStartTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use WaveStartTimeDateTimeOffset instead.")] + public virtual object WaveStartTime + { + get => _waveStartTime; + set + { + _waveStartTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _waveStartTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? WaveStartTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(WaveStartTimeRaw); + set => WaveStartTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } } diff --git a/Src/Generated/Google.Apis.GKEHub.v1beta/Google.Apis.GKEHub.v1beta.csproj b/Src/Generated/Google.Apis.GKEHub.v1beta/Google.Apis.GKEHub.v1beta.csproj index daee9663819..2c0186867cb 100644 --- a/Src/Generated/Google.Apis.GKEHub.v1beta/Google.Apis.GKEHub.v1beta.csproj +++ b/Src/Generated/Google.Apis.GKEHub.v1beta/Google.Apis.GKEHub.v1beta.csproj @@ -3,7 +3,7 @@ Google.Apis.GKEHub.v1beta Client Library - 1.72.0.3951 + 1.72.0.3959 Google LLC Copyright 2025 Google LLC Google From 74b27db0bac9e5800452b451a2c4178a1b55196c Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:42:59 +0000 Subject: [PATCH 43/65] feat: Generate Google.Apis.IDS.v1 version 1.72.0.3947 --- DiscoveryJson/ids.v1.json | 4 ++-- Src/Generated/Google.Apis.IDS.v1/Google.Apis.IDS.v1.cs | 4 ++-- Src/Generated/Google.Apis.IDS.v1/Google.Apis.IDS.v1.csproj | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/DiscoveryJson/ids.v1.json b/DiscoveryJson/ids.v1.json index 56b6ba9cee4..b17330fe4ed 100644 --- a/DiscoveryJson/ids.v1.json +++ b/DiscoveryJson/ids.v1.json @@ -144,7 +144,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -498,7 +498,7 @@ } } }, - "revision": "20251020", + "revision": "20251022", "rootUrl": "https://ids.googleapis.com/", "schemas": { "CancelOperationRequest": { diff --git a/Src/Generated/Google.Apis.IDS.v1/Google.Apis.IDS.v1.cs b/Src/Generated/Google.Apis.IDS.v1/Google.Apis.IDS.v1.cs index 1f5ef7d27a7..31d2cc1ee0f 100644 --- a/Src/Generated/Google.Apis.IDS.v1/Google.Apis.IDS.v1.cs +++ b/Src/Generated/Google.Apis.IDS.v1/Google.Apis.IDS.v1.cs @@ -1080,8 +1080,8 @@ public ListRequest(Google.Apis.Services.IClientService service, string name) : b public virtual string Name { get; private set; } /// - /// Optional. Unless explicitly documented otherwise, don't use this unsupported field which is - /// primarily intended for internal usage. + /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented + /// otherwise. This is primarily for internal usage. /// [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } diff --git a/Src/Generated/Google.Apis.IDS.v1/Google.Apis.IDS.v1.csproj b/Src/Generated/Google.Apis.IDS.v1/Google.Apis.IDS.v1.csproj index be699a4bd51..f28636cd586 100644 --- a/Src/Generated/Google.Apis.IDS.v1/Google.Apis.IDS.v1.csproj +++ b/Src/Generated/Google.Apis.IDS.v1/Google.Apis.IDS.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.IDS.v1 Client Library - 1.72.0.3945 + 1.72.0.3947 Google LLC Copyright 2025 Google LLC Google From 75356ce327c9952abbab11dbc8af03f429f6e79d Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:43:01 +0000 Subject: [PATCH 44/65] feat: Generate Google.Apis.ManagedKafka.v1 version 1.72.0.3955 --- DiscoveryJson/managedkafka.v1.json | 207 +++++++++++++++++- .../Google.Apis.ManagedKafka.v1.csproj | 2 +- 2 files changed, 207 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/managedkafka.v1.json b/DiscoveryJson/managedkafka.v1.json index bb3101c5799..9af60e1a962 100644 --- a/DiscoveryJson/managedkafka.v1.json +++ b/DiscoveryJson/managedkafka.v1.json @@ -16,10 +16,215 @@ "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/managed-service-for-apache-kafka/docs", "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.africa-south1.rep.googleapis.com/", + "location": "africa-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.asia-east1.rep.googleapis.com/", + "location": "asia-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.asia-east2.rep.googleapis.com/", + "location": "asia-east2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.asia-northeast2.rep.googleapis.com/", + "location": "asia-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.asia-northeast3.rep.googleapis.com/", + "location": "asia-northeast3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.asia-south2.rep.googleapis.com/", + "location": "asia-south2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.asia-southeast1.rep.googleapis.com/", + "location": "asia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.asia-southeast2.rep.googleapis.com/", + "location": "asia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.australia-southeast1.rep.googleapis.com/", + "location": "australia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.australia-southeast2.rep.googleapis.com/", + "location": "australia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.europe-central2.rep.googleapis.com/", + "location": "europe-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.europe-north1.rep.googleapis.com/", + "location": "europe-north1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.europe-north2.rep.googleapis.com/", + "location": "europe-north2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.europe-southwest1.rep.googleapis.com/", + "location": "europe-southwest1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.europe-west1.rep.googleapis.com/", + "location": "europe-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.europe-west3.rep.googleapis.com/", + "location": "europe-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.europe-west4.rep.googleapis.com/", + "location": "europe-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.europe-west6.rep.googleapis.com/", + "location": "europe-west6" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.europe-west8.rep.googleapis.com/", + "location": "europe-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.europe-west9.rep.googleapis.com/", + "location": "europe-west9" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.europe-west10.rep.googleapis.com/", + "location": "europe-west10" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.europe-west12.rep.googleapis.com/", + "location": "europe-west12" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.me-west1.rep.googleapis.com/", + "location": "me-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.me-central1.rep.googleapis.com/", + "location": "me-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.me-central2.rep.googleapis.com/", + "location": "me-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.northamerica-northeast1.rep.googleapis.com/", + "location": "northamerica-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.northamerica-northeast2.rep.googleapis.com/", + "location": "northamerica-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.southamerica-east1.rep.googleapis.com/", + "location": "southamerica-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.southamerica-west1.rep.googleapis.com/", + "location": "southamerica-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.us-east4.rep.googleapis.com/", + "location": "us-east4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.us-east5.rep.googleapis.com/", + "location": "us-east5" + }, { "description": "Regional Endpoint", "endpointUrl": "https://managedkafka.us-east7.rep.googleapis.com/", "location": "us-east7" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.us-south1.rep.googleapis.com/", + "location": "us-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.us-west1.rep.googleapis.com/", + "location": "us-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.us-west2.rep.googleapis.com/", + "location": "us-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.us-west3.rep.googleapis.com/", + "location": "us-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://managedkafka.us-west4.rep.googleapis.com/", + "location": "us-west4" } ], "fullyEncodeReservedExpansion": true, @@ -2946,7 +3151,7 @@ } } }, - "revision": "20251023", + "revision": "20251030", "rootUrl": "https://managedkafka.googleapis.com/", "schemas": { "AccessConfig": { diff --git a/Src/Generated/Google.Apis.ManagedKafka.v1/Google.Apis.ManagedKafka.v1.csproj b/Src/Generated/Google.Apis.ManagedKafka.v1/Google.Apis.ManagedKafka.v1.csproj index 4d4eec3ad3d..028d853f42e 100644 --- a/Src/Generated/Google.Apis.ManagedKafka.v1/Google.Apis.ManagedKafka.v1.csproj +++ b/Src/Generated/Google.Apis.ManagedKafka.v1/Google.Apis.ManagedKafka.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.ManagedKafka.v1 Client Library - 1.72.0.3948 + 1.72.0.3955 Google LLC Copyright 2025 Google LLC Google From 2911de04482cb80c5b0a37a834e1cba6f9d05ed2 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:43:03 +0000 Subject: [PATCH 45/65] feat: Generate Google.Apis.Merchant.products_v1 version 1.72.0.3960 --- DiscoveryJson/merchantapi.products_v1.json | 31 +++++++++++++- .../Google.Apis.Merchant.products_v1.cs | 40 +++++++++++++++++++ .../Google.Apis.Merchant.products_v1.csproj | 2 +- 3 files changed, 71 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/merchantapi.products_v1.json b/DiscoveryJson/merchantapi.products_v1.json index 86b704cdba5..c7cfc86d9b5 100644 --- a/DiscoveryJson/merchantapi.products_v1.json +++ b/DiscoveryJson/merchantapi.products_v1.json @@ -281,7 +281,7 @@ } } }, - "revision": "20251007", + "revision": "20251104", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "AutomatedDiscounts": { @@ -1696,6 +1696,13 @@ }, "type": "array" }, + "shippingHandlingBusinessDays": { + "description": "The business days during which orders can be handled. If not provided, Monday to Friday business days will be assumed.", + "items": { + "$ref": "ShippingBusinessDaysConfig" + }, + "type": "array" + }, "shippingHeight": { "$ref": "ShippingDimension", "description": "Height of the item for shipping." @@ -1708,6 +1715,13 @@ "$ref": "ShippingDimension", "description": "Length of the item for shipping." }, + "shippingTransitBusinessDays": { + "description": "The business days during which orders are in transit. If not provided, Monday to Friday business days will be assumed.", + "items": { + "$ref": "ShippingBusinessDaysConfig" + }, + "type": "array" + }, "shippingWeight": { "$ref": "ShippingWeight", "description": "Weight of the item for shipping." @@ -2294,6 +2308,21 @@ }, "type": "object" }, + "ShippingBusinessDaysConfig": { + "description": "The business days during which orders are on their path to fulfillment. If not provided, Monday to Friday business days will be assumed.", + "id": "ShippingBusinessDaysConfig", + "properties": { + "businessDays": { + "description": "Effective days of the week considered for the delivery time calculation. May not be empty. The more business days included the faster the delivery. Can be set through individual days (e.g. `MTWRF`), or day ranges (e.g. `Mon-Fri`). For more information about accepted formats, see [Shipping handling business days](https://support.google.com/merchants/answer/16072859).", + "type": "string" + }, + "country": { + "description": "The [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the country to which an item will ship.", + "type": "string" + } + }, + "type": "object" + }, "ShippingDimension": { "description": "The ShippingDimension of the product.", "id": "ShippingDimension", diff --git a/Src/Generated/Google.Apis.Merchant.products_v1/Google.Apis.Merchant.products_v1.cs b/Src/Generated/Google.Apis.Merchant.products_v1/Google.Apis.Merchant.products_v1.cs index 3be8d49b646..1955bf75b1b 100644 --- a/Src/Generated/Google.Apis.Merchant.products_v1/Google.Apis.Merchant.products_v1.cs +++ b/Src/Generated/Google.Apis.Merchant.products_v1/Google.Apis.Merchant.products_v1.cs @@ -1949,6 +1949,13 @@ public virtual System.DateTimeOffset? ExpirationDateDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("shipping")] public virtual System.Collections.Generic.IList Shipping { get; set; } + /// + /// The business days during which orders can be handled. If not provided, Monday to Friday business days will + /// be assumed. + /// + [Newtonsoft.Json.JsonPropertyAttribute("shippingHandlingBusinessDays")] + public virtual System.Collections.Generic.IList ShippingHandlingBusinessDays { get; set; } + /// Height of the item for shipping. [Newtonsoft.Json.JsonPropertyAttribute("shippingHeight")] public virtual ShippingDimension ShippingHeight { get; set; } @@ -1961,6 +1968,13 @@ public virtual System.DateTimeOffset? ExpirationDateDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("shippingLength")] public virtual ShippingDimension ShippingLength { get; set; } + /// + /// The business days during which orders are in transit. If not provided, Monday to Friday business days will + /// be assumed. + /// + [Newtonsoft.Json.JsonPropertyAttribute("shippingTransitBusinessDays")] + public virtual System.Collections.Generic.IList ShippingTransitBusinessDays { get; set; } + /// Weight of the item for shipping. [Newtonsoft.Json.JsonPropertyAttribute("shippingWeight")] public virtual ShippingWeight ShippingWeight { get; set; } @@ -2667,6 +2681,32 @@ public class Shipping : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// + /// The business days during which orders are on their path to fulfillment. If not provided, Monday to Friday + /// business days will be assumed. + /// + public class ShippingBusinessDaysConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Effective days of the week considered for the delivery time calculation. May not be empty. The more business + /// days included the faster the delivery. Can be set through individual days (e.g. `MTWRF`), or day ranges + /// (e.g. `Mon-Fri`). For more information about accepted formats, see [Shipping handling business + /// days](https://support.google.com/merchants/answer/16072859). + /// + [Newtonsoft.Json.JsonPropertyAttribute("businessDays")] + public virtual string BusinessDays { get; set; } + + /// + /// The [CLDR territory code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) of the country + /// to which an item will ship. + /// + [Newtonsoft.Json.JsonPropertyAttribute("country")] + public virtual string Country { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// The ShippingDimension of the product. public class ShippingDimension : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.Merchant.products_v1/Google.Apis.Merchant.products_v1.csproj b/Src/Generated/Google.Apis.Merchant.products_v1/Google.Apis.Merchant.products_v1.csproj index 6dd73863575..d09d05ebcd6 100644 --- a/Src/Generated/Google.Apis.Merchant.products_v1/Google.Apis.Merchant.products_v1.csproj +++ b/Src/Generated/Google.Apis.Merchant.products_v1/Google.Apis.Merchant.products_v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Merchant.products_v1 Client Library - 1.72.0.3932 + 1.72.0.3960 Google LLC Copyright 2025 Google LLC Google From 4010defb5da7a525b29f81a63368502e7841516d Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:43:05 +0000 Subject: [PATCH 46/65] feat: Generate Google.Apis.MigrationCenterAPI.v1 version 1.72.0.3962 --- DiscoveryJson/migrationcenter.v1.json | 71 ++++++++++- .../Google.Apis.MigrationCenterAPI.v1.cs | 114 ++++++++++++++++++ .../Google.Apis.MigrationCenterAPI.v1.csproj | 2 +- 3 files changed, 185 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/migrationcenter.v1.json b/DiscoveryJson/migrationcenter.v1.json index ecf1960de29..532d1fe061c 100644 --- a/DiscoveryJson/migrationcenter.v1.json +++ b/DiscoveryJson/migrationcenter.v1.json @@ -1951,6 +1951,34 @@ "resources": { "reports": { "methods": { + "artifactLink": { + "description": "Gets the link to the generated artifact of a given type for a Report.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reportConfigs/{reportConfigsId}/reports/{reportsId}:artifactLink", + "httpMethod": "POST", + "id": "migrationcenter.projects.locations.reportConfigs.reports.artifactLink", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reportConfigs/[^/]+/reports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:artifactLink", + "request": { + "$ref": "GenerateReportArtifactLinkRequest" + }, + "response": { + "$ref": "ReportArtifactLink" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "create": { "description": "Creates a report.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reportConfigs/{reportConfigsId}/reports", @@ -2412,7 +2440,7 @@ } } }, - "revision": "20251023", + "revision": "20251106", "rootUrl": "https://migrationcenter.googleapis.com/", "schemas": { "AddAssetsToGroupRequest": { @@ -4003,6 +4031,29 @@ }, "type": "object" }, + "GenerateReportArtifactLinkRequest": { + "description": "A request to generate a link to an artifact for a Report.", + "id": "GenerateReportArtifactLinkRequest", + "properties": { + "artifactType": { + "description": "Required. Type of the artifact requested.", + "enum": [ + "ARTIFACT_TYPE_UNSPECIFIED", + "PRESENTATION", + "SPREADSHEET", + "CSV" + ], + "enumDescriptions": [ + "Unspecified (default value).", + "Google Slides presentation.", + "Google Sheets document.", + "Comma Separated Value Text File." + ], + "type": "string" + } + }, + "type": "object" + }, "GenericInsight": { "description": "A generic insight about an asset.", "id": "GenericInsight", @@ -6037,6 +6088,24 @@ }, "type": "object" }, + "ReportArtifactLink": { + "description": "Describes a link to a generated artifact of the report.", + "id": "ReportArtifactLink", + "properties": { + "uri": { + "description": "Output only. URI of the artifact.", + "readOnly": true, + "type": "string" + }, + "uriExpirationTime": { + "description": "Output only. Expiration time of the URI.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "ReportAssetFramesResponse": { "description": "A response to a call to `ReportAssetFrame`.", "id": "ReportAssetFramesResponse", diff --git a/Src/Generated/Google.Apis.MigrationCenterAPI.v1/Google.Apis.MigrationCenterAPI.v1.cs b/Src/Generated/Google.Apis.MigrationCenterAPI.v1/Google.Apis.MigrationCenterAPI.v1.cs index cda1b7128de..989166dd816 100644 --- a/Src/Generated/Google.Apis.MigrationCenterAPI.v1/Google.Apis.MigrationCenterAPI.v1.cs +++ b/Src/Generated/Google.Apis.MigrationCenterAPI.v1/Google.Apis.MigrationCenterAPI.v1.cs @@ -3726,6 +3726,59 @@ public ReportsResource(Google.Apis.Services.IClientService service) this.service = service; } + /// Gets the link to the generated artifact of a given type for a Report. + /// The body of the request. + /// Required. Name of the resource. + public virtual ArtifactLinkRequest ArtifactLink(Google.Apis.MigrationCenterAPI.v1.Data.GenerateReportArtifactLinkRequest body, string name) + { + return new ArtifactLinkRequest(this.service, body, name); + } + + /// Gets the link to the generated artifact of a given type for a Report. + public class ArtifactLinkRequest : MigrationCenterAPIBaseServiceRequest + { + /// Constructs a new ArtifactLink request. + public ArtifactLinkRequest(Google.Apis.Services.IClientService service, Google.Apis.MigrationCenterAPI.v1.Data.GenerateReportArtifactLinkRequest body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// Required. Name of the resource. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.MigrationCenterAPI.v1.Data.GenerateReportArtifactLinkRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "artifactLink"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}:artifactLink"; + + /// Initializes ArtifactLink parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/reportConfigs/[^/]+/reports/[^/]+$", + }); + } + } + /// Creates a report. /// The body of the request. /// Required. Value for parent. @@ -6988,6 +7041,17 @@ public class FstabEntryList : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// A request to generate a link to an artifact for a Report. + public class GenerateReportArtifactLinkRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. Type of the artifact requested. + [Newtonsoft.Json.JsonPropertyAttribute("artifactType")] + public virtual string ArtifactType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// A generic insight about an asset. public class GenericInsight : Google.Apis.Requests.IDirectResponseSchema { @@ -9239,6 +9303,56 @@ public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset public virtual string ETag { get; set; } } + /// Describes a link to a generated artifact of the report. + public class ReportArtifactLink : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. URI of the artifact. + [Newtonsoft.Json.JsonPropertyAttribute("uri")] + public virtual string Uri { get; set; } + + private string _uriExpirationTimeRaw; + + private object _uriExpirationTime; + + /// Output only. Expiration time of the URI. + [Newtonsoft.Json.JsonPropertyAttribute("uriExpirationTime")] + public virtual string UriExpirationTimeRaw + { + get => _uriExpirationTimeRaw; + set + { + _uriExpirationTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _uriExpirationTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UriExpirationTimeDateTimeOffset instead.")] + public virtual object UriExpirationTime + { + get => _uriExpirationTime; + set + { + _uriExpirationTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _uriExpirationTime = value; + } + } + + /// + /// representation of . + /// + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? UriExpirationTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UriExpirationTimeRaw); + set => UriExpirationTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// A response to a call to `ReportAssetFrame`. public class ReportAssetFramesResponse : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.MigrationCenterAPI.v1/Google.Apis.MigrationCenterAPI.v1.csproj b/Src/Generated/Google.Apis.MigrationCenterAPI.v1/Google.Apis.MigrationCenterAPI.v1.csproj index d85a689dd48..afd2597dc38 100644 --- a/Src/Generated/Google.Apis.MigrationCenterAPI.v1/Google.Apis.MigrationCenterAPI.v1.csproj +++ b/Src/Generated/Google.Apis.MigrationCenterAPI.v1/Google.Apis.MigrationCenterAPI.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.MigrationCenterAPI.v1 Client Library - 1.72.0.3948 + 1.72.0.3962 Google LLC Copyright 2025 Google LLC Google From 6cf3fdd51e6d24f13a152003794bd1bbd13bdca5 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:43:07 +0000 Subject: [PATCH 47/65] feat: Generate Google.Apis.MigrationCenterAPI.v1alpha1 version 1.72.0.3962 --- DiscoveryJson/migrationcenter.v1alpha1.json | 435 +++++++++- ...Google.Apis.MigrationCenterAPI.v1alpha1.cs | 767 ++++++++++++++++++ ...le.Apis.MigrationCenterAPI.v1alpha1.csproj | 2 +- 3 files changed, 1202 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/migrationcenter.v1alpha1.json b/DiscoveryJson/migrationcenter.v1alpha1.json index 9b68873e60a..94b8f33658d 100644 --- a/DiscoveryJson/migrationcenter.v1alpha1.json +++ b/DiscoveryJson/migrationcenter.v1alpha1.json @@ -2098,6 +2098,34 @@ "resources": { "reports": { "methods": { + "artifactLink": { + "description": "Gets the link to the generated artifact of a given type for a Report.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/reportConfigs/{reportConfigsId}/reports/{reportsId}:artifactLink", + "httpMethod": "POST", + "id": "migrationcenter.projects.locations.reportConfigs.reports.artifactLink", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reportConfigs/[^/]+/reports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}:artifactLink", + "request": { + "$ref": "GenerateReportArtifactLinkRequest" + }, + "response": { + "$ref": "ReportArtifactLink" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "create": { "description": "Creates a report.", "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/reportConfigs/{reportConfigsId}/reports", @@ -2166,6 +2194,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "export": { + "description": "Export a Report into a supported format.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/reportConfigs/{reportConfigsId}/reports/{reportsId}:export", + "httpMethod": "POST", + "id": "migrationcenter.projects.locations.reportConfigs.reports.export", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reportConfigs/[^/]+/reports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}:export", + "request": { + "$ref": "ExportReportRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "get": { "description": "Gets details of a single Report.", "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/reportConfigs/{reportConfigsId}/reports/{reportsId}", @@ -2271,6 +2327,169 @@ "https://www.googleapis.com/auth/cloud-platform" ] } + }, + "resources": { + "reportExportJobs": { + "methods": { + "create": { + "description": "Export a Report into a supported destination.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/reportConfigs/{reportConfigsId}/reports/{reportsId}/reportExportJobs", + "httpMethod": "POST", + "id": "migrationcenter.projects.locations.reportConfigs.reports.reportExportJobs.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource where this export job will be created.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reportConfigs/[^/]+/reports/[^/]+$", + "required": true, + "type": "string" + }, + "reportExportJobId": { + "description": "Required. The ID to use for the report export job.", + "location": "query", + "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" + } + }, + "path": "v1alpha1/{+parent}/reportExportJobs", + "request": { + "$ref": "ReportExportJob" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an report export job.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/reportConfigs/{reportConfigsId}/reports/{reportsId}/reportExportJobs/{reportExportJobsId}", + "httpMethod": "DELETE", + "id": "migrationcenter.projects.locations.reportConfigs.reports.reportExportJobs.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reportConfigs/[^/]+/reports/[^/]+/reportExportJobs/[^/]+$", + "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" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the details of a report export job.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/reportConfigs/{reportConfigsId}/reports/{reportsId}/reportExportJobs/{reportExportJobsId}", + "httpMethod": "GET", + "id": "migrationcenter.projects.locations.reportConfigs.reports.reportExportJobs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reportConfigs/[^/]+/reports/[^/]+/reportExportJobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}", + "response": { + "$ref": "ReportExportJob" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all the report export jobs for a given report.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/reportConfigs/{reportConfigsId}/reports/{reportsId}/reportExportJobs", + "httpMethod": "GET", + "id": "migrationcenter.projects.locations.reportConfigs.reports.reportExportJobs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. Requested page size. The server may return fewer items than requested. If unspecified, the server will pick an appropriate default value.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results that the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent report owning the export jobs.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reportConfigs/[^/]+/reports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+parent}/reportExportJobs", + "response": { + "$ref": "ListReportExportJobsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "run": { + "description": "Runs a report export job.", + "flatPath": "v1alpha1/projects/{projectsId}/locations/{locationsId}/reportConfigs/{reportConfigsId}/reports/{reportsId}/reportExportJobs/{reportExportJobsId}:run", + "httpMethod": "POST", + "id": "migrationcenter.projects.locations.reportConfigs.reports.reportExportJobs.run", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reportConfigs/[^/]+/reports/[^/]+/reportExportJobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha1/{+name}:run", + "request": { + "$ref": "RunReportExportJobRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } } } } @@ -2559,7 +2778,7 @@ } } }, - "revision": "20251023", + "revision": "20251106", "rootUrl": "https://migrationcenter.googleapis.com/", "schemas": { "AddAssetsToGroupRequest": { @@ -5144,6 +5363,26 @@ }, "type": "object" }, + "ExportReportRequest": { + "description": "Request to export a detailed pricing report.", + "id": "ExportReportRequest", + "properties": {}, + "type": "object" + }, + "ExportReportResponse": { + "description": "Response message for exporting report.", + "id": "ExportReportResponse", + "properties": { + "reportArtifactLinks": { + "description": "For large generated report, we may return multiple links", + "items": { + "$ref": "ReportArtifactLink" + }, + "type": "array" + } + }, + "type": "object" + }, "FileValidationReport": { "description": "A resource that aggregates the validation errors found in an import job file.", "id": "FileValidationReport", @@ -5318,6 +5557,29 @@ }, "type": "object" }, + "GenerateReportArtifactLinkRequest": { + "description": "A request to generate a link to an artifact for a Report.", + "id": "GenerateReportArtifactLinkRequest", + "properties": { + "artifactType": { + "description": "Required. Type of the artifact requested.", + "enum": [ + "ARTIFACT_TYPE_UNSPECIFIED", + "PRESENTATION", + "SPREADSHEET", + "CSV" + ], + "enumDescriptions": [ + "Unspecified (default value).", + "Google Slides presentation.", + "Google Sheets document.", + "Comma Separated Value Text File." + ], + "type": "string" + } + }, + "type": "object" + }, "GenericInsight": { "description": "A generic insight about an asset.", "id": "GenericInsight", @@ -6391,6 +6653,26 @@ }, "type": "object" }, + "ListReportExportJobsResponse": { + "description": "Response message for listing report export jobs.", + "id": "ListReportExportJobsResponse", + "properties": { + "nextPageToken": { + "description": "Output only. A token identifying a page of results the server should return.", + "readOnly": true, + "type": "string" + }, + "reportExportJobs": { + "description": "Output only. The list of report export jobs.", + "items": { + "$ref": "ReportExportJob" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, "ListReportsResponse": { "description": "Response message for listing Reports.", "id": "ListReportsResponse", @@ -7706,6 +7988,11 @@ "description": "Output only. Summary view of the Report.", "readOnly": true }, + "tcoDetails": { + "$ref": "ReportTotalCostOfOwnershipDetails", + "description": "Output only. Detailed data related to TCO reports.", + "readOnly": true + }, "type": { "description": "Report type.", "enum": [ @@ -7727,6 +8014,30 @@ }, "type": "object" }, + "ReportArtifactLink": { + "description": "Describes a link to a generated artifact of the report.", + "id": "ReportArtifactLink", + "properties": { + "displayName": { + "description": "Output only. Human friendly display name of the artifact.", + "readOnly": true, + "type": "string" + }, + "uri": { + "description": "Output only. URI of the artifact.", + "readOnly": true, + "type": "string" + }, + "uriExpirationTime": { + "deprecated": true, + "description": "Output only. Expiration time of the URI.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "ReportAssetFramesResponse": { "description": "A response to a call to `ReportAssetFrame`.", "id": "ReportAssetFramesResponse", @@ -7787,6 +8098,93 @@ }, "type": "object" }, + "ReportExportExecution": { + "description": "Execution status of report export operation.", + "id": "ReportExportExecution", + "properties": { + "endTime": { + "description": "Output only. Completion time of the export.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "executionId": { + "description": "Output only. Globally unique identifier of the execution.", + "readOnly": true, + "type": "string" + }, + "expireTime": { + "description": "Output only. Expiration time for the export and artifacts.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "progressPercentage": { + "description": "Output only. Represents the progress of the execution. It reaches 100 when the execution is successfully completed. When the execution finishes with a failure, the progress is set to 0.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "result": { + "$ref": "ReportExportExecutionResult", + "description": "Output only. Result of the export execution.", + "readOnly": true + }, + "startTime": { + "description": "Output only. Execution start timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ReportExportExecutionResult": { + "description": "Contains the result of the report export.", + "id": "ReportExportExecutionResult", + "properties": { + "error": { + "$ref": "Status", + "description": "Output only. Error encountered during export.", + "readOnly": true + }, + "outputFiles": { + "$ref": "OutputFileList", + "description": "Output only. List of output files.", + "readOnly": true + }, + "signedUris": { + "$ref": "SignedUris", + "description": "Output only. Signed URLs for downloading export artifacts.", + "readOnly": true + } + }, + "type": "object" + }, + "ReportExportJob": { + "description": "Report export job message.", + "id": "ReportExportJob", + "properties": { + "name": { + "description": "Output only. Identifier. Resource name.", + "readOnly": true, + "type": "string" + }, + "recentExecutions": { + "description": "Output only. Recent not expired executions of the export report job.", + "items": { + "$ref": "ReportExportExecution" + }, + "readOnly": true, + "type": "array" + }, + "signedUriDestination": { + "$ref": "SignedUriDestination", + "description": "Export with a SignedUri." + } + }, + "type": "object" + }, "ReportSummary": { "description": "Describes the Summary view of a Report, which contains aggregated values for all the groups and preference sets included in this Report.", "id": "ReportSummary", @@ -8331,6 +8729,18 @@ }, "type": "object" }, + "ReportTotalCostOfOwnershipDetails": { + "description": "Detailed data related to Total Cost of Ownership (TCO) pricing.", + "id": "ReportTotalCostOfOwnershipDetails", + "properties": { + "hasPricingData": { + "description": "Output only. Whether the report has detailed pricing data.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, "ResourceLocation": { "description": "Location of a resource.", "id": "ResourceLocation", @@ -8376,6 +8786,29 @@ }, "type": "object" }, + "RunReportExportJobRequest": { + "description": "A request to run a report export job.", + "id": "RunReportExportJobRequest", + "properties": { + "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).", + "type": "string" + } + }, + "type": "object" + }, + "RunReportExportJobResponse": { + "description": "Response message for running a report export job.", + "id": "RunReportExportJobResponse", + "properties": { + "reportExportExecution": { + "$ref": "ReportExportExecution", + "description": "Output only. Execution status of the export operation.", + "readOnly": true + } + }, + "type": "object" + }, "RunningProcess": { "description": "Guest OS running process details.", "id": "RunningProcess", diff --git a/Src/Generated/Google.Apis.MigrationCenterAPI.v1alpha1/Google.Apis.MigrationCenterAPI.v1alpha1.cs b/Src/Generated/Google.Apis.MigrationCenterAPI.v1alpha1/Google.Apis.MigrationCenterAPI.v1alpha1.cs index 42ae45cfc09..268c5b73f5d 100644 --- a/Src/Generated/Google.Apis.MigrationCenterAPI.v1alpha1/Google.Apis.MigrationCenterAPI.v1alpha1.cs +++ b/Src/Generated/Google.Apis.MigrationCenterAPI.v1alpha1/Google.Apis.MigrationCenterAPI.v1alpha1.cs @@ -4024,6 +4024,406 @@ public class ReportsResource public ReportsResource(Google.Apis.Services.IClientService service) { this.service = service; + ReportExportJobs = new ReportExportJobsResource(service); + } + + /// Gets the ReportExportJobs resource. + public virtual ReportExportJobsResource ReportExportJobs { get; } + + /// The "reportExportJobs" collection of methods. + public class ReportExportJobsResource + { + private const string Resource = "reportExportJobs"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public ReportExportJobsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Export a Report into a supported destination. + /// The body of the request. + /// + /// Required. The parent resource where this export job will be created. + /// + public virtual CreateRequest Create(Google.Apis.MigrationCenterAPI.v1alpha1.Data.ReportExportJob body, string parent) + { + return new CreateRequest(this.service, body, parent); + } + + /// Export a Report into a supported destination. + public class CreateRequest : MigrationCenterAPIBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.MigrationCenterAPI.v1alpha1.Data.ReportExportJob body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// Required. The parent resource where this export job will be created. + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// Required. The ID to use for the report export job. + [Google.Apis.Util.RequestParameterAttribute("reportExportJobId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string ReportExportJobId { get; set; } + + /// + /// 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). + /// + [Google.Apis.Util.RequestParameterAttribute("requestId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string RequestId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.MigrationCenterAPI.v1alpha1.Data.ReportExportJob Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1alpha1/{+parent}/reportExportJobs"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/reportConfigs/[^/]+/reports/[^/]+$", + }); + RequestParameters.Add("reportExportJobId", new Google.Apis.Discovery.Parameter + { + Name = "reportExportJobId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter + { + Name = "requestId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Deletes an report export job. + /// Required. Name of the resource. + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// Deletes an report export job. + public class DeleteRequest : MigrationCenterAPIBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// Required. Name of the resource. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// 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). + /// + [Google.Apis.Util.RequestParameterAttribute("requestId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string RequestId { get; set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v1alpha1/{+name}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/reportConfigs/[^/]+/reports/[^/]+/reportExportJobs/[^/]+$", + }); + RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter + { + Name = "requestId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Gets the details of a report export job. + /// Required. Name of the resource. + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Gets the details of a report export job. + public class GetRequest : MigrationCenterAPIBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// Required. Name of the resource. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1alpha1/{+name}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/reportConfigs/[^/]+/reports/[^/]+/reportExportJobs/[^/]+$", + }); + } + } + + /// Lists all the report export jobs for a given report. + /// Required. Parent report owning the export jobs. + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Lists all the report export jobs for a given report. + public class ListRequest : MigrationCenterAPIBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// Required. Parent report owning the export jobs. + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Optional. Requested page size. The server may return fewer items than requested. If + /// unspecified, the server will pick an appropriate default value. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// Optional. A token identifying a page of results that the server should return. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1alpha1/{+parent}/reportExportJobs"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/reportConfigs/[^/]+/reports/[^/]+$", + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Runs a report export job. + /// The body of the request. + /// Required. Name of the resource. + public virtual RunRequest Run(Google.Apis.MigrationCenterAPI.v1alpha1.Data.RunReportExportJobRequest body, string name) + { + return new RunRequest(this.service, body, name); + } + + /// Runs a report export job. + public class RunRequest : MigrationCenterAPIBaseServiceRequest + { + /// Constructs a new Run request. + public RunRequest(Google.Apis.Services.IClientService service, Google.Apis.MigrationCenterAPI.v1alpha1.Data.RunReportExportJobRequest body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// Required. Name of the resource. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.MigrationCenterAPI.v1alpha1.Data.RunReportExportJobRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "run"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1alpha1/{+name}:run"; + + /// Initializes Run parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/reportConfigs/[^/]+/reports/[^/]+/reportExportJobs/[^/]+$", + }); + } + } + } + + /// Gets the link to the generated artifact of a given type for a Report. + /// The body of the request. + /// Required. Name of the resource. + public virtual ArtifactLinkRequest ArtifactLink(Google.Apis.MigrationCenterAPI.v1alpha1.Data.GenerateReportArtifactLinkRequest body, string name) + { + return new ArtifactLinkRequest(this.service, body, name); + } + + /// Gets the link to the generated artifact of a given type for a Report. + public class ArtifactLinkRequest : MigrationCenterAPIBaseServiceRequest + { + /// Constructs a new ArtifactLink request. + public ArtifactLinkRequest(Google.Apis.Services.IClientService service, Google.Apis.MigrationCenterAPI.v1alpha1.Data.GenerateReportArtifactLinkRequest body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// Required. Name of the resource. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.MigrationCenterAPI.v1alpha1.Data.GenerateReportArtifactLinkRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "artifactLink"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1alpha1/{+name}:artifactLink"; + + /// Initializes ArtifactLink parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/reportConfigs/[^/]+/reports/[^/]+$", + }); + } } /// Creates a report. @@ -4185,6 +4585,59 @@ protected override void InitParameters() } } + /// Export a Report into a supported format. + /// The body of the request. + /// Required. Name of the resource. + public virtual ExportRequest Export(Google.Apis.MigrationCenterAPI.v1alpha1.Data.ExportReportRequest body, string name) + { + return new ExportRequest(this.service, body, name); + } + + /// Export a Report into a supported format. + public class ExportRequest : MigrationCenterAPIBaseServiceRequest + { + /// Constructs a new Export request. + public ExportRequest(Google.Apis.Services.IClientService service, Google.Apis.MigrationCenterAPI.v1alpha1.Data.ExportReportRequest body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// Required. Name of the resource. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.MigrationCenterAPI.v1alpha1.Data.ExportReportRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "export"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1alpha1/{+name}:export"; + + /// Initializes Export parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/reportConfigs/[^/]+/reports/[^/]+$", + }); + } + } + /// Gets details of a single Report. /// Required. Name of the resource. public virtual GetRequest Get(string name) @@ -8230,6 +8683,24 @@ public class ExecutionReport : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// Request to export a detailed pricing report. + public class ExportReportRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Response message for exporting report. + public class ExportReportResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// For large generated report, we may return multiple links + [Newtonsoft.Json.JsonPropertyAttribute("reportArtifactLinks")] + public virtual System.Collections.Generic.IList ReportArtifactLinks { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// A resource that aggregates the validation errors found in an import job file. public class FileValidationReport : Google.Apis.Requests.IDirectResponseSchema { @@ -8349,6 +8820,17 @@ public class GCSPayloadInfo : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// A request to generate a link to an artifact for a Report. + public class GenerateReportArtifactLinkRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. Type of the artifact requested. + [Newtonsoft.Json.JsonPropertyAttribute("artifactType")] + public virtual string ArtifactType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// A generic insight about an asset. public class GenericInsight : Google.Apis.Requests.IDirectResponseSchema { @@ -9486,6 +9968,21 @@ public class ListReportConfigsResponse : Google.Apis.Requests.IDirectResponseSch public virtual string ETag { get; set; } } + /// Response message for listing report export jobs. + public class ListReportExportJobsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. A token identifying a page of results the server should return. + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// Output only. The list of report export jobs. + [Newtonsoft.Json.JsonPropertyAttribute("reportExportJobs")] + public virtual System.Collections.Generic.IList ReportExportJobs { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Response message for listing Reports. public class ListReportsResponse : Google.Apis.Requests.IDirectResponseSchema { @@ -10871,6 +11368,10 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("summary")] public virtual ReportSummary Summary { get; set; } + /// Output only. Detailed data related to TCO reports. + [Newtonsoft.Json.JsonPropertyAttribute("tcoDetails")] + public virtual ReportTotalCostOfOwnershipDetails TcoDetails { get; set; } + /// Report type. [Newtonsoft.Json.JsonPropertyAttribute("type")] public virtual string Type { get; set; } @@ -10916,6 +11417,60 @@ public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset public virtual string ETag { get; set; } } + /// Describes a link to a generated artifact of the report. + public class ReportArtifactLink : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. Human friendly display name of the artifact. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Output only. URI of the artifact. + [Newtonsoft.Json.JsonPropertyAttribute("uri")] + public virtual string Uri { get; set; } + + private string _uriExpirationTimeRaw; + + private object _uriExpirationTime; + + /// Output only. Expiration time of the URI. + [Newtonsoft.Json.JsonPropertyAttribute("uriExpirationTime")] + public virtual string UriExpirationTimeRaw + { + get => _uriExpirationTimeRaw; + set + { + _uriExpirationTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _uriExpirationTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UriExpirationTimeDateTimeOffset instead.")] + public virtual object UriExpirationTime + { + get => _uriExpirationTime; + set + { + _uriExpirationTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _uriExpirationTime = value; + } + } + + /// + /// representation of . + /// + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? UriExpirationTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(UriExpirationTimeRaw); + set => UriExpirationTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// A response to a call to `ReportAssetFrame`. public class ReportAssetFramesResponse : Google.Apis.Requests.IDirectResponseSchema { @@ -11035,6 +11590,177 @@ public class ReportConfigGroupPreferenceSetAssignment : Google.Apis.Requests.IDi public virtual string ETag { get; set; } } + /// Execution status of report export operation. + public class ReportExportExecution : Google.Apis.Requests.IDirectResponseSchema + { + private string _endTimeRaw; + + private object _endTime; + + /// Output only. Completion time of the export. + [Newtonsoft.Json.JsonPropertyAttribute("endTime")] + public virtual string EndTimeRaw + { + get => _endTimeRaw; + set + { + _endTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _endTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use EndTimeDateTimeOffset instead.")] + public virtual object EndTime + { + get => _endTime; + set + { + _endTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _endTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? EndTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(EndTimeRaw); + set => EndTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// Output only. Globally unique identifier of the execution. + [Newtonsoft.Json.JsonPropertyAttribute("executionId")] + public virtual string ExecutionId { get; set; } + + private string _expireTimeRaw; + + private object _expireTime; + + /// Output only. Expiration time for the export and artifacts. + [Newtonsoft.Json.JsonPropertyAttribute("expireTime")] + public virtual string ExpireTimeRaw + { + get => _expireTimeRaw; + set + { + _expireTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _expireTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use ExpireTimeDateTimeOffset instead.")] + public virtual object ExpireTime + { + get => _expireTime; + set + { + _expireTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _expireTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? ExpireTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(ExpireTimeRaw); + set => ExpireTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// + /// Output only. Represents the progress of the execution. It reaches 100 when the execution is successfully + /// completed. When the execution finishes with a failure, the progress is set to 0. + /// + [Newtonsoft.Json.JsonPropertyAttribute("progressPercentage")] + public virtual System.Nullable ProgressPercentage { get; set; } + + /// Output only. Result of the export execution. + [Newtonsoft.Json.JsonPropertyAttribute("result")] + public virtual ReportExportExecutionResult Result { get; set; } + + private string _startTimeRaw; + + private object _startTime; + + /// Output only. Execution start timestamp. + [Newtonsoft.Json.JsonPropertyAttribute("startTime")] + public virtual string StartTimeRaw + { + get => _startTimeRaw; + set + { + _startTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _startTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use StartTimeDateTimeOffset instead.")] + public virtual object StartTime + { + get => _startTime; + set + { + _startTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _startTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? StartTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(StartTimeRaw); + set => StartTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Contains the result of the report export. + public class ReportExportExecutionResult : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. Error encountered during export. + [Newtonsoft.Json.JsonPropertyAttribute("error")] + public virtual Status Error { get; set; } + + /// Output only. List of output files. + [Newtonsoft.Json.JsonPropertyAttribute("outputFiles")] + public virtual OutputFileList OutputFiles { get; set; } + + /// Output only. Signed URLs for downloading export artifacts. + [Newtonsoft.Json.JsonPropertyAttribute("signedUris")] + public virtual SignedUris SignedUris { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Report export job message. + public class ReportExportJob : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. Identifier. Resource name. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. Recent not expired executions of the export report job. + [Newtonsoft.Json.JsonPropertyAttribute("recentExecutions")] + public virtual System.Collections.Generic.IList RecentExecutions { get; set; } + + /// Export with a SignedUri. + [Newtonsoft.Json.JsonPropertyAttribute("signedUriDestination")] + public virtual SignedUriDestination SignedUriDestination { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// /// Describes the Summary view of a Report, which contains aggregated values for all the groups and preference sets /// included in this Report. @@ -11510,6 +12236,17 @@ public class ReportSummaryVMWareNodeAllocation : Google.Apis.Requests.IDirectRes public virtual string ETag { get; set; } } + /// Detailed data related to Total Cost of Ownership (TCO) pricing. + public class ReportTotalCostOfOwnershipDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. Whether the report has detailed pricing data. + [Newtonsoft.Json.JsonPropertyAttribute("hasPricingData")] + public virtual System.Nullable HasPricingData { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Location of a resource. public class ResourceLocation : Google.Apis.Requests.IDirectResponseSchema { @@ -11570,6 +12307,36 @@ public class RunImportJobRequest : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// A request to run a report export job. + public class RunReportExportJobRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// 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). + /// + [Newtonsoft.Json.JsonPropertyAttribute("requestId")] + public virtual string RequestId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Response message for running a report export job. + public class RunReportExportJobResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. Execution status of the export operation. + [Newtonsoft.Json.JsonPropertyAttribute("reportExportExecution")] + public virtual ReportExportExecution ReportExportExecution { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Guest OS running process details. public class RunningProcess : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.MigrationCenterAPI.v1alpha1/Google.Apis.MigrationCenterAPI.v1alpha1.csproj b/Src/Generated/Google.Apis.MigrationCenterAPI.v1alpha1/Google.Apis.MigrationCenterAPI.v1alpha1.csproj index 27c36cec3d3..2160579400b 100644 --- a/Src/Generated/Google.Apis.MigrationCenterAPI.v1alpha1/Google.Apis.MigrationCenterAPI.v1alpha1.csproj +++ b/Src/Generated/Google.Apis.MigrationCenterAPI.v1alpha1/Google.Apis.MigrationCenterAPI.v1alpha1.csproj @@ -3,7 +3,7 @@ Google.Apis.MigrationCenterAPI.v1alpha1 Client Library - 1.72.0.3948 + 1.72.0.3962 Google LLC Copyright 2025 Google LLC Google From c28240e0854d10ded7e256ae760a6ba8bb0960f3 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:43:09 +0000 Subject: [PATCH 48/65] feat: Generate Google.Apis.NetworkServices.v1 version 1.72.0.3954 --- DiscoveryJson/networkservices.v1.json | 96 +++++----- .../Google.Apis.NetworkServices.v1.cs | 175 +++++++++--------- .../Google.Apis.NetworkServices.v1.csproj | 2 +- 3 files changed, 139 insertions(+), 134 deletions(-) diff --git a/DiscoveryJson/networkservices.v1.json b/DiscoveryJson/networkservices.v1.json index 1a3ee91318c..33f3a33319c 100644 --- a/DiscoveryJson/networkservices.v1.json +++ b/DiscoveryJson/networkservices.v1.json @@ -144,7 +144,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -655,7 +655,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource of the EndpointPolicy. Must be in the format `projects/*/locations/global`.", + "description": "Required. The parent resource of the EndpointPolicy. Must be in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -683,7 +683,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the EndpointPolicy to delete. Must be in the format `projects/*/locations/global/endpointPolicies/*`.", + "description": "Required. A name of the EndpointPolicy to delete. Must be in the format `projects/*/locations/*/endpointPolicies/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/endpointPolicies/[^/]+$", "required": true, @@ -708,7 +708,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the EndpointPolicy to get. Must be in the format `projects/*/locations/global/endpointPolicies/*`.", + "description": "Required. A name of the EndpointPolicy to get. Must be in the format `projects/*/locations/*/endpointPolicies/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/endpointPolicies/[^/]+$", "required": true, @@ -744,7 +744,7 @@ "type": "string" }, "parent": { - "description": "Required. The project and location from which the EndpointPolicies should be listed, specified in the format `projects/*/locations/global`.", + "description": "Required. The project and location from which the EndpointPolicies should be listed, specified in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -774,7 +774,7 @@ ], "parameters": { "name": { - "description": "Identifier. Name of the EndpointPolicy resource. It matches pattern `projects/{project}/locations/global/endpointPolicies/{endpoint_policy}`.", + "description": "Identifier. Name of the EndpointPolicy resource. It matches pattern `projects/{project}/locations/*/endpointPolicies/{endpoint_policy}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/endpointPolicies/[^/]+$", "required": true, @@ -1041,7 +1041,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource of the GrpcRoute. Must be in the format `projects/*/locations/global`.", + "description": "Required. The parent resource of the GrpcRoute. Must be in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -1069,7 +1069,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the GrpcRoute to delete. Must be in the format `projects/*/locations/global/grpcRoutes/*`.", + "description": "Required. A name of the GrpcRoute to delete. Must be in the format `projects/*/locations/*/grpcRoutes/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/grpcRoutes/[^/]+$", "required": true, @@ -1094,7 +1094,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the GrpcRoute to get. Must be in the format `projects/*/locations/global/grpcRoutes/*`.", + "description": "Required. A name of the GrpcRoute to get. Must be in the format `projects/*/locations/*/grpcRoutes/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/grpcRoutes/[^/]+$", "required": true, @@ -1130,7 +1130,7 @@ "type": "string" }, "parent": { - "description": "Required. The project and location from which the GrpcRoutes should be listed, specified in the format `projects/*/locations/global`.", + "description": "Required. The project and location from which the GrpcRoutes should be listed, specified in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -1160,7 +1160,7 @@ ], "parameters": { "name": { - "description": "Identifier. Name of the GrpcRoute resource. It matches pattern `projects/*/locations/global/grpcRoutes/`", + "description": "Identifier. Name of the GrpcRoute resource. It matches pattern `projects/*/locations/*/grpcRoutes/`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/grpcRoutes/[^/]+$", "required": true, @@ -1203,7 +1203,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource of the HttpRoute. Must be in the format `projects/*/locations/global`.", + "description": "Required. The parent resource of the HttpRoute. Must be in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -1231,7 +1231,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the HttpRoute to delete. Must be in the format `projects/*/locations/global/httpRoutes/*`.", + "description": "Required. A name of the HttpRoute to delete. Must be in the format `projects/*/locations/*/httpRoutes/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/httpRoutes/[^/]+$", "required": true, @@ -1256,7 +1256,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the HttpRoute to get. Must be in the format `projects/*/locations/global/httpRoutes/*`.", + "description": "Required. A name of the HttpRoute to get. Must be in the format `projects/*/locations/*/httpRoutes/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/httpRoutes/[^/]+$", "required": true, @@ -1292,7 +1292,7 @@ "type": "string" }, "parent": { - "description": "Required. The project and location from which the HttpRoutes should be listed, specified in the format `projects/*/locations/global`.", + "description": "Required. The project and location from which the HttpRoutes should be listed, specified in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -1322,7 +1322,7 @@ ], "parameters": { "name": { - "description": "Identifier. Name of the HttpRoute resource. It matches pattern `projects/*/locations/global/httpRoutes/http_route_name>`.", + "description": "Identifier. Name of the HttpRoute resource. It matches pattern `projects/*/locations/*/httpRoutes/http_route_name>`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/httpRoutes/[^/]+$", "required": true, @@ -1911,7 +1911,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource of the Mesh. Must be in the format `projects/*/locations/global`.", + "description": "Required. The parent resource of the Mesh. Must be in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -1939,7 +1939,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the Mesh to delete. Must be in the format `projects/*/locations/global/meshes/*`.", + "description": "Required. A name of the Mesh to delete. Must be in the format `projects/*/locations/*/meshes/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/meshes/[^/]+$", "required": true, @@ -1964,7 +1964,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the Mesh to get. Must be in the format `projects/*/locations/global/meshes/*`.", + "description": "Required. A name of the Mesh to get. Must be in the format `projects/*/locations/*/meshes/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/meshes/[^/]+$", "required": true, @@ -2000,7 +2000,7 @@ "type": "string" }, "parent": { - "description": "Required. The project and location from which the Meshes should be listed, specified in the format `projects/*/locations/global`.", + "description": "Required. The project and location from which the Meshes should be listed, specified in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -2030,7 +2030,7 @@ ], "parameters": { "name": { - "description": "Identifier. Name of the Mesh resource. It matches pattern `projects/*/locations/global/meshes/`.", + "description": "Identifier. Name of the Mesh resource. It matches pattern `projects/*/locations/*/meshes/`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/meshes/[^/]+$", "required": true, @@ -2577,7 +2577,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource of the TcpRoute. Must be in the format `projects/*/locations/global`.", + "description": "Required. The parent resource of the TcpRoute. Must be in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -2610,7 +2610,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the TcpRoute to delete. Must be in the format `projects/*/locations/global/tcpRoutes/*`.", + "description": "Required. A name of the TcpRoute to delete. Must be in the format `projects/*/locations/*/tcpRoutes/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/tcpRoutes/[^/]+$", "required": true, @@ -2635,7 +2635,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the TcpRoute to get. Must be in the format `projects/*/locations/global/tcpRoutes/*`.", + "description": "Required. A name of the TcpRoute to get. Must be in the format `projects/*/locations/*/tcpRoutes/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/tcpRoutes/[^/]+$", "required": true, @@ -2671,7 +2671,7 @@ "type": "string" }, "parent": { - "description": "Required. The project and location from which the TcpRoutes should be listed, specified in the format `projects/*/locations/global`.", + "description": "Required. The project and location from which the TcpRoutes should be listed, specified in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -2701,7 +2701,7 @@ ], "parameters": { "name": { - "description": "Identifier. Name of the TcpRoute resource. It matches pattern `projects/*/locations/global/tcpRoutes/tcp_route_name>`.", + "description": "Identifier. Name of the TcpRoute resource. It matches pattern `projects/*/locations/*/tcpRoutes/tcp_route_name>`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/tcpRoutes/[^/]+$", "required": true, @@ -2739,7 +2739,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource of the TlsRoute. Must be in the format `projects/*/locations/global`.", + "description": "Required. The parent resource of the TlsRoute. Must be in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -2772,7 +2772,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the TlsRoute to delete. Must be in the format `projects/*/locations/global/tlsRoutes/*`.", + "description": "Required. A name of the TlsRoute to delete. Must be in the format `projects/*/locations/*/tlsRoutes/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/tlsRoutes/[^/]+$", "required": true, @@ -2797,7 +2797,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the TlsRoute to get. Must be in the format `projects/*/locations/global/tlsRoutes/*`.", + "description": "Required. A name of the TlsRoute to get. Must be in the format `projects/*/locations/*/tlsRoutes/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/tlsRoutes/[^/]+$", "required": true, @@ -2833,7 +2833,7 @@ "type": "string" }, "parent": { - "description": "Required. The project and location from which the TlsRoutes should be listed, specified in the format `projects/*/locations/global`.", + "description": "Required. The project and location from which the TlsRoutes should be listed, specified in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -2863,7 +2863,7 @@ ], "parameters": { "name": { - "description": "Identifier. Name of the TlsRoute resource. It matches pattern `projects/*/locations/global/tlsRoutes/tls_route_name>`.", + "description": "Identifier. Name of the TlsRoute resource. It matches pattern `projects/*/locations/*/tlsRoutes/tls_route_name>`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/tlsRoutes/[^/]+$", "required": true, @@ -3191,7 +3191,7 @@ } } }, - "revision": "20251017", + "revision": "20251029", "rootUrl": "https://networkservices.googleapis.com/", "schemas": { "AuditConfig": { @@ -3456,7 +3456,7 @@ "type": "object" }, "name": { - "description": "Identifier. Name of the EndpointPolicy resource. It matches pattern `projects/{project}/locations/global/endpointPolicies/{endpoint_policy}`.", + "description": "Identifier. Name of the EndpointPolicy resource. It matches pattern `projects/{project}/locations/*/endpointPolicies/{endpoint_policy}`.", "type": "string" }, "serverTlsPolicy": { @@ -3566,6 +3566,10 @@ "description": "Optional. The name for this extension. The name is logged as part of the HTTP request logs. The name must conform with RFC-1034, is restricted to lower-cased letters, numbers and hyphens, and can have a maximum length of 63 characters. Additionally, the first character must be a letter and the last a letter or a number. This field is required except for AuthzExtension.", "type": "string" }, + "observabilityMode": { + "description": "Optional. When set to `TRUE`, enables `observability_mode` on the `ext_proc` filter. This makes `ext_proc` calls asynchronous. Envoy doesn't check for the response from `ext_proc` calls. For more information about the filter, see: https://www.envoyproxy.io/docs/envoy/v1.32.3/api-v3/extensions/filters/http/ext_proc/v3/ext_proc.proto#extensions-filters-http-ext-proc-v3-externalprocessor This field is helpful when you want to try out the extension in async log-only mode. Supported by regional `LbTrafficExtension` and `LbRouteExtension` resources. Only `STREAMED` (default) body processing mode is supported.", + "type": "boolean" + }, "requestBodySendMode": { "description": "Optional. Configures the send mode for request body processing. The field can only be set if `supported_events` includes `REQUEST_BODY`. If `supported_events` includes `REQUEST_BODY`, but `request_body_send_mode` is unset, the default value `STREAMED` is used. When this field is set to `FULL_DUPLEX_STREAMED`, `supported_events` must include both `REQUEST_BODY` and `REQUEST_TRAILERS`. This field can be set only for `LbTrafficExtension` and `LbRouteExtension` resources, and only when the `service` field of the extension points to a `BackendService`. Only `FULL_DUPLEX_STREAMED` mode is supported for `LbRouteExtension` resources.", "enum": [ @@ -3825,7 +3829,7 @@ "type": "string" }, "gateways": { - "description": "Optional. Gateways defines a list of gateways this GrpcRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: `projects/*/locations/global/gateways/`", + "description": "Optional. Gateways defines a list of gateways this GrpcRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: `projects/*/locations/*/gateways/`", "items": { "type": "string" }, @@ -3846,14 +3850,14 @@ "type": "object" }, "meshes": { - "description": "Optional. Meshes defines a list of meshes this GrpcRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: `projects/*/locations/global/meshes/`", + "description": "Optional. Meshes defines a list of meshes this GrpcRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: `projects/*/locations/*/meshes/`", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "Identifier. Name of the GrpcRoute resource. It matches pattern `projects/*/locations/global/grpcRoutes/`", + "description": "Identifier. Name of the GrpcRoute resource. It matches pattern `projects/*/locations/*/grpcRoutes/`", "type": "string" }, "rules": { @@ -4122,7 +4126,7 @@ "type": "string" }, "gateways": { - "description": "Optional. Gateways defines a list of gateways this HttpRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: `projects/*/locations/global/gateways/`", + "description": "Optional. Gateways defines a list of gateways this HttpRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: `projects/*/locations/*/gateways/`", "items": { "type": "string" }, @@ -4143,14 +4147,14 @@ "type": "object" }, "meshes": { - "description": "Optional. Meshes defines a list of meshes this HttpRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: `projects/*/locations/global/meshes/` The attached Mesh should be of a type SIDECAR", + "description": "Optional. Meshes defines a list of meshes this HttpRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: `projects/*/locations/*/meshes/` The attached Mesh should be of a type SIDECAR", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "Identifier. Name of the HttpRoute resource. It matches pattern `projects/*/locations/global/httpRoutes/http_route_name>`.", + "description": "Identifier. Name of the HttpRoute resource. It matches pattern `projects/*/locations/*/httpRoutes/http_route_name>`.", "type": "string" }, "rules": { @@ -5447,7 +5451,7 @@ "type": "object" }, "name": { - "description": "Identifier. Name of the Mesh resource. It matches pattern `projects/*/locations/global/meshes/`.", + "description": "Identifier. Name of the Mesh resource. It matches pattern `projects/*/locations/*/meshes/`.", "type": "string" }, "selfLink": { @@ -5840,7 +5844,7 @@ "type": "string" }, "gateways": { - "description": "Optional. Gateways defines a list of gateways this TcpRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: `projects/*/locations/global/gateways/`", + "description": "Optional. Gateways defines a list of gateways this TcpRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: `projects/*/locations/*/gateways/`", "items": { "type": "string" }, @@ -5854,14 +5858,14 @@ "type": "object" }, "meshes": { - "description": "Optional. Meshes defines a list of meshes this TcpRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: `projects/*/locations/global/meshes/` The attached Mesh should be of a type SIDECAR", + "description": "Optional. Meshes defines a list of meshes this TcpRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: `projects/*/locations/*/meshes/` The attached Mesh should be of a type SIDECAR", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "Identifier. Name of the TcpRoute resource. It matches pattern `projects/*/locations/global/tcpRoutes/tcp_route_name>`.", + "description": "Identifier. Name of the TcpRoute resource. It matches pattern `projects/*/locations/*/tcpRoutes/tcp_route_name>`.", "type": "string" }, "rules": { @@ -6000,7 +6004,7 @@ "type": "string" }, "gateways": { - "description": "Optional. Gateways defines a list of gateways this TlsRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: `projects/*/locations/global/gateways/`", + "description": "Optional. Gateways defines a list of gateways this TlsRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: `projects/*/locations/*/gateways/`", "items": { "type": "string" }, @@ -6014,14 +6018,14 @@ "type": "object" }, "meshes": { - "description": "Optional. Meshes defines a list of meshes this TlsRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: `projects/*/locations/global/meshes/` The attached Mesh should be of a type SIDECAR", + "description": "Optional. Meshes defines a list of meshes this TlsRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: `projects/*/locations/*/meshes/` The attached Mesh should be of a type SIDECAR", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "Identifier. Name of the TlsRoute resource. It matches pattern `projects/*/locations/global/tlsRoutes/tls_route_name>`.", + "description": "Identifier. Name of the TlsRoute resource. It matches pattern `projects/*/locations/*/tlsRoutes/tls_route_name>`.", "type": "string" }, "rules": { diff --git a/Src/Generated/Google.Apis.NetworkServices.v1/Google.Apis.NetworkServices.v1.cs b/Src/Generated/Google.Apis.NetworkServices.v1/Google.Apis.NetworkServices.v1.cs index 8c998990a1d..3be30cbfc17 100644 --- a/Src/Generated/Google.Apis.NetworkServices.v1/Google.Apis.NetworkServices.v1.cs +++ b/Src/Generated/Google.Apis.NetworkServices.v1/Google.Apis.NetworkServices.v1.cs @@ -1469,8 +1469,7 @@ public EndpointPoliciesResource(Google.Apis.Services.IClientService service) /// Creates a new EndpointPolicy in a given project and location. /// The body of the request. /// - /// Required. The parent resource of the EndpointPolicy. Must be in the format - /// `projects/*/locations/global`. + /// Required. The parent resource of the EndpointPolicy. Must be in the format `projects/*/locations/*`. /// public virtual CreateRequest Create(Google.Apis.NetworkServices.v1.Data.EndpointPolicy body, string parent) { @@ -1490,7 +1489,7 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Ne /// /// Required. The parent resource of the EndpointPolicy. Must be in the format - /// `projects/*/locations/global`. + /// `projects/*/locations/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -1542,7 +1541,7 @@ protected override void InitParameters() /// Deletes a single EndpointPolicy. /// /// Required. A name of the EndpointPolicy to delete. Must be in the format - /// `projects/*/locations/global/endpointPolicies/*`. + /// `projects/*/locations/*/endpointPolicies/*`. /// public virtual DeleteRequest Delete(string name) { @@ -1561,7 +1560,7 @@ public DeleteRequest(Google.Apis.Services.IClientService service, string name) : /// /// Required. A name of the EndpointPolicy to delete. Must be in the format - /// `projects/*/locations/global/endpointPolicies/*`. + /// `projects/*/locations/*/endpointPolicies/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -1593,7 +1592,7 @@ protected override void InitParameters() /// Gets details of a single EndpointPolicy. /// /// Required. A name of the EndpointPolicy to get. Must be in the format - /// `projects/*/locations/global/endpointPolicies/*`. + /// `projects/*/locations/*/endpointPolicies/*`. /// public virtual GetRequest Get(string name) { @@ -1612,7 +1611,7 @@ public GetRequest(Google.Apis.Services.IClientService service, string name) : ba /// /// Required. A name of the EndpointPolicy to get. Must be in the format - /// `projects/*/locations/global/endpointPolicies/*`. + /// `projects/*/locations/*/endpointPolicies/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -1644,7 +1643,7 @@ protected override void InitParameters() /// Lists EndpointPolicies in a given project and location. /// /// Required. The project and location from which the EndpointPolicies should be listed, specified in - /// the format `projects/*/locations/global`. + /// the format `projects/*/locations/*`. /// public virtual ListRequest List(string parent) { @@ -1663,7 +1662,7 @@ public ListRequest(Google.Apis.Services.IClientService service, string parent) : /// /// Required. The project and location from which the EndpointPolicies should be listed, specified - /// in the format `projects/*/locations/global`. + /// in the format `projects/*/locations/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -1739,7 +1738,7 @@ protected override void InitParameters() /// The body of the request. /// /// Identifier. Name of the EndpointPolicy resource. It matches pattern - /// `projects/{project}/locations/global/endpointPolicies/{endpoint_policy}`. + /// `projects/{project}/locations/*/endpointPolicies/{endpoint_policy}`. /// public virtual PatchRequest Patch(Google.Apis.NetworkServices.v1.Data.EndpointPolicy body, string name) { @@ -1759,7 +1758,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Net /// /// Identifier. Name of the EndpointPolicy resource. It matches pattern - /// `projects/{project}/locations/global/endpointPolicies/{endpoint_policy}`. + /// `projects/{project}/locations/*/endpointPolicies/{endpoint_policy}`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -2321,7 +2320,7 @@ public GrpcRoutesResource(Google.Apis.Services.IClientService service) /// Creates a new GrpcRoute in a given project and location. /// The body of the request. /// - /// Required. The parent resource of the GrpcRoute. Must be in the format `projects/*/locations/global`. + /// Required. The parent resource of the GrpcRoute. Must be in the format `projects/*/locations/*`. /// public virtual CreateRequest Create(Google.Apis.NetworkServices.v1.Data.GrpcRoute body, string parent) { @@ -2340,8 +2339,7 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Ne } /// - /// Required. The parent resource of the GrpcRoute. Must be in the format - /// `projects/*/locations/global`. + /// Required. The parent resource of the GrpcRoute. Must be in the format `projects/*/locations/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -2391,7 +2389,7 @@ protected override void InitParameters() /// Deletes a single GrpcRoute. /// /// Required. A name of the GrpcRoute to delete. Must be in the format - /// `projects/*/locations/global/grpcRoutes/*`. + /// `projects/*/locations/*/grpcRoutes/*`. /// public virtual DeleteRequest Delete(string name) { @@ -2410,7 +2408,7 @@ public DeleteRequest(Google.Apis.Services.IClientService service, string name) : /// /// Required. A name of the GrpcRoute to delete. Must be in the format - /// `projects/*/locations/global/grpcRoutes/*`. + /// `projects/*/locations/*/grpcRoutes/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -2442,7 +2440,7 @@ protected override void InitParameters() /// Gets details of a single GrpcRoute. /// /// Required. A name of the GrpcRoute to get. Must be in the format - /// `projects/*/locations/global/grpcRoutes/*`. + /// `projects/*/locations/*/grpcRoutes/*`. /// public virtual GetRequest Get(string name) { @@ -2461,7 +2459,7 @@ public GetRequest(Google.Apis.Services.IClientService service, string name) : ba /// /// Required. A name of the GrpcRoute to get. Must be in the format - /// `projects/*/locations/global/grpcRoutes/*`. + /// `projects/*/locations/*/grpcRoutes/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -2493,7 +2491,7 @@ protected override void InitParameters() /// Lists GrpcRoutes in a given project and location. /// /// Required. The project and location from which the GrpcRoutes should be listed, specified in the - /// format `projects/*/locations/global`. + /// format `projects/*/locations/*`. /// public virtual ListRequest List(string parent) { @@ -2512,7 +2510,7 @@ public ListRequest(Google.Apis.Services.IClientService service, string parent) : /// /// Required. The project and location from which the GrpcRoutes should be listed, specified in the - /// format `projects/*/locations/global`. + /// format `projects/*/locations/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -2586,8 +2584,7 @@ protected override void InitParameters() /// Updates the parameters of a single GrpcRoute. /// The body of the request. /// - /// Identifier. Name of the GrpcRoute resource. It matches pattern - /// `projects/*/locations/global/grpcRoutes/` + /// Identifier. Name of the GrpcRoute resource. It matches pattern `projects/*/locations/*/grpcRoutes/` /// public virtual PatchRequest Patch(Google.Apis.NetworkServices.v1.Data.GrpcRoute body, string name) { @@ -2607,7 +2604,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Net /// /// Identifier. Name of the GrpcRoute resource. It matches pattern - /// `projects/*/locations/global/grpcRoutes/` + /// `projects/*/locations/*/grpcRoutes/` /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -2680,7 +2677,7 @@ public HttpRoutesResource(Google.Apis.Services.IClientService service) /// Creates a new HttpRoute in a given project and location. /// The body of the request. /// - /// Required. The parent resource of the HttpRoute. Must be in the format `projects/*/locations/global`. + /// Required. The parent resource of the HttpRoute. Must be in the format `projects/*/locations/*`. /// public virtual CreateRequest Create(Google.Apis.NetworkServices.v1.Data.HttpRoute body, string parent) { @@ -2699,8 +2696,7 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Ne } /// - /// Required. The parent resource of the HttpRoute. Must be in the format - /// `projects/*/locations/global`. + /// Required. The parent resource of the HttpRoute. Must be in the format `projects/*/locations/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -2750,7 +2746,7 @@ protected override void InitParameters() /// Deletes a single HttpRoute. /// /// Required. A name of the HttpRoute to delete. Must be in the format - /// `projects/*/locations/global/httpRoutes/*`. + /// `projects/*/locations/*/httpRoutes/*`. /// public virtual DeleteRequest Delete(string name) { @@ -2769,7 +2765,7 @@ public DeleteRequest(Google.Apis.Services.IClientService service, string name) : /// /// Required. A name of the HttpRoute to delete. Must be in the format - /// `projects/*/locations/global/httpRoutes/*`. + /// `projects/*/locations/*/httpRoutes/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -2801,7 +2797,7 @@ protected override void InitParameters() /// Gets details of a single HttpRoute. /// /// Required. A name of the HttpRoute to get. Must be in the format - /// `projects/*/locations/global/httpRoutes/*`. + /// `projects/*/locations/*/httpRoutes/*`. /// public virtual GetRequest Get(string name) { @@ -2820,7 +2816,7 @@ public GetRequest(Google.Apis.Services.IClientService service, string name) : ba /// /// Required. A name of the HttpRoute to get. Must be in the format - /// `projects/*/locations/global/httpRoutes/*`. + /// `projects/*/locations/*/httpRoutes/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -2852,7 +2848,7 @@ protected override void InitParameters() /// Lists HttpRoute in a given project and location. /// /// Required. The project and location from which the HttpRoutes should be listed, specified in the - /// format `projects/*/locations/global`. + /// format `projects/*/locations/*`. /// public virtual ListRequest List(string parent) { @@ -2871,7 +2867,7 @@ public ListRequest(Google.Apis.Services.IClientService service, string parent) : /// /// Required. The project and location from which the HttpRoutes should be listed, specified in the - /// format `projects/*/locations/global`. + /// format `projects/*/locations/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -2946,7 +2942,7 @@ protected override void InitParameters() /// The body of the request. /// /// Identifier. Name of the HttpRoute resource. It matches pattern - /// `projects/*/locations/global/httpRoutes/http_route_name&gt;`. + /// `projects/*/locations/*/httpRoutes/http_route_name&gt;`. /// public virtual PatchRequest Patch(Google.Apis.NetworkServices.v1.Data.HttpRoute body, string name) { @@ -2966,7 +2962,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Net /// /// Identifier. Name of the HttpRoute resource. It matches pattern - /// `projects/*/locations/global/httpRoutes/http_route_name&gt;`. + /// `projects/*/locations/*/httpRoutes/http_route_name&gt;`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -4477,7 +4473,7 @@ protected override void InitParameters() /// Creates a new Mesh in a given project and location. /// The body of the request. /// - /// Required. The parent resource of the Mesh. Must be in the format `projects/*/locations/global`. + /// Required. The parent resource of the Mesh. Must be in the format `projects/*/locations/*`. /// public virtual CreateRequest Create(Google.Apis.NetworkServices.v1.Data.Mesh body, string parent) { @@ -4496,7 +4492,7 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Ne } /// - /// Required. The parent resource of the Mesh. Must be in the format `projects/*/locations/global`. + /// Required. The parent resource of the Mesh. Must be in the format `projects/*/locations/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -4545,8 +4541,7 @@ protected override void InitParameters() /// Deletes a single Mesh. /// - /// Required. A name of the Mesh to delete. Must be in the format - /// `projects/*/locations/global/meshes/*`. + /// Required. A name of the Mesh to delete. Must be in the format `projects/*/locations/*/meshes/*`. /// public virtual DeleteRequest Delete(string name) { @@ -4564,8 +4559,7 @@ public DeleteRequest(Google.Apis.Services.IClientService service, string name) : } /// - /// Required. A name of the Mesh to delete. Must be in the format - /// `projects/*/locations/global/meshes/*`. + /// Required. A name of the Mesh to delete. Must be in the format `projects/*/locations/*/meshes/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -4596,7 +4590,7 @@ protected override void InitParameters() /// Gets details of a single Mesh. /// - /// Required. A name of the Mesh to get. Must be in the format `projects/*/locations/global/meshes/*`. + /// Required. A name of the Mesh to get. Must be in the format `projects/*/locations/*/meshes/*`. /// public virtual GetRequest Get(string name) { @@ -4614,8 +4608,7 @@ public GetRequest(Google.Apis.Services.IClientService service, string name) : ba } /// - /// Required. A name of the Mesh to get. Must be in the format - /// `projects/*/locations/global/meshes/*`. + /// Required. A name of the Mesh to get. Must be in the format `projects/*/locations/*/meshes/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -4647,7 +4640,7 @@ protected override void InitParameters() /// Lists Meshes in a given project and location. /// /// Required. The project and location from which the Meshes should be listed, specified in the format - /// `projects/*/locations/global`. + /// `projects/*/locations/*`. /// public virtual ListRequest List(string parent) { @@ -4666,7 +4659,7 @@ public ListRequest(Google.Apis.Services.IClientService service, string parent) : /// /// Required. The project and location from which the Meshes should be listed, specified in the - /// format `projects/*/locations/global`. + /// format `projects/*/locations/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -4740,7 +4733,7 @@ protected override void InitParameters() /// Updates the parameters of a single Mesh. /// The body of the request. /// - /// Identifier. Name of the Mesh resource. It matches pattern `projects/*/locations/global/meshes/`. + /// Identifier. Name of the Mesh resource. It matches pattern `projects/*/locations/*/meshes/`. /// public virtual PatchRequest Patch(Google.Apis.NetworkServices.v1.Data.Mesh body, string name) { @@ -4759,7 +4752,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Net } /// - /// Identifier. Name of the Mesh resource. It matches pattern `projects/*/locations/global/meshes/`. + /// Identifier. Name of the Mesh resource. It matches pattern `projects/*/locations/*/meshes/`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -5822,7 +5815,7 @@ public TcpRoutesResource(Google.Apis.Services.IClientService service) /// Creates a new TcpRoute in a given project and location. /// The body of the request. /// - /// Required. The parent resource of the TcpRoute. Must be in the format `projects/*/locations/global`. + /// Required. The parent resource of the TcpRoute. Must be in the format `projects/*/locations/*`. /// public virtual CreateRequest Create(Google.Apis.NetworkServices.v1.Data.TcpRoute body, string parent) { @@ -5841,8 +5834,7 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Ne } /// - /// Required. The parent resource of the TcpRoute. Must be in the format - /// `projects/*/locations/global`. + /// Required. The parent resource of the TcpRoute. Must be in the format `projects/*/locations/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -5892,7 +5884,7 @@ protected override void InitParameters() /// Deletes a single TcpRoute. /// /// Required. A name of the TcpRoute to delete. Must be in the format - /// `projects/*/locations/global/tcpRoutes/*`. + /// `projects/*/locations/*/tcpRoutes/*`. /// public virtual DeleteRequest Delete(string name) { @@ -5911,7 +5903,7 @@ public DeleteRequest(Google.Apis.Services.IClientService service, string name) : /// /// Required. A name of the TcpRoute to delete. Must be in the format - /// `projects/*/locations/global/tcpRoutes/*`. + /// `projects/*/locations/*/tcpRoutes/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -5942,8 +5934,7 @@ protected override void InitParameters() /// Gets details of a single TcpRoute. /// - /// Required. A name of the TcpRoute to get. Must be in the format - /// `projects/*/locations/global/tcpRoutes/*`. + /// Required. A name of the TcpRoute to get. Must be in the format `projects/*/locations/*/tcpRoutes/*`. /// public virtual GetRequest Get(string name) { @@ -5962,7 +5953,7 @@ public GetRequest(Google.Apis.Services.IClientService service, string name) : ba /// /// Required. A name of the TcpRoute to get. Must be in the format - /// `projects/*/locations/global/tcpRoutes/*`. + /// `projects/*/locations/*/tcpRoutes/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -5994,7 +5985,7 @@ protected override void InitParameters() /// Lists TcpRoute in a given project and location. /// /// Required. The project and location from which the TcpRoutes should be listed, specified in the - /// format `projects/*/locations/global`. + /// format `projects/*/locations/*`. /// public virtual ListRequest List(string parent) { @@ -6013,7 +6004,7 @@ public ListRequest(Google.Apis.Services.IClientService service, string parent) : /// /// Required. The project and location from which the TcpRoutes should be listed, specified in the - /// format `projects/*/locations/global`. + /// format `projects/*/locations/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -6088,7 +6079,7 @@ protected override void InitParameters() /// The body of the request. /// /// Identifier. Name of the TcpRoute resource. It matches pattern - /// `projects/*/locations/global/tcpRoutes/tcp_route_name&gt;`. + /// `projects/*/locations/*/tcpRoutes/tcp_route_name&gt;`. /// public virtual PatchRequest Patch(Google.Apis.NetworkServices.v1.Data.TcpRoute body, string name) { @@ -6108,7 +6099,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Net /// /// Identifier. Name of the TcpRoute resource. It matches pattern - /// `projects/*/locations/global/tcpRoutes/tcp_route_name&gt;`. + /// `projects/*/locations/*/tcpRoutes/tcp_route_name&gt;`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -6181,7 +6172,7 @@ public TlsRoutesResource(Google.Apis.Services.IClientService service) /// Creates a new TlsRoute in a given project and location. /// The body of the request. /// - /// Required. The parent resource of the TlsRoute. Must be in the format `projects/*/locations/global`. + /// Required. The parent resource of the TlsRoute. Must be in the format `projects/*/locations/*`. /// public virtual CreateRequest Create(Google.Apis.NetworkServices.v1.Data.TlsRoute body, string parent) { @@ -6200,8 +6191,7 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Ne } /// - /// Required. The parent resource of the TlsRoute. Must be in the format - /// `projects/*/locations/global`. + /// Required. The parent resource of the TlsRoute. Must be in the format `projects/*/locations/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -6251,7 +6241,7 @@ protected override void InitParameters() /// Deletes a single TlsRoute. /// /// Required. A name of the TlsRoute to delete. Must be in the format - /// `projects/*/locations/global/tlsRoutes/*`. + /// `projects/*/locations/*/tlsRoutes/*`. /// public virtual DeleteRequest Delete(string name) { @@ -6270,7 +6260,7 @@ public DeleteRequest(Google.Apis.Services.IClientService service, string name) : /// /// Required. A name of the TlsRoute to delete. Must be in the format - /// `projects/*/locations/global/tlsRoutes/*`. + /// `projects/*/locations/*/tlsRoutes/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -6301,8 +6291,7 @@ protected override void InitParameters() /// Gets details of a single TlsRoute. /// - /// Required. A name of the TlsRoute to get. Must be in the format - /// `projects/*/locations/global/tlsRoutes/*`. + /// Required. A name of the TlsRoute to get. Must be in the format `projects/*/locations/*/tlsRoutes/*`. /// public virtual GetRequest Get(string name) { @@ -6321,7 +6310,7 @@ public GetRequest(Google.Apis.Services.IClientService service, string name) : ba /// /// Required. A name of the TlsRoute to get. Must be in the format - /// `projects/*/locations/global/tlsRoutes/*`. + /// `projects/*/locations/*/tlsRoutes/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -6353,7 +6342,7 @@ protected override void InitParameters() /// Lists TlsRoute in a given project and location. /// /// Required. The project and location from which the TlsRoutes should be listed, specified in the - /// format `projects/*/locations/global`. + /// format `projects/*/locations/*`. /// public virtual ListRequest List(string parent) { @@ -6372,7 +6361,7 @@ public ListRequest(Google.Apis.Services.IClientService service, string parent) : /// /// Required. The project and location from which the TlsRoutes should be listed, specified in the - /// format `projects/*/locations/global`. + /// format `projects/*/locations/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -6447,7 +6436,7 @@ protected override void InitParameters() /// The body of the request. /// /// Identifier. Name of the TlsRoute resource. It matches pattern - /// `projects/*/locations/global/tlsRoutes/tls_route_name&gt;`. + /// `projects/*/locations/*/tlsRoutes/tls_route_name&gt;`. /// public virtual PatchRequest Patch(Google.Apis.NetworkServices.v1.Data.TlsRoute body, string name) { @@ -6467,7 +6456,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Net /// /// Identifier. Name of the TlsRoute resource. It matches pattern - /// `projects/*/locations/global/tlsRoutes/tls_route_name&gt;`. + /// `projects/*/locations/*/tlsRoutes/tls_route_name&gt;`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -7256,8 +7245,8 @@ public ListRequest(Google.Apis.Services.IClientService service, string name) : b public virtual string Name { get; private set; } /// - /// Optional. Unless explicitly documented otherwise, don't use this unsupported field which is - /// primarily intended for internal usage. + /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented + /// otherwise. This is primarily for internal usage. /// [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } @@ -7788,7 +7777,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Identifier. Name of the EndpointPolicy resource. It matches pattern - /// `projects/{project}/locations/global/endpointPolicies/{endpoint_policy}`. + /// `projects/{project}/locations/*/endpointPolicies/{endpoint_policy}`. /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -7985,6 +7974,18 @@ public class ExtensionChainExtension : Google.Apis.Requests.IDirectResponseSchem [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } + /// + /// Optional. When set to `TRUE`, enables `observability_mode` on the `ext_proc` filter. This makes `ext_proc` + /// calls asynchronous. Envoy doesn't check for the response from `ext_proc` calls. For more information about + /// the filter, see: + /// https://www.envoyproxy.io/docs/envoy/v1.32.3/api-v3/extensions/filters/http/ext_proc/v3/ext_proc.proto#extensions-filters-http-ext-proc-v3-externalprocessor + /// This field is helpful when you want to try out the extension in async log-only mode. Supported by regional + /// `LbTrafficExtension` and `LbRouteExtension` resources. Only `STREAMED` (default) body processing mode is + /// supported. + /// + [Newtonsoft.Json.JsonPropertyAttribute("observabilityMode")] + public virtual System.Nullable ObservabilityMode { get; set; } + /// /// Optional. Configures the send mode for request body processing. The field can only be set if /// `supported_events` includes `REQUEST_BODY`. If `supported_events` includes `REQUEST_BODY`, but @@ -8335,7 +8336,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Optional. Gateways defines a list of gateways this GrpcRoute is attached to, as one of the routing rules to /// route the requests served by the gateway. Each gateway reference should match the pattern: - /// `projects/*/locations/global/gateways/` + /// `projects/*/locations/*/gateways/` /// [Newtonsoft.Json.JsonPropertyAttribute("gateways")] public virtual System.Collections.Generic.IList Gateways { get; set; } @@ -8366,13 +8367,13 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Optional. Meshes defines a list of meshes this GrpcRoute is attached to, as one of the routing rules to /// route the requests served by the mesh. Each mesh reference should match the pattern: - /// `projects/*/locations/global/meshes/` + /// `projects/*/locations/*/meshes/` /// [Newtonsoft.Json.JsonPropertyAttribute("meshes")] public virtual System.Collections.Generic.IList Meshes { get; set; } /// - /// Identifier. Name of the GrpcRoute resource. It matches pattern `projects/*/locations/global/grpcRoutes/` + /// Identifier. Name of the GrpcRoute resource. It matches pattern `projects/*/locations/*/grpcRoutes/` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -8749,7 +8750,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Optional. Gateways defines a list of gateways this HttpRoute is attached to, as one of the routing rules to /// route the requests served by the gateway. Each gateway reference should match the pattern: - /// `projects/*/locations/global/gateways/` + /// `projects/*/locations/*/gateways/` /// [Newtonsoft.Json.JsonPropertyAttribute("gateways")] public virtual System.Collections.Generic.IList Gateways { get; set; } @@ -8778,14 +8779,14 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Optional. Meshes defines a list of meshes this HttpRoute is attached to, as one of the routing rules to /// route the requests served by the mesh. Each mesh reference should match the pattern: - /// `projects/*/locations/global/meshes/` The attached Mesh should be of a type SIDECAR + /// `projects/*/locations/*/meshes/` The attached Mesh should be of a type SIDECAR /// [Newtonsoft.Json.JsonPropertyAttribute("meshes")] public virtual System.Collections.Generic.IList Meshes { get; set; } /// /// Identifier. Name of the HttpRoute resource. It matches pattern - /// `projects/*/locations/global/httpRoutes/http_route_name&gt;`. + /// `projects/*/locations/*/httpRoutes/http_route_name&gt;`. /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -10395,7 +10396,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset public virtual System.Collections.Generic.IDictionary Labels { get; set; } /// - /// Identifier. Name of the Mesh resource. It matches pattern `projects/*/locations/global/meshes/`. + /// Identifier. Name of the Mesh resource. It matches pattern `projects/*/locations/*/meshes/`. /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -11098,7 +11099,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Optional. Gateways defines a list of gateways this TcpRoute is attached to, as one of the routing rules to /// route the requests served by the gateway. Each gateway reference should match the pattern: - /// `projects/*/locations/global/gateways/` + /// `projects/*/locations/*/gateways/` /// [Newtonsoft.Json.JsonPropertyAttribute("gateways")] public virtual System.Collections.Generic.IList Gateways { get; set; } @@ -11110,14 +11111,14 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Optional. Meshes defines a list of meshes this TcpRoute is attached to, as one of the routing rules to route /// the requests served by the mesh. Each mesh reference should match the pattern: - /// `projects/*/locations/global/meshes/` The attached Mesh should be of a type SIDECAR + /// `projects/*/locations/*/meshes/` The attached Mesh should be of a type SIDECAR /// [Newtonsoft.Json.JsonPropertyAttribute("meshes")] public virtual System.Collections.Generic.IList Meshes { get; set; } /// /// Identifier. Name of the TcpRoute resource. It matches pattern - /// `projects/*/locations/global/tcpRoutes/tcp_route_name&gt;`. + /// `projects/*/locations/*/tcpRoutes/tcp_route_name&gt;`. /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -11342,7 +11343,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Optional. Gateways defines a list of gateways this TlsRoute is attached to, as one of the routing rules to /// route the requests served by the gateway. Each gateway reference should match the pattern: - /// `projects/*/locations/global/gateways/` + /// `projects/*/locations/*/gateways/` /// [Newtonsoft.Json.JsonPropertyAttribute("gateways")] public virtual System.Collections.Generic.IList Gateways { get; set; } @@ -11354,14 +11355,14 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Optional. Meshes defines a list of meshes this TlsRoute is attached to, as one of the routing rules to route /// the requests served by the mesh. Each mesh reference should match the pattern: - /// `projects/*/locations/global/meshes/` The attached Mesh should be of a type SIDECAR + /// `projects/*/locations/*/meshes/` The attached Mesh should be of a type SIDECAR /// [Newtonsoft.Json.JsonPropertyAttribute("meshes")] public virtual System.Collections.Generic.IList Meshes { get; set; } /// /// Identifier. Name of the TlsRoute resource. It matches pattern - /// `projects/*/locations/global/tlsRoutes/tls_route_name&gt;`. + /// `projects/*/locations/*/tlsRoutes/tls_route_name&gt;`. /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } diff --git a/Src/Generated/Google.Apis.NetworkServices.v1/Google.Apis.NetworkServices.v1.csproj b/Src/Generated/Google.Apis.NetworkServices.v1/Google.Apis.NetworkServices.v1.csproj index 42af6327301..8b1c460ad22 100644 --- a/Src/Generated/Google.Apis.NetworkServices.v1/Google.Apis.NetworkServices.v1.csproj +++ b/Src/Generated/Google.Apis.NetworkServices.v1/Google.Apis.NetworkServices.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.NetworkServices.v1 Client Library - 1.72.0.3942 + 1.72.0.3954 Google LLC Copyright 2025 Google LLC Google From eb224f40f07a38132287ea54d8b0bdab1fda88d7 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:43:10 +0000 Subject: [PATCH 49/65] feat: Generate Google.Apis.NetworkServices.v1beta1 version 1.72.0.3954 --- DiscoveryJson/networkservices.v1beta1.json | 96 +++++----- .../Google.Apis.NetworkServices.v1beta1.cs | 175 +++++++++--------- ...Google.Apis.NetworkServices.v1beta1.csproj | 2 +- 3 files changed, 139 insertions(+), 134 deletions(-) diff --git a/DiscoveryJson/networkservices.v1beta1.json b/DiscoveryJson/networkservices.v1beta1.json index 66b82bd248d..b0938b217b8 100644 --- a/DiscoveryJson/networkservices.v1beta1.json +++ b/DiscoveryJson/networkservices.v1beta1.json @@ -144,7 +144,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -382,7 +382,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource of the EndpointPolicy. Must be in the format `projects/*/locations/global`.", + "description": "Required. The parent resource of the EndpointPolicy. Must be in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -410,7 +410,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the EndpointPolicy to delete. Must be in the format `projects/*/locations/global/endpointPolicies/*`.", + "description": "Required. A name of the EndpointPolicy to delete. Must be in the format `projects/*/locations/*/endpointPolicies/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/endpointPolicies/[^/]+$", "required": true, @@ -435,7 +435,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the EndpointPolicy to get. Must be in the format `projects/*/locations/global/endpointPolicies/*`.", + "description": "Required. A name of the EndpointPolicy to get. Must be in the format `projects/*/locations/*/endpointPolicies/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/endpointPolicies/[^/]+$", "required": true, @@ -471,7 +471,7 @@ "type": "string" }, "parent": { - "description": "Required. The project and location from which the EndpointPolicies should be listed, specified in the format `projects/*/locations/global`.", + "description": "Required. The project and location from which the EndpointPolicies should be listed, specified in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -501,7 +501,7 @@ ], "parameters": { "name": { - "description": "Identifier. Name of the EndpointPolicy resource. It matches pattern `projects/{project}/locations/global/endpointPolicies/{endpoint_policy}`.", + "description": "Identifier. Name of the EndpointPolicy resource. It matches pattern `projects/{project}/locations/*/endpointPolicies/{endpoint_policy}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/endpointPolicies/[^/]+$", "required": true, @@ -768,7 +768,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource of the GrpcRoute. Must be in the format `projects/*/locations/global`.", + "description": "Required. The parent resource of the GrpcRoute. Must be in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -796,7 +796,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the GrpcRoute to delete. Must be in the format `projects/*/locations/global/grpcRoutes/*`.", + "description": "Required. A name of the GrpcRoute to delete. Must be in the format `projects/*/locations/*/grpcRoutes/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/grpcRoutes/[^/]+$", "required": true, @@ -821,7 +821,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the GrpcRoute to get. Must be in the format `projects/*/locations/global/grpcRoutes/*`.", + "description": "Required. A name of the GrpcRoute to get. Must be in the format `projects/*/locations/*/grpcRoutes/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/grpcRoutes/[^/]+$", "required": true, @@ -857,7 +857,7 @@ "type": "string" }, "parent": { - "description": "Required. The project and location from which the GrpcRoutes should be listed, specified in the format `projects/*/locations/global`.", + "description": "Required. The project and location from which the GrpcRoutes should be listed, specified in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -887,7 +887,7 @@ ], "parameters": { "name": { - "description": "Identifier. Name of the GrpcRoute resource. It matches pattern `projects/*/locations/global/grpcRoutes/`", + "description": "Identifier. Name of the GrpcRoute resource. It matches pattern `projects/*/locations/*/grpcRoutes/`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/grpcRoutes/[^/]+$", "required": true, @@ -930,7 +930,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource of the HttpRoute. Must be in the format `projects/*/locations/global`.", + "description": "Required. The parent resource of the HttpRoute. Must be in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -958,7 +958,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the HttpRoute to delete. Must be in the format `projects/*/locations/global/httpRoutes/*`.", + "description": "Required. A name of the HttpRoute to delete. Must be in the format `projects/*/locations/*/httpRoutes/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/httpRoutes/[^/]+$", "required": true, @@ -983,7 +983,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the HttpRoute to get. Must be in the format `projects/*/locations/global/httpRoutes/*`.", + "description": "Required. A name of the HttpRoute to get. Must be in the format `projects/*/locations/*/httpRoutes/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/httpRoutes/[^/]+$", "required": true, @@ -1019,7 +1019,7 @@ "type": "string" }, "parent": { - "description": "Required. The project and location from which the HttpRoutes should be listed, specified in the format `projects/*/locations/global`.", + "description": "Required. The project and location from which the HttpRoutes should be listed, specified in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -1049,7 +1049,7 @@ ], "parameters": { "name": { - "description": "Identifier. Name of the HttpRoute resource. It matches pattern `projects/*/locations/global/httpRoutes/http_route_name>`.", + "description": "Identifier. Name of the HttpRoute resource. It matches pattern `projects/*/locations/*/httpRoutes/http_route_name>`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/httpRoutes/[^/]+$", "required": true, @@ -1820,7 +1820,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource of the Mesh. Must be in the format `projects/*/locations/global`.", + "description": "Required. The parent resource of the Mesh. Must be in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -1848,7 +1848,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the Mesh to delete. Must be in the format `projects/*/locations/global/meshes/*`.", + "description": "Required. A name of the Mesh to delete. Must be in the format `projects/*/locations/*/meshes/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/meshes/[^/]+$", "required": true, @@ -1873,7 +1873,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the Mesh to get. Must be in the format `projects/*/locations/global/meshes/*`.", + "description": "Required. A name of the Mesh to get. Must be in the format `projects/*/locations/*/meshes/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/meshes/[^/]+$", "required": true, @@ -1909,7 +1909,7 @@ "type": "string" }, "parent": { - "description": "Required. The project and location from which the Meshes should be listed, specified in the format `projects/*/locations/global`.", + "description": "Required. The project and location from which the Meshes should be listed, specified in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -1939,7 +1939,7 @@ ], "parameters": { "name": { - "description": "Identifier. Name of the Mesh resource. It matches pattern `projects/*/locations/global/meshes/`.", + "description": "Identifier. Name of the Mesh resource. It matches pattern `projects/*/locations/*/meshes/`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/meshes/[^/]+$", "required": true, @@ -2486,7 +2486,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource of the TcpRoute. Must be in the format `projects/*/locations/global`.", + "description": "Required. The parent resource of the TcpRoute. Must be in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -2519,7 +2519,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the TcpRoute to delete. Must be in the format `projects/*/locations/global/tcpRoutes/*`.", + "description": "Required. A name of the TcpRoute to delete. Must be in the format `projects/*/locations/*/tcpRoutes/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/tcpRoutes/[^/]+$", "required": true, @@ -2544,7 +2544,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the TcpRoute to get. Must be in the format `projects/*/locations/global/tcpRoutes/*`.", + "description": "Required. A name of the TcpRoute to get. Must be in the format `projects/*/locations/*/tcpRoutes/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/tcpRoutes/[^/]+$", "required": true, @@ -2580,7 +2580,7 @@ "type": "string" }, "parent": { - "description": "Required. The project and location from which the TcpRoutes should be listed, specified in the format `projects/*/locations/global`.", + "description": "Required. The project and location from which the TcpRoutes should be listed, specified in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -2610,7 +2610,7 @@ ], "parameters": { "name": { - "description": "Identifier. Name of the TcpRoute resource. It matches pattern `projects/*/locations/global/tcpRoutes/tcp_route_name>`.", + "description": "Identifier. Name of the TcpRoute resource. It matches pattern `projects/*/locations/*/tcpRoutes/tcp_route_name>`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/tcpRoutes/[^/]+$", "required": true, @@ -2648,7 +2648,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource of the TlsRoute. Must be in the format `projects/*/locations/global`.", + "description": "Required. The parent resource of the TlsRoute. Must be in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -2681,7 +2681,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the TlsRoute to delete. Must be in the format `projects/*/locations/global/tlsRoutes/*`.", + "description": "Required. A name of the TlsRoute to delete. Must be in the format `projects/*/locations/*/tlsRoutes/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/tlsRoutes/[^/]+$", "required": true, @@ -2706,7 +2706,7 @@ ], "parameters": { "name": { - "description": "Required. A name of the TlsRoute to get. Must be in the format `projects/*/locations/global/tlsRoutes/*`.", + "description": "Required. A name of the TlsRoute to get. Must be in the format `projects/*/locations/*/tlsRoutes/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/tlsRoutes/[^/]+$", "required": true, @@ -2742,7 +2742,7 @@ "type": "string" }, "parent": { - "description": "Required. The project and location from which the TlsRoutes should be listed, specified in the format `projects/*/locations/global`.", + "description": "Required. The project and location from which the TlsRoutes should be listed, specified in the format `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -2772,7 +2772,7 @@ ], "parameters": { "name": { - "description": "Identifier. Name of the TlsRoute resource. It matches pattern `projects/*/locations/global/tlsRoutes/tls_route_name>`.", + "description": "Identifier. Name of the TlsRoute resource. It matches pattern `projects/*/locations/*/tlsRoutes/tls_route_name>`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/tlsRoutes/[^/]+$", "required": true, @@ -3100,7 +3100,7 @@ } } }, - "revision": "20251017", + "revision": "20251029", "rootUrl": "https://networkservices.googleapis.com/", "schemas": { "AuthzExtension": { @@ -3252,7 +3252,7 @@ "type": "object" }, "name": { - "description": "Identifier. Name of the EndpointPolicy resource. It matches pattern `projects/{project}/locations/global/endpointPolicies/{endpoint_policy}`.", + "description": "Identifier. Name of the EndpointPolicy resource. It matches pattern `projects/{project}/locations/*/endpointPolicies/{endpoint_policy}`.", "type": "string" }, "securityPolicy": { @@ -3347,6 +3347,10 @@ "description": "Optional. The name for this extension. The name is logged as part of the HTTP request logs. The name must conform with RFC-1034, is restricted to lower-cased letters, numbers and hyphens, and can have a maximum length of 63 characters. Additionally, the first character must be a letter and the last a letter or a number. This field is required except for AuthzExtension.", "type": "string" }, + "observabilityMode": { + "description": "Optional. When set to `TRUE`, enables `observability_mode` on the `ext_proc` filter. This makes `ext_proc` calls asynchronous. Envoy doesn't check for the response from `ext_proc` calls. For more information about the filter, see: https://www.envoyproxy.io/docs/envoy/v1.32.3/api-v3/extensions/filters/http/ext_proc/v3/ext_proc.proto#extensions-filters-http-ext-proc-v3-externalprocessor This field is helpful when you want to try out the extension in async log-only mode. Supported by regional `LbTrafficExtension` and `LbRouteExtension` resources. Only `STREAMED` (default) body processing mode is supported.", + "type": "boolean" + }, "requestBodySendMode": { "description": "Optional. Configures the send mode for request body processing. The field can only be set if `supported_events` includes `REQUEST_BODY`. If `supported_events` includes `REQUEST_BODY`, but `request_body_send_mode` is unset, the default value `STREAMED` is used. When this field is set to `FULL_DUPLEX_STREAMED`, `supported_events` must include both `REQUEST_BODY` and `REQUEST_TRAILERS`. This field can be set only for `LbTrafficExtension` and `LbRouteExtension` resources, and only when the `service` field of the extension points to a `BackendService`. Only `FULL_DUPLEX_STREAMED` mode is supported for `LbRouteExtension` resources.", "enum": [ @@ -3606,7 +3610,7 @@ "type": "string" }, "gateways": { - "description": "Optional. Gateways defines a list of gateways this GrpcRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: `projects/*/locations/global/gateways/`", + "description": "Optional. Gateways defines a list of gateways this GrpcRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: `projects/*/locations/*/gateways/`", "items": { "type": "string" }, @@ -3627,14 +3631,14 @@ "type": "object" }, "meshes": { - "description": "Optional. Meshes defines a list of meshes this GrpcRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: `projects/*/locations/global/meshes/`", + "description": "Optional. Meshes defines a list of meshes this GrpcRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: `projects/*/locations/*/meshes/`", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "Identifier. Name of the GrpcRoute resource. It matches pattern `projects/*/locations/global/grpcRoutes/`", + "description": "Identifier. Name of the GrpcRoute resource. It matches pattern `projects/*/locations/*/grpcRoutes/`", "type": "string" }, "rules": { @@ -3903,7 +3907,7 @@ "type": "string" }, "gateways": { - "description": "Optional. Gateways defines a list of gateways this HttpRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: `projects/*/locations/global/gateways/`", + "description": "Optional. Gateways defines a list of gateways this HttpRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: `projects/*/locations/*/gateways/`", "items": { "type": "string" }, @@ -3924,14 +3928,14 @@ "type": "object" }, "meshes": { - "description": "Optional. Meshes defines a list of meshes this HttpRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: `projects/*/locations/global/meshes/` The attached Mesh should be of a type SIDECAR", + "description": "Optional. Meshes defines a list of meshes this HttpRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: `projects/*/locations/*/meshes/` The attached Mesh should be of a type SIDECAR", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "Identifier. Name of the HttpRoute resource. It matches pattern `projects/*/locations/global/httpRoutes/http_route_name>`.", + "description": "Identifier. Name of the HttpRoute resource. It matches pattern `projects/*/locations/*/httpRoutes/http_route_name>`.", "type": "string" }, "rules": { @@ -5315,7 +5319,7 @@ "type": "object" }, "name": { - "description": "Identifier. Name of the Mesh resource. It matches pattern `projects/*/locations/global/meshes/`.", + "description": "Identifier. Name of the Mesh resource. It matches pattern `projects/*/locations/*/meshes/`.", "type": "string" }, "selfLink": { @@ -5704,7 +5708,7 @@ "type": "string" }, "gateways": { - "description": "Optional. Gateways defines a list of gateways this TcpRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: `projects/*/locations/global/gateways/`", + "description": "Optional. Gateways defines a list of gateways this TcpRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: `projects/*/locations/*/gateways/`", "items": { "type": "string" }, @@ -5718,14 +5722,14 @@ "type": "object" }, "meshes": { - "description": "Optional. Meshes defines a list of meshes this TcpRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: `projects/*/locations/global/meshes/` The attached Mesh should be of a type SIDECAR", + "description": "Optional. Meshes defines a list of meshes this TcpRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: `projects/*/locations/*/meshes/` The attached Mesh should be of a type SIDECAR", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "Identifier. Name of the TcpRoute resource. It matches pattern `projects/*/locations/global/tcpRoutes/tcp_route_name>`.", + "description": "Identifier. Name of the TcpRoute resource. It matches pattern `projects/*/locations/*/tcpRoutes/tcp_route_name>`.", "type": "string" }, "rules": { @@ -5836,7 +5840,7 @@ "type": "string" }, "gateways": { - "description": "Optional. Gateways defines a list of gateways this TlsRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: `projects/*/locations/global/gateways/`", + "description": "Optional. Gateways defines a list of gateways this TlsRoute is attached to, as one of the routing rules to route the requests served by the gateway. Each gateway reference should match the pattern: `projects/*/locations/*/gateways/`", "items": { "type": "string" }, @@ -5850,14 +5854,14 @@ "type": "object" }, "meshes": { - "description": "Optional. Meshes defines a list of meshes this TlsRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: `projects/*/locations/global/meshes/` The attached Mesh should be of a type SIDECAR", + "description": "Optional. Meshes defines a list of meshes this TlsRoute is attached to, as one of the routing rules to route the requests served by the mesh. Each mesh reference should match the pattern: `projects/*/locations/*/meshes/` The attached Mesh should be of a type SIDECAR", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "Identifier. Name of the TlsRoute resource. It matches pattern `projects/*/locations/global/tlsRoutes/tls_route_name>`.", + "description": "Identifier. Name of the TlsRoute resource. It matches pattern `projects/*/locations/*/tlsRoutes/tls_route_name>`.", "type": "string" }, "rules": { diff --git a/Src/Generated/Google.Apis.NetworkServices.v1beta1/Google.Apis.NetworkServices.v1beta1.cs b/Src/Generated/Google.Apis.NetworkServices.v1beta1/Google.Apis.NetworkServices.v1beta1.cs index 02b01933518..d66c735f9a3 100644 --- a/Src/Generated/Google.Apis.NetworkServices.v1beta1/Google.Apis.NetworkServices.v1beta1.cs +++ b/Src/Generated/Google.Apis.NetworkServices.v1beta1/Google.Apis.NetworkServices.v1beta1.cs @@ -759,8 +759,7 @@ public EndpointPoliciesResource(Google.Apis.Services.IClientService service) /// Creates a new EndpointPolicy in a given project and location. /// The body of the request. /// - /// Required. The parent resource of the EndpointPolicy. Must be in the format - /// `projects/*/locations/global`. + /// Required. The parent resource of the EndpointPolicy. Must be in the format `projects/*/locations/*`. /// public virtual CreateRequest Create(Google.Apis.NetworkServices.v1beta1.Data.EndpointPolicy body, string parent) { @@ -780,7 +779,7 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Ne /// /// Required. The parent resource of the EndpointPolicy. Must be in the format - /// `projects/*/locations/global`. + /// `projects/*/locations/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -832,7 +831,7 @@ protected override void InitParameters() /// Deletes a single EndpointPolicy. /// /// Required. A name of the EndpointPolicy to delete. Must be in the format - /// `projects/*/locations/global/endpointPolicies/*`. + /// `projects/*/locations/*/endpointPolicies/*`. /// public virtual DeleteRequest Delete(string name) { @@ -851,7 +850,7 @@ public DeleteRequest(Google.Apis.Services.IClientService service, string name) : /// /// Required. A name of the EndpointPolicy to delete. Must be in the format - /// `projects/*/locations/global/endpointPolicies/*`. + /// `projects/*/locations/*/endpointPolicies/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -883,7 +882,7 @@ protected override void InitParameters() /// Gets details of a single EndpointPolicy. /// /// Required. A name of the EndpointPolicy to get. Must be in the format - /// `projects/*/locations/global/endpointPolicies/*`. + /// `projects/*/locations/*/endpointPolicies/*`. /// public virtual GetRequest Get(string name) { @@ -902,7 +901,7 @@ public GetRequest(Google.Apis.Services.IClientService service, string name) : ba /// /// Required. A name of the EndpointPolicy to get. Must be in the format - /// `projects/*/locations/global/endpointPolicies/*`. + /// `projects/*/locations/*/endpointPolicies/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -934,7 +933,7 @@ protected override void InitParameters() /// Lists EndpointPolicies in a given project and location. /// /// Required. The project and location from which the EndpointPolicies should be listed, specified in - /// the format `projects/*/locations/global`. + /// the format `projects/*/locations/*`. /// public virtual ListRequest List(string parent) { @@ -953,7 +952,7 @@ public ListRequest(Google.Apis.Services.IClientService service, string parent) : /// /// Required. The project and location from which the EndpointPolicies should be listed, specified - /// in the format `projects/*/locations/global`. + /// in the format `projects/*/locations/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -1029,7 +1028,7 @@ protected override void InitParameters() /// The body of the request. /// /// Identifier. Name of the EndpointPolicy resource. It matches pattern - /// `projects/{project}/locations/global/endpointPolicies/{endpoint_policy}`. + /// `projects/{project}/locations/*/endpointPolicies/{endpoint_policy}`. /// public virtual PatchRequest Patch(Google.Apis.NetworkServices.v1beta1.Data.EndpointPolicy body, string name) { @@ -1049,7 +1048,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Net /// /// Identifier. Name of the EndpointPolicy resource. It matches pattern - /// `projects/{project}/locations/global/endpointPolicies/{endpoint_policy}`. + /// `projects/{project}/locations/*/endpointPolicies/{endpoint_policy}`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -1611,7 +1610,7 @@ public GrpcRoutesResource(Google.Apis.Services.IClientService service) /// Creates a new GrpcRoute in a given project and location. /// The body of the request. /// - /// Required. The parent resource of the GrpcRoute. Must be in the format `projects/*/locations/global`. + /// Required. The parent resource of the GrpcRoute. Must be in the format `projects/*/locations/*`. /// public virtual CreateRequest Create(Google.Apis.NetworkServices.v1beta1.Data.GrpcRoute body, string parent) { @@ -1630,8 +1629,7 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Ne } /// - /// Required. The parent resource of the GrpcRoute. Must be in the format - /// `projects/*/locations/global`. + /// Required. The parent resource of the GrpcRoute. Must be in the format `projects/*/locations/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -1681,7 +1679,7 @@ protected override void InitParameters() /// Deletes a single GrpcRoute. /// /// Required. A name of the GrpcRoute to delete. Must be in the format - /// `projects/*/locations/global/grpcRoutes/*`. + /// `projects/*/locations/*/grpcRoutes/*`. /// public virtual DeleteRequest Delete(string name) { @@ -1700,7 +1698,7 @@ public DeleteRequest(Google.Apis.Services.IClientService service, string name) : /// /// Required. A name of the GrpcRoute to delete. Must be in the format - /// `projects/*/locations/global/grpcRoutes/*`. + /// `projects/*/locations/*/grpcRoutes/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -1732,7 +1730,7 @@ protected override void InitParameters() /// Gets details of a single GrpcRoute. /// /// Required. A name of the GrpcRoute to get. Must be in the format - /// `projects/*/locations/global/grpcRoutes/*`. + /// `projects/*/locations/*/grpcRoutes/*`. /// public virtual GetRequest Get(string name) { @@ -1751,7 +1749,7 @@ public GetRequest(Google.Apis.Services.IClientService service, string name) : ba /// /// Required. A name of the GrpcRoute to get. Must be in the format - /// `projects/*/locations/global/grpcRoutes/*`. + /// `projects/*/locations/*/grpcRoutes/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -1783,7 +1781,7 @@ protected override void InitParameters() /// Lists GrpcRoutes in a given project and location. /// /// Required. The project and location from which the GrpcRoutes should be listed, specified in the - /// format `projects/*/locations/global`. + /// format `projects/*/locations/*`. /// public virtual ListRequest List(string parent) { @@ -1802,7 +1800,7 @@ public ListRequest(Google.Apis.Services.IClientService service, string parent) : /// /// Required. The project and location from which the GrpcRoutes should be listed, specified in the - /// format `projects/*/locations/global`. + /// format `projects/*/locations/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -1876,8 +1874,7 @@ protected override void InitParameters() /// Updates the parameters of a single GrpcRoute. /// The body of the request. /// - /// Identifier. Name of the GrpcRoute resource. It matches pattern - /// `projects/*/locations/global/grpcRoutes/` + /// Identifier. Name of the GrpcRoute resource. It matches pattern `projects/*/locations/*/grpcRoutes/` /// public virtual PatchRequest Patch(Google.Apis.NetworkServices.v1beta1.Data.GrpcRoute body, string name) { @@ -1897,7 +1894,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Net /// /// Identifier. Name of the GrpcRoute resource. It matches pattern - /// `projects/*/locations/global/grpcRoutes/` + /// `projects/*/locations/*/grpcRoutes/` /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -1970,7 +1967,7 @@ public HttpRoutesResource(Google.Apis.Services.IClientService service) /// Creates a new HttpRoute in a given project and location. /// The body of the request. /// - /// Required. The parent resource of the HttpRoute. Must be in the format `projects/*/locations/global`. + /// Required. The parent resource of the HttpRoute. Must be in the format `projects/*/locations/*`. /// public virtual CreateRequest Create(Google.Apis.NetworkServices.v1beta1.Data.HttpRoute body, string parent) { @@ -1989,8 +1986,7 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Ne } /// - /// Required. The parent resource of the HttpRoute. Must be in the format - /// `projects/*/locations/global`. + /// Required. The parent resource of the HttpRoute. Must be in the format `projects/*/locations/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -2040,7 +2036,7 @@ protected override void InitParameters() /// Deletes a single HttpRoute. /// /// Required. A name of the HttpRoute to delete. Must be in the format - /// `projects/*/locations/global/httpRoutes/*`. + /// `projects/*/locations/*/httpRoutes/*`. /// public virtual DeleteRequest Delete(string name) { @@ -2059,7 +2055,7 @@ public DeleteRequest(Google.Apis.Services.IClientService service, string name) : /// /// Required. A name of the HttpRoute to delete. Must be in the format - /// `projects/*/locations/global/httpRoutes/*`. + /// `projects/*/locations/*/httpRoutes/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -2091,7 +2087,7 @@ protected override void InitParameters() /// Gets details of a single HttpRoute. /// /// Required. A name of the HttpRoute to get. Must be in the format - /// `projects/*/locations/global/httpRoutes/*`. + /// `projects/*/locations/*/httpRoutes/*`. /// public virtual GetRequest Get(string name) { @@ -2110,7 +2106,7 @@ public GetRequest(Google.Apis.Services.IClientService service, string name) : ba /// /// Required. A name of the HttpRoute to get. Must be in the format - /// `projects/*/locations/global/httpRoutes/*`. + /// `projects/*/locations/*/httpRoutes/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -2142,7 +2138,7 @@ protected override void InitParameters() /// Lists HttpRoute in a given project and location. /// /// Required. The project and location from which the HttpRoutes should be listed, specified in the - /// format `projects/*/locations/global`. + /// format `projects/*/locations/*`. /// public virtual ListRequest List(string parent) { @@ -2161,7 +2157,7 @@ public ListRequest(Google.Apis.Services.IClientService service, string parent) : /// /// Required. The project and location from which the HttpRoutes should be listed, specified in the - /// format `projects/*/locations/global`. + /// format `projects/*/locations/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -2236,7 +2232,7 @@ protected override void InitParameters() /// The body of the request. /// /// Identifier. Name of the HttpRoute resource. It matches pattern - /// `projects/*/locations/global/httpRoutes/http_route_name&gt;`. + /// `projects/*/locations/*/httpRoutes/http_route_name&gt;`. /// public virtual PatchRequest Patch(Google.Apis.NetworkServices.v1beta1.Data.HttpRoute body, string name) { @@ -2256,7 +2252,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Net /// /// Identifier. Name of the HttpRoute resource. It matches pattern - /// `projects/*/locations/global/httpRoutes/http_route_name&gt;`. + /// `projects/*/locations/*/httpRoutes/http_route_name&gt;`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -4199,7 +4195,7 @@ protected override void InitParameters() /// Creates a new Mesh in a given project and location. /// The body of the request. /// - /// Required. The parent resource of the Mesh. Must be in the format `projects/*/locations/global`. + /// Required. The parent resource of the Mesh. Must be in the format `projects/*/locations/*`. /// public virtual CreateRequest Create(Google.Apis.NetworkServices.v1beta1.Data.Mesh body, string parent) { @@ -4218,7 +4214,7 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Ne } /// - /// Required. The parent resource of the Mesh. Must be in the format `projects/*/locations/global`. + /// Required. The parent resource of the Mesh. Must be in the format `projects/*/locations/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -4267,8 +4263,7 @@ protected override void InitParameters() /// Deletes a single Mesh. /// - /// Required. A name of the Mesh to delete. Must be in the format - /// `projects/*/locations/global/meshes/*`. + /// Required. A name of the Mesh to delete. Must be in the format `projects/*/locations/*/meshes/*`. /// public virtual DeleteRequest Delete(string name) { @@ -4286,8 +4281,7 @@ public DeleteRequest(Google.Apis.Services.IClientService service, string name) : } /// - /// Required. A name of the Mesh to delete. Must be in the format - /// `projects/*/locations/global/meshes/*`. + /// Required. A name of the Mesh to delete. Must be in the format `projects/*/locations/*/meshes/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -4318,7 +4312,7 @@ protected override void InitParameters() /// Gets details of a single Mesh. /// - /// Required. A name of the Mesh to get. Must be in the format `projects/*/locations/global/meshes/*`. + /// Required. A name of the Mesh to get. Must be in the format `projects/*/locations/*/meshes/*`. /// public virtual GetRequest Get(string name) { @@ -4336,8 +4330,7 @@ public GetRequest(Google.Apis.Services.IClientService service, string name) : ba } /// - /// Required. A name of the Mesh to get. Must be in the format - /// `projects/*/locations/global/meshes/*`. + /// Required. A name of the Mesh to get. Must be in the format `projects/*/locations/*/meshes/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -4369,7 +4362,7 @@ protected override void InitParameters() /// Lists Meshes in a given project and location. /// /// Required. The project and location from which the Meshes should be listed, specified in the format - /// `projects/*/locations/global`. + /// `projects/*/locations/*`. /// public virtual ListRequest List(string parent) { @@ -4388,7 +4381,7 @@ public ListRequest(Google.Apis.Services.IClientService service, string parent) : /// /// Required. The project and location from which the Meshes should be listed, specified in the - /// format `projects/*/locations/global`. + /// format `projects/*/locations/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -4462,7 +4455,7 @@ protected override void InitParameters() /// Updates the parameters of a single Mesh. /// The body of the request. /// - /// Identifier. Name of the Mesh resource. It matches pattern `projects/*/locations/global/meshes/`. + /// Identifier. Name of the Mesh resource. It matches pattern `projects/*/locations/*/meshes/`. /// public virtual PatchRequest Patch(Google.Apis.NetworkServices.v1beta1.Data.Mesh body, string name) { @@ -4481,7 +4474,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Net } /// - /// Identifier. Name of the Mesh resource. It matches pattern `projects/*/locations/global/meshes/`. + /// Identifier. Name of the Mesh resource. It matches pattern `projects/*/locations/*/meshes/`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -5544,7 +5537,7 @@ public TcpRoutesResource(Google.Apis.Services.IClientService service) /// Creates a new TcpRoute in a given project and location. /// The body of the request. /// - /// Required. The parent resource of the TcpRoute. Must be in the format `projects/*/locations/global`. + /// Required. The parent resource of the TcpRoute. Must be in the format `projects/*/locations/*`. /// public virtual CreateRequest Create(Google.Apis.NetworkServices.v1beta1.Data.TcpRoute body, string parent) { @@ -5563,8 +5556,7 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Ne } /// - /// Required. The parent resource of the TcpRoute. Must be in the format - /// `projects/*/locations/global`. + /// Required. The parent resource of the TcpRoute. Must be in the format `projects/*/locations/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -5614,7 +5606,7 @@ protected override void InitParameters() /// Deletes a single TcpRoute. /// /// Required. A name of the TcpRoute to delete. Must be in the format - /// `projects/*/locations/global/tcpRoutes/*`. + /// `projects/*/locations/*/tcpRoutes/*`. /// public virtual DeleteRequest Delete(string name) { @@ -5633,7 +5625,7 @@ public DeleteRequest(Google.Apis.Services.IClientService service, string name) : /// /// Required. A name of the TcpRoute to delete. Must be in the format - /// `projects/*/locations/global/tcpRoutes/*`. + /// `projects/*/locations/*/tcpRoutes/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -5664,8 +5656,7 @@ protected override void InitParameters() /// Gets details of a single TcpRoute. /// - /// Required. A name of the TcpRoute to get. Must be in the format - /// `projects/*/locations/global/tcpRoutes/*`. + /// Required. A name of the TcpRoute to get. Must be in the format `projects/*/locations/*/tcpRoutes/*`. /// public virtual GetRequest Get(string name) { @@ -5684,7 +5675,7 @@ public GetRequest(Google.Apis.Services.IClientService service, string name) : ba /// /// Required. A name of the TcpRoute to get. Must be in the format - /// `projects/*/locations/global/tcpRoutes/*`. + /// `projects/*/locations/*/tcpRoutes/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -5716,7 +5707,7 @@ protected override void InitParameters() /// Lists TcpRoute in a given project and location. /// /// Required. The project and location from which the TcpRoutes should be listed, specified in the - /// format `projects/*/locations/global`. + /// format `projects/*/locations/*`. /// public virtual ListRequest List(string parent) { @@ -5735,7 +5726,7 @@ public ListRequest(Google.Apis.Services.IClientService service, string parent) : /// /// Required. The project and location from which the TcpRoutes should be listed, specified in the - /// format `projects/*/locations/global`. + /// format `projects/*/locations/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -5810,7 +5801,7 @@ protected override void InitParameters() /// The body of the request. /// /// Identifier. Name of the TcpRoute resource. It matches pattern - /// `projects/*/locations/global/tcpRoutes/tcp_route_name&gt;`. + /// `projects/*/locations/*/tcpRoutes/tcp_route_name&gt;`. /// public virtual PatchRequest Patch(Google.Apis.NetworkServices.v1beta1.Data.TcpRoute body, string name) { @@ -5830,7 +5821,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Net /// /// Identifier. Name of the TcpRoute resource. It matches pattern - /// `projects/*/locations/global/tcpRoutes/tcp_route_name&gt;`. + /// `projects/*/locations/*/tcpRoutes/tcp_route_name&gt;`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -5903,7 +5894,7 @@ public TlsRoutesResource(Google.Apis.Services.IClientService service) /// Creates a new TlsRoute in a given project and location. /// The body of the request. /// - /// Required. The parent resource of the TlsRoute. Must be in the format `projects/*/locations/global`. + /// Required. The parent resource of the TlsRoute. Must be in the format `projects/*/locations/*`. /// public virtual CreateRequest Create(Google.Apis.NetworkServices.v1beta1.Data.TlsRoute body, string parent) { @@ -5922,8 +5913,7 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Ne } /// - /// Required. The parent resource of the TlsRoute. Must be in the format - /// `projects/*/locations/global`. + /// Required. The parent resource of the TlsRoute. Must be in the format `projects/*/locations/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -5973,7 +5963,7 @@ protected override void InitParameters() /// Deletes a single TlsRoute. /// /// Required. A name of the TlsRoute to delete. Must be in the format - /// `projects/*/locations/global/tlsRoutes/*`. + /// `projects/*/locations/*/tlsRoutes/*`. /// public virtual DeleteRequest Delete(string name) { @@ -5992,7 +5982,7 @@ public DeleteRequest(Google.Apis.Services.IClientService service, string name) : /// /// Required. A name of the TlsRoute to delete. Must be in the format - /// `projects/*/locations/global/tlsRoutes/*`. + /// `projects/*/locations/*/tlsRoutes/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -6023,8 +6013,7 @@ protected override void InitParameters() /// Gets details of a single TlsRoute. /// - /// Required. A name of the TlsRoute to get. Must be in the format - /// `projects/*/locations/global/tlsRoutes/*`. + /// Required. A name of the TlsRoute to get. Must be in the format `projects/*/locations/*/tlsRoutes/*`. /// public virtual GetRequest Get(string name) { @@ -6043,7 +6032,7 @@ public GetRequest(Google.Apis.Services.IClientService service, string name) : ba /// /// Required. A name of the TlsRoute to get. Must be in the format - /// `projects/*/locations/global/tlsRoutes/*`. + /// `projects/*/locations/*/tlsRoutes/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -6075,7 +6064,7 @@ protected override void InitParameters() /// Lists TlsRoute in a given project and location. /// /// Required. The project and location from which the TlsRoutes should be listed, specified in the - /// format `projects/*/locations/global`. + /// format `projects/*/locations/*`. /// public virtual ListRequest List(string parent) { @@ -6094,7 +6083,7 @@ public ListRequest(Google.Apis.Services.IClientService service, string parent) : /// /// Required. The project and location from which the TlsRoutes should be listed, specified in the - /// format `projects/*/locations/global`. + /// format `projects/*/locations/*`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -6169,7 +6158,7 @@ protected override void InitParameters() /// The body of the request. /// /// Identifier. Name of the TlsRoute resource. It matches pattern - /// `projects/*/locations/global/tlsRoutes/tls_route_name&gt;`. + /// `projects/*/locations/*/tlsRoutes/tls_route_name&gt;`. /// public virtual PatchRequest Patch(Google.Apis.NetworkServices.v1beta1.Data.TlsRoute body, string name) { @@ -6189,7 +6178,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Net /// /// Identifier. Name of the TlsRoute resource. It matches pattern - /// `projects/*/locations/global/tlsRoutes/tls_route_name&gt;`. + /// `projects/*/locations/*/tlsRoutes/tls_route_name&gt;`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -6978,8 +6967,8 @@ public ListRequest(Google.Apis.Services.IClientService service, string name) : b public virtual string Name { get; private set; } /// - /// Optional. Unless explicitly documented otherwise, don't use this unsupported field which is - /// primarily intended for internal usage. + /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented + /// otherwise. This is primarily for internal usage. /// [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } @@ -7339,7 +7328,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Identifier. Name of the EndpointPolicy resource. It matches pattern - /// `projects/{project}/locations/global/endpointPolicies/{endpoint_policy}`. + /// `projects/{project}/locations/*/endpointPolicies/{endpoint_policy}`. /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -7508,6 +7497,18 @@ public class ExtensionChainExtension : Google.Apis.Requests.IDirectResponseSchem [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } + /// + /// Optional. When set to `TRUE`, enables `observability_mode` on the `ext_proc` filter. This makes `ext_proc` + /// calls asynchronous. Envoy doesn't check for the response from `ext_proc` calls. For more information about + /// the filter, see: + /// https://www.envoyproxy.io/docs/envoy/v1.32.3/api-v3/extensions/filters/http/ext_proc/v3/ext_proc.proto#extensions-filters-http-ext-proc-v3-externalprocessor + /// This field is helpful when you want to try out the extension in async log-only mode. Supported by regional + /// `LbTrafficExtension` and `LbRouteExtension` resources. Only `STREAMED` (default) body processing mode is + /// supported. + /// + [Newtonsoft.Json.JsonPropertyAttribute("observabilityMode")] + public virtual System.Nullable ObservabilityMode { get; set; } + /// /// Optional. Configures the send mode for request body processing. The field can only be set if /// `supported_events` includes `REQUEST_BODY`. If `supported_events` includes `REQUEST_BODY`, but @@ -7858,7 +7859,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Optional. Gateways defines a list of gateways this GrpcRoute is attached to, as one of the routing rules to /// route the requests served by the gateway. Each gateway reference should match the pattern: - /// `projects/*/locations/global/gateways/` + /// `projects/*/locations/*/gateways/` /// [Newtonsoft.Json.JsonPropertyAttribute("gateways")] public virtual System.Collections.Generic.IList Gateways { get; set; } @@ -7889,13 +7890,13 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Optional. Meshes defines a list of meshes this GrpcRoute is attached to, as one of the routing rules to /// route the requests served by the mesh. Each mesh reference should match the pattern: - /// `projects/*/locations/global/meshes/` + /// `projects/*/locations/*/meshes/` /// [Newtonsoft.Json.JsonPropertyAttribute("meshes")] public virtual System.Collections.Generic.IList Meshes { get; set; } /// - /// Identifier. Name of the GrpcRoute resource. It matches pattern `projects/*/locations/global/grpcRoutes/` + /// Identifier. Name of the GrpcRoute resource. It matches pattern `projects/*/locations/*/grpcRoutes/` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -8272,7 +8273,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Optional. Gateways defines a list of gateways this HttpRoute is attached to, as one of the routing rules to /// route the requests served by the gateway. Each gateway reference should match the pattern: - /// `projects/*/locations/global/gateways/` + /// `projects/*/locations/*/gateways/` /// [Newtonsoft.Json.JsonPropertyAttribute("gateways")] public virtual System.Collections.Generic.IList Gateways { get; set; } @@ -8301,14 +8302,14 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Optional. Meshes defines a list of meshes this HttpRoute is attached to, as one of the routing rules to /// route the requests served by the mesh. Each mesh reference should match the pattern: - /// `projects/*/locations/global/meshes/` The attached Mesh should be of a type SIDECAR + /// `projects/*/locations/*/meshes/` The attached Mesh should be of a type SIDECAR /// [Newtonsoft.Json.JsonPropertyAttribute("meshes")] public virtual System.Collections.Generic.IList Meshes { get; set; } /// /// Identifier. Name of the HttpRoute resource. It matches pattern - /// `projects/*/locations/global/httpRoutes/http_route_name&gt;`. + /// `projects/*/locations/*/httpRoutes/http_route_name&gt;`. /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -10066,7 +10067,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset public virtual System.Collections.Generic.IDictionary Labels { get; set; } /// - /// Identifier. Name of the Mesh resource. It matches pattern `projects/*/locations/global/meshes/`. + /// Identifier. Name of the Mesh resource. It matches pattern `projects/*/locations/*/meshes/`. /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -10716,7 +10717,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Optional. Gateways defines a list of gateways this TcpRoute is attached to, as one of the routing rules to /// route the requests served by the gateway. Each gateway reference should match the pattern: - /// `projects/*/locations/global/gateways/` + /// `projects/*/locations/*/gateways/` /// [Newtonsoft.Json.JsonPropertyAttribute("gateways")] public virtual System.Collections.Generic.IList Gateways { get; set; } @@ -10728,14 +10729,14 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Optional. Meshes defines a list of meshes this TcpRoute is attached to, as one of the routing rules to route /// the requests served by the mesh. Each mesh reference should match the pattern: - /// `projects/*/locations/global/meshes/` The attached Mesh should be of a type SIDECAR + /// `projects/*/locations/*/meshes/` The attached Mesh should be of a type SIDECAR /// [Newtonsoft.Json.JsonPropertyAttribute("meshes")] public virtual System.Collections.Generic.IList Meshes { get; set; } /// /// Identifier. Name of the TcpRoute resource. It matches pattern - /// `projects/*/locations/global/tcpRoutes/tcp_route_name&gt;`. + /// `projects/*/locations/*/tcpRoutes/tcp_route_name&gt;`. /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -10934,7 +10935,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Optional. Gateways defines a list of gateways this TlsRoute is attached to, as one of the routing rules to /// route the requests served by the gateway. Each gateway reference should match the pattern: - /// `projects/*/locations/global/gateways/` + /// `projects/*/locations/*/gateways/` /// [Newtonsoft.Json.JsonPropertyAttribute("gateways")] public virtual System.Collections.Generic.IList Gateways { get; set; } @@ -10946,14 +10947,14 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Optional. Meshes defines a list of meshes this TlsRoute is attached to, as one of the routing rules to route /// the requests served by the mesh. Each mesh reference should match the pattern: - /// `projects/*/locations/global/meshes/` The attached Mesh should be of a type SIDECAR + /// `projects/*/locations/*/meshes/` The attached Mesh should be of a type SIDECAR /// [Newtonsoft.Json.JsonPropertyAttribute("meshes")] public virtual System.Collections.Generic.IList Meshes { get; set; } /// /// Identifier. Name of the TlsRoute resource. It matches pattern - /// `projects/*/locations/global/tlsRoutes/tls_route_name&gt;`. + /// `projects/*/locations/*/tlsRoutes/tls_route_name&gt;`. /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } diff --git a/Src/Generated/Google.Apis.NetworkServices.v1beta1/Google.Apis.NetworkServices.v1beta1.csproj b/Src/Generated/Google.Apis.NetworkServices.v1beta1/Google.Apis.NetworkServices.v1beta1.csproj index c0459ebcff4..7e127ba82f6 100644 --- a/Src/Generated/Google.Apis.NetworkServices.v1beta1/Google.Apis.NetworkServices.v1beta1.csproj +++ b/Src/Generated/Google.Apis.NetworkServices.v1beta1/Google.Apis.NetworkServices.v1beta1.csproj @@ -3,7 +3,7 @@ Google.Apis.NetworkServices.v1beta1 Client Library - 1.72.0.3942 + 1.72.0.3954 Google LLC Copyright 2025 Google LLC Google From 68b3a4a0911f294c79d3701f4f8a9ce64c35e00f Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:43:12 +0000 Subject: [PATCH 50/65] feat: Generate Google.Apis.AIPlatformNotebooks.v1 version 1.72.0.3954 --- DiscoveryJson/notebooks.v1.json | 4 ++-- .../Google.Apis.AIPlatformNotebooks.v1.cs | 4 ++-- .../Google.Apis.AIPlatformNotebooks.v1.csproj | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/DiscoveryJson/notebooks.v1.json b/DiscoveryJson/notebooks.v1.json index 06dc142b93f..360c021c477 100644 --- a/DiscoveryJson/notebooks.v1.json +++ b/DiscoveryJson/notebooks.v1.json @@ -144,7 +144,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -2019,7 +2019,7 @@ } } }, - "revision": "20251008", + "revision": "20251029", "rootUrl": "https://notebooks.googleapis.com/", "schemas": { "AcceleratorConfig": { diff --git a/Src/Generated/Google.Apis.AIPlatformNotebooks.v1/Google.Apis.AIPlatformNotebooks.v1.cs b/Src/Generated/Google.Apis.AIPlatformNotebooks.v1/Google.Apis.AIPlatformNotebooks.v1.cs index 7b2a7e2cb4c..7598c2e29ab 100644 --- a/Src/Generated/Google.Apis.AIPlatformNotebooks.v1/Google.Apis.AIPlatformNotebooks.v1.cs +++ b/Src/Generated/Google.Apis.AIPlatformNotebooks.v1/Google.Apis.AIPlatformNotebooks.v1.cs @@ -4305,8 +4305,8 @@ public ListRequest(Google.Apis.Services.IClientService service, string name) : b public virtual string Name { get; private set; } /// - /// Optional. Unless explicitly documented otherwise, don't use this unsupported field which is - /// primarily intended for internal usage. + /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented + /// otherwise. This is primarily for internal usage. /// [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } diff --git a/Src/Generated/Google.Apis.AIPlatformNotebooks.v1/Google.Apis.AIPlatformNotebooks.v1.csproj b/Src/Generated/Google.Apis.AIPlatformNotebooks.v1/Google.Apis.AIPlatformNotebooks.v1.csproj index 8d166161652..9166059e6b0 100644 --- a/Src/Generated/Google.Apis.AIPlatformNotebooks.v1/Google.Apis.AIPlatformNotebooks.v1.csproj +++ b/Src/Generated/Google.Apis.AIPlatformNotebooks.v1/Google.Apis.AIPlatformNotebooks.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.AIPlatformNotebooks.v1 Client Library - 1.72.0.3933 + 1.72.0.3954 Google LLC Copyright 2025 Google LLC Google From 2343af6826b5c5a8e20633bdfbaa3025db21e01b Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:43:14 +0000 Subject: [PATCH 51/65] feat: Generate Google.Apis.AIPlatformNotebooks.v2 version 1.72.0.3954 --- DiscoveryJson/notebooks.v2.json | 4 ++-- .../Google.Apis.AIPlatformNotebooks.v2.cs | 4 ++-- .../Google.Apis.AIPlatformNotebooks.v2.csproj | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/DiscoveryJson/notebooks.v2.json b/DiscoveryJson/notebooks.v2.json index 451e541d397..c123316d9f7 100644 --- a/DiscoveryJson/notebooks.v2.json +++ b/DiscoveryJson/notebooks.v2.json @@ -144,7 +144,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -971,7 +971,7 @@ } } }, - "revision": "20251016", + "revision": "20251029", "rootUrl": "https://notebooks.googleapis.com/", "schemas": { "AcceleratorConfig": { diff --git a/Src/Generated/Google.Apis.AIPlatformNotebooks.v2/Google.Apis.AIPlatformNotebooks.v2.cs b/Src/Generated/Google.Apis.AIPlatformNotebooks.v2/Google.Apis.AIPlatformNotebooks.v2.cs index 4d1e9ff6bb2..2496830adf8 100644 --- a/Src/Generated/Google.Apis.AIPlatformNotebooks.v2/Google.Apis.AIPlatformNotebooks.v2.cs +++ b/Src/Generated/Google.Apis.AIPlatformNotebooks.v2/Google.Apis.AIPlatformNotebooks.v2.cs @@ -2076,8 +2076,8 @@ public ListRequest(Google.Apis.Services.IClientService service, string name) : b public virtual string Name { get; private set; } /// - /// Optional. Unless explicitly documented otherwise, don't use this unsupported field which is - /// primarily intended for internal usage. + /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented + /// otherwise. This is primarily for internal usage. /// [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } diff --git a/Src/Generated/Google.Apis.AIPlatformNotebooks.v2/Google.Apis.AIPlatformNotebooks.v2.csproj b/Src/Generated/Google.Apis.AIPlatformNotebooks.v2/Google.Apis.AIPlatformNotebooks.v2.csproj index 47720fc597a..8458dc7d964 100644 --- a/Src/Generated/Google.Apis.AIPlatformNotebooks.v2/Google.Apis.AIPlatformNotebooks.v2.csproj +++ b/Src/Generated/Google.Apis.AIPlatformNotebooks.v2/Google.Apis.AIPlatformNotebooks.v2.csproj @@ -3,7 +3,7 @@ Google.Apis.AIPlatformNotebooks.v2 Client Library - 1.72.0.3941 + 1.72.0.3954 Google LLC Copyright 2025 Google LLC Google From 5d123c10f32247b02616fa43570f6614c24e2c2e Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:43:16 +0000 Subject: [PATCH 52/65] feat: Generate Google.Apis.OSConfig.v1 version 1.72.0.3955 --- DiscoveryJson/osconfig.v1.json | 19 ++++++++++++++++--- .../Google.Apis.OSConfig.v1.cs | 16 ++++++++++++++++ .../Google.Apis.OSConfig.v1.csproj | 6 +++--- 3 files changed, 35 insertions(+), 6 deletions(-) diff --git a/DiscoveryJson/osconfig.v1.json b/DiscoveryJson/osconfig.v1.json index 451d14acf99..3deb2ed9b51 100644 --- a/DiscoveryJson/osconfig.v1.json +++ b/DiscoveryJson/osconfig.v1.json @@ -1083,7 +1083,7 @@ } } }, - "revision": "20250727", + "revision": "20251030", "rootUrl": "https://osconfig.googleapis.com/", "schemas": { "AptSettings": { @@ -3061,6 +3061,10 @@ ], "type": "string" }, + "skipUnpatchableVms": { + "description": "Optional. Enables enhanced reporting for the patch job: 1. Allows the patch job to skip unpatchable instances, reporting them as SKIPPED. An instance can be unpatchable for two reasons: a. The instance runs Container-Optimized OS (COS), which cannot be patched. b. The patch job's configuration prohibits patching on Managed Instance Groups (MIGs) through the PatchConfig.migInstancesAllowed field, and the instance is part of one. 2. The system reports the patch job as SUCCEEDED if it completes without errors, regardless of whether any instances were SKIPPED. 3. The system reports the patch job as COMPLETED_WITH_INACTIVE_VMS if it completes without errors, but some instances were INACTIVE and therefore not patched.", + "type": "boolean" + }, "windowsUpdate": { "$ref": "WindowsUpdateSettings", "description": "Windows update settings. Use this override the default windows patch rules." @@ -3270,6 +3274,7 @@ "INSTANCE_LOOKUP", "PATCHING", "SUCCEEDED", + "COMPLETED_WITH_INACTIVE_VMS", "COMPLETED_WITH_ERRORS", "CANCELED", "TIMED_OUT" @@ -3280,6 +3285,7 @@ "The patch job is looking up instances to run the patch on.", "Instances are being patched.", "Patch job completed successfully.", + "The patch job completed without errors, but some instances were inactive and therefore not patched.", "Patch job completed but there were errors.", "The patch job was canceled.", "The patch job timed out." @@ -3333,7 +3339,8 @@ "TIMED_OUT", "RUNNING_PRE_PATCH_STEP", "RUNNING_POST_PATCH_STEP", - "NO_AGENT_DETECTED" + "NO_AGENT_DETECTED", + "SKIPPED" ], "enumDescriptions": [ "Unspecified.", @@ -3351,7 +3358,8 @@ "The instance exceeded the time out while applying the patch.", "The instance is running the pre-patch step.", "The instance is running the post-patch step.", - "The service could not detect the presence of the agent. Check to ensure that the agent is installed, running, and able to communicate with the service." + "The service could not detect the presence of the agent. Check to ensure that the agent is installed, running, and able to communicate with the service.", + "The instance was skipped during patching due to one of two reasons: 1. The instance runs Container-Optimized OS (COS), which cannot be patched. 2. The patch job's configuration prohibits patching on Managed Instance Groups (MIGs), and the instance is part of one." ], "type": "string" } @@ -3417,6 +3425,11 @@ "format": "int64", "type": "string" }, + "skippedInstanceCount": { + "description": "Number of instances that were skipped during patching.", + "format": "int64", + "type": "string" + }, "startedInstanceCount": { "description": "Number of instances that have started.", "format": "int64", diff --git a/Src/Generated/Google.Apis.OSConfig.v1/Google.Apis.OSConfig.v1.cs b/Src/Generated/Google.Apis.OSConfig.v1/Google.Apis.OSConfig.v1.cs index 9eb7210504c..f3f965b5cd9 100644 --- a/Src/Generated/Google.Apis.OSConfig.v1/Google.Apis.OSConfig.v1.cs +++ b/Src/Generated/Google.Apis.OSConfig.v1/Google.Apis.OSConfig.v1.cs @@ -5059,6 +5059,18 @@ public class PatchConfig : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("rebootConfig")] public virtual string RebootConfig { get; set; } + /// + /// Optional. Enables enhanced reporting for the patch job: 1. Allows the patch job to skip unpatchable + /// instances, reporting them as SKIPPED. An instance can be unpatchable for two reasons: a. The instance runs + /// Container-Optimized OS (COS), which cannot be patched. b. The patch job's configuration prohibits patching + /// on Managed Instance Groups (MIGs) through the PatchConfig.migInstancesAllowed field, and the instance is + /// part of one. 2. The system reports the patch job as SUCCEEDED if it completes without errors, regardless of + /// whether any instances were SKIPPED. 3. The system reports the patch job as COMPLETED_WITH_INACTIVE_VMS if it + /// completes without errors, but some instances were INACTIVE and therefore not patched. + /// + [Newtonsoft.Json.JsonPropertyAttribute("skipUnpatchableVms")] + public virtual System.Nullable SkipUnpatchableVms { get; set; } + /// Windows update settings. Use this override the default windows patch rules. [Newtonsoft.Json.JsonPropertyAttribute("windowsUpdate")] public virtual WindowsUpdateSettings WindowsUpdate { get; set; } @@ -5541,6 +5553,10 @@ public class PatchJobInstanceDetailsSummary : Google.Apis.Requests.IDirectRespon [Newtonsoft.Json.JsonPropertyAttribute("rebootingInstanceCount")] public virtual System.Nullable RebootingInstanceCount { get; set; } + /// Number of instances that were skipped during patching. + [Newtonsoft.Json.JsonPropertyAttribute("skippedInstanceCount")] + public virtual System.Nullable SkippedInstanceCount { get; set; } + /// Number of instances that have started. [Newtonsoft.Json.JsonPropertyAttribute("startedInstanceCount")] public virtual System.Nullable StartedInstanceCount { get; set; } diff --git a/Src/Generated/Google.Apis.OSConfig.v1/Google.Apis.OSConfig.v1.csproj b/Src/Generated/Google.Apis.OSConfig.v1/Google.Apis.OSConfig.v1.csproj index 47b71075e35..216e802045f 100644 --- a/Src/Generated/Google.Apis.OSConfig.v1/Google.Apis.OSConfig.v1.csproj +++ b/Src/Generated/Google.Apis.OSConfig.v1/Google.Apis.OSConfig.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.OSConfig.v1 Client Library - 1.70.0.3860 + 1.72.0.3955 Google LLC Copyright 2025 Google LLC Google @@ -60,8 +60,8 @@ - - + + From 055705c68174da0584d796392d374c812ef9bd76 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:43:18 +0000 Subject: [PATCH 53/65] feat: Generate Google.Apis.OSConfig.v1beta version 1.72.0.3955 --- DiscoveryJson/osconfig.v1beta.json | 19 ++++++++++++++++--- .../Google.Apis.OSConfig.v1beta.cs | 16 ++++++++++++++++ .../Google.Apis.OSConfig.v1beta.csproj | 6 +++--- 3 files changed, 35 insertions(+), 6 deletions(-) diff --git a/DiscoveryJson/osconfig.v1beta.json b/DiscoveryJson/osconfig.v1beta.json index 91e74eadf8b..89703030cb2 100644 --- a/DiscoveryJson/osconfig.v1beta.json +++ b/DiscoveryJson/osconfig.v1beta.json @@ -689,7 +689,7 @@ } } }, - "revision": "20250511", + "revision": "20251030", "rootUrl": "https://osconfig.googleapis.com/", "schemas": { "AptRepository": { @@ -1565,6 +1565,10 @@ ], "type": "string" }, + "skipUnpatchableVms": { + "description": "Optional. Enables enhanced reporting for the patch job: 1. Allows the patch job to skip unpatchable instances, reporting them as SKIPPED. An instance can be unpatchable for two reasons: a. The instance runs Container-Optimized OS (COS), which cannot be patched. b. The patch job's configuration prohibits patching on Managed Instance Groups (MIGs) through the PatchConfig.migInstancesAllowed field, and the instance is part of one. 2. The system reports the patch job as SUCCEEDED if it completes without errors, regardless of whether any instances were SKIPPED. 3. The system reports the patch job as COMPLETED_WITH_INACTIVE_VMS if it completes without errors, but some instances were INACTIVE and therefore not patched.", + "type": "boolean" + }, "windowsUpdate": { "$ref": "WindowsUpdateSettings", "description": "Windows update settings. Use this override the default windows patch rules." @@ -1774,6 +1778,7 @@ "INSTANCE_LOOKUP", "PATCHING", "SUCCEEDED", + "COMPLETED_WITH_INACTIVE_VMS", "COMPLETED_WITH_ERRORS", "CANCELED", "TIMED_OUT" @@ -1784,6 +1789,7 @@ "The patch job is looking up instances to run the patch on.", "Instances are being patched.", "Patch job completed successfully.", + "The patch job completed without errors, but some instances were inactive and therefore not patched.", "Patch job completed but there were errors.", "The patch job was canceled.", "The patch job timed out." @@ -1837,7 +1843,8 @@ "TIMED_OUT", "RUNNING_PRE_PATCH_STEP", "RUNNING_POST_PATCH_STEP", - "NO_AGENT_DETECTED" + "NO_AGENT_DETECTED", + "SKIPPED" ], "enumDescriptions": [ "Unspecified.", @@ -1855,7 +1862,8 @@ "The instance exceeded the time out while applying the patch.", "The instance is running the pre-patch step.", "The instance is running the post-patch step.", - "The service could not detect the presence of the agent. Check to ensure that the agent is installed, running, and able to communicate with the service." + "The service could not detect the presence of the agent. Check to ensure that the agent is installed, running, and able to communicate with the service.", + "The instance was skipped during patching due to one of two reasons: 1. The instance runs Container-Optimized OS (COS), which cannot be patched. 2. The patch job's configuration prohibits patching on Managed Instance Groups (MIGs), and the instance is part of one." ], "type": "string" } @@ -1921,6 +1929,11 @@ "format": "int64", "type": "string" }, + "skippedInstanceCount": { + "description": "Number of instances that were skipped during patching.", + "format": "int64", + "type": "string" + }, "startedInstanceCount": { "description": "Number of instances that have started.", "format": "int64", diff --git a/Src/Generated/Google.Apis.OSConfig.v1beta/Google.Apis.OSConfig.v1beta.cs b/Src/Generated/Google.Apis.OSConfig.v1beta/Google.Apis.OSConfig.v1beta.cs index bd73f1af3e4..baaa8f5efe2 100644 --- a/Src/Generated/Google.Apis.OSConfig.v1beta/Google.Apis.OSConfig.v1beta.cs +++ b/Src/Generated/Google.Apis.OSConfig.v1beta/Google.Apis.OSConfig.v1beta.cs @@ -2743,6 +2743,18 @@ public class PatchConfig : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("rebootConfig")] public virtual string RebootConfig { get; set; } + /// + /// Optional. Enables enhanced reporting for the patch job: 1. Allows the patch job to skip unpatchable + /// instances, reporting them as SKIPPED. An instance can be unpatchable for two reasons: a. The instance runs + /// Container-Optimized OS (COS), which cannot be patched. b. The patch job's configuration prohibits patching + /// on Managed Instance Groups (MIGs) through the PatchConfig.migInstancesAllowed field, and the instance is + /// part of one. 2. The system reports the patch job as SUCCEEDED if it completes without errors, regardless of + /// whether any instances were SKIPPED. 3. The system reports the patch job as COMPLETED_WITH_INACTIVE_VMS if it + /// completes without errors, but some instances were INACTIVE and therefore not patched. + /// + [Newtonsoft.Json.JsonPropertyAttribute("skipUnpatchableVms")] + public virtual System.Nullable SkipUnpatchableVms { get; set; } + /// Windows update settings. Use this override the default windows patch rules. [Newtonsoft.Json.JsonPropertyAttribute("windowsUpdate")] public virtual WindowsUpdateSettings WindowsUpdate { get; set; } @@ -3221,6 +3233,10 @@ public class PatchJobInstanceDetailsSummary : Google.Apis.Requests.IDirectRespon [Newtonsoft.Json.JsonPropertyAttribute("rebootingInstanceCount")] public virtual System.Nullable RebootingInstanceCount { get; set; } + /// Number of instances that were skipped during patching. + [Newtonsoft.Json.JsonPropertyAttribute("skippedInstanceCount")] + public virtual System.Nullable SkippedInstanceCount { get; set; } + /// Number of instances that have started. [Newtonsoft.Json.JsonPropertyAttribute("startedInstanceCount")] public virtual System.Nullable StartedInstanceCount { get; set; } diff --git a/Src/Generated/Google.Apis.OSConfig.v1beta/Google.Apis.OSConfig.v1beta.csproj b/Src/Generated/Google.Apis.OSConfig.v1beta/Google.Apis.OSConfig.v1beta.csproj index 955c4574de3..6d73a7bac5a 100644 --- a/Src/Generated/Google.Apis.OSConfig.v1beta/Google.Apis.OSConfig.v1beta.csproj +++ b/Src/Generated/Google.Apis.OSConfig.v1beta/Google.Apis.OSConfig.v1beta.csproj @@ -3,7 +3,7 @@ Google.Apis.OSConfig.v1beta Client Library - 1.69.0.3783 + 1.72.0.3955 Google LLC Copyright 2025 Google LLC Google @@ -59,8 +59,8 @@ - - + + From 4e3634e4f6873d8b5d062350128e7e9d693c9b44 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:43:20 +0000 Subject: [PATCH 54/65] feat: Generate Google.Apis.CloudRedis.v1 version 1.72.0.3960 --- DiscoveryJson/redis.v1.json | 8 ++++++-- .../Google.Apis.CloudRedis.v1.cs | 6 +++++- .../Google.Apis.CloudRedis.v1.csproj | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/redis.v1.json b/DiscoveryJson/redis.v1.json index ec0506a6e28..f7d6b405a0a 100644 --- a/DiscoveryJson/redis.v1.json +++ b/DiscoveryJson/redis.v1.json @@ -1078,7 +1078,7 @@ } } }, - "revision": "20251021", + "revision": "20251104", "rootUrl": "https://redis.googleapis.com/", "schemas": { "AOFConfig": { @@ -2608,7 +2608,7 @@ "type": "object" }, "DatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 29", + "description": "Common model for database resource instance metadata. Next ID: 30", "id": "DatabaseResourceMetadata", "properties": { "availabilityConfiguration": { @@ -2751,6 +2751,10 @@ ], "type": "string" }, + "isDeletionProtectionEnabled": { + "description": "Optional. Whether deletion protection is enabled for this resource.", + "type": "boolean" + }, "location": { "description": "The resource location. REQUIRED", "type": "string" diff --git a/Src/Generated/Google.Apis.CloudRedis.v1/Google.Apis.CloudRedis.v1.cs b/Src/Generated/Google.Apis.CloudRedis.v1/Google.Apis.CloudRedis.v1.cs index 499e7ce5ce5..5f5c308eee9 100644 --- a/Src/Generated/Google.Apis.CloudRedis.v1/Google.Apis.CloudRedis.v1.cs +++ b/Src/Generated/Google.Apis.CloudRedis.v1/Google.Apis.CloudRedis.v1.cs @@ -4103,7 +4103,7 @@ public class DatabaseResourceId : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } - /// Common model for database resource instance metadata. Next ID: 29 + /// Common model for database resource instance metadata. Next ID: 30 public class DatabaseResourceMetadata : Google.Apis.Requests.IDirectResponseSchema { /// Availability configuration for this instance @@ -4199,6 +4199,10 @@ public virtual System.DateTimeOffset? CreationTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("instanceType")] public virtual string InstanceType { get; set; } + /// Optional. Whether deletion protection is enabled for this resource. + [Newtonsoft.Json.JsonPropertyAttribute("isDeletionProtectionEnabled")] + public virtual System.Nullable IsDeletionProtectionEnabled { get; set; } + /// The resource location. REQUIRED [Newtonsoft.Json.JsonPropertyAttribute("location")] public virtual string Location { get; set; } diff --git a/Src/Generated/Google.Apis.CloudRedis.v1/Google.Apis.CloudRedis.v1.csproj b/Src/Generated/Google.Apis.CloudRedis.v1/Google.Apis.CloudRedis.v1.csproj index 8f1c3aded26..5ae06e5d479 100644 --- a/Src/Generated/Google.Apis.CloudRedis.v1/Google.Apis.CloudRedis.v1.csproj +++ b/Src/Generated/Google.Apis.CloudRedis.v1/Google.Apis.CloudRedis.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudRedis.v1 Client Library - 1.72.0.3946 + 1.72.0.3960 Google LLC Copyright 2025 Google LLC Google From 3cb808674494fb3d4af3585d881ad85a3f7e830a Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:43:22 +0000 Subject: [PATCH 55/65] feat: Generate Google.Apis.CloudRedis.v1beta1 version 1.72.0.3960 --- DiscoveryJson/redis.v1beta1.json | 8 ++++++-- .../Google.Apis.CloudRedis.v1beta1.cs | 6 +++++- .../Google.Apis.CloudRedis.v1beta1.csproj | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/redis.v1beta1.json b/DiscoveryJson/redis.v1beta1.json index f1e993b90c9..0c35d160c6e 100644 --- a/DiscoveryJson/redis.v1beta1.json +++ b/DiscoveryJson/redis.v1beta1.json @@ -1078,7 +1078,7 @@ } } }, - "revision": "20251021", + "revision": "20251104", "rootUrl": "https://redis.googleapis.com/", "schemas": { "AOFConfig": { @@ -2608,7 +2608,7 @@ "type": "object" }, "DatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 29", + "description": "Common model for database resource instance metadata. Next ID: 30", "id": "DatabaseResourceMetadata", "properties": { "availabilityConfiguration": { @@ -2751,6 +2751,10 @@ ], "type": "string" }, + "isDeletionProtectionEnabled": { + "description": "Optional. Whether deletion protection is enabled for this resource.", + "type": "boolean" + }, "location": { "description": "The resource location. REQUIRED", "type": "string" diff --git a/Src/Generated/Google.Apis.CloudRedis.v1beta1/Google.Apis.CloudRedis.v1beta1.cs b/Src/Generated/Google.Apis.CloudRedis.v1beta1/Google.Apis.CloudRedis.v1beta1.cs index fb180565404..5adf5faca87 100644 --- a/Src/Generated/Google.Apis.CloudRedis.v1beta1/Google.Apis.CloudRedis.v1beta1.cs +++ b/Src/Generated/Google.Apis.CloudRedis.v1beta1/Google.Apis.CloudRedis.v1beta1.cs @@ -4103,7 +4103,7 @@ public class DatabaseResourceId : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } - /// Common model for database resource instance metadata. Next ID: 29 + /// Common model for database resource instance metadata. Next ID: 30 public class DatabaseResourceMetadata : Google.Apis.Requests.IDirectResponseSchema { /// Availability configuration for this instance @@ -4199,6 +4199,10 @@ public virtual System.DateTimeOffset? CreationTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("instanceType")] public virtual string InstanceType { get; set; } + /// Optional. Whether deletion protection is enabled for this resource. + [Newtonsoft.Json.JsonPropertyAttribute("isDeletionProtectionEnabled")] + public virtual System.Nullable IsDeletionProtectionEnabled { get; set; } + /// The resource location. REQUIRED [Newtonsoft.Json.JsonPropertyAttribute("location")] public virtual string Location { get; set; } diff --git a/Src/Generated/Google.Apis.CloudRedis.v1beta1/Google.Apis.CloudRedis.v1beta1.csproj b/Src/Generated/Google.Apis.CloudRedis.v1beta1/Google.Apis.CloudRedis.v1beta1.csproj index 447ff529990..cd31afa1180 100644 --- a/Src/Generated/Google.Apis.CloudRedis.v1beta1/Google.Apis.CloudRedis.v1beta1.csproj +++ b/Src/Generated/Google.Apis.CloudRedis.v1beta1/Google.Apis.CloudRedis.v1beta1.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudRedis.v1beta1 Client Library - 1.72.0.3946 + 1.72.0.3960 Google LLC Copyright 2025 Google LLC Google From f1ca1401c15f6ac1234d73ad92a1612559e543f3 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:43:24 +0000 Subject: [PATCH 56/65] feat: Generate Google.Apis.CloudRun.v1 version 1.72.0.3956 --- DiscoveryJson/run.v1.json | 252 +++++++++++++++++- .../Google.Apis.CloudRun.v1.cs | 20 ++ .../Google.Apis.CloudRun.v1.csproj | 2 +- 3 files changed, 272 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/run.v1.json b/DiscoveryJson/run.v1.json index d8629ad6db6..064f97d88c7 100644 --- a/DiscoveryJson/run.v1.json +++ b/DiscoveryJson/run.v1.json @@ -240,6 +240,231 @@ "description": "Locational Endpoint", "endpointUrl": "https://us-west8-run.googleapis.com/", "location": "us-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.africa-south1.rep.googleapis.com/", + "location": "africa-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.asia-east1.rep.googleapis.com/", + "location": "asia-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.asia-east2.rep.googleapis.com/", + "location": "asia-east2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.asia-northeast2.rep.googleapis.com/", + "location": "asia-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.asia-northeast3.rep.googleapis.com/", + "location": "asia-northeast3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.asia-south2.rep.googleapis.com/", + "location": "asia-south2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.asia-southeast1.rep.googleapis.com/", + "location": "asia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.asia-southeast2.rep.googleapis.com/", + "location": "asia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.australia-southeast1.rep.googleapis.com/", + "location": "australia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.australia-southeast2.rep.googleapis.com/", + "location": "australia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-central2.rep.googleapis.com/", + "location": "europe-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-north1.rep.googleapis.com/", + "location": "europe-north1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-north2.rep.googleapis.com/", + "location": "europe-north2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-southwest1.rep.googleapis.com/", + "location": "europe-southwest1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-west1.rep.googleapis.com/", + "location": "europe-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-west10.rep.googleapis.com/", + "location": "europe-west10" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-west12.rep.googleapis.com/", + "location": "europe-west12" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-west3.rep.googleapis.com/", + "location": "europe-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-west4.rep.googleapis.com/", + "location": "europe-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-west6.rep.googleapis.com/", + "location": "europe-west6" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-west8.rep.googleapis.com/", + "location": "europe-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-west9.rep.googleapis.com/", + "location": "europe-west9" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.me-central1.rep.googleapis.com/", + "location": "me-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.me-central2.rep.googleapis.com/", + "location": "me-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.me-west1.rep.googleapis.com/", + "location": "me-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.northamerica-northeast1.rep.googleapis.com/", + "location": "northamerica-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.northamerica-northeast2.rep.googleapis.com/", + "location": "northamerica-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.northamerica-south1.rep.googleapis.com/", + "location": "northamerica-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.southamerica-east1.rep.googleapis.com/", + "location": "southamerica-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.southamerica-west1.rep.googleapis.com/", + "location": "southamerica-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.us-central2.rep.googleapis.com/", + "location": "us-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.us-east4.rep.googleapis.com/", + "location": "us-east4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.us-east5.rep.googleapis.com/", + "location": "us-east5" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.us-east7.rep.googleapis.com/", + "location": "us-east7" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.us-south1.rep.googleapis.com/", + "location": "us-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.us-west1.rep.googleapis.com/", + "location": "us-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.us-west2.rep.googleapis.com/", + "location": "us-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.us-west3.rep.googleapis.com/", + "location": "us-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.us-west4.rep.googleapis.com/", + "location": "us-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.us-west8.rep.googleapis.com/", + "location": "us-west8" } ], "fullyEncodeReservedExpansion": true, @@ -2907,7 +3132,7 @@ } } }, - "revision": "20251024", + "revision": "20251031", "rootUrl": "https://run.googleapis.com/", "schemas": { "Addressable": { @@ -4415,6 +4640,11 @@ "description": "An image built by the pipeline.", "id": "GoogleDevtoolsCloudbuildV1BuiltImage", "properties": { + "artifactRegistryPackage": { + "description": "Output only. Path to the artifact in Artifact Registry.", + "readOnly": true, + "type": "string" + }, "digest": { "description": "Docker Registry 2.0 digest.", "type": "string" @@ -5076,6 +5306,11 @@ "description": "A Go module artifact uploaded to Artifact Registry using the GoModule directive.", "id": "GoogleDevtoolsCloudbuildV1UploadedGoModule", "properties": { + "artifactRegistryPackage": { + "description": "Output only. Path to the artifact in Artifact Registry.", + "readOnly": true, + "type": "string" + }, "fileHashes": { "$ref": "GoogleDevtoolsCloudbuildV1FileHashes", "description": "Hash types and values of the Go Module Artifact." @@ -5096,6 +5331,11 @@ "description": "A Maven artifact uploaded using the MavenArtifact directive.", "id": "GoogleDevtoolsCloudbuildV1UploadedMavenArtifact", "properties": { + "artifactRegistryPackage": { + "description": "Output only. Path to the artifact in Artifact Registry.", + "readOnly": true, + "type": "string" + }, "fileHashes": { "$ref": "GoogleDevtoolsCloudbuildV1FileHashes", "description": "Hash types and values of the Maven Artifact." @@ -5116,6 +5356,11 @@ "description": "An npm package uploaded to Artifact Registry using the NpmPackage directive.", "id": "GoogleDevtoolsCloudbuildV1UploadedNpmPackage", "properties": { + "artifactRegistryPackage": { + "description": "Output only. Path to the artifact in Artifact Registry.", + "readOnly": true, + "type": "string" + }, "fileHashes": { "$ref": "GoogleDevtoolsCloudbuildV1FileHashes", "description": "Hash types and values of the npm package." @@ -5136,6 +5381,11 @@ "description": "Artifact uploaded using the PythonPackage directive.", "id": "GoogleDevtoolsCloudbuildV1UploadedPythonPackage", "properties": { + "artifactRegistryPackage": { + "description": "Output only. Path to the artifact in Artifact Registry.", + "readOnly": true, + "type": "string" + }, "fileHashes": { "$ref": "GoogleDevtoolsCloudbuildV1FileHashes", "description": "Hash types and values of the Python Artifact." diff --git a/Src/Generated/Google.Apis.CloudRun.v1/Google.Apis.CloudRun.v1.cs b/Src/Generated/Google.Apis.CloudRun.v1/Google.Apis.CloudRun.v1.cs index 67f1950bcc6..2a246ed34c2 100644 --- a/Src/Generated/Google.Apis.CloudRun.v1/Google.Apis.CloudRun.v1.cs +++ b/Src/Generated/Google.Apis.CloudRun.v1/Google.Apis.CloudRun.v1.cs @@ -8411,6 +8411,10 @@ public class GoogleDevtoolsCloudbuildV1BuildStep : Google.Apis.Requests.IDirectR /// An image built by the pipeline. public class GoogleDevtoolsCloudbuildV1BuiltImage : Google.Apis.Requests.IDirectResponseSchema { + /// Output only. Path to the artifact in Artifact Registry. + [Newtonsoft.Json.JsonPropertyAttribute("artifactRegistryPackage")] + public virtual string ArtifactRegistryPackage { get; set; } + /// Docker Registry 2.0 digest. [Newtonsoft.Json.JsonPropertyAttribute("digest")] public virtual string Digest { get; set; } @@ -9206,6 +9210,10 @@ public virtual System.DateTimeOffset? StartTimeDateTimeOffset /// A Go module artifact uploaded to Artifact Registry using the GoModule directive. public class GoogleDevtoolsCloudbuildV1UploadedGoModule : Google.Apis.Requests.IDirectResponseSchema { + /// Output only. Path to the artifact in Artifact Registry. + [Newtonsoft.Json.JsonPropertyAttribute("artifactRegistryPackage")] + public virtual string ArtifactRegistryPackage { get; set; } + /// Hash types and values of the Go Module Artifact. [Newtonsoft.Json.JsonPropertyAttribute("fileHashes")] public virtual GoogleDevtoolsCloudbuildV1FileHashes FileHashes { get; set; } @@ -9225,6 +9233,10 @@ public class GoogleDevtoolsCloudbuildV1UploadedGoModule : Google.Apis.Requests.I /// A Maven artifact uploaded using the MavenArtifact directive. public class GoogleDevtoolsCloudbuildV1UploadedMavenArtifact : Google.Apis.Requests.IDirectResponseSchema { + /// Output only. Path to the artifact in Artifact Registry. + [Newtonsoft.Json.JsonPropertyAttribute("artifactRegistryPackage")] + public virtual string ArtifactRegistryPackage { get; set; } + /// Hash types and values of the Maven Artifact. [Newtonsoft.Json.JsonPropertyAttribute("fileHashes")] public virtual GoogleDevtoolsCloudbuildV1FileHashes FileHashes { get; set; } @@ -9244,6 +9256,10 @@ public class GoogleDevtoolsCloudbuildV1UploadedMavenArtifact : Google.Apis.Reque /// An npm package uploaded to Artifact Registry using the NpmPackage directive. public class GoogleDevtoolsCloudbuildV1UploadedNpmPackage : Google.Apis.Requests.IDirectResponseSchema { + /// Output only. Path to the artifact in Artifact Registry. + [Newtonsoft.Json.JsonPropertyAttribute("artifactRegistryPackage")] + public virtual string ArtifactRegistryPackage { get; set; } + /// Hash types and values of the npm package. [Newtonsoft.Json.JsonPropertyAttribute("fileHashes")] public virtual GoogleDevtoolsCloudbuildV1FileHashes FileHashes { get; set; } @@ -9263,6 +9279,10 @@ public class GoogleDevtoolsCloudbuildV1UploadedNpmPackage : Google.Apis.Requests /// Artifact uploaded using the PythonPackage directive. public class GoogleDevtoolsCloudbuildV1UploadedPythonPackage : Google.Apis.Requests.IDirectResponseSchema { + /// Output only. Path to the artifact in Artifact Registry. + [Newtonsoft.Json.JsonPropertyAttribute("artifactRegistryPackage")] + public virtual string ArtifactRegistryPackage { get; set; } + /// Hash types and values of the Python Artifact. [Newtonsoft.Json.JsonPropertyAttribute("fileHashes")] public virtual GoogleDevtoolsCloudbuildV1FileHashes FileHashes { get; set; } diff --git a/Src/Generated/Google.Apis.CloudRun.v1/Google.Apis.CloudRun.v1.csproj b/Src/Generated/Google.Apis.CloudRun.v1/Google.Apis.CloudRun.v1.csproj index 439be1b68d4..faed213f4d2 100644 --- a/Src/Generated/Google.Apis.CloudRun.v1/Google.Apis.CloudRun.v1.csproj +++ b/Src/Generated/Google.Apis.CloudRun.v1/Google.Apis.CloudRun.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudRun.v1 Client Library - 1.72.0.3949 + 1.72.0.3956 Google LLC Copyright 2025 Google LLC Google From 745e442614bd85a619671b9eab82696317fae32a Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:43:26 +0000 Subject: [PATCH 57/65] feat: Generate Google.Apis.CloudRun.v2 version 1.72.0.3956 --- DiscoveryJson/run.v2.json | 287 +++++++++++++++++- .../Google.Apis.CloudRun.v2.cs | 54 ++++ .../Google.Apis.CloudRun.v2.csproj | 2 +- 3 files changed, 341 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/run.v2.json b/DiscoveryJson/run.v2.json index 8123cfa271b..54cc7b8def2 100644 --- a/DiscoveryJson/run.v2.json +++ b/DiscoveryJson/run.v2.json @@ -240,6 +240,231 @@ "description": "Locational Endpoint", "endpointUrl": "https://us-west8-run.googleapis.com/", "location": "us-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.africa-south1.rep.googleapis.com/", + "location": "africa-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.asia-east1.rep.googleapis.com/", + "location": "asia-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.asia-east2.rep.googleapis.com/", + "location": "asia-east2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.asia-northeast2.rep.googleapis.com/", + "location": "asia-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.asia-northeast3.rep.googleapis.com/", + "location": "asia-northeast3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.asia-south2.rep.googleapis.com/", + "location": "asia-south2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.asia-southeast1.rep.googleapis.com/", + "location": "asia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.asia-southeast2.rep.googleapis.com/", + "location": "asia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.australia-southeast1.rep.googleapis.com/", + "location": "australia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.australia-southeast2.rep.googleapis.com/", + "location": "australia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-central2.rep.googleapis.com/", + "location": "europe-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-north1.rep.googleapis.com/", + "location": "europe-north1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-north2.rep.googleapis.com/", + "location": "europe-north2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-southwest1.rep.googleapis.com/", + "location": "europe-southwest1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-west1.rep.googleapis.com/", + "location": "europe-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-west10.rep.googleapis.com/", + "location": "europe-west10" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-west12.rep.googleapis.com/", + "location": "europe-west12" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-west3.rep.googleapis.com/", + "location": "europe-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-west4.rep.googleapis.com/", + "location": "europe-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-west6.rep.googleapis.com/", + "location": "europe-west6" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-west8.rep.googleapis.com/", + "location": "europe-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.europe-west9.rep.googleapis.com/", + "location": "europe-west9" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.me-central1.rep.googleapis.com/", + "location": "me-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.me-central2.rep.googleapis.com/", + "location": "me-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.me-west1.rep.googleapis.com/", + "location": "me-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.northamerica-northeast1.rep.googleapis.com/", + "location": "northamerica-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.northamerica-northeast2.rep.googleapis.com/", + "location": "northamerica-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.northamerica-south1.rep.googleapis.com/", + "location": "northamerica-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.southamerica-east1.rep.googleapis.com/", + "location": "southamerica-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.southamerica-west1.rep.googleapis.com/", + "location": "southamerica-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.us-central2.rep.googleapis.com/", + "location": "us-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.us-east4.rep.googleapis.com/", + "location": "us-east4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.us-east5.rep.googleapis.com/", + "location": "us-east5" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.us-east7.rep.googleapis.com/", + "location": "us-east7" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.us-south1.rep.googleapis.com/", + "location": "us-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.us-west1.rep.googleapis.com/", + "location": "us-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.us-west2.rep.googleapis.com/", + "location": "us-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.us-west3.rep.googleapis.com/", + "location": "us-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.us-west4.rep.googleapis.com/", + "location": "us-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://run.us-west8.rep.googleapis.com/", + "location": "us-west8" } ], "fullyEncodeReservedExpansion": true, @@ -1942,7 +2167,7 @@ } } }, - "revision": "20251024", + "revision": "20251031", "rootUrl": "https://run.googleapis.com/", "schemas": { "GoogleCloudRunV2BinaryAuthorization": { @@ -2096,6 +2321,26 @@ }, "type": "object" }, + "GoogleCloudRunV2CloudStorageSource": { + "description": "Cloud Storage source.", + "id": "GoogleCloudRunV2CloudStorageSource", + "properties": { + "bucket": { + "description": "Required. The Cloud Storage bucket name.", + "type": "string" + }, + "generation": { + "description": "Optional. The Cloud Storage object generation.", + "format": "int64", + "type": "string" + }, + "object": { + "description": "Required. The Cloud Storage object name.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRunV2Condition": { "description": "Defines a status condition for a resource.", "id": "GoogleCloudRunV2Condition", @@ -2311,6 +2556,10 @@ "$ref": "GoogleCloudRunV2ResourceRequirements", "description": "Compute Resource requirements by this container." }, + "sourceCode": { + "$ref": "GoogleCloudRunV2SourceCode", + "description": "Optional. Location of the source." + }, "startupProbe": { "$ref": "GoogleCloudRunV2Probe", "description": "Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails." @@ -4081,6 +4330,17 @@ }, "type": "object" }, + "GoogleCloudRunV2SourceCode": { + "description": "Source type for the container.", + "id": "GoogleCloudRunV2SourceCode", + "properties": { + "cloudStorageSource": { + "$ref": "GoogleCloudRunV2CloudStorageSource", + "description": "The source is a Cloud Storage bucket." + } + }, + "type": "object" + }, "GoogleCloudRunV2StorageSource": { "description": "Location of the source in an archive file in Google Cloud Storage.", "id": "GoogleCloudRunV2StorageSource", @@ -5632,6 +5892,11 @@ "description": "An image built by the pipeline.", "id": "GoogleDevtoolsCloudbuildV1BuiltImage", "properties": { + "artifactRegistryPackage": { + "description": "Output only. Path to the artifact in Artifact Registry.", + "readOnly": true, + "type": "string" + }, "digest": { "description": "Docker Registry 2.0 digest.", "type": "string" @@ -6293,6 +6558,11 @@ "description": "A Go module artifact uploaded to Artifact Registry using the GoModule directive.", "id": "GoogleDevtoolsCloudbuildV1UploadedGoModule", "properties": { + "artifactRegistryPackage": { + "description": "Output only. Path to the artifact in Artifact Registry.", + "readOnly": true, + "type": "string" + }, "fileHashes": { "$ref": "GoogleDevtoolsCloudbuildV1FileHashes", "description": "Hash types and values of the Go Module Artifact." @@ -6313,6 +6583,11 @@ "description": "A Maven artifact uploaded using the MavenArtifact directive.", "id": "GoogleDevtoolsCloudbuildV1UploadedMavenArtifact", "properties": { + "artifactRegistryPackage": { + "description": "Output only. Path to the artifact in Artifact Registry.", + "readOnly": true, + "type": "string" + }, "fileHashes": { "$ref": "GoogleDevtoolsCloudbuildV1FileHashes", "description": "Hash types and values of the Maven Artifact." @@ -6333,6 +6608,11 @@ "description": "An npm package uploaded to Artifact Registry using the NpmPackage directive.", "id": "GoogleDevtoolsCloudbuildV1UploadedNpmPackage", "properties": { + "artifactRegistryPackage": { + "description": "Output only. Path to the artifact in Artifact Registry.", + "readOnly": true, + "type": "string" + }, "fileHashes": { "$ref": "GoogleDevtoolsCloudbuildV1FileHashes", "description": "Hash types and values of the npm package." @@ -6353,6 +6633,11 @@ "description": "Artifact uploaded using the PythonPackage directive.", "id": "GoogleDevtoolsCloudbuildV1UploadedPythonPackage", "properties": { + "artifactRegistryPackage": { + "description": "Output only. Path to the artifact in Artifact Registry.", + "readOnly": true, + "type": "string" + }, "fileHashes": { "$ref": "GoogleDevtoolsCloudbuildV1FileHashes", "description": "Hash types and values of the Python Artifact." diff --git a/Src/Generated/Google.Apis.CloudRun.v2/Google.Apis.CloudRun.v2.cs b/Src/Generated/Google.Apis.CloudRun.v2/Google.Apis.CloudRun.v2.cs index 62be1410f58..e25d1e4cbc6 100644 --- a/Src/Generated/Google.Apis.CloudRun.v2/Google.Apis.CloudRun.v2.cs +++ b/Src/Generated/Google.Apis.CloudRun.v2/Google.Apis.CloudRun.v2.cs @@ -4232,6 +4232,25 @@ public class GoogleCloudRunV2CloudSqlInstance : Google.Apis.Requests.IDirectResp public virtual string ETag { get; set; } } + /// Cloud Storage source. + public class GoogleCloudRunV2CloudStorageSource : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The Cloud Storage bucket name. + [Newtonsoft.Json.JsonPropertyAttribute("bucket")] + public virtual string Bucket { get; set; } + + /// Optional. The Cloud Storage object generation. + [Newtonsoft.Json.JsonPropertyAttribute("generation")] + public virtual System.Nullable Generation { get; set; } + + /// Required. The Cloud Storage object name. + [Newtonsoft.Json.JsonPropertyAttribute("object")] + public virtual string Object__ { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Defines a status condition for a resource. public class GoogleCloudRunV2Condition : Google.Apis.Requests.IDirectResponseSchema { @@ -4374,6 +4393,10 @@ public class GoogleCloudRunV2Container : Google.Apis.Requests.IDirectResponseSch [Newtonsoft.Json.JsonPropertyAttribute("resources")] public virtual GoogleCloudRunV2ResourceRequirements Resources { get; set; } + /// Optional. Location of the source. + [Newtonsoft.Json.JsonPropertyAttribute("sourceCode")] + public virtual GoogleCloudRunV2SourceCode SourceCode { get; set; } + /// /// Startup probe of application within the container. All other probes are disabled if a startup probe is /// provided, until it succeeds. Container will not be added to service endpoints if the probe fails. @@ -6846,6 +6869,17 @@ public class GoogleCloudRunV2ServiceScaling : Google.Apis.Requests.IDirectRespon public virtual string ETag { get; set; } } + /// Source type for the container. + public class GoogleCloudRunV2SourceCode : Google.Apis.Requests.IDirectResponseSchema + { + /// The source is a Cloud Storage bucket. + [Newtonsoft.Json.JsonPropertyAttribute("cloudStorageSource")] + public virtual GoogleCloudRunV2CloudStorageSource CloudStorageSource { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Location of the source in an archive file in Google Cloud Storage. public class GoogleCloudRunV2StorageSource : Google.Apis.Requests.IDirectResponseSchema { @@ -8831,6 +8865,10 @@ public class GoogleDevtoolsCloudbuildV1BuildStep : Google.Apis.Requests.IDirectR /// An image built by the pipeline. public class GoogleDevtoolsCloudbuildV1BuiltImage : Google.Apis.Requests.IDirectResponseSchema { + /// Output only. Path to the artifact in Artifact Registry. + [Newtonsoft.Json.JsonPropertyAttribute("artifactRegistryPackage")] + public virtual string ArtifactRegistryPackage { get; set; } + /// Docker Registry 2.0 digest. [Newtonsoft.Json.JsonPropertyAttribute("digest")] public virtual string Digest { get; set; } @@ -9626,6 +9664,10 @@ public virtual System.DateTimeOffset? StartTimeDateTimeOffset /// A Go module artifact uploaded to Artifact Registry using the GoModule directive. public class GoogleDevtoolsCloudbuildV1UploadedGoModule : Google.Apis.Requests.IDirectResponseSchema { + /// Output only. Path to the artifact in Artifact Registry. + [Newtonsoft.Json.JsonPropertyAttribute("artifactRegistryPackage")] + public virtual string ArtifactRegistryPackage { get; set; } + /// Hash types and values of the Go Module Artifact. [Newtonsoft.Json.JsonPropertyAttribute("fileHashes")] public virtual GoogleDevtoolsCloudbuildV1FileHashes FileHashes { get; set; } @@ -9645,6 +9687,10 @@ public class GoogleDevtoolsCloudbuildV1UploadedGoModule : Google.Apis.Requests.I /// A Maven artifact uploaded using the MavenArtifact directive. public class GoogleDevtoolsCloudbuildV1UploadedMavenArtifact : Google.Apis.Requests.IDirectResponseSchema { + /// Output only. Path to the artifact in Artifact Registry. + [Newtonsoft.Json.JsonPropertyAttribute("artifactRegistryPackage")] + public virtual string ArtifactRegistryPackage { get; set; } + /// Hash types and values of the Maven Artifact. [Newtonsoft.Json.JsonPropertyAttribute("fileHashes")] public virtual GoogleDevtoolsCloudbuildV1FileHashes FileHashes { get; set; } @@ -9664,6 +9710,10 @@ public class GoogleDevtoolsCloudbuildV1UploadedMavenArtifact : Google.Apis.Reque /// An npm package uploaded to Artifact Registry using the NpmPackage directive. public class GoogleDevtoolsCloudbuildV1UploadedNpmPackage : Google.Apis.Requests.IDirectResponseSchema { + /// Output only. Path to the artifact in Artifact Registry. + [Newtonsoft.Json.JsonPropertyAttribute("artifactRegistryPackage")] + public virtual string ArtifactRegistryPackage { get; set; } + /// Hash types and values of the npm package. [Newtonsoft.Json.JsonPropertyAttribute("fileHashes")] public virtual GoogleDevtoolsCloudbuildV1FileHashes FileHashes { get; set; } @@ -9683,6 +9733,10 @@ public class GoogleDevtoolsCloudbuildV1UploadedNpmPackage : Google.Apis.Requests /// Artifact uploaded using the PythonPackage directive. public class GoogleDevtoolsCloudbuildV1UploadedPythonPackage : Google.Apis.Requests.IDirectResponseSchema { + /// Output only. Path to the artifact in Artifact Registry. + [Newtonsoft.Json.JsonPropertyAttribute("artifactRegistryPackage")] + public virtual string ArtifactRegistryPackage { get; set; } + /// Hash types and values of the Python Artifact. [Newtonsoft.Json.JsonPropertyAttribute("fileHashes")] public virtual GoogleDevtoolsCloudbuildV1FileHashes FileHashes { get; set; } diff --git a/Src/Generated/Google.Apis.CloudRun.v2/Google.Apis.CloudRun.v2.csproj b/Src/Generated/Google.Apis.CloudRun.v2/Google.Apis.CloudRun.v2.csproj index 811c5cbff14..62aceebc367 100644 --- a/Src/Generated/Google.Apis.CloudRun.v2/Google.Apis.CloudRun.v2.csproj +++ b/Src/Generated/Google.Apis.CloudRun.v2/Google.Apis.CloudRun.v2.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudRun.v2 Client Library - 1.72.0.3949 + 1.72.0.3956 Google LLC Copyright 2025 Google LLC Google From ae2f9335b857c23f9ec00cb6b2c7109937c249cd Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:43:28 +0000 Subject: [PATCH 58/65] feat: Generate Google.Apis.SaaSServiceManagement.v1beta1 version 1.72.0.3959 --- DiscoveryJson/saasservicemgmt.v1beta1.json | 9 +++++++-- .../Google.Apis.SaaSServiceManagement.v1beta1.cs | 14 ++++++++++++-- ...oogle.Apis.SaaSServiceManagement.v1beta1.csproj | 6 +++--- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/DiscoveryJson/saasservicemgmt.v1beta1.json b/DiscoveryJson/saasservicemgmt.v1beta1.json index bdec40e2884..a9116e4e216 100644 --- a/DiscoveryJson/saasservicemgmt.v1beta1.json +++ b/DiscoveryJson/saasservicemgmt.v1beta1.json @@ -144,7 +144,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -2011,7 +2011,7 @@ } } }, - "revision": "20250917", + "revision": "20251103", "rootUrl": "https://saasservicemgmt.googleapis.com/", "schemas": { "Aggregate": { @@ -2682,6 +2682,11 @@ "readOnly": true, "type": "string" }, + "effectiveUnitFilter": { + "description": "Optional. Output only. Output only snapshot of the effective unit filter at Rollout start time. Contains a CEL(https://github.com/google/cel-spec) expression consisting of a conjunction of Rollout.unit_filter and RolloutKind.unit_filter. This field captures the filter applied by the Rollout to determine the Unit population. If the associated RolloutKind's unit_filter is modified after the rollout is started, it will not be updated here.", + "readOnly": true, + "type": "string" + }, "endTime": { "description": "Optional. Output only. The time when the rollout finished execution (regardless of success, failure, or cancellation). Will be empty if the rollout hasn't finished yet. Once set, the rollout is in terminal state and all the results are final.", "format": "google-datetime", diff --git a/Src/Generated/Google.Apis.SaaSServiceManagement.v1beta1/Google.Apis.SaaSServiceManagement.v1beta1.cs b/Src/Generated/Google.Apis.SaaSServiceManagement.v1beta1/Google.Apis.SaaSServiceManagement.v1beta1.cs index 1309dd0fd51..dd97139fcf1 100644 --- a/Src/Generated/Google.Apis.SaaSServiceManagement.v1beta1/Google.Apis.SaaSServiceManagement.v1beta1.cs +++ b/Src/Generated/Google.Apis.SaaSServiceManagement.v1beta1/Google.Apis.SaaSServiceManagement.v1beta1.cs @@ -4627,8 +4627,8 @@ public ListRequest(Google.Apis.Services.IClientService service, string name) : b public virtual string Name { get; private set; } /// - /// Optional. Unless explicitly documented otherwise, don't use this unsupported field which is - /// primarily intended for internal usage. + /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented + /// otherwise. This is primarily for internal usage. /// [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } @@ -5566,6 +5566,16 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); } + /// + /// Optional. Output only. Output only snapshot of the effective unit filter at Rollout start time. Contains a + /// CEL(https://github.com/google/cel-spec) expression consisting of a conjunction of Rollout.unit_filter and + /// RolloutKind.unit_filter. This field captures the filter applied by the Rollout to determine the Unit + /// population. If the associated RolloutKind's unit_filter is modified after the rollout is started, it will + /// not be updated here. + /// + [Newtonsoft.Json.JsonPropertyAttribute("effectiveUnitFilter")] + public virtual string EffectiveUnitFilter { get; set; } + private string _endTimeRaw; private object _endTime; diff --git a/Src/Generated/Google.Apis.SaaSServiceManagement.v1beta1/Google.Apis.SaaSServiceManagement.v1beta1.csproj b/Src/Generated/Google.Apis.SaaSServiceManagement.v1beta1/Google.Apis.SaaSServiceManagement.v1beta1.csproj index b21e40090ee..4f9085318d9 100644 --- a/Src/Generated/Google.Apis.SaaSServiceManagement.v1beta1/Google.Apis.SaaSServiceManagement.v1beta1.csproj +++ b/Src/Generated/Google.Apis.SaaSServiceManagement.v1beta1/Google.Apis.SaaSServiceManagement.v1beta1.csproj @@ -3,7 +3,7 @@ Google.Apis.SaaSServiceManagement.v1beta1 Client Library - 1.71.0.3912 + 1.72.0.3959 Google LLC Copyright 2025 Google LLC Google @@ -59,8 +59,8 @@ - - + + From aab5c7da1af5ed4399372046be365f4e85634388 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:43:30 +0000 Subject: [PATCH 59/65] feat: Generate Google.Apis.Tasks.v1 version 1.72.0.3958 --- DiscoveryJson/tasks.v1.json | 4 ++-- Src/Generated/Google.Apis.Tasks.v1/Google.Apis.Tasks.v1.cs | 7 ++++--- .../Google.Apis.Tasks.v1/Google.Apis.Tasks.v1.csproj | 6 +++--- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/DiscoveryJson/tasks.v1.json b/DiscoveryJson/tasks.v1.json index ac76005f086..b36f47709f2 100644 --- a/DiscoveryJson/tasks.v1.json +++ b/DiscoveryJson/tasks.v1.json @@ -576,7 +576,7 @@ } } }, - "revision": "20250518", + "revision": "20251102", "rootUrl": "https://tasks.googleapis.com/", "schemas": { "AssignmentInfo": { @@ -664,7 +664,7 @@ "type": "boolean" }, "due": { - "description": "Due date of the task (as a RFC 3339 timestamp). Optional. The due date only records date information; the time portion of the timestamp is discarded when setting the due date. It isn't possible to read or write the time that a task is due via the API.", + "description": "Scheduled date for the task (as an RFC 3339 timestamp). Optional. This represents the day that the task should be done, or that the task is visible on the calendar grid. It doesn't represent the deadline of the task. Only date information is recorded; the time portion of the timestamp is discarded when setting this field. It isn't possible to read or write the time that a task is scheduled for using the API.", "type": "string" }, "etag": { diff --git a/Src/Generated/Google.Apis.Tasks.v1/Google.Apis.Tasks.v1.cs b/Src/Generated/Google.Apis.Tasks.v1/Google.Apis.Tasks.v1.cs index d96919048d7..a8f19973605 100644 --- a/Src/Generated/Google.Apis.Tasks.v1/Google.Apis.Tasks.v1.cs +++ b/Src/Generated/Google.Apis.Tasks.v1/Google.Apis.Tasks.v1.cs @@ -1436,9 +1436,10 @@ public class Task : Google.Apis.Requests.IDirectResponseSchema public virtual System.Nullable Deleted { get; set; } /// - /// Due date of the task (as a RFC 3339 timestamp). Optional. The due date only records date information; the - /// time portion of the timestamp is discarded when setting the due date. It isn't possible to read or write the - /// time that a task is due via the API. + /// Scheduled date for the task (as an RFC 3339 timestamp). Optional. This represents the day that the task + /// should be done, or that the task is visible on the calendar grid. It doesn't represent the deadline of the + /// task. Only date information is recorded; the time portion of the timestamp is discarded when setting this + /// field. It isn't possible to read or write the time that a task is scheduled for using the API. /// [Newtonsoft.Json.JsonPropertyAttribute("due")] public virtual string Due { get; set; } diff --git a/Src/Generated/Google.Apis.Tasks.v1/Google.Apis.Tasks.v1.csproj b/Src/Generated/Google.Apis.Tasks.v1/Google.Apis.Tasks.v1.csproj index 755d2712254..cbd06f906e3 100644 --- a/Src/Generated/Google.Apis.Tasks.v1/Google.Apis.Tasks.v1.csproj +++ b/Src/Generated/Google.Apis.Tasks.v1/Google.Apis.Tasks.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Tasks.v1 Client Library - 1.69.0.3790 + 1.72.0.3958 Google LLC Copyright 2025 Google LLC Google @@ -59,8 +59,8 @@ - - + + From 0822d6e5deaf637a63fb821a57139eb72056e43c Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:43:32 +0000 Subject: [PATCH 60/65] feat: Generate Google.Apis.VMMigrationService.v1alpha1 version 1.72.0.3955 --- DiscoveryJson/vmmigration.v1alpha1.json | 12 +++++++++-- ...Google.Apis.VMMigrationService.v1alpha1.cs | 20 ++++++++++++++++++- ...le.Apis.VMMigrationService.v1alpha1.csproj | 2 +- 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/vmmigration.v1alpha1.json b/DiscoveryJson/vmmigration.v1alpha1.json index a250a762f77..beb38cec314 100644 --- a/DiscoveryJson/vmmigration.v1alpha1.json +++ b/DiscoveryJson/vmmigration.v1alpha1.json @@ -2548,7 +2548,7 @@ } } }, - "revision": "20251023", + "revision": "20251030", "rootUrl": "https://vmmigration.googleapis.com/", "schemas": { "AccessKeyCredentials": { @@ -3748,6 +3748,10 @@ "description": "Optional. The service account to associate the VM with.", "type": "string" }, + "storagePool": { + "description": "Optional. If specified this will be the storage pool in which the disk is created. This is the full path of the storage pool resource, for example: \"projects/my-project/zones/us-central1-a/storagePools/my-storage-pool\". The storage pool must be in the same project and zone as the target disks. The storage pool's type must match the disk type.", + "type": "string" + }, "targetProject": { "description": "The full path of the resource of type TargetProject which represents the Compute Engine project in which to create this VM.", "type": "string" @@ -3920,6 +3924,10 @@ "description": "The service account to associate the VM with.", "type": "string" }, + "storagePool": { + "description": "Optional. The storage pool used for the VM disks. If specified this will be the storage pool in which the disk is created. This is the full path of the storage pool resource, for example: \"projects/my-project/zones/us-central1-a/storagePools/my-storage-pool\". The storage pool must be in the same project and zone as the target disks. The storage pool's type must match the disk type.", + "type": "string" + }, "vmName": { "description": "The name of the VM to create.", "type": "string" @@ -4188,7 +4196,7 @@ "type": "object" }, "DataDiskImageImport": { - "description": "Mentions that the image import is not using OS adaptation process.", + "description": "Used when the image import is not using OS adaptation process.", "id": "DataDiskImageImport", "properties": {}, "type": "object" diff --git a/Src/Generated/Google.Apis.VMMigrationService.v1alpha1/Google.Apis.VMMigrationService.v1alpha1.cs b/Src/Generated/Google.Apis.VMMigrationService.v1alpha1/Google.Apis.VMMigrationService.v1alpha1.cs index 8aadfda43d4..d991a842e65 100644 --- a/Src/Generated/Google.Apis.VMMigrationService.v1alpha1/Google.Apis.VMMigrationService.v1alpha1.cs +++ b/Src/Generated/Google.Apis.VMMigrationService.v1alpha1/Google.Apis.VMMigrationService.v1alpha1.cs @@ -6733,6 +6733,15 @@ public class ComputeEngineTargetDefaults : Google.Apis.Requests.IDirectResponseS [Newtonsoft.Json.JsonPropertyAttribute("serviceAccount")] public virtual string ServiceAccount { get; set; } + /// + /// Optional. If specified this will be the storage pool in which the disk is created. This is the full path of + /// the storage pool resource, for example: + /// "projects/my-project/zones/us-central1-a/storagePools/my-storage-pool". The storage pool must be in the same + /// project and zone as the target disks. The storage pool's type must match the disk type. + /// + [Newtonsoft.Json.JsonPropertyAttribute("storagePool")] + public virtual string StoragePool { get; set; } + /// /// The full path of the resource of type TargetProject which represents the Compute Engine project in which to /// create this VM. @@ -6859,6 +6868,15 @@ public class ComputeEngineTargetDetails : Google.Apis.Requests.IDirectResponseSc [Newtonsoft.Json.JsonPropertyAttribute("serviceAccount")] public virtual string ServiceAccount { get; set; } + /// + /// Optional. The storage pool used for the VM disks. If specified this will be the storage pool in which the + /// disk is created. This is the full path of the storage pool resource, for example: + /// "projects/my-project/zones/us-central1-a/storagePools/my-storage-pool". The storage pool must be in the same + /// project and zone as the target disks. The storage pool's type must match the disk type. + /// + [Newtonsoft.Json.JsonPropertyAttribute("storagePool")] + public virtual string StoragePool { get; set; } + /// The name of the VM to create. [Newtonsoft.Json.JsonPropertyAttribute("vmName")] public virtual string VmName { get; set; } @@ -7311,7 +7329,7 @@ public virtual System.DateTimeOffset? StartTimeDateTimeOffset public virtual string ETag { get; set; } } - /// Mentions that the image import is not using OS adaptation process. + /// Used when the image import is not using OS adaptation process. public class DataDiskImageImport : Google.Apis.Requests.IDirectResponseSchema { /// The ETag of the item. diff --git a/Src/Generated/Google.Apis.VMMigrationService.v1alpha1/Google.Apis.VMMigrationService.v1alpha1.csproj b/Src/Generated/Google.Apis.VMMigrationService.v1alpha1/Google.Apis.VMMigrationService.v1alpha1.csproj index 465776fbe70..8bc9b5b6c0f 100644 --- a/Src/Generated/Google.Apis.VMMigrationService.v1alpha1/Google.Apis.VMMigrationService.v1alpha1.csproj +++ b/Src/Generated/Google.Apis.VMMigrationService.v1alpha1/Google.Apis.VMMigrationService.v1alpha1.csproj @@ -3,7 +3,7 @@ Google.Apis.VMMigrationService.v1alpha1 Client Library - 1.72.0.3948 + 1.72.0.3955 Google LLC Copyright 2025 Google LLC Google From f2b999fdd4d2ad5e7a586bcfb86ddfee6e0cf7fd Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:43:34 +0000 Subject: [PATCH 61/65] feat: Generate Google.Apis.Workflows.v1 version 1.72.0.3951 --- DiscoveryJson/workflows.v1.json | 4 ++-- .../Google.Apis.Workflows.v1/Google.Apis.Workflows.v1.cs | 4 ++-- .../Google.Apis.Workflows.v1/Google.Apis.Workflows.v1.csproj | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/DiscoveryJson/workflows.v1.json b/DiscoveryJson/workflows.v1.json index 402f078a47c..efd1c2040e8 100644 --- a/DiscoveryJson/workflows.v1.json +++ b/DiscoveryJson/workflows.v1.json @@ -144,7 +144,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -496,7 +496,7 @@ } } }, - "revision": "20251013", + "revision": "20251026", "rootUrl": "https://workflows.googleapis.com/", "schemas": { "Empty": { diff --git a/Src/Generated/Google.Apis.Workflows.v1/Google.Apis.Workflows.v1.cs b/Src/Generated/Google.Apis.Workflows.v1/Google.Apis.Workflows.v1.cs index cf3c5090ca3..729f788eb5f 100644 --- a/Src/Generated/Google.Apis.Workflows.v1/Google.Apis.Workflows.v1.cs +++ b/Src/Generated/Google.Apis.Workflows.v1/Google.Apis.Workflows.v1.cs @@ -1100,8 +1100,8 @@ public ListRequest(Google.Apis.Services.IClientService service, string name) : b public virtual string Name { get; private set; } /// - /// Optional. Unless explicitly documented otherwise, don't use this unsupported field which is - /// primarily intended for internal usage. + /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented + /// otherwise. This is primarily for internal usage. /// [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } diff --git a/Src/Generated/Google.Apis.Workflows.v1/Google.Apis.Workflows.v1.csproj b/Src/Generated/Google.Apis.Workflows.v1/Google.Apis.Workflows.v1.csproj index 00be320815d..7f5389dec9a 100644 --- a/Src/Generated/Google.Apis.Workflows.v1/Google.Apis.Workflows.v1.csproj +++ b/Src/Generated/Google.Apis.Workflows.v1/Google.Apis.Workflows.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Workflows.v1 Client Library - 1.72.0.3938 + 1.72.0.3951 Google LLC Copyright 2025 Google LLC Google From b2e2810bc9f0bafbde640b0ff0ee56d0baa361a1 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:43:36 +0000 Subject: [PATCH 62/65] feat: Generate Google.Apis.Workflows.v1beta version 1.72.0.3951 --- DiscoveryJson/workflows.v1beta.json | 4 ++-- .../Google.Apis.Workflows.v1beta.cs | 4 ++-- .../Google.Apis.Workflows.v1beta.csproj | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/DiscoveryJson/workflows.v1beta.json b/DiscoveryJson/workflows.v1beta.json index 5e5fee7a04a..da827828814 100644 --- a/DiscoveryJson/workflows.v1beta.json +++ b/DiscoveryJson/workflows.v1beta.json @@ -144,7 +144,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -455,7 +455,7 @@ } } }, - "revision": "20251013", + "revision": "20251026", "rootUrl": "https://workflows.googleapis.com/", "schemas": { "Empty": { diff --git a/Src/Generated/Google.Apis.Workflows.v1beta/Google.Apis.Workflows.v1beta.cs b/Src/Generated/Google.Apis.Workflows.v1beta/Google.Apis.Workflows.v1beta.cs index 498bde0fb93..e00a7e53228 100644 --- a/Src/Generated/Google.Apis.Workflows.v1beta/Google.Apis.Workflows.v1beta.cs +++ b/Src/Generated/Google.Apis.Workflows.v1beta/Google.Apis.Workflows.v1beta.cs @@ -995,8 +995,8 @@ public ListRequest(Google.Apis.Services.IClientService service, string name) : b public virtual string Name { get; private set; } /// - /// Optional. Unless explicitly documented otherwise, don't use this unsupported field which is - /// primarily intended for internal usage. + /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented + /// otherwise. This is primarily for internal usage. /// [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } diff --git a/Src/Generated/Google.Apis.Workflows.v1beta/Google.Apis.Workflows.v1beta.csproj b/Src/Generated/Google.Apis.Workflows.v1beta/Google.Apis.Workflows.v1beta.csproj index c2d9f6c88a8..1a680ac03cd 100644 --- a/Src/Generated/Google.Apis.Workflows.v1beta/Google.Apis.Workflows.v1beta.csproj +++ b/Src/Generated/Google.Apis.Workflows.v1beta/Google.Apis.Workflows.v1beta.csproj @@ -3,7 +3,7 @@ Google.Apis.Workflows.v1beta Client Library - 1.72.0.3938 + 1.72.0.3951 Google LLC Copyright 2025 Google LLC Google From ddd4e87e37845e5379703e5d0bac495ad6bc2bb8 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:43:38 +0000 Subject: [PATCH 63/65] feat: Generate Google.Apis.WorkspaceEvents.v1 version 1.72.0.3958 --- DiscoveryJson/workspaceevents.v1.json | 1364 +++++++++++- .../Google.Apis.WorkspaceEvents.v1.cs | 1884 +++++++++++++++-- .../Google.Apis.WorkspaceEvents.v1.csproj | 6 +- 3 files changed, 2981 insertions(+), 273 deletions(-) diff --git a/DiscoveryJson/workspaceevents.v1.json b/DiscoveryJson/workspaceevents.v1.json index abfc5544fad..539ba2a4edb 100644 --- a/DiscoveryJson/workspaceevents.v1.json +++ b/DiscoveryJson/workspaceevents.v1.json @@ -159,6 +159,25 @@ }, "protocol": "rest", "resources": { + "message": { + "methods": { + "stream": { + "description": "SendStreamingMessage is a streaming call that will return a stream of task update events until the Task is in an interrupted or terminal state.", + "flatPath": "v1/message:stream", + "httpMethod": "POST", + "id": "workspaceevents.message.stream", + "parameterOrder": [], + "parameters": {}, + "path": "v1/message:stream", + "request": { + "$ref": "SendMessageRequest" + }, + "response": { + "$ref": "StreamResponse" + } + } + } + }, "operations": { "methods": { "get": { @@ -490,170 +509,1156 @@ ] } } + }, + "tasks": { + "methods": { + "cancel": { + "description": "Cancel a task from the agent. If supported one should expect no more task updates for the task.", + "flatPath": "v1/tasks/{tasksId}:cancel", + "httpMethod": "POST", + "id": "workspaceevents.tasks.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the task to cancel. Format: tasks/{task_id}", + "location": "path", + "pattern": "^tasks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "CancelTaskRequest" + }, + "response": { + "$ref": "Task" + } + }, + "get": { + "description": "Get the current state of a task from the agent.", + "flatPath": "v1/tasks/{tasksId}", + "httpMethod": "GET", + "id": "workspaceevents.tasks.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "historyLength": { + "description": "The number of most recent messages from the task's history to retrieve.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "name": { + "description": "Required. The resource name of the task. Format: tasks/{task_id}", + "location": "path", + "pattern": "^tasks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Task" + } + }, + "subscribe": { + "description": "TaskSubscription is a streaming call that will return a stream of task update events. This attaches the stream to an existing in process task. If the task is complete the stream will return the completed task (like GetTask) and close the stream.", + "flatPath": "v1/tasks/{tasksId}:subscribe", + "httpMethod": "GET", + "id": "workspaceevents.tasks.subscribe", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the task to subscribe to. Format: tasks/{task_id}", + "location": "path", + "pattern": "^tasks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:subscribe", + "response": { + "$ref": "StreamResponse" + } + } + }, + "resources": { + "pushNotificationConfigs": { + "methods": { + "create": { + "description": "Set a push notification config for a task.", + "flatPath": "v1/tasks/{tasksId}/pushNotificationConfigs", + "httpMethod": "POST", + "id": "workspaceevents.tasks.pushNotificationConfigs.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "configId": { + "description": "Required. The ID for the new config.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent task resource for this config. Format: tasks/{task_id}", + "location": "path", + "pattern": "^tasks/[^/]+/pushNotificationConfigs$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}", + "request": { + "$ref": "TaskPushNotificationConfig" + }, + "response": { + "$ref": "TaskPushNotificationConfig" + } + }, + "delete": { + "description": "Delete a push notification config for a task.", + "flatPath": "v1/tasks/{tasksId}/pushNotificationConfigs/{pushNotificationConfigsId}", + "httpMethod": "DELETE", + "id": "workspaceevents.tasks.pushNotificationConfigs.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the config to delete. Format: tasks/{task_id}/pushNotificationConfigs/{config_id}", + "location": "path", + "pattern": "^tasks/[^/]+/pushNotificationConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + } + }, + "get": { + "description": "Get a push notification config for a task.", + "flatPath": "v1/tasks/{tasksId}/pushNotificationConfigs/{pushNotificationConfigsId}", + "httpMethod": "GET", + "id": "workspaceevents.tasks.pushNotificationConfigs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the config to retrieve. Format: tasks/{task_id}/pushNotificationConfigs/{config_id}", + "location": "path", + "pattern": "^tasks/[^/]+/pushNotificationConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "TaskPushNotificationConfig" + } + }, + "list": { + "description": "Get a list of push notifications configured for a task.", + "flatPath": "v1/tasks/{tasksId}/pushNotificationConfigs", + "httpMethod": "GET", + "id": "workspaceevents.tasks.pushNotificationConfigs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "For AIP-158 these fields are present. Usually not used/needed. The maximum number of configurations to return. If unspecified, all configs will be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from a previous ListTaskPushNotificationConfigRequest call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTaskPushNotificationConfigRequest` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The parent task resource. Format: tasks/{task_id}", + "location": "path", + "pattern": "^tasks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/pushNotificationConfigs", + "response": { + "$ref": "ListTaskPushNotificationConfigResponse" + } + } + } + } + } + }, + "v1": { + "methods": { + "getCard": { + "description": "GetAgentCard returns the agent card for the agent.", + "flatPath": "v1/card", + "httpMethod": "GET", + "id": "workspaceevents.getCard", + "parameterOrder": [], + "parameters": {}, + "path": "v1/card", + "response": { + "$ref": "AgentCard" + } + } + } } }, - "revision": "20250930", + "revision": "20251102", "rootUrl": "https://workspaceevents.googleapis.com/", "schemas": { - "ListSubscriptionsResponse": { - "description": "The response message for SubscriptionsService.ListSubscriptions.", - "id": "ListSubscriptionsResponse", + "APIKeySecurityScheme": { + "id": "APIKeySecurityScheme", "properties": { - "nextPageToken": { - "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "description": { + "description": "Description of this security scheme.", "type": "string" }, - "subscriptions": { - "description": "List of subscriptions.", - "items": { - "$ref": "Subscription" - }, - "type": "array" + "location": { + "description": "Location of the API key, valid values are \"query\", \"header\", or \"cookie\"", + "type": "string" + }, + "name": { + "description": "Name of the header, query or cookie parameter to be used.", + "type": "string" } }, "type": "object" }, - "NotificationEndpoint": { - "description": "The endpoint where the subscription delivers events.", - "id": "NotificationEndpoint", + "AgentCapabilities": { + "description": "Defines the A2A feature set supported by the agent", + "id": "AgentCapabilities", "properties": { - "pubsubTopic": { - "description": "Immutable. The Pub/Sub topic that receives events for the subscription. Format: `projects/{project}/topics/{topic}` You must create the topic in the same Google Cloud project where you create this subscription. Note: The Google Workspace Events API uses [ordering keys](https://cloud.google.com/pubsub/docs/ordering) for the benefit of sequential events. If the Cloud Pub/Sub topic has a [message storage policy](https://cloud.google.com/pubsub/docs/resource-location-restriction#exceptions) configured to exclude the nearest Google Cloud region, publishing events with ordering keys will fail. When the topic receives events, the events are encoded as Pub/Sub messages. For details, see the [Google Cloud Pub/Sub Protocol Binding for CloudEvents](https://github.com/googleapis/google-cloudevents/blob/main/docs/spec/pubsub.md).", - "type": "string" + "extensions": { + "description": "Extensions supported by this agent.", + "items": { + "$ref": "AgentExtension" + }, + "type": "array" + }, + "pushNotifications": { + "description": "If the agent can send push notifications to the clients webhook", + "type": "boolean" + }, + "streaming": { + "description": "If the agent will support streaming responses", + "type": "boolean" } }, "type": "object" }, - "Operation": { - "description": "This resource represents a long-running operation that is the result of a network API call.", - "id": "Operation", + "AgentCard": { + "description": "AgentCard conveys key information: - Overall details (version, name, description, uses) - Skills; a set of actions/solutions the agent can perform - Default modalities/content types supported by the agent. - Authentication requirements Next ID: 19", + "id": "AgentCard", "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" + "additionalInterfaces": { + "description": "Announcement of additional supported transports. Client can use any of the supported transports.", + "items": { + "$ref": "AgentInterface" + }, + "type": "array" }, - "error": { - "$ref": "Status", - "description": "The error result of the operation in case of failure or cancellation." + "capabilities": { + "$ref": "AgentCapabilities", + "description": "A2A Capability set supported by the agent." }, - "metadata": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" + "defaultInputModes": { + "description": "protolint:enable REPEATED_FIELD_NAMES_PLURALIZED The set of interaction modes that the agent supports across all skills. This can be overridden per skill. Defined as mime types.", + "items": { + "type": "string" }, - "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" + "type": "array" + }, + "defaultOutputModes": { + "description": "The mime types supported as outputs from this agent.", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "A description of the agent's domain of action/solution space. Example: \"Agent that helps users with recipes and cooking.\"", + "type": "string" + }, + "documentationUrl": { + "description": "A url to provide additional documentation about the agent.", + "type": "string" + }, + "iconUrl": { + "description": "An optional URL to an icon for the agent.", + "type": "string" }, "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}`.", + "description": "A human readable name for the agent. Example: \"Recipe Agent\"", "type": "string" }, - "response": { + "preferredTransport": { + "description": "The transport of the preferred endpoint. If empty, defaults to JSONRPC.", + "type": "string" + }, + "protocolVersion": { + "description": "The version of the A2A protocol this agent supports.", + "type": "string" + }, + "provider": { + "$ref": "AgentProvider", + "description": "The service provider of the agent." + }, + "security": { + "description": "protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Security requirements for contacting the agent. This list can be seen as an OR of ANDs. Each object in the list describes one possible set of security requirements that must be present on a request. This allows specifying, for example, \"callers must either use OAuth OR an API Key AND mTLS.\" Example: security { schemes { key: \"oauth\" value { list: [\"read\"] } } } security { schemes { key: \"api-key\" } schemes { key: \"mtls\" } }", + "items": { + "$ref": "Security" + }, + "type": "array" + }, + "securitySchemes": { "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" + "$ref": "SecurityScheme" }, - "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`.", + "description": "The security scheme details used for authenticating with this agent.", "type": "object" + }, + "signatures": { + "description": "JSON Web Signatures computed for this AgentCard.", + "items": { + "$ref": "AgentCardSignature" + }, + "type": "array" + }, + "skills": { + "description": "Skills represent a unit of ability an agent can perform. This may somewhat abstract but represents a more focused set of actions that the agent is highly likely to succeed at.", + "items": { + "$ref": "AgentSkill" + }, + "type": "array" + }, + "supportsAuthenticatedExtendedCard": { + "description": "Whether the agent supports providing an extended agent card when the user is authenticated, i.e. is the card from .well-known different than the card from GetAgentCard.", + "type": "boolean" + }, + "url": { + "description": "A URL to the address the agent is hosted at. This represents the preferred endpoint as declared by the agent.", + "type": "string" + }, + "version": { + "description": "The version of the agent. Example: \"1.0.0\"", + "type": "string" } }, "type": "object" }, - "PayloadOptions": { - "description": "Options about what data to include in the event payload. Only supported for Google Chat and Google Drive events.", - "id": "PayloadOptions", + "AgentCardSignature": { + "description": "AgentCardSignature represents a JWS signature of an AgentCard. This follows the JSON format of an RFC 7515 JSON Web Signature (JWS).", + "id": "AgentCardSignature", "properties": { - "fieldMask": { - "description": "Optional. If `include_resource` is set to `true`, the list of fields to include in the event payload. Separate fields with a comma. For example, to include a Google Chat message's sender and create time, enter `message.sender,message.createTime`. If omitted, the payload includes all fields for the resource. If you specify a field that doesn't exist for the resource, the system ignores the field.", - "format": "google-fieldmask", + "header": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The unprotected JWS header values.", + "type": "object" + }, + "protected": { + "description": "Required. The protected JWS header for the signature. This is always a base64url-encoded JSON object. Required.", "type": "string" }, - "includeResource": { - "description": "Optional. Whether the event payload includes data about the resource that changed. For example, for an event where a Google Chat message was created, whether the payload contains data about the [`Message`](https://developers.google.com/chat/api/reference/rest/v1/spaces.messages) resource. If false, the event payload only includes the name of the changed resource.", - "type": "boolean" + "signature": { + "description": "Required. The computed signature, base64url-encoded. Required.", + "type": "string" } }, "type": "object" }, - "ReactivateSubscriptionRequest": { - "description": "The request message for SubscriptionsService.ReactivateSubscription.", - "id": "ReactivateSubscriptionRequest", - "properties": {}, - "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", + "AgentExtension": { + "description": "A declaration of an extension supported by an Agent.", + "id": "AgentExtension", "properties": { - "code": { - "description": "The status code, which should be an enum value of google.rpc.Code.", - "format": "int32", - "type": "integer" + "description": { + "description": "A description of how this agent uses this extension. Example: \"Google OAuth 2.0 authentication\"", + "type": "string" }, - "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" + "params": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" }, - "type": "array" + "description": "Optional configuration for the extension.", + "type": "object" }, - "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.", + "required": { + "description": "Whether the client must follow specific requirements of the extension. Example: false", + "type": "boolean" + }, + "uri": { + "description": "The URI of the extension. Example: \"https://developers.google.com/identity/protocols/oauth2\"", "type": "string" } }, "type": "object" }, - "Subscription": { - "description": "A subscription to receive events about a Google Workspace resource. To learn more about subscriptions, see the [Google Workspace Events API overview](https://developers.google.com/workspace/events).", - "id": "Subscription", + "AgentInterface": { + "description": "Defines additional transport information for the agent.", + "id": "AgentInterface", "properties": { - "authority": { - "description": "Output only. The user who authorized the creation of the subscription. When a user authorizes the subscription, this field and the `user_authority` field have the same value and the format is: Format: `users/{user}` For Google Workspace users, the `{user}` value is the [`user.id`](https://developers.google.com/admin-sdk/directory/reference/rest/v1/users#User.FIELDS.ids) field from the Directory API. When a Chat app authorizes the subscription, only `service_account_authority` field populates and this field is empty.", - "readOnly": true, + "transport": { + "description": "The transport supported this url. This is an open form string, to be easily extended for many transport protocols. The core ones officially supported are JSONRPC, GRPC and HTTP+JSON.", "type": "string" }, - "createTime": { - "description": "Output only. The time when the subscription is created.", - "format": "google-datetime", - "readOnly": true, + "url": { + "description": "The url this interface is found at.", + "type": "string" + } + }, + "type": "object" + }, + "AgentProvider": { + "description": "Represents information about the service provider of an agent.", + "id": "AgentProvider", + "properties": { + "organization": { + "description": "The providers organization name Example: \"Google\"", "type": "string" }, - "etag": { - "description": "Optional. This checksum is computed by the server based on the value of other fields, and might be sent on update requests to ensure the client has an up-to-date value before proceeding.", + "url": { + "description": "The providers reference url Example: \"https://ai.google.dev\"", + "type": "string" + } + }, + "type": "object" + }, + "AgentSkill": { + "description": "AgentSkill represents a unit of action/solution that the agent can perform. One can think of this as a type of highly reliable solution that an agent can be tasked to provide. Agents have the autonomy to choose how and when to use specific skills, but clients should have confidence that if the skill is defined that unit of action can be reliably performed.", + "id": "AgentSkill", + "properties": { + "description": { + "description": "A human (or llm) readable description of the skill details and behaviors.", "type": "string" }, - "eventTypes": { - "description": "Required. Unordered list. Input for creating a subscription. Otherwise, output only. One or more types of events to receive about the target resource. Formatted according to the CloudEvents specification. The supported event types depend on the target resource of your subscription. For details, see [Supported Google Workspace events](https://developers.google.com/workspace/events/guides#supported-events). By default, you also receive events about the [lifecycle of your subscription](https://developers.google.com/workspace/events/guides/events-lifecycle). You don't need to specify lifecycle events for this field. If you specify an event type that doesn't exist for the target resource, the request returns an HTTP `400 Bad Request` status code.", + "examples": { + "description": "A set of example queries that this skill is designed to address. These examples should help the caller to understand how to craft requests to the agent to achieve specific goals. Example: [\"I need a recipe for bread\"]", "items": { "type": "string" }, "type": "array" }, - "expireTime": { - "description": "Non-empty default. The timestamp in UTC when the subscription expires. Always displayed on output, regardless of what was used on input.", - "format": "google-datetime", + "id": { + "description": "Unique identifier of the skill within this agent.", "type": "string" }, + "inputModes": { + "description": "Possible input modalities supported.", + "items": { + "type": "string" + }, + "type": "array" + }, "name": { - "description": "Identifier. Resource name of the subscription. Format: `subscriptions/{subscription}`", + "description": "A human readable name for the skill.", "type": "string" }, - "notificationEndpoint": { - "$ref": "NotificationEndpoint", - "description": "Required. Immutable. The endpoint where the subscription delivers events, such as a Pub/Sub topic." + "outputModes": { + "description": "Possible output modalities produced", + "items": { + "type": "string" + }, + "type": "array" }, - "payloadOptions": { - "$ref": "PayloadOptions", - "description": "Optional. Options about what data to include in the event payload. Only supported for Google Chat and Google Drive events." + "security": { + "description": "protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Security schemes necessary for the agent to leverage this skill. As in the overall AgentCard.security, this list represents a logical OR of security requirement objects. Each object is a set of security schemes that must be used together (a logical AND). protolint:enable REPEATED_FIELD_NAMES_PLURALIZED", + "items": { + "$ref": "Security" + }, + "type": "array" }, - "reconciling": { - "description": "Output only. If `true`, the subscription is in the process of being updated.", - "readOnly": true, + "tags": { + "description": "A set of tags for the skill to enhance categorization/utilization. Example: [\"cooking\", \"customer support\", \"billing\"]", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Artifact": { + "description": "Artifacts are the container for task completed results. These are similar to Messages but are intended to be the product of a task, as opposed to point-to-point communication.", + "id": "Artifact", + "properties": { + "artifactId": { + "description": "Unique identifier (e.g. UUID) for the artifact. It must be at least unique within a task.", + "type": "string" + }, + "description": { + "description": "A human readable description of the artifact, optional.", + "type": "string" + }, + "extensions": { + "description": "The URIs of extensions that are present or contributed to this Artifact.", + "items": { + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional metadata included with the artifact.", + "type": "object" + }, + "name": { + "description": "A human readable name for the artifact.", + "type": "string" + }, + "parts": { + "description": "The content of the artifact.", + "items": { + "$ref": "Part" + }, + "type": "array" + } + }, + "type": "object" + }, + "AuthenticationInfo": { + "description": "Defines authentication details, used for push notifications.", + "id": "AuthenticationInfo", + "properties": { + "credentials": { + "description": "Optional credentials", + "type": "string" + }, + "schemes": { + "description": "Supported authentication schemes - e.g. Basic, Bearer, etc", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AuthorizationCodeOAuthFlow": { + "id": "AuthorizationCodeOAuthFlow", + "properties": { + "authorizationUrl": { + "description": "The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS", + "type": "string" + }, + "refreshUrl": { + "description": "The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.", + "type": "string" + }, + "scopes": { + "additionalProperties": { + "type": "string" + }, + "description": "The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty.", + "type": "object" + }, + "tokenUrl": { + "description": "The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.", + "type": "string" + } + }, + "type": "object" + }, + "CancelTaskRequest": { + "id": "CancelTaskRequest", + "properties": {}, + "type": "object" + }, + "ClientCredentialsOAuthFlow": { + "id": "ClientCredentialsOAuthFlow", + "properties": { + "refreshUrl": { + "description": "The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.", + "type": "string" + }, + "scopes": { + "additionalProperties": { + "type": "string" + }, + "description": "The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty.", + "type": "object" + }, + "tokenUrl": { + "description": "The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.", + "type": "string" + } + }, + "type": "object" + }, + "DataPart": { + "description": "DataPart represents a structured blob. This is most commonly a JSON payload.", + "id": "DataPart", + "properties": { + "data": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "type": "object" + } + }, + "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" + }, + "FilePart": { + "description": "FilePart represents the different ways files can be provided. If files are small, directly feeding the bytes is supported via file_with_bytes. If the file is large, the agent should read the content as appropriate directly from the file_with_uri source.", + "id": "FilePart", + "properties": { + "fileWithBytes": { + "format": "byte", + "type": "string" + }, + "fileWithUri": { + "type": "string" + }, + "mimeType": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "HTTPAuthSecurityScheme": { + "id": "HTTPAuthSecurityScheme", + "properties": { + "bearerFormat": { + "description": "A hint to the client to identify how the bearer token is formatted. Bearer tokens are usually generated by an authorization server, so this information is primarily for documentation purposes.", + "type": "string" + }, + "description": { + "description": "Description of this security scheme.", + "type": "string" + }, + "scheme": { + "description": "The name of the HTTP Authentication scheme to be used in the Authorization header as defined in RFC7235. The values used SHOULD be registered in the IANA Authentication Scheme registry. The value is case-insensitive, as defined in RFC7235.", + "type": "string" + } + }, + "type": "object" + }, + "ImplicitOAuthFlow": { + "id": "ImplicitOAuthFlow", + "properties": { + "authorizationUrl": { + "description": "The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS", + "type": "string" + }, + "refreshUrl": { + "description": "The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.", + "type": "string" + }, + "scopes": { + "additionalProperties": { + "type": "string" + }, + "description": "The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty.", + "type": "object" + } + }, + "type": "object" + }, + "ListSubscriptionsResponse": { + "description": "The response message for SubscriptionsService.ListSubscriptions.", + "id": "ListSubscriptionsResponse", + "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" + }, + "subscriptions": { + "description": "List of subscriptions.", + "items": { + "$ref": "Subscription" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListTaskPushNotificationConfigResponse": { + "id": "ListTaskPushNotificationConfigResponse", + "properties": { + "configs": { + "description": "The list of push notification configurations.", + "items": { + "$ref": "TaskPushNotificationConfig" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "Message": { + "description": "Message is one unit of communication between client and server. It is associated with a context and optionally a task. Since the server is responsible for the context definition, it must always provide a context_id in its messages. The client can optionally provide the context_id if it knows the context to associate the message to. Similarly for task_id, except the server decides if a task is created and whether to include the task_id.", + "id": "Message", + "properties": { + "content": { + "description": "protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Content is the container of the message content.", + "items": { + "$ref": "Part" + }, + "type": "array" + }, + "contextId": { + "description": "The context id of the message. This is optional and if set, the message will be associated with the given context.", + "type": "string" + }, + "extensions": { + "description": "The URIs of extensions that are present or contributed to this Message.", + "items": { + "type": "string" + }, + "type": "array" + }, + "messageId": { + "description": "The unique identifier (e.g. UUID)of the message. This is required and created by the message creator.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Any optional metadata to provide along with the message.", + "type": "object" + }, + "role": { + "description": "A role for the message.", + "enum": [ + "ROLE_UNSPECIFIED", + "ROLE_USER", + "ROLE_AGENT" + ], + "enumDescriptions": [ + "", + "USER role refers to communication from the client to the server.", + "AGENT role refers to communication from the server to the client." + ], + "type": "string" + }, + "taskId": { + "description": "The task id of the message. This is optional and if set, the message will be associated with the given task.", + "type": "string" + } + }, + "type": "object" + }, + "MutualTlsSecurityScheme": { + "id": "MutualTlsSecurityScheme", + "properties": { + "description": { + "description": "Description of this security scheme.", + "type": "string" + } + }, + "type": "object" + }, + "NotificationEndpoint": { + "description": "The endpoint where the subscription delivers events.", + "id": "NotificationEndpoint", + "properties": { + "pubsubTopic": { + "description": "Immutable. The Pub/Sub topic that receives events for the subscription. Format: `projects/{project}/topics/{topic}` You must create the topic in the same Google Cloud project where you create this subscription. Note: The Google Workspace Events API uses [ordering keys](https://cloud.google.com/pubsub/docs/ordering) for the benefit of sequential events. If the Cloud Pub/Sub topic has a [message storage policy](https://cloud.google.com/pubsub/docs/resource-location-restriction#exceptions) configured to exclude the nearest Google Cloud region, publishing events with ordering keys will fail. When the topic receives events, the events are encoded as Pub/Sub messages. For details, see the [Google Cloud Pub/Sub Protocol Binding for CloudEvents](https://github.com/googleapis/google-cloudevents/blob/main/docs/spec/pubsub.md).", + "type": "string" + } + }, + "type": "object" + }, + "OAuth2SecurityScheme": { + "id": "OAuth2SecurityScheme", + "properties": { + "description": { + "description": "Description of this security scheme.", + "type": "string" + }, + "flows": { + "$ref": "OAuthFlows", + "description": "An object containing configuration information for the flow types supported" + }, + "oauth2MetadataUrl": { + "description": "URL to the oauth2 authorization server metadata [RFC8414](https://datatracker.ietf.org/doc/html/rfc8414). TLS is required.", + "type": "string" + } + }, + "type": "object" + }, + "OAuthFlows": { + "id": "OAuthFlows", + "properties": { + "authorizationCode": { + "$ref": "AuthorizationCodeOAuthFlow" + }, + "clientCredentials": { + "$ref": "ClientCredentialsOAuthFlow" + }, + "implicit": { + "$ref": "ImplicitOAuthFlow" + }, + "password": { + "$ref": "PasswordOAuthFlow" + } + }, + "type": "object" + }, + "OpenIdConnectSecurityScheme": { + "id": "OpenIdConnectSecurityScheme", + "properties": { + "description": { + "description": "Description of this security scheme.", + "type": "string" + }, + "openIdConnectUrl": { + "description": "Well-known URL to discover the [[OpenID-Connect-Discovery]] provider metadata.", + "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" + }, + "Part": { + "description": "Part represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).", + "id": "Part", + "properties": { + "data": { + "$ref": "DataPart" + }, + "file": { + "$ref": "FilePart" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional metadata associated with this part.", + "type": "object" + }, + "text": { + "type": "string" + } + }, + "type": "object" + }, + "PasswordOAuthFlow": { + "id": "PasswordOAuthFlow", + "properties": { + "refreshUrl": { + "description": "The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.", + "type": "string" + }, + "scopes": { + "additionalProperties": { + "type": "string" + }, + "description": "The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty.", + "type": "object" + }, + "tokenUrl": { + "description": "The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.", + "type": "string" + } + }, + "type": "object" + }, + "PayloadOptions": { + "description": "Options about what data to include in the event payload. Only supported for Google Chat and Google Drive events.", + "id": "PayloadOptions", + "properties": { + "fieldMask": { + "description": "Optional. If `include_resource` is set to `true`, the list of fields to include in the event payload. Separate fields with a comma. For example, to include a Google Chat message's sender and create time, enter `message.sender,message.createTime`. If omitted, the payload includes all fields for the resource. If you specify a field that doesn't exist for the resource, the system ignores the field.", + "format": "google-fieldmask", + "type": "string" + }, + "includeResource": { + "description": "Optional. Whether the event payload includes data about the resource that changed. For example, for an event where a Google Chat message was created, whether the payload contains data about the [`Message`](https://developers.google.com/chat/api/reference/rest/v1/spaces.messages) resource. If false, the event payload only includes the name of the changed resource.", + "type": "boolean" + } + }, + "type": "object" + }, + "PushNotificationConfig": { + "description": "Configuration for setting up push notifications for task updates.", + "id": "PushNotificationConfig", + "properties": { + "authentication": { + "$ref": "AuthenticationInfo", + "description": "Information about the authentication to sent with the notification" + }, + "id": { + "description": "A unique identifier (e.g. UUID) for this push notification.", + "type": "string" + }, + "token": { + "description": "Token unique for this task/session", + "type": "string" + }, + "url": { + "description": "Url to send the notification too", + "type": "string" + } + }, + "type": "object" + }, + "ReactivateSubscriptionRequest": { + "description": "The request message for SubscriptionsService.ReactivateSubscription.", + "id": "ReactivateSubscriptionRequest", + "properties": {}, + "type": "object" + }, + "Security": { + "id": "Security", + "properties": { + "schemes": { + "additionalProperties": { + "$ref": "StringList" + }, + "type": "object" + } + }, + "type": "object" + }, + "SecurityScheme": { + "id": "SecurityScheme", + "properties": { + "apiKeySecurityScheme": { + "$ref": "APIKeySecurityScheme" + }, + "httpAuthSecurityScheme": { + "$ref": "HTTPAuthSecurityScheme" + }, + "mtlsSecurityScheme": { + "$ref": "MutualTlsSecurityScheme" + }, + "oauth2SecurityScheme": { + "$ref": "OAuth2SecurityScheme" + }, + "openIdConnectSecurityScheme": { + "$ref": "OpenIdConnectSecurityScheme" + } + }, + "type": "object" + }, + "SendMessageConfiguration": { + "description": "Configuration of a send message request.", + "id": "SendMessageConfiguration", + "properties": { + "acceptedOutputModes": { + "description": "The output modes that the agent is expected to respond with.", + "items": { + "type": "string" + }, + "type": "array" + }, + "blocking": { + "description": "If true, the message will be blocking until the task is completed. If false, the message will be non-blocking and the task will be returned immediately. It is the caller's responsibility to check for any task updates.", + "type": "boolean" + }, + "historyLength": { + "description": "The maximum number of messages to include in the history. if 0, the history will be unlimited.", + "format": "int32", + "type": "integer" + }, + "pushNotification": { + "$ref": "PushNotificationConfig", + "description": "A configuration of a webhook that can be used to receive updates" + } + }, + "type": "object" + }, + "SendMessageRequest": { + "description": "/////////// Request Messages ///////////", + "id": "SendMessageRequest", + "properties": { + "configuration": { + "$ref": "SendMessageConfiguration", + "description": "Configuration for the send request." + }, + "message": { + "$ref": "Message", + "description": "Required. The message to send to the agent." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional metadata for the request.", + "type": "object" + } + }, + "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" + }, + "StreamResponse": { + "description": "The stream response for a message. The stream should be one of the following sequences: If the response is a message, the stream should contain one, and only one, message and then close If the response is a task lifecycle, the first response should be a Task object followed by zero or more TaskStatusUpdateEvents and TaskArtifactUpdateEvents. The stream should complete when the Task if in an interrupted or terminal state. A stream that ends before these conditions are met are", + "id": "StreamResponse", + "properties": { + "artifactUpdate": { + "$ref": "TaskArtifactUpdateEvent" + }, + "message": { + "$ref": "Message" + }, + "statusUpdate": { + "$ref": "TaskStatusUpdateEvent" + }, + "task": { + "$ref": "Task" + } + }, + "type": "object" + }, + "StringList": { + "description": "protolint:disable REPEATED_FIELD_NAMES_PLURALIZED", + "id": "StringList", + "properties": { + "list": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Subscription": { + "description": "A subscription to receive events about a Google Workspace resource. To learn more about subscriptions, see the [Google Workspace Events API overview](https://developers.google.com/workspace/events).", + "id": "Subscription", + "properties": { + "authority": { + "description": "Output only. The user who authorized the creation of the subscription. When a user authorizes the subscription, this field and the `user_authority` field have the same value and the format is: Format: `users/{user}` For Google Workspace users, the `{user}` value is the [`user.id`](https://developers.google.com/admin-sdk/directory/reference/rest/v1/users#User.FIELDS.ids) field from the Directory API. When a Chat app authorizes the subscription, only `service_account_authority` field populates and this field is empty.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time when the subscription is created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "etag": { + "description": "Optional. This checksum is computed by the server based on the value of other fields, and might be sent on update requests to ensure the client has an up-to-date value before proceeding.", + "type": "string" + }, + "eventTypes": { + "description": "Required. Unordered list. Input for creating a subscription. Otherwise, output only. One or more types of events to receive about the target resource. Formatted according to the CloudEvents specification. The supported event types depend on the target resource of your subscription. For details, see [Supported Google Workspace events](https://developers.google.com/workspace/events/guides#supported-events). By default, you also receive events about the [lifecycle of your subscription](https://developers.google.com/workspace/events/guides/events-lifecycle). You don't need to specify lifecycle events for this field. If you specify an event type that doesn't exist for the target resource, the request returns an HTTP `400 Bad Request` status code.", + "items": { + "type": "string" + }, + "type": "array" + }, + "expireTime": { + "description": "Non-empty default. The timestamp in UTC when the subscription expires. Always displayed on output, regardless of what was used on input.", + "format": "google-datetime", + "type": "string" + }, + "name": { + "description": "Identifier. Resource name of the subscription. Format: `subscriptions/{subscription}`", + "type": "string" + }, + "notificationEndpoint": { + "$ref": "NotificationEndpoint", + "description": "Required. Immutable. The endpoint where the subscription delivers events, such as a Pub/Sub topic." + }, + "payloadOptions": { + "$ref": "PayloadOptions", + "description": "Optional. Options about what data to include in the event payload. Only supported for Google Chat and Google Drive events." + }, + "reconciling": { + "description": "Output only. If `true`, the subscription is in the process of being updated.", + "readOnly": true, "type": "boolean" }, "state": { @@ -720,6 +1725,169 @@ } }, "type": "object" + }, + "Task": { + "description": "Task is the core unit of action for A2A. It has a current status and when results are created for the task they are stored in the artifact. If there are multiple turns for a task, these are stored in history.", + "id": "Task", + "properties": { + "artifacts": { + "description": "A set of output artifacts for a Task.", + "items": { + "$ref": "Artifact" + }, + "type": "array" + }, + "contextId": { + "description": "Unique identifier (e.g. UUID) for the contextual collection of interactions (tasks and messages). Created by the A2A server.", + "type": "string" + }, + "history": { + "description": "protolint:disable REPEATED_FIELD_NAMES_PLURALIZED The history of interactions from a task.", + "items": { + "$ref": "Message" + }, + "type": "array" + }, + "id": { + "description": "Unique identifier (e.g. UUID) for the task, generated by the server for a new task.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "protolint:enable REPEATED_FIELD_NAMES_PLURALIZED A key/value object to store custom metadata about a task.", + "type": "object" + }, + "status": { + "$ref": "TaskStatus", + "description": "The current status of a Task, including state and a message." + } + }, + "type": "object" + }, + "TaskArtifactUpdateEvent": { + "description": "TaskArtifactUpdateEvent represents a task delta where an artifact has been generated.", + "id": "TaskArtifactUpdateEvent", + "properties": { + "append": { + "description": "Whether this should be appended to a prior one produced", + "type": "boolean" + }, + "artifact": { + "$ref": "Artifact", + "description": "The artifact itself" + }, + "contextId": { + "description": "The id of the context that this task belongs too", + "type": "string" + }, + "lastChunk": { + "description": "Whether this represents the last part of an artifact", + "type": "boolean" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional metadata associated with the artifact update.", + "type": "object" + }, + "taskId": { + "description": "The id of the task for this artifact", + "type": "string" + } + }, + "type": "object" + }, + "TaskPushNotificationConfig": { + "id": "TaskPushNotificationConfig", + "properties": { + "name": { + "description": "The resource name of the config. Format: tasks/{task_id}/pushNotificationConfigs/{config_id}", + "type": "string" + }, + "pushNotificationConfig": { + "$ref": "PushNotificationConfig", + "description": "The push notification configuration details." + } + }, + "type": "object" + }, + "TaskStatus": { + "description": "A container for the status of a task", + "id": "TaskStatus", + "properties": { + "message": { + "$ref": "Message", + "description": "A message associated with the status." + }, + "state": { + "description": "The current state of this task", + "enum": [ + "TASK_STATE_UNSPECIFIED", + "TASK_STATE_SUBMITTED", + "TASK_STATE_WORKING", + "TASK_STATE_COMPLETED", + "TASK_STATE_FAILED", + "TASK_STATE_CANCELLED", + "TASK_STATE_INPUT_REQUIRED", + "TASK_STATE_REJECTED", + "TASK_STATE_AUTH_REQUIRED" + ], + "enumDescriptions": [ + "", + "Represents the status that acknowledges a task is created", + "Represents the status that a task is actively being processed", + "Represents the status a task is finished. This is a terminal state", + "Represents the status a task is done but failed. This is a terminal state", + "Represents the status a task was cancelled before it finished. This is a terminal state.", + "Represents the status that the task requires information to complete. This is an interrupted state.", + "Represents the status that the agent has decided to not perform the task. This may be done during initial task creation or later once an agent has determined it can't or won't proceed. This is a terminal state.", + "Represents the state that some authentication is needed from the upstream client. Authentication is expected to come out-of-band thus this is not an interrupted or terminal state." + ], + "type": "string" + }, + "timestamp": { + "description": "Timestamp when the status was recorded. Example: \"2023-10-27T10:00:00Z\"", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "TaskStatusUpdateEvent": { + "description": "TaskStatusUpdateEvent is a delta even on a task indicating that a task has changed.", + "id": "TaskStatusUpdateEvent", + "properties": { + "contextId": { + "description": "The id of the context that the task belongs to", + "type": "string" + }, + "final": { + "description": "Whether this is the last status update expected for this task.", + "type": "boolean" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional metadata to associate with the task update.", + "type": "object" + }, + "status": { + "$ref": "TaskStatus", + "description": "The new status of the task." + }, + "taskId": { + "description": "The id of the task that is changed", + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/Src/Generated/Google.Apis.WorkspaceEvents.v1/Google.Apis.WorkspaceEvents.v1.cs b/Src/Generated/Google.Apis.WorkspaceEvents.v1/Google.Apis.WorkspaceEvents.v1.cs index 1d81e8d4181..f5910412c98 100644 --- a/Src/Generated/Google.Apis.WorkspaceEvents.v1/Google.Apis.WorkspaceEvents.v1.cs +++ b/Src/Generated/Google.Apis.WorkspaceEvents.v1/Google.Apis.WorkspaceEvents.v1.cs @@ -34,8 +34,11 @@ public WorkspaceEventsService() : this(new Google.Apis.Services.BaseClientServic /// The service initializer. public WorkspaceEventsService(Google.Apis.Services.BaseClientService.Initializer initializer) : base(initializer) { + Message = new MessageResource(this); Operations = new OperationsResource(this); Subscriptions = new SubscriptionsResource(this); + Tasks = new TasksResource(this); + V1 = new V1Resource(this); BaseUri = GetEffectiveUri(BaseUriOverride, "https://workspaceevents.googleapis.com/"); BatchUri = GetEffectiveUri(null, "https://workspaceevents.googleapis.com/batch"); } @@ -222,11 +225,20 @@ public static class ScopeConstants public const string MeetingsSpaceReadonly = "https://www.googleapis.com/auth/meetings.space.readonly"; } + /// Gets the Message resource. + public virtual MessageResource Message { get; } + /// Gets the Operations resource. public virtual OperationsResource Operations { get; } /// Gets the Subscriptions resource. public virtual SubscriptionsResource Subscriptions { get; } + + /// Gets the Tasks resource. + public virtual TasksResource Tasks { get; } + + /// Gets the V1 resource. + public virtual V1Resource V1 { get; } } /// A base abstract class for WorkspaceEvents requests. @@ -410,6 +422,66 @@ protected override void InitParameters() } } + /// The "message" collection of methods. + public class MessageResource + { + private const string Resource = "message"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public MessageResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// SendStreamingMessage is a streaming call that will return a stream of task update events until the Task is + /// in an interrupted or terminal state. + /// + /// The body of the request. + public virtual StreamRequest Stream(Google.Apis.WorkspaceEvents.v1.Data.SendMessageRequest body) + { + return new StreamRequest(this.service, body); + } + + /// + /// SendStreamingMessage is a streaming call that will return a stream of task update events until the Task is + /// in an interrupted or terminal state. + /// + public class StreamRequest : WorkspaceEventsBaseServiceRequest + { + /// Constructs a new Stream request. + public StreamRequest(Google.Apis.Services.IClientService service, Google.Apis.WorkspaceEvents.v1.Data.SendMessageRequest body) : base(service) + { + Body = body; + InitParameters(); + } + + /// Gets or sets the body of this request. + Google.Apis.WorkspaceEvents.v1.Data.SendMessageRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "stream"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1/message:stream"; + + /// Initializes Stream parameter list. + protected override void InitParameters() + { + base.InitParameters(); + } + } + } + /// The "operations" collection of methods. public class OperationsResource { @@ -1003,210 +1075,1511 @@ protected override void InitParameters() } } } -} -namespace Google.Apis.WorkspaceEvents.v1.Data -{ - /// The response message for SubscriptionsService.ListSubscriptions. - public class ListSubscriptionsResponse : Google.Apis.Requests.IDirectResponseSchema + + /// The "tasks" collection of methods. + public class TasksResource { - /// - /// A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no - /// subsequent pages. - /// - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } + private const string Resource = "tasks"; - /// List of subscriptions. - [Newtonsoft.Json.JsonPropertyAttribute("subscriptions")] - public virtual System.Collections.Generic.IList Subscriptions { get; set; } + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Constructs a new resource. + public TasksResource(Google.Apis.Services.IClientService service) + { + this.service = service; + PushNotificationConfigs = new PushNotificationConfigsResource(service); + } - /// The endpoint where the subscription delivers events. - public class NotificationEndpoint : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// Immutable. The Pub/Sub topic that receives events for the subscription. Format: - /// `projects/{project}/topics/{topic}` You must create the topic in the same Google Cloud project where you - /// create this subscription. Note: The Google Workspace Events API uses [ordering - /// keys](https://cloud.google.com/pubsub/docs/ordering) for the benefit of sequential events. If the Cloud - /// Pub/Sub topic has a [message storage - /// policy](https://cloud.google.com/pubsub/docs/resource-location-restriction#exceptions) configured to exclude - /// the nearest Google Cloud region, publishing events with ordering keys will fail. When the topic receives - /// events, the events are encoded as Pub/Sub messages. For details, see the [Google Cloud Pub/Sub Protocol - /// Binding for CloudEvents](https://github.com/googleapis/google-cloudevents/blob/main/docs/spec/pubsub.md). - /// - [Newtonsoft.Json.JsonPropertyAttribute("pubsubTopic")] - public virtual string PubsubTopic { get; set; } + /// Gets the PushNotificationConfigs resource. + public virtual PushNotificationConfigsResource PushNotificationConfigs { get; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// The "pushNotificationConfigs" collection of methods. + public class PushNotificationConfigsResource + { + private const string Resource = "pushNotificationConfigs"; - /// This resource represents a long-running operation that is the result of a network API call. - public class Operation : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// 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. - /// - [Newtonsoft.Json.JsonPropertyAttribute("done")] - public virtual System.Nullable Done { get; set; } + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; - /// The error result of the operation in case of failure or cancellation. - [Newtonsoft.Json.JsonPropertyAttribute("error")] - public virtual Status Error { get; set; } + /// Constructs a new resource. + public PushNotificationConfigsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } - /// - /// 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. - /// - [Newtonsoft.Json.JsonPropertyAttribute("metadata")] - public virtual System.Collections.Generic.IDictionary Metadata { get; set; } + /// Set a push notification config for a task. + /// The body of the request. + /// Required. The parent task resource for this config. Format: tasks/{task_id} + public virtual CreateRequest Create(Google.Apis.WorkspaceEvents.v1.Data.TaskPushNotificationConfig body, string parent) + { + return new CreateRequest(this.service, body, parent); + } - /// - /// 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}`. - /// - [Newtonsoft.Json.JsonPropertyAttribute("name")] - public virtual string Name { get; set; } + /// Set a push notification config for a task. + public class CreateRequest : WorkspaceEventsBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.WorkspaceEvents.v1.Data.TaskPushNotificationConfig body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } - /// - /// 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`. - /// - [Newtonsoft.Json.JsonPropertyAttribute("response")] - public virtual System.Collections.Generic.IDictionary Response { get; set; } + /// Required. The parent task resource for this config. Format: tasks/{task_id} + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Required. The ID for the new config. + [Google.Apis.Util.RequestParameterAttribute("configId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string ConfigId { get; set; } - /// - /// Options about what data to include in the event payload. Only supported for Google Chat and Google Drive events. - /// - public class PayloadOptions : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// Optional. If `include_resource` is set to `true`, the list of fields to include in the event payload. - /// Separate fields with a comma. For example, to include a Google Chat message's sender and create time, enter - /// `message.sender,message.createTime`. If omitted, the payload includes all fields for the resource. If you - /// specify a field that doesn't exist for the resource, the system ignores the field. - /// - [Newtonsoft.Json.JsonPropertyAttribute("fieldMask")] - public virtual object FieldMask { get; set; } + /// Gets or sets the body of this request. + Google.Apis.WorkspaceEvents.v1.Data.TaskPushNotificationConfig Body { get; set; } - /// - /// Optional. Whether the event payload includes data about the resource that changed. For example, for an event - /// where a Google Chat message was created, whether the payload contains data about the - /// [`Message`](https://developers.google.com/chat/api/reference/rest/v1/spaces.messages) resource. If false, - /// the event payload only includes the name of the changed resource. - /// - [Newtonsoft.Json.JsonPropertyAttribute("includeResource")] - public virtual System.Nullable IncludeResource { get; set; } + /// Returns the body of the request. + protected override object GetBody() => Body; - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Gets the method name. + public override string MethodName => "create"; - /// The request message for SubscriptionsService.ReactivateSubscription. - public class ReactivateSubscriptionRequest : Google.Apis.Requests.IDirectResponseSchema - { - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Gets the HTTP method. + public override string HttpMethod => "POST"; - /// - /// 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). - /// - public class Status : Google.Apis.Requests.IDirectResponseSchema - { - /// The status code, which should be an enum value of google.rpc.Code. - [Newtonsoft.Json.JsonPropertyAttribute("code")] - public virtual System.Nullable Code { get; set; } + /// Gets the REST path. + public override string RestPath => "v1/{+parent}"; - /// - /// A list of messages that carry the error details. There is a common set of message types for APIs to use. - /// - [Newtonsoft.Json.JsonPropertyAttribute("details")] - public virtual System.Collections.Generic.IList> Details { get; set; } + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^tasks/[^/]+/pushNotificationConfigs$", + }); + RequestParameters.Add("configId", new Google.Apis.Discovery.Parameter + { + Name = "configId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } - /// - /// 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. - /// - [Newtonsoft.Json.JsonPropertyAttribute("message")] - public virtual string Message { get; set; } + /// Delete a push notification config for a task. + /// + /// The resource name of the config to delete. Format: tasks/{task_id}/pushNotificationConfigs/{config_id} + /// + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } - /// The ETag of the item. - public virtual string ETag { get; set; } - } + /// Delete a push notification config for a task. + public class DeleteRequest : WorkspaceEventsBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } - /// - /// A subscription to receive events about a Google Workspace resource. To learn more about subscriptions, see the - /// [Google Workspace Events API overview](https://developers.google.com/workspace/events). - /// - public class Subscription : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// Output only. The user who authorized the creation of the subscription. When a user authorizes the - /// subscription, this field and the `user_authority` field have the same value and the format is: Format: - /// `users/{user}` For Google Workspace users, the `{user}` value is the - /// [`user.id`](https://developers.google.com/admin-sdk/directory/reference/rest/v1/users#User.FIELDS.ids) field - /// from the Directory API. When a Chat app authorizes the subscription, only `service_account_authority` field - /// populates and this field is empty. - /// - [Newtonsoft.Json.JsonPropertyAttribute("authority")] - public virtual string Authority { get; set; } + /// + /// The resource name of the config to delete. Format: + /// tasks/{task_id}/pushNotificationConfigs/{config_id} + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } - private string _createTimeRaw; + /// Gets the method name. + public override string MethodName => "delete"; - private object _createTime; + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; - /// Output only. The time when the subscription is created. - [Newtonsoft.Json.JsonPropertyAttribute("createTime")] - public virtual string CreateTimeRaw - { - get => _createTimeRaw; - set + /// Gets the REST path. + public override string RestPath => "v1/{+name}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^tasks/[^/]+/pushNotificationConfigs/[^/]+$", + }); + } + } + + /// Get a push notification config for a task. + /// + /// The resource name of the config to retrieve. Format: tasks/{task_id}/pushNotificationConfigs/{config_id} + /// + public virtual GetRequest Get(string name) { - _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); - _createTimeRaw = value; + return new GetRequest(this.service, name); } - } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] - public virtual object CreateTime - { - get => _createTime; - set + /// Get a push notification config for a task. + public class GetRequest : WorkspaceEventsBaseServiceRequest { - _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); - _createTime = value; + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// The resource name of the config to retrieve. Format: + /// tasks/{task_id}/pushNotificationConfigs/{config_id} + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^tasks/[^/]+/pushNotificationConfigs/[^/]+$", + }); + } } - } - /// representation of . - [Newtonsoft.Json.JsonIgnoreAttribute] - public virtual System.DateTimeOffset? CreateTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); - set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + /// Get a list of push notifications configured for a task. + /// The parent task resource. Format: tasks/{task_id} + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Get a list of push notifications configured for a task. + public class ListRequest : WorkspaceEventsBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// The parent task resource. Format: tasks/{task_id} + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// For AIP-158 these fields are present. Usually not used/needed. The maximum number of configurations + /// to return. If unspecified, all configs will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A page token received from a previous ListTaskPushNotificationConfigRequest call. Provide this to + /// retrieve the subsequent page. When paginating, all other parameters provided to + /// `ListTaskPushNotificationConfigRequest` must match the call that provided the page token. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+parent}/pushNotificationConfigs"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^tasks/[^/]+$", + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } } /// - /// Optional. This checksum is computed by the server based on the value of other fields, and might be sent on + /// Cancel a task from the agent. If supported one should expect no more task updates for the task. + /// + /// The body of the request. + /// The resource name of the task to cancel. Format: tasks/{task_id} + public virtual CancelRequest Cancel(Google.Apis.WorkspaceEvents.v1.Data.CancelTaskRequest body, string name) + { + return new CancelRequest(this.service, body, name); + } + + /// + /// Cancel a task from the agent. If supported one should expect no more task updates for the task. + /// + public class CancelRequest : WorkspaceEventsBaseServiceRequest + { + /// Constructs a new Cancel request. + public CancelRequest(Google.Apis.Services.IClientService service, Google.Apis.WorkspaceEvents.v1.Data.CancelTaskRequest body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// The resource name of the task to cancel. Format: tasks/{task_id} + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.WorkspaceEvents.v1.Data.CancelTaskRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "cancel"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}:cancel"; + + /// Initializes Cancel parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^tasks/[^/]+$", + }); + } + } + + /// Get the current state of a task from the agent. + /// Required. The resource name of the task. Format: tasks/{task_id} + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Get the current state of a task from the agent. + public class GetRequest : WorkspaceEventsBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// Required. The resource name of the task. Format: tasks/{task_id} + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// The number of most recent messages from the task's history to retrieve. + [Google.Apis.Util.RequestParameterAttribute("historyLength", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable HistoryLength { get; set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^tasks/[^/]+$", + }); + RequestParameters.Add("historyLength", new Google.Apis.Discovery.Parameter + { + Name = "historyLength", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// TaskSubscription is a streaming call that will return a stream of task update events. This attaches the + /// stream to an existing in process task. If the task is complete the stream will return the completed task + /// (like GetTask) and close the stream. + /// + /// The resource name of the task to subscribe to. Format: tasks/{task_id} + public virtual SubscribeRequest Subscribe(string name) + { + return new SubscribeRequest(this.service, name); + } + + /// + /// TaskSubscription is a streaming call that will return a stream of task update events. This attaches the + /// stream to an existing in process task. If the task is complete the stream will return the completed task + /// (like GetTask) and close the stream. + /// + public class SubscribeRequest : WorkspaceEventsBaseServiceRequest + { + /// Constructs a new Subscribe request. + public SubscribeRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// The resource name of the task to subscribe to. Format: tasks/{task_id} + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "subscribe"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}:subscribe"; + + /// Initializes Subscribe parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^tasks/[^/]+$", + }); + } + } + } + + /// The "v1" collection of methods. + public class V1Resource + { + private const string Resource = "v1"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public V1Resource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// GetAgentCard returns the agent card for the agent. + public virtual GetCardRequest GetCard() + { + return new GetCardRequest(this.service); + } + + /// GetAgentCard returns the agent card for the agent. + public class GetCardRequest : WorkspaceEventsBaseServiceRequest + { + /// Constructs a new GetCard request. + public GetCardRequest(Google.Apis.Services.IClientService service) : base(service) + { + InitParameters(); + } + + /// Gets the method name. + public override string MethodName => "getCard"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/card"; + + /// Initializes GetCard parameter list. + protected override void InitParameters() + { + base.InitParameters(); + } + } + } +} +namespace Google.Apis.WorkspaceEvents.v1.Data +{ + public class APIKeySecurityScheme : Google.Apis.Requests.IDirectResponseSchema + { + /// Description of this security scheme. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// Location of the API key, valid values are "query", "header", or "cookie" + [Newtonsoft.Json.JsonPropertyAttribute("location")] + public virtual string Location { get; set; } + + /// Name of the header, query or cookie parameter to be used. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Defines the A2A feature set supported by the agent + public class AgentCapabilities : Google.Apis.Requests.IDirectResponseSchema + { + /// Extensions supported by this agent. + [Newtonsoft.Json.JsonPropertyAttribute("extensions")] + public virtual System.Collections.Generic.IList Extensions { get; set; } + + /// If the agent can send push notifications to the clients webhook + [Newtonsoft.Json.JsonPropertyAttribute("pushNotifications")] + public virtual System.Nullable PushNotifications { get; set; } + + /// If the agent will support streaming responses + [Newtonsoft.Json.JsonPropertyAttribute("streaming")] + public virtual System.Nullable Streaming { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// AgentCard conveys key information: - Overall details (version, name, description, uses) - Skills; a set of + /// actions/solutions the agent can perform - Default modalities/content types supported by the agent. - + /// Authentication requirements Next ID: 19 + /// + public class AgentCard : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Announcement of additional supported transports. Client can use any of the supported transports. + /// + [Newtonsoft.Json.JsonPropertyAttribute("additionalInterfaces")] + public virtual System.Collections.Generic.IList AdditionalInterfaces { get; set; } + + /// A2A Capability set supported by the agent. + [Newtonsoft.Json.JsonPropertyAttribute("capabilities")] + public virtual AgentCapabilities Capabilities { get; set; } + + /// + /// protolint:enable REPEATED_FIELD_NAMES_PLURALIZED The set of interaction modes that the agent supports across + /// all skills. This can be overridden per skill. Defined as mime types. + /// + [Newtonsoft.Json.JsonPropertyAttribute("defaultInputModes")] + public virtual System.Collections.Generic.IList DefaultInputModes { get; set; } + + /// The mime types supported as outputs from this agent. + [Newtonsoft.Json.JsonPropertyAttribute("defaultOutputModes")] + public virtual System.Collections.Generic.IList DefaultOutputModes { get; set; } + + /// + /// A description of the agent's domain of action/solution space. Example: "Agent that helps users with recipes + /// and cooking." + /// + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// A url to provide additional documentation about the agent. + [Newtonsoft.Json.JsonPropertyAttribute("documentationUrl")] + public virtual string DocumentationUrl { get; set; } + + /// An optional URL to an icon for the agent. + [Newtonsoft.Json.JsonPropertyAttribute("iconUrl")] + public virtual string IconUrl { get; set; } + + /// A human readable name for the agent. Example: "Recipe Agent" + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// The transport of the preferred endpoint. If empty, defaults to JSONRPC. + [Newtonsoft.Json.JsonPropertyAttribute("preferredTransport")] + public virtual string PreferredTransport { get; set; } + + /// The version of the A2A protocol this agent supports. + [Newtonsoft.Json.JsonPropertyAttribute("protocolVersion")] + public virtual string ProtocolVersion { get; set; } + + /// The service provider of the agent. + [Newtonsoft.Json.JsonPropertyAttribute("provider")] + public virtual AgentProvider Provider { get; set; } + + /// + /// protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Security requirements for contacting the agent. This list + /// can be seen as an OR of ANDs. Each object in the list describes one possible set of security requirements + /// that must be present on a request. This allows specifying, for example, "callers must either use OAuth OR an + /// API Key AND mTLS." Example: security { schemes { key: "oauth" value { list: ["read"] } } } security { + /// schemes { key: "api-key" } schemes { key: "mtls" } } + /// + [Newtonsoft.Json.JsonPropertyAttribute("security")] + public virtual System.Collections.Generic.IList Security { get; set; } + + /// The security scheme details used for authenticating with this agent. + [Newtonsoft.Json.JsonPropertyAttribute("securitySchemes")] + public virtual System.Collections.Generic.IDictionary SecuritySchemes { get; set; } + + /// JSON Web Signatures computed for this AgentCard. + [Newtonsoft.Json.JsonPropertyAttribute("signatures")] + public virtual System.Collections.Generic.IList Signatures { get; set; } + + /// + /// Skills represent a unit of ability an agent can perform. This may somewhat abstract but represents a more + /// focused set of actions that the agent is highly likely to succeed at. + /// + [Newtonsoft.Json.JsonPropertyAttribute("skills")] + public virtual System.Collections.Generic.IList Skills { get; set; } + + /// + /// Whether the agent supports providing an extended agent card when the user is authenticated, i.e. is the card + /// from .well-known different than the card from GetAgentCard. + /// + [Newtonsoft.Json.JsonPropertyAttribute("supportsAuthenticatedExtendedCard")] + public virtual System.Nullable SupportsAuthenticatedExtendedCard { get; set; } + + /// + /// A URL to the address the agent is hosted at. This represents the preferred endpoint as declared by the + /// agent. + /// + [Newtonsoft.Json.JsonPropertyAttribute("url")] + public virtual string Url { get; set; } + + /// The version of the agent. Example: "1.0.0" + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual string Version { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// AgentCardSignature represents a JWS signature of an AgentCard. This follows the JSON format of an RFC 7515 JSON + /// Web Signature (JWS). + /// + public class AgentCardSignature : Google.Apis.Requests.IDirectResponseSchema + { + /// The unprotected JWS header values. + [Newtonsoft.Json.JsonPropertyAttribute("header")] + public virtual System.Collections.Generic.IDictionary Header { get; set; } + + /// + /// Required. The protected JWS header for the signature. This is always a base64url-encoded JSON object. + /// Required. + /// + [Newtonsoft.Json.JsonPropertyAttribute("protected")] + public virtual string Protected__ { get; set; } + + /// Required. The computed signature, base64url-encoded. Required. + [Newtonsoft.Json.JsonPropertyAttribute("signature")] + public virtual string Signature { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A declaration of an extension supported by an Agent. + public class AgentExtension : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// A description of how this agent uses this extension. Example: "Google OAuth 2.0 authentication" + /// + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// Optional configuration for the extension. + [Newtonsoft.Json.JsonPropertyAttribute("params")] + public virtual System.Collections.Generic.IDictionary Params__ { get; set; } + + /// Whether the client must follow specific requirements of the extension. Example: false + [Newtonsoft.Json.JsonPropertyAttribute("required")] + public virtual System.Nullable Required { get; set; } + + /// + /// The URI of the extension. Example: "https://developers.google.com/identity/protocols/oauth2" + /// + [Newtonsoft.Json.JsonPropertyAttribute("uri")] + public virtual string Uri { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Defines additional transport information for the agent. + public class AgentInterface : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The transport supported this url. This is an open form string, to be easily extended for many transport + /// protocols. The core ones officially supported are JSONRPC, GRPC and HTTP+JSON. + /// + [Newtonsoft.Json.JsonPropertyAttribute("transport")] + public virtual string Transport { get; set; } + + /// The url this interface is found at. + [Newtonsoft.Json.JsonPropertyAttribute("url")] + public virtual string Url { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Represents information about the service provider of an agent. + public class AgentProvider : Google.Apis.Requests.IDirectResponseSchema + { + /// The providers organization name Example: "Google" + [Newtonsoft.Json.JsonPropertyAttribute("organization")] + public virtual string Organization { get; set; } + + /// The providers reference url Example: "https://ai.google.dev" + [Newtonsoft.Json.JsonPropertyAttribute("url")] + public virtual string Url { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// AgentSkill represents a unit of action/solution that the agent can perform. One can think of this as a type of + /// highly reliable solution that an agent can be tasked to provide. Agents have the autonomy to choose how and when + /// to use specific skills, but clients should have confidence that if the skill is defined that unit of action can + /// be reliably performed. + /// + public class AgentSkill : Google.Apis.Requests.IDirectResponseSchema + { + /// A human (or llm) readable description of the skill details and behaviors. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// + /// A set of example queries that this skill is designed to address. These examples should help the caller to + /// understand how to craft requests to the agent to achieve specific goals. Example: ["I need a recipe for + /// bread"] + /// + [Newtonsoft.Json.JsonPropertyAttribute("examples")] + public virtual System.Collections.Generic.IList Examples { get; set; } + + /// Unique identifier of the skill within this agent. + [Newtonsoft.Json.JsonPropertyAttribute("id")] + public virtual string Id { get; set; } + + /// Possible input modalities supported. + [Newtonsoft.Json.JsonPropertyAttribute("inputModes")] + public virtual System.Collections.Generic.IList InputModes { get; set; } + + /// A human readable name for the skill. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Possible output modalities produced + [Newtonsoft.Json.JsonPropertyAttribute("outputModes")] + public virtual System.Collections.Generic.IList OutputModes { get; set; } + + /// + /// protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Security schemes necessary for the agent to leverage this + /// skill. As in the overall AgentCard.security, this list represents a logical OR of security requirement + /// objects. Each object is a set of security schemes that must be used together (a logical AND). + /// protolint:enable REPEATED_FIELD_NAMES_PLURALIZED + /// + [Newtonsoft.Json.JsonPropertyAttribute("security")] + public virtual System.Collections.Generic.IList Security { get; set; } + + /// + /// A set of tags for the skill to enhance categorization/utilization. Example: ["cooking", "customer support", + /// "billing"] + /// + [Newtonsoft.Json.JsonPropertyAttribute("tags")] + public virtual System.Collections.Generic.IList Tags { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Artifacts are the container for task completed results. These are similar to Messages but are intended to be the + /// product of a task, as opposed to point-to-point communication. + /// + public class Artifact : Google.Apis.Requests.IDirectResponseSchema + { + /// Unique identifier (e.g. UUID) for the artifact. It must be at least unique within a task. + [Newtonsoft.Json.JsonPropertyAttribute("artifactId")] + public virtual string ArtifactId { get; set; } + + /// A human readable description of the artifact, optional. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// The URIs of extensions that are present or contributed to this Artifact. + [Newtonsoft.Json.JsonPropertyAttribute("extensions")] + public virtual System.Collections.Generic.IList Extensions { get; set; } + + /// Optional metadata included with the artifact. + [Newtonsoft.Json.JsonPropertyAttribute("metadata")] + public virtual System.Collections.Generic.IDictionary Metadata { get; set; } + + /// A human readable name for the artifact. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// The content of the artifact. + [Newtonsoft.Json.JsonPropertyAttribute("parts")] + public virtual System.Collections.Generic.IList Parts { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Defines authentication details, used for push notifications. + public class AuthenticationInfo : Google.Apis.Requests.IDirectResponseSchema + { + /// Optional credentials + [Newtonsoft.Json.JsonPropertyAttribute("credentials")] + public virtual string Credentials { get; set; } + + /// Supported authentication schemes - e.g. Basic, Bearer, etc + [Newtonsoft.Json.JsonPropertyAttribute("schemes")] + public virtual System.Collections.Generic.IList Schemes { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class AuthorizationCodeOAuthFlow : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard + /// requires the use of TLS + /// + [Newtonsoft.Json.JsonPropertyAttribute("authorizationUrl")] + public virtual string AuthorizationUrl { get; set; } + + /// + /// The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard + /// requires the use of TLS. + /// + [Newtonsoft.Json.JsonPropertyAttribute("refreshUrl")] + public virtual string RefreshUrl { get; set; } + + /// + /// The available scopes for the OAuth2 security scheme. A map between the scope name and a short description + /// for it. The map MAY be empty. + /// + [Newtonsoft.Json.JsonPropertyAttribute("scopes")] + public virtual System.Collections.Generic.IDictionary Scopes { get; set; } + + /// + /// The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the + /// use of TLS. + /// + [Newtonsoft.Json.JsonPropertyAttribute("tokenUrl")] + public virtual string TokenUrl { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class CancelTaskRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ClientCredentialsOAuthFlow : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard + /// requires the use of TLS. + /// + [Newtonsoft.Json.JsonPropertyAttribute("refreshUrl")] + public virtual string RefreshUrl { get; set; } + + /// + /// The available scopes for the OAuth2 security scheme. A map between the scope name and a short description + /// for it. The map MAY be empty. + /// + [Newtonsoft.Json.JsonPropertyAttribute("scopes")] + public virtual System.Collections.Generic.IDictionary Scopes { get; set; } + + /// + /// The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the + /// use of TLS. + /// + [Newtonsoft.Json.JsonPropertyAttribute("tokenUrl")] + public virtual string TokenUrl { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// DataPart represents a structured blob. This is most commonly a JSON payload. + public class DataPart : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("data")] + public virtual System.Collections.Generic.IDictionary Data { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// 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); } + /// + public class Empty : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// FilePart represents the different ways files can be provided. If files are small, directly feeding the bytes is + /// supported via file_with_bytes. If the file is large, the agent should read the content as appropriate directly + /// from the file_with_uri source. + /// + public class FilePart : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("fileWithBytes")] + public virtual string FileWithBytes { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("fileWithUri")] + public virtual string FileWithUri { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("mimeType")] + public virtual string MimeType { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class HTTPAuthSecurityScheme : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// A hint to the client to identify how the bearer token is formatted. Bearer tokens are usually generated by + /// an authorization server, so this information is primarily for documentation purposes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("bearerFormat")] + public virtual string BearerFormat { get; set; } + + /// Description of this security scheme. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// + /// The name of the HTTP Authentication scheme to be used in the Authorization header as defined in RFC7235. The + /// values used SHOULD be registered in the IANA Authentication Scheme registry. The value is case-insensitive, + /// as defined in RFC7235. + /// + [Newtonsoft.Json.JsonPropertyAttribute("scheme")] + public virtual string Scheme { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ImplicitOAuthFlow : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard + /// requires the use of TLS + /// + [Newtonsoft.Json.JsonPropertyAttribute("authorizationUrl")] + public virtual string AuthorizationUrl { get; set; } + + /// + /// The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard + /// requires the use of TLS. + /// + [Newtonsoft.Json.JsonPropertyAttribute("refreshUrl")] + public virtual string RefreshUrl { get; set; } + + /// + /// The available scopes for the OAuth2 security scheme. A map between the scope name and a short description + /// for it. The map MAY be empty. + /// + [Newtonsoft.Json.JsonPropertyAttribute("scopes")] + public virtual System.Collections.Generic.IDictionary Scopes { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// The response message for SubscriptionsService.ListSubscriptions. + public class ListSubscriptionsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no + /// subsequent pages. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// List of subscriptions. + [Newtonsoft.Json.JsonPropertyAttribute("subscriptions")] + public virtual System.Collections.Generic.IList Subscriptions { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ListTaskPushNotificationConfigResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of push notification configurations. + [Newtonsoft.Json.JsonPropertyAttribute("configs")] + public virtual System.Collections.Generic.IList Configs { get; set; } + + /// + /// A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no + /// subsequent pages. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Message is one unit of communication between client and server. It is associated with a context and optionally a + /// task. Since the server is responsible for the context definition, it must always provide a context_id in its + /// messages. The client can optionally provide the context_id if it knows the context to associate the message to. + /// Similarly for task_id, except the server decides if a task is created and whether to include the task_id. + /// + public class Message : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Content is the container of the message content. + /// + [Newtonsoft.Json.JsonPropertyAttribute("content")] + public virtual System.Collections.Generic.IList Content { get; set; } + + /// + /// The context id of the message. This is optional and if set, the message will be associated with the given + /// context. + /// + [Newtonsoft.Json.JsonPropertyAttribute("contextId")] + public virtual string ContextId { get; set; } + + /// The URIs of extensions that are present or contributed to this Message. + [Newtonsoft.Json.JsonPropertyAttribute("extensions")] + public virtual System.Collections.Generic.IList Extensions { get; set; } + + /// + /// The unique identifier (e.g. UUID)of the message. This is required and created by the message creator. + /// + [Newtonsoft.Json.JsonPropertyAttribute("messageId")] + public virtual string MessageId { get; set; } + + /// + /// protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Any optional metadata to provide along with the message. + /// + [Newtonsoft.Json.JsonPropertyAttribute("metadata")] + public virtual System.Collections.Generic.IDictionary Metadata { get; set; } + + /// A role for the message. + [Newtonsoft.Json.JsonPropertyAttribute("role")] + public virtual string Role { get; set; } + + /// + /// The task id of the message. This is optional and if set, the message will be associated with the given task. + /// + [Newtonsoft.Json.JsonPropertyAttribute("taskId")] + public virtual string TaskId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class MutualTlsSecurityScheme : Google.Apis.Requests.IDirectResponseSchema + { + /// Description of this security scheme. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// The endpoint where the subscription delivers events. + public class NotificationEndpoint : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Immutable. The Pub/Sub topic that receives events for the subscription. Format: + /// `projects/{project}/topics/{topic}` You must create the topic in the same Google Cloud project where you + /// create this subscription. Note: The Google Workspace Events API uses [ordering + /// keys](https://cloud.google.com/pubsub/docs/ordering) for the benefit of sequential events. If the Cloud + /// Pub/Sub topic has a [message storage + /// policy](https://cloud.google.com/pubsub/docs/resource-location-restriction#exceptions) configured to exclude + /// the nearest Google Cloud region, publishing events with ordering keys will fail. When the topic receives + /// events, the events are encoded as Pub/Sub messages. For details, see the [Google Cloud Pub/Sub Protocol + /// Binding for CloudEvents](https://github.com/googleapis/google-cloudevents/blob/main/docs/spec/pubsub.md). + /// + [Newtonsoft.Json.JsonPropertyAttribute("pubsubTopic")] + public virtual string PubsubTopic { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class OAuth2SecurityScheme : Google.Apis.Requests.IDirectResponseSchema + { + /// Description of this security scheme. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// An object containing configuration information for the flow types supported + [Newtonsoft.Json.JsonPropertyAttribute("flows")] + public virtual OAuthFlows Flows { get; set; } + + /// + /// URL to the oauth2 authorization server metadata [RFC8414](https://datatracker.ietf.org/doc/html/rfc8414). + /// TLS is required. + /// + [Newtonsoft.Json.JsonPropertyAttribute("oauth2MetadataUrl")] + public virtual string Oauth2MetadataUrl { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class OAuthFlows : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("authorizationCode")] + public virtual AuthorizationCodeOAuthFlow AuthorizationCode { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("clientCredentials")] + public virtual ClientCredentialsOAuthFlow ClientCredentials { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("implicit")] + public virtual ImplicitOAuthFlow Implicit__ { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("password")] + public virtual PasswordOAuthFlow Password { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class OpenIdConnectSecurityScheme : Google.Apis.Requests.IDirectResponseSchema + { + /// Description of this security scheme. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// Well-known URL to discover the [[OpenID-Connect-Discovery]] provider metadata. + [Newtonsoft.Json.JsonPropertyAttribute("openIdConnectUrl")] + public virtual string OpenIdConnectUrl { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// This resource represents a long-running operation that is the result of a network API call. + public class Operation : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("done")] + public virtual System.Nullable Done { get; set; } + + /// The error result of the operation in case of failure or cancellation. + [Newtonsoft.Json.JsonPropertyAttribute("error")] + public virtual Status Error { get; set; } + + /// + /// 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("metadata")] + public virtual System.Collections.Generic.IDictionary Metadata { get; set; } + + /// + /// 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}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// + /// 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`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("response")] + public virtual System.Collections.Generic.IDictionary Response { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Part represents a container for a section of communication content. Parts can be purely textual, some sort of + /// file (image, video, etc) or a structured data blob (i.e. JSON). + /// + public class Part : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("data")] + public virtual DataPart Data { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("file")] + public virtual FilePart File { get; set; } + + /// Optional metadata associated with this part. + [Newtonsoft.Json.JsonPropertyAttribute("metadata")] + public virtual System.Collections.Generic.IDictionary Metadata { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("text")] + public virtual string Text { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class PasswordOAuthFlow : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard + /// requires the use of TLS. + /// + [Newtonsoft.Json.JsonPropertyAttribute("refreshUrl")] + public virtual string RefreshUrl { get; set; } + + /// + /// The available scopes for the OAuth2 security scheme. A map between the scope name and a short description + /// for it. The map MAY be empty. + /// + [Newtonsoft.Json.JsonPropertyAttribute("scopes")] + public virtual System.Collections.Generic.IDictionary Scopes { get; set; } + + /// + /// The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the + /// use of TLS. + /// + [Newtonsoft.Json.JsonPropertyAttribute("tokenUrl")] + public virtual string TokenUrl { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Options about what data to include in the event payload. Only supported for Google Chat and Google Drive events. + /// + public class PayloadOptions : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Optional. If `include_resource` is set to `true`, the list of fields to include in the event payload. + /// Separate fields with a comma. For example, to include a Google Chat message's sender and create time, enter + /// `message.sender,message.createTime`. If omitted, the payload includes all fields for the resource. If you + /// specify a field that doesn't exist for the resource, the system ignores the field. + /// + [Newtonsoft.Json.JsonPropertyAttribute("fieldMask")] + public virtual object FieldMask { get; set; } + + /// + /// Optional. Whether the event payload includes data about the resource that changed. For example, for an event + /// where a Google Chat message was created, whether the payload contains data about the + /// [`Message`](https://developers.google.com/chat/api/reference/rest/v1/spaces.messages) resource. If false, + /// the event payload only includes the name of the changed resource. + /// + [Newtonsoft.Json.JsonPropertyAttribute("includeResource")] + public virtual System.Nullable IncludeResource { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Configuration for setting up push notifications for task updates. + public class PushNotificationConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Information about the authentication to sent with the notification + [Newtonsoft.Json.JsonPropertyAttribute("authentication")] + public virtual AuthenticationInfo Authentication { get; set; } + + /// A unique identifier (e.g. UUID) for this push notification. + [Newtonsoft.Json.JsonPropertyAttribute("id")] + public virtual string Id { get; set; } + + /// Token unique for this task/session + [Newtonsoft.Json.JsonPropertyAttribute("token")] + public virtual string Token { get; set; } + + /// Url to send the notification too + [Newtonsoft.Json.JsonPropertyAttribute("url")] + public virtual string Url { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// The request message for SubscriptionsService.ReactivateSubscription. + public class ReactivateSubscriptionRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class Security : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("schemes")] + public virtual System.Collections.Generic.IDictionary Schemes { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class SecurityScheme : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("apiKeySecurityScheme")] + public virtual APIKeySecurityScheme ApiKeySecurityScheme { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("httpAuthSecurityScheme")] + public virtual HTTPAuthSecurityScheme HttpAuthSecurityScheme { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("mtlsSecurityScheme")] + public virtual MutualTlsSecurityScheme MtlsSecurityScheme { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("oauth2SecurityScheme")] + public virtual OAuth2SecurityScheme Oauth2SecurityScheme { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("openIdConnectSecurityScheme")] + public virtual OpenIdConnectSecurityScheme OpenIdConnectSecurityScheme { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Configuration of a send message request. + public class SendMessageConfiguration : Google.Apis.Requests.IDirectResponseSchema + { + /// The output modes that the agent is expected to respond with. + [Newtonsoft.Json.JsonPropertyAttribute("acceptedOutputModes")] + public virtual System.Collections.Generic.IList AcceptedOutputModes { get; set; } + + /// + /// If true, the message will be blocking until the task is completed. If false, the message will be + /// non-blocking and the task will be returned immediately. It is the caller's responsibility to check for any + /// task updates. + /// + [Newtonsoft.Json.JsonPropertyAttribute("blocking")] + public virtual System.Nullable Blocking { get; set; } + + /// + /// The maximum number of messages to include in the history. if 0, the history will be unlimited. + /// + [Newtonsoft.Json.JsonPropertyAttribute("historyLength")] + public virtual System.Nullable HistoryLength { get; set; } + + /// A configuration of a webhook that can be used to receive updates + [Newtonsoft.Json.JsonPropertyAttribute("pushNotification")] + public virtual PushNotificationConfig PushNotification { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// /////////// Request Messages /////////// + public class SendMessageRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// Configuration for the send request. + [Newtonsoft.Json.JsonPropertyAttribute("configuration")] + public virtual SendMessageConfiguration Configuration { get; set; } + + /// Required. The message to send to the agent. + [Newtonsoft.Json.JsonPropertyAttribute("message")] + public virtual Message Message { get; set; } + + /// Optional metadata for the request. + [Newtonsoft.Json.JsonPropertyAttribute("metadata")] + public virtual System.Collections.Generic.IDictionary Metadata { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// 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). + /// + public class Status : Google.Apis.Requests.IDirectResponseSchema + { + /// The status code, which should be an enum value of google.rpc.Code. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual System.Nullable Code { get; set; } + + /// + /// A list of messages that carry the error details. There is a common set of message types for APIs to use. + /// + [Newtonsoft.Json.JsonPropertyAttribute("details")] + public virtual System.Collections.Generic.IList> Details { get; set; } + + /// + /// 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("message")] + public virtual string Message { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// The stream response for a message. The stream should be one of the following sequences: If the response is a + /// message, the stream should contain one, and only one, message and then close If the response is a task + /// lifecycle, the first response should be a Task object followed by zero or more TaskStatusUpdateEvents and + /// TaskArtifactUpdateEvents. The stream should complete when the Task if in an interrupted or terminal state. A + /// stream that ends before these conditions are met are + /// + public class StreamResponse : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("artifactUpdate")] + public virtual TaskArtifactUpdateEvent ArtifactUpdate { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("message")] + public virtual Message Message { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("statusUpdate")] + public virtual TaskStatusUpdateEvent StatusUpdate { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("task")] + public virtual Task Task { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// protolint:disable REPEATED_FIELD_NAMES_PLURALIZED + public class StringList : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("list")] + public virtual System.Collections.Generic.IList List { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// A subscription to receive events about a Google Workspace resource. To learn more about subscriptions, see the + /// [Google Workspace Events API overview](https://developers.google.com/workspace/events). + /// + public class Subscription : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Output only. The user who authorized the creation of the subscription. When a user authorizes the + /// subscription, this field and the `user_authority` field have the same value and the format is: Format: + /// `users/{user}` For Google Workspace users, the `{user}` value is the + /// [`user.id`](https://developers.google.com/admin-sdk/directory/reference/rest/v1/users#User.FIELDS.ids) field + /// from the Directory API. When a Chat app authorizes the subscription, only `service_account_authority` field + /// populates and this field is empty. + /// + [Newtonsoft.Json.JsonPropertyAttribute("authority")] + public virtual string Authority { get; set; } + + private string _createTimeRaw; + + private object _createTime; + + /// Output only. The time when the subscription is created. + [Newtonsoft.Json.JsonPropertyAttribute("createTime")] + public virtual string CreateTimeRaw + { + get => _createTimeRaw; + set + { + _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _createTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] + public virtual object CreateTime + { + get => _createTime; + set + { + _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _createTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CreateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); + set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// + /// Optional. This checksum is computed by the server based on the value of other fields, and might be sent on /// update requests to ensure the client has an up-to-date value before proceeding. /// [Newtonsoft.Json.JsonPropertyAttribute("etag")] @@ -1359,4 +2732,171 @@ public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset set => UpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); } } + + /// + /// Task is the core unit of action for A2A. It has a current status and when results are created for the task they + /// are stored in the artifact. If there are multiple turns for a task, these are stored in history. + /// + public class Task : Google.Apis.Requests.IDirectResponseSchema + { + /// A set of output artifacts for a Task. + [Newtonsoft.Json.JsonPropertyAttribute("artifacts")] + public virtual System.Collections.Generic.IList Artifacts { get; set; } + + /// + /// Unique identifier (e.g. UUID) for the contextual collection of interactions (tasks and messages). Created by + /// the A2A server. + /// + [Newtonsoft.Json.JsonPropertyAttribute("contextId")] + public virtual string ContextId { get; set; } + + /// + /// protolint:disable REPEATED_FIELD_NAMES_PLURALIZED The history of interactions from a task. + /// + [Newtonsoft.Json.JsonPropertyAttribute("history")] + public virtual System.Collections.Generic.IList History { get; set; } + + /// Unique identifier (e.g. UUID) for the task, generated by the server for a new task. + [Newtonsoft.Json.JsonPropertyAttribute("id")] + public virtual string Id { get; set; } + + /// + /// protolint:enable REPEATED_FIELD_NAMES_PLURALIZED A key/value object to store custom metadata about a task. + /// + [Newtonsoft.Json.JsonPropertyAttribute("metadata")] + public virtual System.Collections.Generic.IDictionary Metadata { get; set; } + + /// The current status of a Task, including state and a message. + [Newtonsoft.Json.JsonPropertyAttribute("status")] + public virtual TaskStatus Status { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// TaskArtifactUpdateEvent represents a task delta where an artifact has been generated. + public class TaskArtifactUpdateEvent : Google.Apis.Requests.IDirectResponseSchema + { + /// Whether this should be appended to a prior one produced + [Newtonsoft.Json.JsonPropertyAttribute("append")] + public virtual System.Nullable Append { get; set; } + + /// The artifact itself + [Newtonsoft.Json.JsonPropertyAttribute("artifact")] + public virtual Artifact Artifact { get; set; } + + /// The id of the context that this task belongs too + [Newtonsoft.Json.JsonPropertyAttribute("contextId")] + public virtual string ContextId { get; set; } + + /// Whether this represents the last part of an artifact + [Newtonsoft.Json.JsonPropertyAttribute("lastChunk")] + public virtual System.Nullable LastChunk { get; set; } + + /// Optional metadata associated with the artifact update. + [Newtonsoft.Json.JsonPropertyAttribute("metadata")] + public virtual System.Collections.Generic.IDictionary Metadata { get; set; } + + /// The id of the task for this artifact + [Newtonsoft.Json.JsonPropertyAttribute("taskId")] + public virtual string TaskId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class TaskPushNotificationConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The resource name of the config. Format: tasks/{task_id}/pushNotificationConfigs/{config_id} + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// The push notification configuration details. + [Newtonsoft.Json.JsonPropertyAttribute("pushNotificationConfig")] + public virtual PushNotificationConfig PushNotificationConfig { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A container for the status of a task + public class TaskStatus : Google.Apis.Requests.IDirectResponseSchema + { + /// A message associated with the status. + [Newtonsoft.Json.JsonPropertyAttribute("message")] + public virtual Message Message { get; set; } + + /// The current state of this task + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + private string _timestampRaw; + + private object _timestamp; + + /// Timestamp when the status was recorded. Example: "2023-10-27T10:00:00Z" + [Newtonsoft.Json.JsonPropertyAttribute("timestamp")] + public virtual string TimestampRaw + { + get => _timestampRaw; + set + { + _timestamp = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _timestampRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use TimestampDateTimeOffset instead.")] + public virtual object Timestamp + { + get => _timestamp; + set + { + _timestampRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _timestamp = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? TimestampDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(TimestampRaw); + set => TimestampRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// TaskStatusUpdateEvent is a delta even on a task indicating that a task has changed. + public class TaskStatusUpdateEvent : Google.Apis.Requests.IDirectResponseSchema + { + /// The id of the context that the task belongs to + [Newtonsoft.Json.JsonPropertyAttribute("contextId")] + public virtual string ContextId { get; set; } + + /// Whether this is the last status update expected for this task. + [Newtonsoft.Json.JsonPropertyAttribute("final")] + public virtual System.Nullable Final { get; set; } + + /// Optional metadata to associate with the task update. + [Newtonsoft.Json.JsonPropertyAttribute("metadata")] + public virtual System.Collections.Generic.IDictionary Metadata { get; set; } + + /// The new status of the task. + [Newtonsoft.Json.JsonPropertyAttribute("status")] + public virtual TaskStatus Status { get; set; } + + /// The id of the task that is changed + [Newtonsoft.Json.JsonPropertyAttribute("taskId")] + public virtual string TaskId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } } diff --git a/Src/Generated/Google.Apis.WorkspaceEvents.v1/Google.Apis.WorkspaceEvents.v1.csproj b/Src/Generated/Google.Apis.WorkspaceEvents.v1/Google.Apis.WorkspaceEvents.v1.csproj index bc05702e793..e463c3475d9 100644 --- a/Src/Generated/Google.Apis.WorkspaceEvents.v1/Google.Apis.WorkspaceEvents.v1.csproj +++ b/Src/Generated/Google.Apis.WorkspaceEvents.v1/Google.Apis.WorkspaceEvents.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.WorkspaceEvents.v1 Client Library - 1.71.0.3925 + 1.72.0.3958 Google LLC Copyright 2025 Google LLC Google @@ -59,8 +59,8 @@ - - + + From 10e383a94eb1f87b70ac1106b40ceca6e6aa010d Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:43:40 +0000 Subject: [PATCH 64/65] feat: Generate Google.Apis.CloudWorkstations.v1 version 1.72.0.3947 --- DiscoveryJson/workstations.v1.json | 4 ++-- .../Google.Apis.CloudWorkstations.v1.cs | 4 ++-- .../Google.Apis.CloudWorkstations.v1.csproj | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/DiscoveryJson/workstations.v1.json b/DiscoveryJson/workstations.v1.json index dc0dde48a61..b04d07f84b0 100644 --- a/DiscoveryJson/workstations.v1.json +++ b/DiscoveryJson/workstations.v1.json @@ -144,7 +144,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Unless explicitly documented otherwise, don't use this unsupported field which is primarily intended for internal usage.", + "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -1221,7 +1221,7 @@ } } }, - "revision": "20250929", + "revision": "20251022", "rootUrl": "https://workstations.googleapis.com/", "schemas": { "Accelerator": { diff --git a/Src/Generated/Google.Apis.CloudWorkstations.v1/Google.Apis.CloudWorkstations.v1.cs b/Src/Generated/Google.Apis.CloudWorkstations.v1/Google.Apis.CloudWorkstations.v1.cs index df88d50db41..71577b86e7a 100644 --- a/Src/Generated/Google.Apis.CloudWorkstations.v1/Google.Apis.CloudWorkstations.v1.cs +++ b/Src/Generated/Google.Apis.CloudWorkstations.v1/Google.Apis.CloudWorkstations.v1.cs @@ -2652,8 +2652,8 @@ public ListRequest(Google.Apis.Services.IClientService service, string name) : b public virtual string Name { get; private set; } /// - /// Optional. Unless explicitly documented otherwise, don't use this unsupported field which is - /// primarily intended for internal usage. + /// Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented + /// otherwise. This is primarily for internal usage. /// [Google.Apis.Util.RequestParameterAttribute("extraLocationTypes", Google.Apis.Util.RequestParameterType.Query)] public virtual Google.Apis.Util.Repeatable ExtraLocationTypes { get; set; } diff --git a/Src/Generated/Google.Apis.CloudWorkstations.v1/Google.Apis.CloudWorkstations.v1.csproj b/Src/Generated/Google.Apis.CloudWorkstations.v1/Google.Apis.CloudWorkstations.v1.csproj index 1e79fcfc6ae..a87d1a6f341 100644 --- a/Src/Generated/Google.Apis.CloudWorkstations.v1/Google.Apis.CloudWorkstations.v1.csproj +++ b/Src/Generated/Google.Apis.CloudWorkstations.v1/Google.Apis.CloudWorkstations.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudWorkstations.v1 Client Library - 1.72.0.3924 + 1.72.0.3947 Google LLC Copyright 2025 Google LLC Google From bc89900f42b91a722b780a8d314cbf73c11cd562 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 10 Nov 2025 20:43:42 +0000 Subject: [PATCH 65/65] feat: Generate Google.Apis.CloudWorkstations.v1beta version 1.72.0.3947 --- DiscoveryJson/workstations.v1beta.json | 45 ++++++++++++++- .../Google.Apis.CloudWorkstations.v1beta.cs | 56 +++++++++++++++++++ ...oogle.Apis.CloudWorkstations.v1beta.csproj | 2 +- 3 files changed, 101 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/workstations.v1beta.json b/DiscoveryJson/workstations.v1beta.json index 3aec78ff4d4..c7a66ebe2fa 100644 --- a/DiscoveryJson/workstations.v1beta.json +++ b/DiscoveryJson/workstations.v1beta.json @@ -1147,7 +1147,7 @@ } } }, - "revision": "20250929", + "revision": "20251022", "rootUrl": "https://workstations.googleapis.com/", "schemas": { "Accelerator": { @@ -1409,6 +1409,41 @@ }, "type": "object" }, + "GceHyperdiskBalancedHighAvailability": { + "description": "A Persistent Directory backed by a Compute Engine Hyperdisk Balanced High Availability Disk. This is a high-availability block storage solution that offers a balance between performance and cost for most general-purpose workloads.", + "id": "GceHyperdiskBalancedHighAvailability", + "properties": { + "archiveTimeout": { + "description": "Optional. Number of seconds to wait after initially creating or subsequently shutting down the workstation before converting its disk into a snapshot. This generally saves costs at the expense of greater startup time on next workstation start, as the service will need to create a disk from the archival snapshot. A value of `\"0s\"` indicates that the disk will never be archived.", + "format": "google-duration", + "type": "string" + }, + "reclaimPolicy": { + "description": "Optional. Whether the persistent disk should be deleted when the workstation is deleted. Valid values are `DELETE` and `RETAIN`. Defaults to `DELETE`.", + "enum": [ + "RECLAIM_POLICY_UNSPECIFIED", + "DELETE", + "RETAIN" + ], + "enumDescriptions": [ + "Do not use.", + "Delete the persistent disk when deleting the workstation.", + "Keep the persistent disk when deleting the workstation. An administrator must manually delete the disk." + ], + "type": "string" + }, + "sizeGb": { + "description": "Optional. The GB capacity of a persistent home directory for each workstation created with this configuration. Must be empty if source_snapshot is set. Valid values are `10`, `50`, `100`, `200`, `500`, or `1000`. Defaults to `200`.", + "format": "int32", + "type": "integer" + }, + "sourceSnapshot": { + "description": "Optional. Name of the snapshot to use as the source for the disk. If set, size_gb must be empty. Must be formatted as ext4 file system with no partitions.", + "type": "string" + } + }, + "type": "object" + }, "GceInstance": { "description": "A runtime using a Compute Engine instance.", "id": "GceInstance", @@ -1482,6 +1517,10 @@ "$ref": "GceShieldedInstanceConfig", "description": "Optional. A set of Compute Engine Shielded instance options." }, + "startupScriptUri": { + "description": "Optional. Link to the startup script stored in Cloud Storage. This script will be run on the host workstation VM when the VM is created. The uri must be of the form gs://{bucket-name}/{object-name}. If specifying a startup script, the service account must have [Permission to access the bucket and script file in Cloud Storage](https://cloud.google.com/storage/docs/access-control/iam-permissions). Otherwise, the script must be publicly accessible.", + "type": "string" + }, "tags": { "description": "Optional. Network tags to add to the Compute Engine VMs backing the workstations. This option applies [network tags](https://cloud.google.com/vpc/docs/add-remove-network-tags) to VMs created with this configuration. These network tags enable the creation of [firewall rules](https://cloud.google.com/workstations/docs/configure-firewall-rules).", "items": { @@ -1904,6 +1943,10 @@ "description": "A directory to persist across workstation sessions. Updates to this field will not update existing workstations and will only take effect on new workstations.", "id": "PersistentDirectory", "properties": { + "gceHd": { + "$ref": "GceHyperdiskBalancedHighAvailability", + "description": "A PersistentDirectory backed by a Compute Engine hyperdisk high availability disk." + }, "gcePd": { "$ref": "GceRegionalPersistentDisk", "description": "A PersistentDirectory backed by a Compute Engine persistent disk." diff --git a/Src/Generated/Google.Apis.CloudWorkstations.v1beta/Google.Apis.CloudWorkstations.v1beta.cs b/Src/Generated/Google.Apis.CloudWorkstations.v1beta/Google.Apis.CloudWorkstations.v1beta.cs index 4a4682aaf58..24de486586a 100644 --- a/Src/Generated/Google.Apis.CloudWorkstations.v1beta/Google.Apis.CloudWorkstations.v1beta.cs +++ b/Src/Generated/Google.Apis.CloudWorkstations.v1beta/Google.Apis.CloudWorkstations.v1beta.cs @@ -2980,6 +2980,48 @@ public class GceConfidentialInstanceConfig : Google.Apis.Requests.IDirectRespons public virtual string ETag { get; set; } } + /// + /// A Persistent Directory backed by a Compute Engine Hyperdisk Balanced High Availability Disk. This is a + /// high-availability block storage solution that offers a balance between performance and cost for most + /// general-purpose workloads. + /// + public class GceHyperdiskBalancedHighAvailability : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Optional. Number of seconds to wait after initially creating or subsequently shutting down the workstation + /// before converting its disk into a snapshot. This generally saves costs at the expense of greater startup + /// time on next workstation start, as the service will need to create a disk from the archival snapshot. A + /// value of `"0s"` indicates that the disk will never be archived. + /// + [Newtonsoft.Json.JsonPropertyAttribute("archiveTimeout")] + public virtual object ArchiveTimeout { get; set; } + + /// + /// Optional. Whether the persistent disk should be deleted when the workstation is deleted. Valid values are + /// `DELETE` and `RETAIN`. Defaults to `DELETE`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("reclaimPolicy")] + public virtual string ReclaimPolicy { get; set; } + + /// + /// Optional. The GB capacity of a persistent home directory for each workstation created with this + /// configuration. Must be empty if source_snapshot is set. Valid values are `10`, `50`, `100`, `200`, `500`, or + /// `1000`. Defaults to `200`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("sizeGb")] + public virtual System.Nullable SizeGb { get; set; } + + /// + /// Optional. Name of the snapshot to use as the source for the disk. If set, size_gb must be empty. Must be + /// formatted as ext4 file system with no partitions. + /// + [Newtonsoft.Json.JsonPropertyAttribute("sourceSnapshot")] + public virtual string SourceSnapshot { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// A runtime using a Compute Engine instance. public class GceInstance : Google.Apis.Requests.IDirectResponseSchema { @@ -3099,6 +3141,16 @@ public class GceInstance : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("shieldedInstanceConfig")] public virtual GceShieldedInstanceConfig ShieldedInstanceConfig { get; set; } + /// + /// Optional. Link to the startup script stored in Cloud Storage. This script will be run on the host + /// workstation VM when the VM is created. The uri must be of the form gs://{bucket-name}/{object-name}. If + /// specifying a startup script, the service account must have [Permission to access the bucket and script file + /// in Cloud Storage](https://cloud.google.com/storage/docs/access-control/iam-permissions). Otherwise, the + /// script must be publicly accessible. + /// + [Newtonsoft.Json.JsonPropertyAttribute("startupScriptUri")] + public virtual string StartupScriptUri { get; set; } + /// /// Optional. Network tags to add to the Compute Engine VMs backing the workstations. This option applies /// [network tags](https://cloud.google.com/vpc/docs/add-remove-network-tags) to VMs created with this @@ -3687,6 +3739,10 @@ public virtual System.DateTimeOffset? EndTimeDateTimeOffset /// public class PersistentDirectory : Google.Apis.Requests.IDirectResponseSchema { + /// A PersistentDirectory backed by a Compute Engine hyperdisk high availability disk. + [Newtonsoft.Json.JsonPropertyAttribute("gceHd")] + public virtual GceHyperdiskBalancedHighAvailability GceHd { get; set; } + /// A PersistentDirectory backed by a Compute Engine persistent disk. [Newtonsoft.Json.JsonPropertyAttribute("gcePd")] public virtual GceRegionalPersistentDisk GcePd { get; set; } diff --git a/Src/Generated/Google.Apis.CloudWorkstations.v1beta/Google.Apis.CloudWorkstations.v1beta.csproj b/Src/Generated/Google.Apis.CloudWorkstations.v1beta/Google.Apis.CloudWorkstations.v1beta.csproj index dcd1f388f55..3ebe6ac601d 100644 --- a/Src/Generated/Google.Apis.CloudWorkstations.v1beta/Google.Apis.CloudWorkstations.v1beta.csproj +++ b/Src/Generated/Google.Apis.CloudWorkstations.v1beta/Google.Apis.CloudWorkstations.v1beta.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudWorkstations.v1beta Client Library - 1.72.0.3924 + 1.72.0.3947 Google LLC Copyright 2025 Google LLC Google