From b493b21cedd389d64959e4219d34325d72d4b102 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:10:53 -0700 Subject: [PATCH 01/78] feat: Generate Google.Apis.Aiplatform.v1 version 1.68.0.3561 --- DiscoveryJson/aiplatform.v1.json | 87 ++++++++++++- .../Google.Apis.Aiplatform.v1.cs | 123 +++++++++++++++++- .../Google.Apis.Aiplatform.v1.csproj | 2 +- 3 files changed, 205 insertions(+), 7 deletions(-) diff --git a/DiscoveryJson/aiplatform.v1.json b/DiscoveryJson/aiplatform.v1.json index 78cfea0c11..cc7c71a29f 100644 --- a/DiscoveryJson/aiplatform.v1.json +++ b/DiscoveryJson/aiplatform.v1.json @@ -4106,6 +4106,39 @@ } }, "resources": { + "chat": { + "methods": { + "completions": { + "description": "Exposes an OpenAI-compatible endpoint for chat completions.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/chat/completions", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.endpoints.chat.completions", + "parameterOrder": [ + "endpoint" + ], + "parameters": { + "endpoint": { + "description": "Required. The name of the endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+endpoint}/chat/completions", + "request": { + "$ref": "GoogleApiHttpBody" + }, + "response": { + "$ref": "GoogleApiHttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + } + }, "operations": { "methods": { "cancel": { @@ -17813,7 +17846,7 @@ } } }, - "revision": "20240925", + "revision": "20241001", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "CloudAiLargeModelsVisionGenerateVideoResponse": { @@ -21435,6 +21468,30 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1DynamicRetrievalConfig": { + "description": "Describes the options to customize dynamic retrieval.", + "id": "GoogleCloudAiplatformV1DynamicRetrievalConfig", + "properties": { + "dynamicThreshold": { + "description": "Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.", + "format": "float", + "type": "number" + }, + "mode": { + "description": "The mode of the predictor to be used in dynamic retrieval.", + "enum": [ + "MODE_UNSPECIFIED", + "MODE_DYNAMIC" + ], + "enumDescriptions": [ + "Always trigger retrieval.", + "Run retrieval only when system decides it is necessary." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1EncryptionSpec": { "description": "Represents a customer-managed encryption key spec that can be applied to a top-level resource.", "id": "GoogleCloudAiplatformV1EncryptionSpec", @@ -24836,7 +24893,12 @@ "GoogleCloudAiplatformV1GoogleSearchRetrieval": { "description": "Tool to retrieve public web data for grounding, powered by Google.", "id": "GoogleCloudAiplatformV1GoogleSearchRetrieval", - "properties": {}, + "properties": { + "dynamicRetrievalConfig": { + "$ref": "GoogleCloudAiplatformV1DynamicRetrievalConfig", + "description": "Specifies the dynamic retrieval configuration for the given source." + } + }, "type": "object" }, "GoogleCloudAiplatformV1GroundednessInput": { @@ -24968,6 +25030,11 @@ }, "type": "array" }, + "retrievalMetadata": { + "$ref": "GoogleCloudAiplatformV1RetrievalMetadata", + "description": "Optional. Output only. Retrieval metadata.", + "readOnly": true + }, "searchEntryPoint": { "$ref": "GoogleCloudAiplatformV1SearchEntryPoint", "description": "Optional. Google search entry for the following-up web searches." @@ -26763,11 +26830,11 @@ "type": "number" }, "token": { - "description": "The candidate\u2019s token string value.", + "description": "The candidate's token string value.", "type": "string" }, "tokenId": { - "description": "The candidate\u2019s token id value.", + "description": "The candidate's token id value.", "format": "int32", "type": "integer" } @@ -32288,6 +32355,18 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1RetrievalMetadata": { + "description": "Metadata related to retrieval in the grounding flow.", + "id": "GoogleCloudAiplatformV1RetrievalMetadata", + "properties": { + "googleSearchDynamicRetrievalScore": { + "description": "Optional. Score indicating how likely information from Google Search could help answer the prompt. The score is in the range `[0, 1]`, where 0 is the least likely and 1 is the most likely. This score is only populated when Google Search grounding and dynamic retrieval is enabled. It will be compared to the threshold to determine whether to trigger Google Search.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1RougeInput": { "description": "Input for rouge metric.", "id": "GoogleCloudAiplatformV1RougeInput", 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 5fbc512c7d..bf7a410479 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 @@ -7392,9 +7392,87 @@ public class EndpointsResource public EndpointsResource(Google.Apis.Services.IClientService service) { this.service = service; + Chat = new ChatResource(service); Operations = new OperationsResource(service); } + /// Gets the Chat resource. + public virtual ChatResource Chat { get; } + + /// The "chat" collection of methods. + public class ChatResource + { + private const string Resource = "chat"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public ChatResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Exposes an OpenAI-compatible endpoint for chat completions. + /// The body of the request. + /// + /// Required. The name of the endpoint requested to serve the prediction. Format: + /// `projects/{project}/locations/{location}/endpoints/{endpoint}` + /// + public virtual CompletionsRequest Completions(Google.Apis.Aiplatform.v1.Data.GoogleApiHttpBody body, string endpoint) + { + return new CompletionsRequest(this.service, body, endpoint); + } + + /// Exposes an OpenAI-compatible endpoint for chat completions. + public class CompletionsRequest : AiplatformBaseServiceRequest + { + /// Constructs a new Completions request. + public CompletionsRequest(Google.Apis.Services.IClientService service, Google.Apis.Aiplatform.v1.Data.GoogleApiHttpBody body, string endpoint) : base(service) + { + Endpoint = endpoint; + Body = body; + InitParameters(); + } + + /// + /// Required. The name of the endpoint requested to serve the prediction. Format: + /// `projects/{project}/locations/{location}/endpoints/{endpoint}` + /// + [Google.Apis.Util.RequestParameterAttribute("endpoint", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Endpoint { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.Aiplatform.v1.Data.GoogleApiHttpBody Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "completions"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1/{+endpoint}/chat/completions"; + + /// Initializes Completions parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("endpoint", new Google.Apis.Discovery.Parameter + { + Name = "endpoint", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", + }); + } + } + } + /// Gets the Operations resource. public virtual OperationsResource Operations { get; } @@ -45336,6 +45414,23 @@ public class GoogleCloudAiplatformV1DoubleArray : Google.Apis.Requests.IDirectRe public virtual string ETag { get; set; } } + /// Describes the options to customize dynamic retrieval. + public class GoogleCloudAiplatformV1DynamicRetrievalConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used. + /// + [Newtonsoft.Json.JsonPropertyAttribute("dynamicThreshold")] + public virtual System.Nullable DynamicThreshold { get; set; } + + /// The mode of the predictor to be used in dynamic retrieval. + [Newtonsoft.Json.JsonPropertyAttribute("mode")] + public virtual string Mode { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// /// Represents a customer-managed encryption key spec that can be applied to a top-level resource. /// @@ -49941,6 +50036,10 @@ public class GoogleCloudAiplatformV1GenieSource : Google.Apis.Requests.IDirectRe /// Tool to retrieve public web data for grounding, powered by Google. public class GoogleCloudAiplatformV1GoogleSearchRetrieval : Google.Apis.Requests.IDirectResponseSchema { + /// Specifies the dynamic retrieval configuration for the given source. + [Newtonsoft.Json.JsonPropertyAttribute("dynamicRetrievalConfig")] + public virtual GoogleCloudAiplatformV1DynamicRetrievalConfig DynamicRetrievalConfig { get; set; } + /// The ETag of the item. public virtual string ETag { get; set; } } @@ -50063,6 +50162,10 @@ public class GoogleCloudAiplatformV1GroundingMetadata : Google.Apis.Requests.IDi [Newtonsoft.Json.JsonPropertyAttribute("groundingSupports")] public virtual System.Collections.Generic.IList GroundingSupports { get; set; } + /// Optional. Output only. Retrieval metadata. + [Newtonsoft.Json.JsonPropertyAttribute("retrievalMetadata")] + public virtual GoogleCloudAiplatformV1RetrievalMetadata RetrievalMetadata { get; set; } + /// Optional. Google search entry for the following-up web searches. [Newtonsoft.Json.JsonPropertyAttribute("searchEntryPoint")] public virtual GoogleCloudAiplatformV1SearchEntryPoint SearchEntryPoint { get; set; } @@ -52186,11 +52289,11 @@ public class GoogleCloudAiplatformV1LogprobsResultCandidate : Google.Apis.Reques [Newtonsoft.Json.JsonPropertyAttribute("logProbability")] public virtual System.Nullable LogProbability { get; set; } - /// The candidate’s token string value. + /// The candidate's token string value. [Newtonsoft.Json.JsonPropertyAttribute("token")] public virtual string Token { get; set; } - /// The candidate’s token id value. + /// The candidate's token id value. [Newtonsoft.Json.JsonPropertyAttribute("tokenId")] public virtual System.Nullable TokenId { get; set; } @@ -59021,6 +59124,22 @@ public class GoogleCloudAiplatformV1Retrieval : Google.Apis.Requests.IDirectResp public virtual string ETag { get; set; } } + /// Metadata related to retrieval in the grounding flow. + public class GoogleCloudAiplatformV1RetrievalMetadata : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Optional. Score indicating how likely information from Google Search could help answer the prompt. The score + /// is in the range `[0, 1]`, where 0 is the least likely and 1 is the most likely. This score is only populated + /// when Google Search grounding and dynamic retrieval is enabled. It will be compared to the threshold to + /// determine whether to trigger Google Search. + /// + [Newtonsoft.Json.JsonPropertyAttribute("googleSearchDynamicRetrievalScore")] + public virtual System.Nullable GoogleSearchDynamicRetrievalScore { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Input for rouge metric. public class GoogleCloudAiplatformV1RougeInput : Google.Apis.Requests.IDirectResponseSchema { 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 adbfb10db1..5bc54e04c7 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.68.0.3555 + 1.68.0.3561 Google LLC Copyright 2024 Google LLC Google From 57e8a9449069927fb5955738f9123ad172295129 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:10:56 -0700 Subject: [PATCH 02/78] feat: Generate Google.Apis.Aiplatform.v1beta1 version 1.68.0.3561 --- DiscoveryJson/aiplatform.v1beta1.json | 112 ++++++++++++++---- .../Google.Apis.Aiplatform.v1beta1.cs | 107 ++++++++++++++--- .../Google.Apis.Aiplatform.v1beta1.csproj | 2 +- 3 files changed, 178 insertions(+), 43 deletions(-) diff --git a/DiscoveryJson/aiplatform.v1beta1.json b/DiscoveryJson/aiplatform.v1beta1.json index 929c02bea1..32ea908fc4 100644 --- a/DiscoveryJson/aiplatform.v1beta1.json +++ b/DiscoveryJson/aiplatform.v1beta1.json @@ -17143,7 +17143,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Mask specifying which fields to update.", + "description": "Optional. Mask specifying which fields to update.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -21202,7 +21202,7 @@ } } }, - "revision": "20240925", + "revision": "20241001", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "CloudAiLargeModelsVisionGenerateVideoResponse": { @@ -25624,6 +25624,30 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1DynamicRetrievalConfig": { + "description": "Describes the options to customize dynamic retrieval.", + "id": "GoogleCloudAiplatformV1beta1DynamicRetrievalConfig", + "properties": { + "dynamicThreshold": { + "description": "Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.", + "format": "float", + "type": "number" + }, + "mode": { + "description": "The mode of the predictor to be used in dynamic retrieval.", + "enum": [ + "MODE_UNSPECIFIED", + "MODE_DYNAMIC" + ], + "enumDescriptions": [ + "Always trigger retrieval.", + "Run retrieval only when system decides it is necessary." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1EncryptionSpec": { "description": "Represents a customer-managed encryption key spec that can be applied to a top-level resource.", "id": "GoogleCloudAiplatformV1beta1EncryptionSpec", @@ -29499,7 +29523,12 @@ "GoogleCloudAiplatformV1beta1GoogleSearchRetrieval": { "description": "Tool to retrieve public web data for grounding, powered by Google.", "id": "GoogleCloudAiplatformV1beta1GoogleSearchRetrieval", - "properties": {}, + "properties": { + "dynamicRetrievalConfig": { + "$ref": "GoogleCloudAiplatformV1beta1DynamicRetrievalConfig", + "description": "Specifies the dynamic retrieval configuration for the given source." + } + }, "type": "object" }, "GoogleCloudAiplatformV1beta1GroundednessInput": { @@ -29631,6 +29660,11 @@ }, "type": "array" }, + "retrievalMetadata": { + "$ref": "GoogleCloudAiplatformV1beta1RetrievalMetadata", + "description": "Optional. Output only. Retrieval metadata.", + "readOnly": true + }, "retrievalQueries": { "description": "Optional. Queries executed by the retrieval tools.", "items": { @@ -31747,11 +31781,11 @@ "type": "number" }, "token": { - "description": "The candidate\u2019s token string value.", + "description": "The candidate's token string value.", "type": "string" }, "tokenId": { - "description": "The candidate\u2019s token id value.", + "description": "The candidate's token id value.", "format": "int32", "type": "integer" } @@ -35709,6 +35743,28 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1PartnerModelTuningSpec": { + "description": "Tuning spec for Partner models.", + "id": "GoogleCloudAiplatformV1beta1PartnerModelTuningSpec", + "properties": { + "hyperParameters": { + "additionalProperties": { + "type": "any" + }, + "description": "Hyperparameters for tuning. The accepted hyper_parameters and their valid range of values will differ depending on the base model.", + "type": "object" + }, + "trainingDatasetUri": { + "description": "Required. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file.", + "type": "string" + }, + "validationDatasetUri": { + "description": "Optional. Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1PauseModelDeploymentMonitoringJobRequest": { "description": "Request message for JobService.PauseModelDeploymentMonitoringJob.", "id": "GoogleCloudAiplatformV1beta1PauseModelDeploymentMonitoringJobRequest", @@ -35901,9 +35957,8 @@ "type": "string" }, "originalPipelineJobId": { - "description": "Output only. The original pipeline job id if this pipeline job is a rerun of a previous pipeline job.", + "description": "Optional. The original pipeline job id if this pipeline job is a rerun of a previous pipeline job.", "format": "int64", - "readOnly": true, "type": "string" }, "pipelineSpec": { @@ -35915,11 +35970,10 @@ "type": "object" }, "pipelineTaskRerunConfigs": { - "description": "Output only. The rerun configs for each task in the pipeline job. By default, the rerun will: 1. Use the same input artifacts as the original run. 2. Use the same input parameters as the original run. 3. Skip all the tasks that are already succeeded in the original run. 4. Rerun all the tasks that are not succeeded in the original run. By providing this field, users can override the default behavior and specify the rerun config for each task.", + "description": "Optional. The rerun configs for each task in the pipeline job. By default, the rerun will: 1. Use the same input artifacts as the original run. 2. Use the same input parameters as the original run. 3. Skip all the tasks that are already succeeded in the original run. 4. Rerun all the tasks that are not succeeded in the original run. By providing this field, users can override the default behavior and specify the rerun config for each task.", "items": { "$ref": "GoogleCloudAiplatformV1beta1PipelineTaskRerunConfig" }, - "readOnly": true, "type": "array" }, "preflightValidations": { @@ -36338,28 +36392,23 @@ "properties": { "inputs": { "$ref": "GoogleCloudAiplatformV1beta1PipelineTaskRerunConfigInputs", - "description": "Output only. The runtime input of the task overridden by the user.", - "readOnly": true + "description": "Optional. The runtime input of the task overridden by the user." }, "skipDownstreamTasks": { - "description": "Output only. Whether to skip downstream tasks. Default value is False.", - "readOnly": true, + "description": "Optional. Whether to skip downstream tasks. Default value is False.", "type": "boolean" }, "skipTask": { - "description": "Output only. Whether to skip this task. Default value is False.", - "readOnly": true, + "description": "Optional. Whether to skip this task. Default value is False.", "type": "boolean" }, "taskId": { - "description": "Output only. The system generated ID of the task. Retrieved from original run.", + "description": "Optional. The system generated ID of the task. Retrieved from original run.", "format": "int64", - "readOnly": true, "type": "string" }, "taskName": { - "description": "Output only. The name of the task.", - "readOnly": true, + "description": "Optional. The name of the task.", "type": "string" } }, @@ -36370,11 +36419,10 @@ "id": "GoogleCloudAiplatformV1beta1PipelineTaskRerunConfigArtifactList", "properties": { "artifacts": { - "description": "Output only. A list of artifact metadata.", + "description": "Optional. A list of artifact metadata.", "items": { "$ref": "GoogleCloudAiplatformV1beta1RuntimeArtifact" }, - "readOnly": true, "type": "array" } }, @@ -36388,16 +36436,14 @@ "additionalProperties": { "$ref": "GoogleCloudAiplatformV1beta1PipelineTaskRerunConfigArtifactList" }, - "description": "Output only. Input artifacts.", - "readOnly": true, + "description": "Optional. Input artifacts.", "type": "object" }, "parameterValues": { "additionalProperties": { "type": "any" }, - "description": "Output only. Input parameters.", - "readOnly": true, + "description": "Optional. Input parameters.", "type": "object" } }, @@ -38833,6 +38879,18 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1RetrievalMetadata": { + "description": "Metadata related to retrieval in the grounding flow.", + "id": "GoogleCloudAiplatformV1beta1RetrievalMetadata", + "properties": { + "googleSearchDynamicRetrievalScore": { + "description": "Optional. Score indicating how likely information from Google Search could help answer the prompt. The score is in the range `[0, 1]`, where 0 is the least likely and 1 is the most likely. This score is only populated when Google Search grounding and dynamic retrieval is enabled. It will be compared to the threshold to determine whether to trigger Google Search.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1RetrieveContextsRequest": { "description": "Request message for VertexRagService.RetrieveContexts.", "id": "GoogleCloudAiplatformV1beta1RetrieveContextsRequest", @@ -46551,6 +46609,10 @@ "readOnly": true, "type": "string" }, + "partnerModelTuningSpec": { + "$ref": "GoogleCloudAiplatformV1beta1PartnerModelTuningSpec", + "description": "Tuning Spec for open sourced and third party Partner models." + }, "pipelineJob": { "description": "Output only. The resource name of the PipelineJob associated with the TuningJob. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`.", "readOnly": true, diff --git a/Src/Generated/Google.Apis.Aiplatform.v1beta1/Google.Apis.Aiplatform.v1beta1.cs b/Src/Generated/Google.Apis.Aiplatform.v1beta1/Google.Apis.Aiplatform.v1beta1.cs index 7878a34bba..069cddd06c 100644 --- a/Src/Generated/Google.Apis.Aiplatform.v1beta1/Google.Apis.Aiplatform.v1beta1.cs +++ b/Src/Generated/Google.Apis.Aiplatform.v1beta1/Google.Apis.Aiplatform.v1beta1.cs @@ -38894,7 +38894,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Aip [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } - /// Required. Mask specifying which fields to update. + /// Optional. Mask specifying which fields to update. [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] public virtual object UpdateMask { get; set; } @@ -53955,6 +53955,23 @@ public class GoogleCloudAiplatformV1beta1DoubleArray : Google.Apis.Requests.IDir public virtual string ETag { get; set; } } + /// Describes the options to customize dynamic retrieval. + public class GoogleCloudAiplatformV1beta1DynamicRetrievalConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used. + /// + [Newtonsoft.Json.JsonPropertyAttribute("dynamicThreshold")] + public virtual System.Nullable DynamicThreshold { get; set; } + + /// The mode of the predictor to be used in dynamic retrieval. + [Newtonsoft.Json.JsonPropertyAttribute("mode")] + public virtual string Mode { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// /// Represents a customer-managed encryption key spec that can be applied to a top-level resource. /// @@ -59081,6 +59098,10 @@ public class GoogleCloudAiplatformV1beta1GoogleDriveSourceResourceId : Google.Ap /// Tool to retrieve public web data for grounding, powered by Google. public class GoogleCloudAiplatformV1beta1GoogleSearchRetrieval : Google.Apis.Requests.IDirectResponseSchema { + /// Specifies the dynamic retrieval configuration for the given source. + [Newtonsoft.Json.JsonPropertyAttribute("dynamicRetrievalConfig")] + public virtual GoogleCloudAiplatformV1beta1DynamicRetrievalConfig DynamicRetrievalConfig { get; set; } + /// The ETag of the item. public virtual string ETag { get; set; } } @@ -59203,6 +59224,10 @@ public class GoogleCloudAiplatformV1beta1GroundingMetadata : Google.Apis.Request [Newtonsoft.Json.JsonPropertyAttribute("groundingSupports")] public virtual System.Collections.Generic.IList GroundingSupports { get; set; } + /// Optional. Output only. Retrieval metadata. + [Newtonsoft.Json.JsonPropertyAttribute("retrievalMetadata")] + public virtual GoogleCloudAiplatformV1beta1RetrievalMetadata RetrievalMetadata { get; set; } + /// Optional. Queries executed by the retrieval tools. [Newtonsoft.Json.JsonPropertyAttribute("retrievalQueries")] public virtual System.Collections.Generic.IList RetrievalQueries { get; set; } @@ -61615,11 +61640,11 @@ public class GoogleCloudAiplatformV1beta1LogprobsResultCandidate : Google.Apis.R [Newtonsoft.Json.JsonPropertyAttribute("logProbability")] public virtual System.Nullable LogProbability { get; set; } - /// The candidate’s token string value. + /// The candidate's token string value. [Newtonsoft.Json.JsonPropertyAttribute("token")] public virtual string Token { get; set; } - /// The candidate’s token id value. + /// The candidate's token id value. [Newtonsoft.Json.JsonPropertyAttribute("tokenId")] public virtual System.Nullable TokenId { get; set; } @@ -66833,6 +66858,34 @@ public class GoogleCloudAiplatformV1beta1Part : Google.Apis.Requests.IDirectResp public virtual string ETag { get; set; } } + /// Tuning spec for Partner models. + public class GoogleCloudAiplatformV1beta1PartnerModelTuningSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Hyperparameters for tuning. The accepted hyper_parameters and their valid range of values will differ + /// depending on the base model. + /// + [Newtonsoft.Json.JsonPropertyAttribute("hyperParameters")] + public virtual System.Collections.Generic.IDictionary HyperParameters { get; set; } + + /// + /// Required. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted + /// as a JSONL file. + /// + [Newtonsoft.Json.JsonPropertyAttribute("trainingDatasetUri")] + public virtual string TrainingDatasetUri { get; set; } + + /// + /// Optional. Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted + /// as a JSONL file. + /// + [Newtonsoft.Json.JsonPropertyAttribute("validationDatasetUri")] + public virtual string ValidationDatasetUri { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Request message for JobService.PauseModelDeploymentMonitoringJob. public class GoogleCloudAiplatformV1beta1PauseModelDeploymentMonitoringJobRequest : Google.Apis.Requests.IDirectResponseSchema { @@ -67200,7 +67253,7 @@ public virtual System.DateTimeOffset? EndTimeDateTimeOffset public virtual string Network { get; set; } /// - /// Output only. The original pipeline job id if this pipeline job is a rerun of a previous pipeline job. + /// Optional. The original pipeline job id if this pipeline job is a rerun of a previous pipeline job. /// [Newtonsoft.Json.JsonPropertyAttribute("originalPipelineJobId")] public virtual System.Nullable OriginalPipelineJobId { get; set; } @@ -67210,11 +67263,11 @@ public virtual System.DateTimeOffset? EndTimeDateTimeOffset public virtual System.Collections.Generic.IDictionary PipelineSpec { get; set; } /// - /// Output only. The rerun configs for each task in the pipeline job. By default, the rerun will: 1. Use the - /// same input artifacts as the original run. 2. Use the same input parameters as the original run. 3. Skip all - /// the tasks that are already succeeded in the original run. 4. Rerun all the tasks that are not succeeded in - /// the original run. By providing this field, users can override the default behavior and specify the rerun - /// config for each task. + /// Optional. The rerun configs for each task in the pipeline job. By default, the rerun will: 1. Use the same + /// input artifacts as the original run. 2. Use the same input parameters as the original run. 3. Skip all the + /// tasks that are already succeeded in the original run. 4. Rerun all the tasks that are not succeeded in the + /// original run. By providing this field, users can override the default behavior and specify the rerun config + /// for each task. /// [Newtonsoft.Json.JsonPropertyAttribute("pipelineTaskRerunConfigs")] public virtual System.Collections.Generic.IList PipelineTaskRerunConfigs { get; set; } @@ -67747,23 +67800,23 @@ public class GoogleCloudAiplatformV1beta1PipelineTaskExecutorDetailCustomJobDeta /// public class GoogleCloudAiplatformV1beta1PipelineTaskRerunConfig : Google.Apis.Requests.IDirectResponseSchema { - /// Output only. The runtime input of the task overridden by the user. + /// Optional. The runtime input of the task overridden by the user. [Newtonsoft.Json.JsonPropertyAttribute("inputs")] public virtual GoogleCloudAiplatformV1beta1PipelineTaskRerunConfigInputs Inputs { get; set; } - /// Output only. Whether to skip downstream tasks. Default value is False. + /// Optional. Whether to skip downstream tasks. Default value is False. [Newtonsoft.Json.JsonPropertyAttribute("skipDownstreamTasks")] public virtual System.Nullable SkipDownstreamTasks { get; set; } - /// Output only. Whether to skip this task. Default value is False. + /// Optional. Whether to skip this task. Default value is False. [Newtonsoft.Json.JsonPropertyAttribute("skipTask")] public virtual System.Nullable SkipTask { get; set; } - /// Output only. The system generated ID of the task. Retrieved from original run. + /// Optional. The system generated ID of the task. Retrieved from original run. [Newtonsoft.Json.JsonPropertyAttribute("taskId")] public virtual System.Nullable TaskId { get; set; } - /// Output only. The name of the task. + /// Optional. The name of the task. [Newtonsoft.Json.JsonPropertyAttribute("taskName")] public virtual string TaskName { get; set; } @@ -67774,7 +67827,7 @@ public class GoogleCloudAiplatformV1beta1PipelineTaskRerunConfig : Google.Apis.R /// A list of artifact metadata. public class GoogleCloudAiplatformV1beta1PipelineTaskRerunConfigArtifactList : Google.Apis.Requests.IDirectResponseSchema { - /// Output only. A list of artifact metadata. + /// Optional. A list of artifact metadata. [Newtonsoft.Json.JsonPropertyAttribute("artifacts")] public virtual System.Collections.Generic.IList Artifacts { get; set; } @@ -67785,11 +67838,11 @@ public class GoogleCloudAiplatformV1beta1PipelineTaskRerunConfigArtifactList : G /// Runtime inputs data of the task. public class GoogleCloudAiplatformV1beta1PipelineTaskRerunConfigInputs : Google.Apis.Requests.IDirectResponseSchema { - /// Output only. Input artifacts. + /// Optional. Input artifacts. [Newtonsoft.Json.JsonPropertyAttribute("artifacts")] public virtual System.Collections.Generic.IDictionary Artifacts { get; set; } - /// Output only. Input parameters. + /// Optional. Input parameters. [Newtonsoft.Json.JsonPropertyAttribute("parameterValues")] public virtual System.Collections.Generic.IDictionary ParameterValues { get; set; } @@ -70495,6 +70548,22 @@ public class GoogleCloudAiplatformV1beta1Retrieval : Google.Apis.Requests.IDirec public virtual string ETag { get; set; } } + /// Metadata related to retrieval in the grounding flow. + public class GoogleCloudAiplatformV1beta1RetrievalMetadata : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Optional. Score indicating how likely information from Google Search could help answer the prompt. The score + /// is in the range `[0, 1]`, where 0 is the least likely and 1 is the most likely. This score is only populated + /// when Google Search grounding and dynamic retrieval is enabled. It will be compared to the threshold to + /// determine whether to trigger Google Search. + /// + [Newtonsoft.Json.JsonPropertyAttribute("googleSearchDynamicRetrievalScore")] + public virtual System.Nullable GoogleSearchDynamicRetrievalScore { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Request message for VertexRagService.RetrieveContexts. public class GoogleCloudAiplatformV1beta1RetrieveContextsRequest : Google.Apis.Requests.IDirectResponseSchema { @@ -79602,6 +79671,10 @@ public virtual System.DateTimeOffset? EndTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } + /// Tuning Spec for open sourced and third party Partner models. + [Newtonsoft.Json.JsonPropertyAttribute("partnerModelTuningSpec")] + public virtual GoogleCloudAiplatformV1beta1PartnerModelTuningSpec PartnerModelTuningSpec { get; set; } + /// /// Output only. The resource name of the PipelineJob associated with the TuningJob. Format: /// `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`. diff --git a/Src/Generated/Google.Apis.Aiplatform.v1beta1/Google.Apis.Aiplatform.v1beta1.csproj b/Src/Generated/Google.Apis.Aiplatform.v1beta1/Google.Apis.Aiplatform.v1beta1.csproj index c8dff0e00b..104884a8fc 100644 --- a/Src/Generated/Google.Apis.Aiplatform.v1beta1/Google.Apis.Aiplatform.v1beta1.csproj +++ b/Src/Generated/Google.Apis.Aiplatform.v1beta1/Google.Apis.Aiplatform.v1beta1.csproj @@ -3,7 +3,7 @@ Google.Apis.Aiplatform.v1beta1 Client Library - 1.68.0.3555 + 1.68.0.3561 Google LLC Copyright 2024 Google LLC Google From af6eaf6c3fe017dba8ebd37dc99299b0ca743c6d Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:10:59 -0700 Subject: [PATCH 03/78] feat: Generate Google.Apis.CloudAlloyDBAdmin.v1 version 1.68.0.3562 --- DiscoveryJson/alloydb.v1.json | 40 +++++++++++++++--- .../Google.Apis.CloudAlloyDBAdmin.v1.cs | 42 +++++++++++++++---- .../Google.Apis.CloudAlloyDBAdmin.v1.csproj | 2 +- 3 files changed, 70 insertions(+), 14 deletions(-) diff --git a/DiscoveryJson/alloydb.v1.json b/DiscoveryJson/alloydb.v1.json index 21fb419c76..6c856f339f 100644 --- a/DiscoveryJson/alloydb.v1.json +++ b/DiscoveryJson/alloydb.v1.json @@ -1517,7 +1517,7 @@ } } }, - "revision": "20240923", + "revision": "20241002", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -1711,6 +1711,13 @@ "readOnly": true, "type": "string" }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: ``` \"123/environment\": \"production\", \"123/costCenter\": \"marketing\" ```", + "type": "object" + }, "type": { "description": "The backup type, which suggests the trigger for the backup.", "enum": [ @@ -2016,6 +2023,13 @@ ], "type": "string" }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: ``` \"123/environment\": \"production\", \"123/costCenter\": \"marketing\" ```", + "type": "object" + }, "trialMetadata": { "$ref": "TrialMetadata", "description": "Output only. Metadata for free trial clusters", @@ -2356,22 +2370,22 @@ "id": "GoogleTypeTimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } @@ -3959,7 +3973,7 @@ "type": "object" }, "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 22", + "description": "Common model for database resource instance metadata. Next ID: 23", "id": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata", "properties": { "availabilityConfiguration": { @@ -4003,6 +4017,20 @@ "$ref": "StorageDatabasecenterPartnerapiV1mainCustomMetadataData", "description": "Any custom metadata associated with the resource" }, + "edition": { + "description": "Optional. Edition represents whether the instance is ENTERPRISE or ENTERPRISE_PLUS. This information is core to Cloud SQL only and is used to identify the edition of the instance.", + "enum": [ + "EDITION_UNSPECIFIED", + "EDITION_ENTERPRISE", + "EDITION_ENTERPRISE_PLUS" + ], + "enumDescriptions": [ + "Default, to make it consistent with instance edition enum.", + "Represents the enterprise edition.", + "Represents the enterprise plus edition." + ], + "type": "string" + }, "entitlements": { "description": "Entitlements associated with the resource", "items": { diff --git a/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1/Google.Apis.CloudAlloyDBAdmin.v1.cs b/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1/Google.Apis.CloudAlloyDBAdmin.v1.cs index 4c8ec2ced4..cf156f9392 100644 --- a/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1/Google.Apis.CloudAlloyDBAdmin.v1.cs +++ b/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1/Google.Apis.CloudAlloyDBAdmin.v1.cs @@ -3908,6 +3908,15 @@ public virtual System.DateTimeOffset? ExpiryTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("state")] public virtual string State { get; set; } + /// + /// Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: + /// ``` + /// "123/environment": "production", "123/costCenter": "marketing" + /// ``` + /// + [Newtonsoft.Json.JsonPropertyAttribute("tags")] + public virtual System.Collections.Generic.IDictionary Tags { get; set; } + /// The backup type, which suggests the trigger for the backup. [Newtonsoft.Json.JsonPropertyAttribute("type")] public virtual string Type { get; set; } @@ -4245,6 +4254,15 @@ public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("subscriptionType")] public virtual string SubscriptionType { get; set; } + /// + /// Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: + /// ``` + /// "123/environment": "production", "123/costCenter": "marketing" + /// ``` + /// + [Newtonsoft.Json.JsonPropertyAttribute("tags")] + public virtual System.Collections.Generic.IDictionary Tags { get; set; } + /// Output only. Metadata for free trial clusters [Newtonsoft.Json.JsonPropertyAttribute("trialMetadata")] public virtual TrialMetadata TrialMetadata { get; set; } @@ -4663,23 +4681,26 @@ public class GoogleCloudLocationLocation : Google.Apis.Requests.IDirectResponseS public class GoogleTypeTimeOfDay : Google.Apis.Requests.IDirectResponseSchema { /// - /// Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for - /// scenarios like business closing time. + /// Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or + /// equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. /// [Newtonsoft.Json.JsonPropertyAttribute("hours")] public virtual System.Nullable Hours { get; set; } - /// Minutes of hour of day. Must be from 0 to 59. + /// Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. [Newtonsoft.Json.JsonPropertyAttribute("minutes")] public virtual System.Nullable Minutes { get; set; } - /// Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + /// + /// Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to + /// 999,999,999. + /// [Newtonsoft.Json.JsonPropertyAttribute("nanos")] public virtual System.Nullable Nanos { get; set; } /// - /// Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows - /// leap-seconds. + /// Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An + /// API may allow the value 60 if it allows leap-seconds. /// [Newtonsoft.Json.JsonPropertyAttribute("seconds")] public virtual System.Nullable Seconds { get; set; } @@ -6178,7 +6199,7 @@ public class StorageDatabasecenterPartnerapiV1mainDatabaseResourceId : Google.Ap public virtual string ETag { get; set; } } - /// Common model for database resource instance metadata. Next ID: 22 + /// Common model for database resource instance metadata. Next ID: 23 public class StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata : Google.Apis.Requests.IDirectResponseSchema { /// Availability configuration for this instance @@ -6240,6 +6261,13 @@ public virtual System.DateTimeOffset? CreationTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("customMetadata")] public virtual StorageDatabasecenterPartnerapiV1mainCustomMetadataData CustomMetadata { get; set; } + /// + /// Optional. Edition represents whether the instance is ENTERPRISE or ENTERPRISE_PLUS. This information is core + /// to Cloud SQL only and is used to identify the edition of the instance. + /// + [Newtonsoft.Json.JsonPropertyAttribute("edition")] + public virtual string Edition { get; set; } + /// Entitlements associated with the resource [Newtonsoft.Json.JsonPropertyAttribute("entitlements")] public virtual System.Collections.Generic.IList Entitlements { get; set; } diff --git a/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1/Google.Apis.CloudAlloyDBAdmin.v1.csproj b/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1/Google.Apis.CloudAlloyDBAdmin.v1.csproj index 5892ef3e65..f6f5803739 100644 --- a/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1/Google.Apis.CloudAlloyDBAdmin.v1.csproj +++ b/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1/Google.Apis.CloudAlloyDBAdmin.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudAlloyDBAdmin.v1 Client Library - 1.68.0.3553 + 1.68.0.3562 Google LLC Copyright 2024 Google LLC Google From afdf101f730bbf3d5b0c6ea6c10f52cba4ea9502 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:11:02 -0700 Subject: [PATCH 04/78] feat: Generate Google.Apis.CloudAlloyDBAdmin.v1alpha version 1.68.0.3562 --- DiscoveryJson/alloydb.v1alpha.json | 64 ++++++++++++++-- .../Google.Apis.CloudAlloyDBAdmin.v1alpha.cs | 73 +++++++++++++++++-- ...ogle.Apis.CloudAlloyDBAdmin.v1alpha.csproj | 2 +- 3 files changed, 125 insertions(+), 14 deletions(-) diff --git a/DiscoveryJson/alloydb.v1alpha.json b/DiscoveryJson/alloydb.v1alpha.json index fd79b66e23..fb352eefc8 100644 --- a/DiscoveryJson/alloydb.v1alpha.json +++ b/DiscoveryJson/alloydb.v1alpha.json @@ -1517,7 +1517,7 @@ } } }, - "revision": "20240923", + "revision": "20241002", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -1716,6 +1716,13 @@ "readOnly": true, "type": "string" }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: ``` \"123/environment\": \"production\", \"123/costCenter\": \"marketing\" ```", + "type": "object" + }, "type": { "description": "The backup type, which suggests the trigger for the backup.", "enum": [ @@ -2055,6 +2062,13 @@ ], "type": "string" }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: ``` \"123/environment\": \"production\", \"123/costCenter\": \"marketing\" ```", + "type": "object" + }, "trialMetadata": { "$ref": "TrialMetadata", "description": "Output only. Metadata for free trial clusters", @@ -2433,22 +2447,22 @@ "id": "GoogleTypeTimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } @@ -3223,6 +3237,12 @@ "pscEnabled": { "description": "Optional. Create an instance that allows connections from Private Service Connect endpoints to the instance.", "type": "boolean" + }, + "serviceOwnedProjectNumber": { + "description": "Output only. The project number that needs to be allowlisted on the network attachment to enable outbound connectivity.", + "format": "int64", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -3243,6 +3263,13 @@ "readOnly": true, "type": "string" }, + "pscInterfaceConfigs": { + "description": "Optional. Configurations for setting up PSC interfaces attached to the instance which are used for outbound connectivity. Only primary instances can have PSC interface attached. Currently we only support 0 or 1 PSC interface.", + "items": { + "$ref": "PscInterfaceConfig" + }, + "type": "array" + }, "serviceAttachmentLink": { "description": "Output only. The service attachment created when Private Service Connect (PSC) is enabled for the instance. The name of the resource will be in the format of `projects//regions//serviceAttachments/`", "readOnly": true, @@ -3251,6 +3278,17 @@ }, "type": "object" }, + "PscInterfaceConfig": { + "description": "Configuration for setting up a PSC interface to enable outbound connectivity.", + "id": "PscInterfaceConfig", + "properties": { + "networkAttachmentResource": { + "description": "The network attachment resource created in the consumer network to which the PSC interface will be linked. This is of the format: \"projects/${CONSUMER_PROJECT}/regions/${REGION}/networkAttachments/${NETWORK_ATTACHMENT_NAME}\". The network attachment must be in the same region as the instance.", + "type": "string" + } + }, + "type": "object" + }, "QuantityBasedExpiry": { "description": "A backup's position in a quantity-based retention queue, of backups with the same source cluster and type, with length, retention, specified by the backup's retention policy. Once the position is greater than the retention, the backup is eligible to be garbage collected. Example: 5 backups from the same source cluster and type with a quantity-based retention of 3 and denoted by backup_id (position, retention). Safe: backup_5 (1, 3), backup_4, (2, 3), backup_3 (3, 3). Awaiting garbage collection: backup_2 (4, 3), backup_1 (5, 3)", "id": "QuantityBasedExpiry", @@ -4099,7 +4137,7 @@ "type": "object" }, "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 22", + "description": "Common model for database resource instance metadata. Next ID: 23", "id": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata", "properties": { "availabilityConfiguration": { @@ -4143,6 +4181,20 @@ "$ref": "StorageDatabasecenterPartnerapiV1mainCustomMetadataData", "description": "Any custom metadata associated with the resource" }, + "edition": { + "description": "Optional. Edition represents whether the instance is ENTERPRISE or ENTERPRISE_PLUS. This information is core to Cloud SQL only and is used to identify the edition of the instance.", + "enum": [ + "EDITION_UNSPECIFIED", + "EDITION_ENTERPRISE", + "EDITION_ENTERPRISE_PLUS" + ], + "enumDescriptions": [ + "Default, to make it consistent with instance edition enum.", + "Represents the enterprise edition.", + "Represents the enterprise plus edition." + ], + "type": "string" + }, "entitlements": { "description": "Entitlements associated with the resource", "items": { diff --git a/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1alpha/Google.Apis.CloudAlloyDBAdmin.v1alpha.cs b/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1alpha/Google.Apis.CloudAlloyDBAdmin.v1alpha.cs index fd534e2605..050cca5d9d 100644 --- a/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1alpha/Google.Apis.CloudAlloyDBAdmin.v1alpha.cs +++ b/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1alpha/Google.Apis.CloudAlloyDBAdmin.v1alpha.cs @@ -3912,6 +3912,15 @@ public virtual System.DateTimeOffset? ExpiryTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("state")] public virtual string State { get; set; } + /// + /// Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: + /// ``` + /// "123/environment": "production", "123/costCenter": "marketing" + /// ``` + /// + [Newtonsoft.Json.JsonPropertyAttribute("tags")] + public virtual System.Collections.Generic.IDictionary Tags { get; set; } + /// The backup type, which suggests the trigger for the backup. [Newtonsoft.Json.JsonPropertyAttribute("type")] public virtual string Type { get; set; } @@ -4282,6 +4291,15 @@ public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("subscriptionType")] public virtual string SubscriptionType { get; set; } + /// + /// Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: + /// ``` + /// "123/environment": "production", "123/costCenter": "marketing" + /// ``` + /// + [Newtonsoft.Json.JsonPropertyAttribute("tags")] + public virtual System.Collections.Generic.IDictionary Tags { get; set; } + /// Output only. Metadata for free trial clusters [Newtonsoft.Json.JsonPropertyAttribute("trialMetadata")] public virtual TrialMetadata TrialMetadata { get; set; } @@ -4741,23 +4759,26 @@ public class GoogleCloudLocationLocation : Google.Apis.Requests.IDirectResponseS public class GoogleTypeTimeOfDay : Google.Apis.Requests.IDirectResponseSchema { /// - /// Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for - /// scenarios like business closing time. + /// Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or + /// equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. /// [Newtonsoft.Json.JsonPropertyAttribute("hours")] public virtual System.Nullable Hours { get; set; } - /// Minutes of hour of day. Must be from 0 to 59. + /// Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. [Newtonsoft.Json.JsonPropertyAttribute("minutes")] public virtual System.Nullable Minutes { get; set; } - /// Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + /// + /// Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to + /// 999,999,999. + /// [Newtonsoft.Json.JsonPropertyAttribute("nanos")] public virtual System.Nullable Nanos { get; set; } /// - /// Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows - /// leap-seconds. + /// Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An + /// API may allow the value 60 if it allows leap-seconds. /// [Newtonsoft.Json.JsonPropertyAttribute("seconds")] public virtual System.Nullable Seconds { get; set; } @@ -5659,6 +5680,13 @@ public class PscConfig : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("pscEnabled")] public virtual System.Nullable PscEnabled { get; set; } + /// + /// Output only. The project number that needs to be allowlisted on the network attachment to enable outbound + /// connectivity. + /// + [Newtonsoft.Json.JsonPropertyAttribute("serviceOwnedProjectNumber")] + public virtual System.Nullable ServiceOwnedProjectNumber { get; set; } + /// The ETag of the item. public virtual string ETag { get; set; } } @@ -5679,6 +5707,14 @@ public class PscInstanceConfig : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("pscDnsName")] public virtual string PscDnsName { get; set; } + /// + /// Optional. Configurations for setting up PSC interfaces attached to the instance which are used for outbound + /// connectivity. Only primary instances can have PSC interface attached. Currently we only support 0 or 1 PSC + /// interface. + /// + [Newtonsoft.Json.JsonPropertyAttribute("pscInterfaceConfigs")] + public virtual System.Collections.Generic.IList PscInterfaceConfigs { get; set; } + /// /// Output only. The service attachment created when Private Service Connect (PSC) is enabled for the instance. /// The name of the resource will be in the format of `projects//regions//serviceAttachments/` @@ -5690,6 +5726,22 @@ public class PscInstanceConfig : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// Configuration for setting up a PSC interface to enable outbound connectivity. + public class PscInterfaceConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The network attachment resource created in the consumer network to which the PSC interface will be linked. + /// This is of the format: + /// "projects/${CONSUMER_PROJECT}/regions/${REGION}/networkAttachments/${NETWORK_ATTACHMENT_NAME}". The network + /// attachment must be in the same region as the instance. + /// + [Newtonsoft.Json.JsonPropertyAttribute("networkAttachmentResource")] + public virtual string NetworkAttachmentResource { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// /// A backup's position in a quantity-based retention queue, of backups with the same source cluster and type, with /// length, retention, specified by the backup's retention policy. Once the position is greater than the retention, @@ -6331,7 +6383,7 @@ public class StorageDatabasecenterPartnerapiV1mainDatabaseResourceId : Google.Ap public virtual string ETag { get; set; } } - /// Common model for database resource instance metadata. Next ID: 22 + /// Common model for database resource instance metadata. Next ID: 23 public class StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata : Google.Apis.Requests.IDirectResponseSchema { /// Availability configuration for this instance @@ -6393,6 +6445,13 @@ public virtual System.DateTimeOffset? CreationTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("customMetadata")] public virtual StorageDatabasecenterPartnerapiV1mainCustomMetadataData CustomMetadata { get; set; } + /// + /// Optional. Edition represents whether the instance is ENTERPRISE or ENTERPRISE_PLUS. This information is core + /// to Cloud SQL only and is used to identify the edition of the instance. + /// + [Newtonsoft.Json.JsonPropertyAttribute("edition")] + public virtual string Edition { get; set; } + /// Entitlements associated with the resource [Newtonsoft.Json.JsonPropertyAttribute("entitlements")] public virtual System.Collections.Generic.IList Entitlements { get; set; } diff --git a/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1alpha/Google.Apis.CloudAlloyDBAdmin.v1alpha.csproj b/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1alpha/Google.Apis.CloudAlloyDBAdmin.v1alpha.csproj index e55a887e3c..040c58067b 100644 --- a/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1alpha/Google.Apis.CloudAlloyDBAdmin.v1alpha.csproj +++ b/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1alpha/Google.Apis.CloudAlloyDBAdmin.v1alpha.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudAlloyDBAdmin.v1alpha Client Library - 1.68.0.3553 + 1.68.0.3562 Google LLC Copyright 2024 Google LLC Google From c2251f1939975e63301b68779f4e48fb4ff9d8f1 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:11:05 -0700 Subject: [PATCH 05/78] feat: Generate Google.Apis.CloudAlloyDBAdmin.v1beta version 1.68.0.3562 --- DiscoveryJson/alloydb.v1beta.json | 40 +++++++++++++++--- .../Google.Apis.CloudAlloyDBAdmin.v1beta.cs | 42 +++++++++++++++---- ...oogle.Apis.CloudAlloyDBAdmin.v1beta.csproj | 2 +- 3 files changed, 70 insertions(+), 14 deletions(-) diff --git a/DiscoveryJson/alloydb.v1beta.json b/DiscoveryJson/alloydb.v1beta.json index dd0ccb7645..623d150f7a 100644 --- a/DiscoveryJson/alloydb.v1beta.json +++ b/DiscoveryJson/alloydb.v1beta.json @@ -1514,7 +1514,7 @@ } } }, - "revision": "20240923", + "revision": "20241002", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -1708,6 +1708,13 @@ "readOnly": true, "type": "string" }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: ``` \"123/environment\": \"production\", \"123/costCenter\": \"marketing\" ```", + "type": "object" + }, "type": { "description": "The backup type, which suggests the trigger for the backup.", "enum": [ @@ -2036,6 +2043,13 @@ ], "type": "string" }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: ``` \"123/environment\": \"production\", \"123/costCenter\": \"marketing\" ```", + "type": "object" + }, "trialMetadata": { "$ref": "TrialMetadata", "description": "Output only. Metadata for free trial clusters", @@ -2414,22 +2428,22 @@ "id": "GoogleTypeTimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } @@ -4075,7 +4089,7 @@ "type": "object" }, "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 22", + "description": "Common model for database resource instance metadata. Next ID: 23", "id": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata", "properties": { "availabilityConfiguration": { @@ -4119,6 +4133,20 @@ "$ref": "StorageDatabasecenterPartnerapiV1mainCustomMetadataData", "description": "Any custom metadata associated with the resource" }, + "edition": { + "description": "Optional. Edition represents whether the instance is ENTERPRISE or ENTERPRISE_PLUS. This information is core to Cloud SQL only and is used to identify the edition of the instance.", + "enum": [ + "EDITION_UNSPECIFIED", + "EDITION_ENTERPRISE", + "EDITION_ENTERPRISE_PLUS" + ], + "enumDescriptions": [ + "Default, to make it consistent with instance edition enum.", + "Represents the enterprise edition.", + "Represents the enterprise plus edition." + ], + "type": "string" + }, "entitlements": { "description": "Entitlements associated with the resource", "items": { diff --git a/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1beta/Google.Apis.CloudAlloyDBAdmin.v1beta.cs b/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1beta/Google.Apis.CloudAlloyDBAdmin.v1beta.cs index 70f7077b45..5f87d96cec 100644 --- a/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1beta/Google.Apis.CloudAlloyDBAdmin.v1beta.cs +++ b/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1beta/Google.Apis.CloudAlloyDBAdmin.v1beta.cs @@ -3900,6 +3900,15 @@ public virtual System.DateTimeOffset? ExpiryTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("state")] public virtual string State { get; set; } + /// + /// Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: + /// ``` + /// "123/environment": "production", "123/costCenter": "marketing" + /// ``` + /// + [Newtonsoft.Json.JsonPropertyAttribute("tags")] + public virtual System.Collections.Generic.IDictionary Tags { get; set; } + /// The backup type, which suggests the trigger for the backup. [Newtonsoft.Json.JsonPropertyAttribute("type")] public virtual string Type { get; set; } @@ -4259,6 +4268,15 @@ public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("subscriptionType")] public virtual string SubscriptionType { get; set; } + /// + /// Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: + /// ``` + /// "123/environment": "production", "123/costCenter": "marketing" + /// ``` + /// + [Newtonsoft.Json.JsonPropertyAttribute("tags")] + public virtual System.Collections.Generic.IDictionary Tags { get; set; } + /// Output only. Metadata for free trial clusters [Newtonsoft.Json.JsonPropertyAttribute("trialMetadata")] public virtual TrialMetadata TrialMetadata { get; set; } @@ -4718,23 +4736,26 @@ public class GoogleCloudLocationLocation : Google.Apis.Requests.IDirectResponseS public class GoogleTypeTimeOfDay : Google.Apis.Requests.IDirectResponseSchema { /// - /// Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for - /// scenarios like business closing time. + /// Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or + /// equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. /// [Newtonsoft.Json.JsonPropertyAttribute("hours")] public virtual System.Nullable Hours { get; set; } - /// Minutes of hour of day. Must be from 0 to 59. + /// Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. [Newtonsoft.Json.JsonPropertyAttribute("minutes")] public virtual System.Nullable Minutes { get; set; } - /// Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + /// + /// Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to + /// 999,999,999. + /// [Newtonsoft.Json.JsonPropertyAttribute("nanos")] public virtual System.Nullable Nanos { get; set; } /// - /// Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows - /// leap-seconds. + /// Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An + /// API may allow the value 60 if it allows leap-seconds. /// [Newtonsoft.Json.JsonPropertyAttribute("seconds")] public virtual System.Nullable Seconds { get; set; } @@ -6304,7 +6325,7 @@ public class StorageDatabasecenterPartnerapiV1mainDatabaseResourceId : Google.Ap public virtual string ETag { get; set; } } - /// Common model for database resource instance metadata. Next ID: 22 + /// Common model for database resource instance metadata. Next ID: 23 public class StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata : Google.Apis.Requests.IDirectResponseSchema { /// Availability configuration for this instance @@ -6366,6 +6387,13 @@ public virtual System.DateTimeOffset? CreationTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("customMetadata")] public virtual StorageDatabasecenterPartnerapiV1mainCustomMetadataData CustomMetadata { get; set; } + /// + /// Optional. Edition represents whether the instance is ENTERPRISE or ENTERPRISE_PLUS. This information is core + /// to Cloud SQL only and is used to identify the edition of the instance. + /// + [Newtonsoft.Json.JsonPropertyAttribute("edition")] + public virtual string Edition { get; set; } + /// Entitlements associated with the resource [Newtonsoft.Json.JsonPropertyAttribute("entitlements")] public virtual System.Collections.Generic.IList Entitlements { get; set; } diff --git a/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1beta/Google.Apis.CloudAlloyDBAdmin.v1beta.csproj b/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1beta/Google.Apis.CloudAlloyDBAdmin.v1beta.csproj index f4981fff2f..a6fe4a72d4 100644 --- a/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1beta/Google.Apis.CloudAlloyDBAdmin.v1beta.csproj +++ b/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1beta/Google.Apis.CloudAlloyDBAdmin.v1beta.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudAlloyDBAdmin.v1beta Client Library - 1.68.0.3553 + 1.68.0.3562 Google LLC Copyright 2024 Google LLC Google From 9e35bd904952f183b957ef0ba324acf31c54018d Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:11:08 -0700 Subject: [PATCH 06/78] feat: Generate Google.Apis.Appengine.v1 version 1.68.0.3567 --- DiscoveryJson/appengine.v1.json | 62 +++++++- .../Google.Apis.Appengine.v1.cs | 145 ++++++++++++++++++ .../Google.Apis.Appengine.v1.csproj | 2 +- 3 files changed, 207 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/appengine.v1.json b/DiscoveryJson/appengine.v1.json index ec5d3e3041..eea2621c19 100644 --- a/DiscoveryJson/appengine.v1.json +++ b/DiscoveryJson/appengine.v1.json @@ -1710,6 +1710,66 @@ ] } } + }, + "services": { + "resources": { + "versions": { + "methods": { + "delete": { + "description": "Deletes an existing Version resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}/versions/{versionsId}", + "httpMethod": "DELETE", + "id": "appengine.projects.locations.applications.services.versions.delete", + "parameterOrder": [ + "projectsId", + "locationsId", + "applicationsId", + "servicesId", + "versionsId" + ], + "parameters": { + "applicationsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "locationsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "projectsId": { + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", + "location": "path", + "required": true, + "type": "string" + }, + "servicesId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "versionsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}/versions/{versionsId}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } } } } @@ -1718,7 +1778,7 @@ } } }, - "revision": "20240906", + "revision": "20241007", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "ApiConfigHandler": { 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 0f25874eaf..553983d895 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 @@ -3766,6 +3766,7 @@ public ApplicationsResource(Google.Apis.Services.IClientService service) { this.service = service; AuthorizedDomains = new AuthorizedDomainsResource(service); + Services = new ServicesResource(service); } /// Gets the AuthorizedDomains resource. @@ -3886,6 +3887,150 @@ protected override void InitParameters() } } } + + /// Gets the Services resource. + public virtual ServicesResource Services { get; } + + /// The "services" collection of methods. + public class ServicesResource + { + private const string Resource = "services"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public ServicesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + Versions = new VersionsResource(service); + } + + /// Gets the Versions resource. + public virtual VersionsResource Versions { get; } + + /// The "versions" collection of methods. + public class VersionsResource + { + private const string Resource = "versions"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public VersionsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Deletes an existing Version resource. + /// + /// Part of `name`. Name of the resource requested. Example: + /// apps/myapp/services/default/versions/v1. + /// + /// Part of `name`. See documentation of `projectsId`. + /// Part of `name`. See documentation of `projectsId`. + /// Part of `name`. See documentation of `projectsId`. + /// Part of `name`. See documentation of `projectsId`. + public virtual DeleteRequest Delete(string projectsId, string locationsId, string applicationsId, string servicesId, string versionsId) + { + return new DeleteRequest(this.service, projectsId, locationsId, applicationsId, servicesId, versionsId); + } + + /// Deletes an existing Version resource. + public class DeleteRequest : AppengineBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string projectsId, string locationsId, string applicationsId, string servicesId, string versionsId) : base(service) + { + ProjectsId = projectsId; + LocationsId = locationsId; + ApplicationsId = applicationsId; + ServicesId = servicesId; + VersionsId = versionsId; + InitParameters(); + } + + /// + /// Part of `name`. Name of the resource requested. Example: + /// apps/myapp/services/default/versions/v1. + /// + [Google.Apis.Util.RequestParameterAttribute("projectsId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string ProjectsId { get; private set; } + + /// Part of `name`. See documentation of `projectsId`. + [Google.Apis.Util.RequestParameterAttribute("locationsId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string LocationsId { get; private set; } + + /// Part of `name`. See documentation of `projectsId`. + [Google.Apis.Util.RequestParameterAttribute("applicationsId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string ApplicationsId { get; private set; } + + /// Part of `name`. See documentation of `projectsId`. + [Google.Apis.Util.RequestParameterAttribute("servicesId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string ServicesId { get; private set; } + + /// Part of `name`. See documentation of `projectsId`. + [Google.Apis.Util.RequestParameterAttribute("versionsId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string VersionsId { 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 => "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}/versions/{versionsId}"; + + /// Initializes Delete 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("servicesId", new Google.Apis.Discovery.Parameter + { + Name = "servicesId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("versionsId", new Google.Apis.Discovery.Parameter + { + Name = "versionsId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + } + } + } + } } } } 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 c9c6d31fce..6f013fe083 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.68.0.3536 + 1.68.0.3567 Google LLC Copyright 2024 Google LLC Google From 592734ec0fb60f4ef71d7a6f9f2504c097d179d3 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:11:11 -0700 Subject: [PATCH 07/78] feat: Generate Google.Apis.Appengine.v1beta version 1.68.0.3567 --- DiscoveryJson/appengine.v1beta.json | 62 +++++++- .../Google.Apis.Appengine.v1beta.cs | 145 ++++++++++++++++++ .../Google.Apis.Appengine.v1beta.csproj | 2 +- 3 files changed, 207 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/appengine.v1beta.json b/DiscoveryJson/appengine.v1beta.json index 0babd8eee6..1c1913e5c5 100644 --- a/DiscoveryJson/appengine.v1beta.json +++ b/DiscoveryJson/appengine.v1beta.json @@ -1817,6 +1817,66 @@ ] } } + }, + "services": { + "resources": { + "versions": { + "methods": { + "delete": { + "description": "Deletes an existing Version resource.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}/versions/{versionsId}", + "httpMethod": "DELETE", + "id": "appengine.projects.locations.applications.services.versions.delete", + "parameterOrder": [ + "projectsId", + "locationsId", + "applicationsId", + "servicesId", + "versionsId" + ], + "parameters": { + "applicationsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "locationsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "projectsId": { + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", + "location": "path", + "required": true, + "type": "string" + }, + "servicesId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "versionsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1beta/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}/versions/{versionsId}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } } } }, @@ -1918,7 +1978,7 @@ } } }, - "revision": "20240906", + "revision": "20241007", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "ApiConfigHandler": { 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 7e5fba8beb..d6263258af 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 @@ -3823,6 +3823,7 @@ public ApplicationsResource(Google.Apis.Services.IClientService service) { this.service = service; AuthorizedDomains = new AuthorizedDomainsResource(service); + Services = new ServicesResource(service); } /// Gets the AuthorizedDomains resource. @@ -3943,6 +3944,150 @@ protected override void InitParameters() } } } + + /// Gets the Services resource. + public virtual ServicesResource Services { get; } + + /// The "services" collection of methods. + public class ServicesResource + { + private const string Resource = "services"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public ServicesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + Versions = new VersionsResource(service); + } + + /// Gets the Versions resource. + public virtual VersionsResource Versions { get; } + + /// The "versions" collection of methods. + public class VersionsResource + { + private const string Resource = "versions"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public VersionsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Deletes an existing Version resource. + /// + /// Part of `name`. Name of the resource requested. Example: + /// apps/myapp/services/default/versions/v1. + /// + /// Part of `name`. See documentation of `projectsId`. + /// Part of `name`. See documentation of `projectsId`. + /// Part of `name`. See documentation of `projectsId`. + /// Part of `name`. See documentation of `projectsId`. + public virtual DeleteRequest Delete(string projectsId, string locationsId, string applicationsId, string servicesId, string versionsId) + { + return new DeleteRequest(this.service, projectsId, locationsId, applicationsId, servicesId, versionsId); + } + + /// Deletes an existing Version resource. + public class DeleteRequest : AppengineBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string projectsId, string locationsId, string applicationsId, string servicesId, string versionsId) : base(service) + { + ProjectsId = projectsId; + LocationsId = locationsId; + ApplicationsId = applicationsId; + ServicesId = servicesId; + VersionsId = versionsId; + InitParameters(); + } + + /// + /// Part of `name`. Name of the resource requested. Example: + /// apps/myapp/services/default/versions/v1. + /// + [Google.Apis.Util.RequestParameterAttribute("projectsId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string ProjectsId { get; private set; } + + /// Part of `name`. See documentation of `projectsId`. + [Google.Apis.Util.RequestParameterAttribute("locationsId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string LocationsId { get; private set; } + + /// Part of `name`. See documentation of `projectsId`. + [Google.Apis.Util.RequestParameterAttribute("applicationsId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string ApplicationsId { get; private set; } + + /// Part of `name`. See documentation of `projectsId`. + [Google.Apis.Util.RequestParameterAttribute("servicesId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string ServicesId { get; private set; } + + /// Part of `name`. See documentation of `projectsId`. + [Google.Apis.Util.RequestParameterAttribute("versionsId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string VersionsId { 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/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}/versions/{versionsId}"; + + /// Initializes Delete 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("servicesId", new Google.Apis.Discovery.Parameter + { + Name = "servicesId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("versionsId", new Google.Apis.Discovery.Parameter + { + Name = "versionsId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + } + } + } + } } /// Gets the Operations resource. 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 7255015a38..dd1d55150b 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.68.0.3536 + 1.68.0.3567 Google LLC Copyright 2024 Google LLC Google From 25da2ba4e26a75b688b457c0adc86931e2668f9b Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:11:14 -0700 Subject: [PATCH 08/78] feat: Generate Google.Apis.AppHub.v1 version 1.68.0.3568 --- DiscoveryJson/apphub.v1.json | 430 +++++++++++++++++- .../Google.Apis.AppHub.v1.cs | 302 +++++++++++- .../Google.Apis.AppHub.v1.csproj | 2 +- 3 files changed, 689 insertions(+), 45 deletions(-) diff --git a/DiscoveryJson/apphub.v1.json b/DiscoveryJson/apphub.v1.json index 055d8aa400..1c007def08 100644 --- a/DiscoveryJson/apphub.v1.json +++ b/DiscoveryJson/apphub.v1.json @@ -412,7 +412,7 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of an Application. Format: \"projects/{host-project-id}/locations/{location}/applications/{application-id}\"", + "description": "Identifier. The resource name of an Application. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}\"`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/applications/[^/]+$", "required": true, @@ -650,7 +650,7 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of a Service. Format: \"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}\"", + "description": "Identifier. The resource name of a Service. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}\"`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/applications/[^/]+/services/[^/]+$", "required": true, @@ -832,7 +832,7 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of the Workload. Format: \"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}\"", + "description": "Identifier. The resource name of the Workload. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}\"`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/applications/[^/]+/workloads/[^/]+$", "required": true, @@ -1346,11 +1346,11 @@ } } }, - "revision": "20240307", + "revision": "20241008", "rootUrl": "https://apphub.googleapis.com/", "schemas": { "Application": { - "description": "Application defines the governance boundary for App Hub Entities that perform a logical end-to-end business function. App Hub supports application level IAM permission to align with governance requirements.", + "description": "Application defines the governance boundary for App Hub entities that perform a logical end-to-end business function. App Hub supports application level IAM permission to align with governance requirements.", "id": "Application", "properties": { "attributes": { @@ -1372,7 +1372,7 @@ "type": "string" }, "name": { - "description": "Identifier. The resource name of an Application. Format: \"projects/{host-project-id}/locations/{location}/applications/{application-id}\"", + "description": "Identifier. The resource name of an Application. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}\"`", "type": "string" }, "scope": { @@ -1410,6 +1410,42 @@ }, "type": "object" }, + "AssetLocation": { + "description": "Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on its behalf.", + "id": "AssetLocation", + "properties": { + "ccfeRmsPath": { + "description": "Spanner path of the CCFE RMS database. It is only applicable for CCFE tenants that use CCFE RMS for storing resource metadata.", + "type": "string" + }, + "expected": { + "$ref": "IsolationExpectations", + "description": "Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of asset creation." + }, + "extraParameters": { + "description": "Defines extra parameters required for specific asset types.", + "items": { + "$ref": "ExtraParameter" + }, + "type": "array" + }, + "locationData": { + "description": "Contains all kinds of physical location definitions for this asset.", + "items": { + "$ref": "LocationData" + }, + "type": "array" + }, + "parentAsset": { + "description": "Defines parents assets if any in order to allow later generation of child_asset_location data via child assets.", + "items": { + "$ref": "CloudAsset" + }, + "type": "array" + } + }, + "type": "object" + }, "Attributes": { "description": "Consumer provided attributes.", "id": "Attributes", @@ -1516,12 +1552,49 @@ }, "type": "object" }, + "BlobstoreLocation": { + "description": "Policy ID that identified data placement in Blobstore as per go/blobstore-user-guide#data-metadata-placement-and-failure-domains", + "id": "BlobstoreLocation", + "properties": { + "policyId": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", "properties": {}, "type": "object" }, + "CloudAsset": { + "id": "CloudAsset", + "properties": { + "assetName": { + "type": "string" + }, + "assetType": { + "type": "string" + } + }, + "type": "object" + }, + "CloudAssetComposition": { + "id": "CloudAssetComposition", + "properties": { + "childAsset": { + "items": { + "$ref": "CloudAsset" + }, + "type": "array" + } + }, + "type": "object" + }, "ContactInfo": { "description": "Contact information of stakeholders.", "id": "ContactInfo", @@ -1574,12 +1647,24 @@ "properties": {}, "type": "object" }, + "DirectLocationAssignment": { + "id": "DirectLocationAssignment", + "properties": { + "location": { + "items": { + "$ref": "LocationAssignment" + }, + "type": "array" + } + }, + "type": "object" + }, "DiscoveredService": { - "description": "DiscoveredService is a network/api interface that exposes some functionality to clients for consumption over the network. A discovered service can be registered to a App Hub service.", + "description": "DiscoveredService is a network or API interface that exposes some functionality to clients for consumption over the network. A discovered service can be registered to a App Hub service.", "id": "DiscoveredService", "properties": { "name": { - "description": "Identifier. The resource name of the discovered service. Format: \"projects/{host-project-id}/locations/{location}/discoveredServices/{uuid}\"\"", + "description": "Identifier. The resource name of the discovered service. Format: `\"projects/{host-project-id}/locations/{location}/discoveredServices/{uuid}\"`", "type": "string" }, "serviceProperties": { @@ -1600,7 +1685,7 @@ "id": "DiscoveredWorkload", "properties": { "name": { - "description": "Identifier. The resource name of the discovered workload. Format: \"projects/{host-project-id}/locations/{location}/discoveredWorkloads/{uuid}\"", + "description": "Identifier. The resource name of the discovered workload. Format: `\"projects/{host-project-id}/locations/{location}/discoveredWorkloads/{uuid}\"`", "type": "string" }, "workloadProperties": { @@ -1670,6 +1755,142 @@ }, "type": "object" }, + "ExtraParameter": { + "description": "Defines parameters that should only be used for specific asset types.", + "id": "ExtraParameter", + "properties": { + "regionalMigDistributionPolicy": { + "$ref": "RegionalMigDistributionPolicy", + "description": "Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances." + } + }, + "type": "object" + }, + "IsolationExpectations": { + "id": "IsolationExpectations", + "properties": { + "requirementOverride": { + "$ref": "RequirementOverride", + "description": "Explicit overrides for ZI and ZS requirements to be used for resources that should be excluded from ZI/ZS verification logic." + }, + "ziOrgPolicy": { + "enum": [ + "ZI_UNSPECIFIED", + "ZI_UNKNOWN", + "ZI_NOT_REQUIRED", + "ZI_PREFERRED", + "ZI_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "", + "" + ], + "type": "string" + }, + "ziRegionPolicy": { + "enum": [ + "ZI_REGION_POLICY_UNSPECIFIED", + "ZI_REGION_POLICY_UNKNOWN", + "ZI_REGION_POLICY_NOT_SET", + "ZI_REGION_POLICY_FAIL_OPEN", + "ZI_REGION_POLICY_FAIL_CLOSED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "", + "" + ], + "type": "string" + }, + "ziRegionState": { + "enum": [ + "ZI_REGION_UNSPECIFIED", + "ZI_REGION_UNKNOWN", + "ZI_REGION_NOT_ENABLED", + "ZI_REGION_ENABLED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "" + ], + "type": "string" + }, + "zoneIsolation": { + "deprecated": true, + "description": "Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as per go/zicy-publish-physical-location.", + "enum": [ + "ZI_UNSPECIFIED", + "ZI_UNKNOWN", + "ZI_NOT_REQUIRED", + "ZI_PREFERRED", + "ZI_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "", + "" + ], + "type": "string" + }, + "zoneSeparation": { + "deprecated": true, + "description": "Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per go/zicy-publish-physical-location.", + "enum": [ + "ZS_UNSPECIFIED", + "ZS_UNKNOWN", + "ZS_NOT_REQUIRED", + "ZS_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "" + ], + "type": "string" + }, + "zsOrgPolicy": { + "enum": [ + "ZS_UNSPECIFIED", + "ZS_UNKNOWN", + "ZS_NOT_REQUIRED", + "ZS_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "" + ], + "type": "string" + }, + "zsRegionState": { + "enum": [ + "ZS_REGION_UNSPECIFIED", + "ZS_REGION_UNKNOWN", + "ZS_REGION_NOT_ENABLED", + "ZS_REGION_ENABLED" + ], + "enumDescriptions": [ + "", + "To be used if tracking of the asset ZS-bit is not available", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "ListApplicationsResponse": { "description": "Response for ListApplications.", "id": "ListApplicationsResponse", @@ -1890,6 +2111,64 @@ }, "type": "object" }, + "LocationAssignment": { + "id": "LocationAssignment", + "properties": { + "location": { + "type": "string" + }, + "locationType": { + "enum": [ + "UNSPECIFIED", + "CLUSTER", + "POP", + "CLOUD_ZONE", + "CLOUD_REGION", + "MULTI_REGION_GEO", + "MULTI_REGION_JURISDICTION", + "GLOBAL", + "OTHER" + ], + "enumDescriptions": [ + "", + "1-10: Physical failure domains.", + "", + "11-20: Logical failure domains.", + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "LocationData": { + "id": "LocationData", + "properties": { + "blobstoreLocation": { + "$ref": "BlobstoreLocation" + }, + "childAssetLocation": { + "$ref": "CloudAssetComposition" + }, + "directLocation": { + "$ref": "DirectLocationAssignment" + }, + "gcpProjectProxy": { + "$ref": "TenantProjectProxy" + }, + "placerLocation": { + "$ref": "PlacerLocation" + }, + "spannerLocation": { + "$ref": "SpannerLocation" + } + }, + "type": "object" + }, "LookupDiscoveredServiceResponse": { "description": "Response for LookupDiscoveredService.", "id": "LookupDiscoveredServiceResponse", @@ -2002,6 +2281,17 @@ }, "type": "object" }, + "PlacerLocation": { + "description": "Message describing that the location of the customer resource is tied to placer allocations", + "id": "PlacerLocation", + "properties": { + "placerConfig": { + "description": "Directory with a config related to it in placer (e.g. \"/placer/prod/home/my-root/my-dir\")", + "type": "string" + } + }, + "type": "object" + }, "Policy": { "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", @@ -2064,6 +2354,63 @@ }, "type": "object" }, + "RegionalMigDistributionPolicy": { + "description": "To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances", + "id": "RegionalMigDistributionPolicy", + "properties": { + "targetShape": { + "description": "The shape in which the group converges around distribution of resources. Instance of proto2 enum", + "format": "int32", + "type": "integer" + }, + "zones": { + "description": "Cloud zones used by regional MIG to create instances.", + "items": { + "$ref": "ZoneConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "RequirementOverride": { + "id": "RequirementOverride", + "properties": { + "ziOverride": { + "enum": [ + "ZI_UNSPECIFIED", + "ZI_UNKNOWN", + "ZI_NOT_REQUIRED", + "ZI_PREFERRED", + "ZI_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "", + "" + ], + "type": "string" + }, + "zsOverride": { + "enum": [ + "ZS_UNSPECIFIED", + "ZS_UNKNOWN", + "ZS_NOT_REQUIRED", + "ZS_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "Scope": { "description": "Scope of an application.", "id": "Scope", @@ -2072,11 +2419,13 @@ "description": "Required. Scope Type.", "enum": [ "TYPE_UNSPECIFIED", - "REGIONAL" + "REGIONAL", + "GLOBAL" ], "enumDescriptions": [ "Unspecified type.", - "Regional type." + "Regional type.", + "Global type." ], "type": "string" } @@ -2084,7 +2433,7 @@ "type": "object" }, "Service": { - "description": "Service is an App Hub data model that contains a discovered service, which represents a network/api interface that exposes some functionality to clients for consumption over the network.", + "description": "Service is an App Hub data model that contains a discovered service, which represents a network or API interface that exposes some functionality to clients for consumption over the network.", "id": "Service", "properties": { "attributes": { @@ -2110,7 +2459,7 @@ "type": "string" }, "name": { - "description": "Identifier. The resource name of a Service. Format: \"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}\"", + "description": "Identifier. The resource name of a Service. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}\"`", "type": "string" }, "serviceProperties": { @@ -2167,11 +2516,11 @@ "type": "string" }, "name": { - "description": "Identifier. The resource name of a ServiceProjectAttachment. Format: \"projects/{host-project-id}/locations/global/serviceProjectAttachments/{service-project-id}.\"", + "description": "Identifier. The resource name of a ServiceProjectAttachment. Format: `\"projects/{host-project-id}/locations/global/serviceProjectAttachments/{service-project-id}.\"`", "type": "string" }, "serviceProject": { - "description": "Required. Immutable. Service project name in the format: \"projects/abc\" or \"projects/123\". As input, project name with either project id or number are accepted. As output, this field will contain project number.", + "description": "Required. Immutable. Service project name in the format: `\"projects/abc\"` or `\"projects/123\"`. As input, project name with either project id or number are accepted. As output, this field will contain project number.", "type": "string" }, "state": { @@ -2226,7 +2575,7 @@ "id": "ServiceReference", "properties": { "uri": { - "description": "Output only. The underlying resource URI (For example, URI of Forwarding Rule, URL Map, and Backend Service).", + "description": "Output only. The underlying resource URI. For example, URI of Forwarding Rule, URL Map, and Backend Service.", "readOnly": true, "type": "string" } @@ -2249,6 +2598,26 @@ }, "type": "object" }, + "SpannerLocation": { + "id": "SpannerLocation", + "properties": { + "backupName": { + "description": "Set of backups used by the resource with name in the same format as what is available at http://table/spanner_automon.backup_metadata", + "items": { + "type": "string" + }, + "type": "array" + }, + "dbName": { + "description": "Set of databases used by the resource in format /span//", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", "id": "Status", @@ -2276,6 +2645,18 @@ }, "type": "object" }, + "TenantProjectProxy": { + "id": "TenantProjectProxy", + "properties": { + "projectNumbers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "TestIamPermissionsRequest": { "description": "Request message for `TestIamPermissions` method.", "id": "TestIamPermissionsRequest", @@ -2331,7 +2712,7 @@ "type": "string" }, "name": { - "description": "Identifier. The resource name of the Workload. Format: \"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}\"", + "description": "Identifier. The resource name of the Workload. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}\"`", "type": "string" }, "state": { @@ -2382,17 +2763,17 @@ "id": "WorkloadProperties", "properties": { "gcpProject": { - "description": "Output only. The service project identifier that the underlying cloud resource resides in. Empty for non cloud resources.", + "description": "Output only. The service project identifier that the underlying cloud resource resides in. Empty for non-cloud resources.", "readOnly": true, "type": "string" }, "location": { - "description": "Output only. The location that the underlying compute resource resides in (e.g us-west1).", + "description": "Output only. The location that the underlying compute resource resides in (for example, us-west1).", "readOnly": true, "type": "string" }, "zone": { - "description": "Output only. The location that the underlying compute resource resides in if it is zonal (e.g us-west1-a).", + "description": "Output only. The location that the underlying compute resource resides in if it is zonal (for example, us-west1-a).", "readOnly": true, "type": "string" } @@ -2410,6 +2791,15 @@ } }, "type": "object" + }, + "ZoneConfiguration": { + "id": "ZoneConfiguration", + "properties": { + "zone": { + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/Src/Generated/Google.Apis.AppHub.v1/Google.Apis.AppHub.v1.cs b/Src/Generated/Google.Apis.AppHub.v1/Google.Apis.AppHub.v1.cs index d1343443df..57d380c37b 100644 --- a/Src/Generated/Google.Apis.AppHub.v1/Google.Apis.AppHub.v1.cs +++ b/Src/Generated/Google.Apis.AppHub.v1/Google.Apis.AppHub.v1.cs @@ -663,7 +663,7 @@ protected override void InitParameters() /// The body of the request. /// /// Identifier. The resource name of a Service. Format: - /// "projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}" + /// `"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}"` /// public virtual PatchRequest Patch(Google.Apis.AppHub.v1.Data.Service body, string name) { @@ -683,7 +683,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.App /// /// Identifier. The resource name of a Service. Format: - /// "projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}" + /// `"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}"` /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -1105,7 +1105,7 @@ protected override void InitParameters() /// The body of the request. /// /// Identifier. The resource name of the Workload. Format: - /// "projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}" + /// `"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}"` /// public virtual PatchRequest Patch(Google.Apis.AppHub.v1.Data.Workload body, string name) { @@ -1125,7 +1125,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.App /// /// Identifier. The resource name of the Workload. Format: - /// "projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}" + /// `"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}"` /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -1606,7 +1606,7 @@ protected override void InitParameters() /// The body of the request. /// /// Identifier. The resource name of an Application. Format: - /// "projects/{host-project-id}/locations/{location}/applications/{application-id}" + /// `"projects/{host-project-id}/locations/{location}/applications/{application-id}"` /// public virtual PatchRequest Patch(Google.Apis.AppHub.v1.Data.Application body, string name) { @@ -1626,7 +1626,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.App /// /// Identifier. The resource name of an Application. Format: - /// "projects/{host-project-id}/locations/{location}/applications/{application-id}" + /// `"projects/{host-project-id}/locations/{location}/applications/{application-id}"` /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -3205,7 +3205,7 @@ protected override void InitParameters() namespace Google.Apis.AppHub.v1.Data { /// - /// Application defines the governance boundary for App Hub Entities that perform a logical end-to-end business + /// Application defines the governance boundary for App Hub entities that perform a logical end-to-end business /// function. App Hub supports application level IAM permission to align with governance requirements. /// public class Application : Google.Apis.Requests.IDirectResponseSchema @@ -3265,7 +3265,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Identifier. The resource name of an Application. Format: - /// "projects/{host-project-id}/locations/{location}/applications/{application-id}" + /// `"projects/{host-project-id}/locations/{location}/applications/{application-id}"` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -3326,6 +3326,45 @@ public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset public virtual string ETag { get; set; } } + /// + /// Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on + /// its behalf. + /// + public class AssetLocation : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Spanner path of the CCFE RMS database. It is only applicable for CCFE tenants that use CCFE RMS for storing + /// resource metadata. + /// + [Newtonsoft.Json.JsonPropertyAttribute("ccfeRmsPath")] + public virtual string CcfeRmsPath { get; set; } + + /// + /// Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of + /// asset creation. + /// + [Newtonsoft.Json.JsonPropertyAttribute("expected")] + public virtual IsolationExpectations Expected { get; set; } + + /// Defines extra parameters required for specific asset types. + [Newtonsoft.Json.JsonPropertyAttribute("extraParameters")] + public virtual System.Collections.Generic.IList ExtraParameters { get; set; } + + /// Contains all kinds of physical location definitions for this asset. + [Newtonsoft.Json.JsonPropertyAttribute("locationData")] + public virtual System.Collections.Generic.IList LocationData { get; set; } + + /// + /// Defines parents assets if any in order to allow later generation of child_asset_location data via child + /// assets. + /// + [Newtonsoft.Json.JsonPropertyAttribute("parentAsset")] + public virtual System.Collections.Generic.IList ParentAsset { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Consumer provided attributes. public class Attributes : Google.Apis.Requests.IDirectResponseSchema { @@ -3478,6 +3517,19 @@ public class Binding : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// + /// Policy ID that identified data placement in Blobstore as per + /// go/blobstore-user-guide#data-metadata-placement-and-failure-domains + /// + public class BlobstoreLocation : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("policyId")] + public virtual System.Collections.Generic.IList PolicyId { 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 { @@ -3485,6 +3537,27 @@ public class CancelOperationRequest : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + public class CloudAsset : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("assetName")] + public virtual string AssetName { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("assetType")] + public virtual string AssetType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class CloudAssetComposition : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("childAsset")] + public virtual System.Collections.Generic.IList ChildAsset { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Contact information of stakeholders. public class ContactInfo : Google.Apis.Requests.IDirectResponseSchema { @@ -3525,15 +3598,24 @@ public class DetachServiceProjectAttachmentResponse : Google.Apis.Requests.IDire public virtual string ETag { get; set; } } + public class DirectLocationAssignment : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("location")] + public virtual System.Collections.Generic.IList Location { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// - /// DiscoveredService is a network/api interface that exposes some functionality to clients for consumption over the - /// network. A discovered service can be registered to a App Hub service. + /// DiscoveredService is a network or API interface that exposes some functionality to clients for consumption over + /// the network. A discovered service can be registered to a App Hub service. /// public class DiscoveredService : Google.Apis.Requests.IDirectResponseSchema { /// /// Identifier. The resource name of the discovered service. Format: - /// "projects/{host-project-id}/locations/{location}/discoveredServices/{uuid}"" + /// `"projects/{host-project-id}/locations/{location}/discoveredServices/{uuid}"` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -3564,7 +3646,7 @@ public class DiscoveredWorkload : Google.Apis.Requests.IDirectResponseSchema { /// /// Identifier. The resource name of the discovered workload. Format: - /// "projects/{host-project-id}/locations/{location}/discoveredWorkloads/{uuid}" + /// `"projects/{host-project-id}/locations/{location}/discoveredWorkloads/{uuid}"` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -3651,6 +3733,61 @@ public class Expr : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// Defines parameters that should only be used for specific asset types. + public class ExtraParameter : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances. + /// + [Newtonsoft.Json.JsonPropertyAttribute("regionalMigDistributionPolicy")] + public virtual RegionalMigDistributionPolicy RegionalMigDistributionPolicy { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class IsolationExpectations : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Explicit overrides for ZI and ZS requirements to be used for resources that should be excluded from ZI/ZS + /// verification logic. + /// + [Newtonsoft.Json.JsonPropertyAttribute("requirementOverride")] + public virtual RequirementOverride RequirementOverride { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("ziOrgPolicy")] + public virtual string ZiOrgPolicy { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("ziRegionPolicy")] + public virtual string ZiRegionPolicy { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("ziRegionState")] + public virtual string ZiRegionState { get; set; } + + /// + /// Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as + /// per go/zicy-publish-physical-location. + /// + [Newtonsoft.Json.JsonPropertyAttribute("zoneIsolation")] + public virtual string ZoneIsolation { get; set; } + + /// + /// Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per + /// go/zicy-publish-physical-location. + /// + [Newtonsoft.Json.JsonPropertyAttribute("zoneSeparation")] + public virtual string ZoneSeparation { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("zsOrgPolicy")] + public virtual string ZsOrgPolicy { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("zsRegionState")] + public virtual string ZsRegionState { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Response for ListApplications. public class ListApplicationsResponse : Google.Apis.Requests.IDirectResponseSchema { @@ -3827,6 +3964,42 @@ public class Location : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + public class LocationAssignment : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("location")] + public virtual string Location { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("locationType")] + public virtual string LocationType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class LocationData : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("blobstoreLocation")] + public virtual BlobstoreLocation BlobstoreLocation { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("childAssetLocation")] + public virtual CloudAssetComposition ChildAssetLocation { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("directLocation")] + public virtual DirectLocationAssignment DirectLocation { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("gcpProjectProxy")] + public virtual TenantProjectProxy GcpProjectProxy { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("placerLocation")] + public virtual PlacerLocation PlacerLocation { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("spannerLocation")] + public virtual SpannerLocation SpannerLocation { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Response for LookupDiscoveredService. public class LookupDiscoveredServiceResponse : Google.Apis.Requests.IDirectResponseSchema { @@ -4008,6 +4181,17 @@ public virtual System.DateTimeOffset? EndTimeDateTimeOffset public virtual string ETag { get; set; } } + /// Message describing that the location of the customer resource is tied to placer allocations + public class PlacerLocation : Google.Apis.Requests.IDirectResponseSchema + { + /// Directory with a config related to it in placer (e.g. "/placer/prod/home/my-root/my-dir") + [Newtonsoft.Json.JsonPropertyAttribute("placerConfig")] + public virtual string PlacerConfig { 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 @@ -4100,6 +4284,38 @@ public class ReconciliationOperationMetadata : Google.Apis.Requests.IDirectRespo public virtual string ETag { get; set; } } + /// + /// To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager + /// instances + /// + public class RegionalMigDistributionPolicy : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The shape in which the group converges around distribution of resources. Instance of proto2 enum + /// + [Newtonsoft.Json.JsonPropertyAttribute("targetShape")] + public virtual System.Nullable TargetShape { get; set; } + + /// Cloud zones used by regional MIG to create instances. + [Newtonsoft.Json.JsonPropertyAttribute("zones")] + public virtual System.Collections.Generic.IList Zones { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class RequirementOverride : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("ziOverride")] + public virtual string ZiOverride { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("zsOverride")] + public virtual string ZsOverride { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Scope of an application. public class Scope : Google.Apis.Requests.IDirectResponseSchema { @@ -4112,7 +4328,7 @@ public class Scope : Google.Apis.Requests.IDirectResponseSchema } /// - /// Service is an App Hub data model that contains a discovered service, which represents a network/api interface + /// Service is an App Hub data model that contains a discovered service, which represents a network or API interface /// that exposes some functionality to clients for consumption over the network. /// public class Service : Google.Apis.Requests.IDirectResponseSchema @@ -4174,7 +4390,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Identifier. The resource name of a Service. Format: - /// "projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}" + /// `"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}"` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -4290,14 +4506,15 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Identifier. The resource name of a ServiceProjectAttachment. Format: - /// "projects/{host-project-id}/locations/global/serviceProjectAttachments/{service-project-id}." + /// `"projects/{host-project-id}/locations/global/serviceProjectAttachments/{service-project-id}."` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } /// - /// Required. Immutable. Service project name in the format: "projects/abc" or "projects/123". As input, project - /// name with either project id or number are accepted. As output, this field will contain project number. + /// Required. Immutable. Service project name in the format: `"projects/abc"` or `"projects/123"`. As input, + /// project name with either project id or number are accepted. As output, this field will contain project + /// number. /// [Newtonsoft.Json.JsonPropertyAttribute("serviceProject")] public virtual string ServiceProject { get; set; } @@ -4343,8 +4560,7 @@ public class ServiceProperties : Google.Apis.Requests.IDirectResponseSchema public class ServiceReference : Google.Apis.Requests.IDirectResponseSchema { /// - /// Output only. The underlying resource URI (For example, URI of Forwarding Rule, URL Map, and Backend - /// Service). + /// Output only. The underlying resource URI. For example, URI of Forwarding Rule, URL Map, and Backend Service. /// [Newtonsoft.Json.JsonPropertyAttribute("uri")] public virtual string Uri { get; set; } @@ -4375,6 +4591,23 @@ public class SetIamPolicyRequest : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + public class SpannerLocation : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Set of backups used by the resource with name in the same format as what is available at + /// http://table/spanner_automon.backup_metadata + /// + [Newtonsoft.Json.JsonPropertyAttribute("backupName")] + public virtual System.Collections.Generic.IList BackupName { get; set; } + + /// Set of databases used by the resource in format /span// + [Newtonsoft.Json.JsonPropertyAttribute("dbName")] + public virtual System.Collections.Generic.IList DbName { 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 @@ -4404,6 +4637,15 @@ public class Status : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + public class TenantProjectProxy : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("projectNumbers")] + public virtual System.Collections.Generic.IList ProjectNumbers { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Request message for `TestIamPermissions` method. public class TestIamPermissionsRequest : Google.Apis.Requests.IDirectResponseSchema { @@ -4494,7 +4736,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Identifier. The resource name of the Workload. Format: - /// "projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}" + /// `"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}"` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -4566,18 +4808,21 @@ public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset public class WorkloadProperties : Google.Apis.Requests.IDirectResponseSchema { /// - /// Output only. The service project identifier that the underlying cloud resource resides in. Empty for non - /// cloud resources. + /// Output only. The service project identifier that the underlying cloud resource resides in. Empty for + /// non-cloud resources. /// [Newtonsoft.Json.JsonPropertyAttribute("gcpProject")] public virtual string GcpProject { get; set; } - /// Output only. The location that the underlying compute resource resides in (e.g us-west1). + /// + /// Output only. The location that the underlying compute resource resides in (for example, us-west1). + /// [Newtonsoft.Json.JsonPropertyAttribute("location")] public virtual string Location { get; set; } /// - /// Output only. The location that the underlying compute resource resides in if it is zonal (e.g us-west1-a). + /// Output only. The location that the underlying compute resource resides in if it is zonal (for example, + /// us-west1-a). /// [Newtonsoft.Json.JsonPropertyAttribute("zone")] public virtual string Zone { get; set; } @@ -4596,4 +4841,13 @@ public class WorkloadReference : Google.Apis.Requests.IDirectResponseSchema /// The ETag of the item. public virtual string ETag { get; set; } } + + public class ZoneConfiguration : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("zone")] + public virtual string Zone { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } } diff --git a/Src/Generated/Google.Apis.AppHub.v1/Google.Apis.AppHub.v1.csproj b/Src/Generated/Google.Apis.AppHub.v1/Google.Apis.AppHub.v1.csproj index 5b2a0d35b0..6629ae72cd 100644 --- a/Src/Generated/Google.Apis.AppHub.v1/Google.Apis.AppHub.v1.csproj +++ b/Src/Generated/Google.Apis.AppHub.v1/Google.Apis.AppHub.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.AppHub.v1 Client Library - 1.68.0.3353 + 1.68.0.3568 Google LLC Copyright 2024 Google LLC Google From 7e7fa98757bf57b7fa5da7fc860c958773b74383 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:11:17 -0700 Subject: [PATCH 09/78] feat: Generate Google.Apis.AppHub.v1alpha version 1.68.0.3568 --- DiscoveryJson/apphub.v1alpha.json | 430 +++++++++++++++++- .../Google.Apis.AppHub.v1alpha.cs | 302 +++++++++++- .../Google.Apis.AppHub.v1alpha.csproj | 2 +- 3 files changed, 689 insertions(+), 45 deletions(-) diff --git a/DiscoveryJson/apphub.v1alpha.json b/DiscoveryJson/apphub.v1alpha.json index 8df56fe44c..0fb5472d34 100644 --- a/DiscoveryJson/apphub.v1alpha.json +++ b/DiscoveryJson/apphub.v1alpha.json @@ -412,7 +412,7 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of an Application. Format: \"projects/{host-project-id}/locations/{location}/applications/{application-id}\"", + "description": "Identifier. The resource name of an Application. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}\"`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/applications/[^/]+$", "required": true, @@ -650,7 +650,7 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of a Service. Format: \"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}\"", + "description": "Identifier. The resource name of a Service. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}\"`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/applications/[^/]+/services/[^/]+$", "required": true, @@ -832,7 +832,7 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of the Workload. Format: \"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}\"", + "description": "Identifier. The resource name of the Workload. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}\"`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/applications/[^/]+/workloads/[^/]+$", "required": true, @@ -1438,11 +1438,11 @@ } } }, - "revision": "20240331", + "revision": "20241008", "rootUrl": "https://apphub.googleapis.com/", "schemas": { "Application": { - "description": "Application defines the governance boundary for App Hub Entities that perform a logical end-to-end business function. App Hub supports application level IAM permission to align with governance requirements.", + "description": "Application defines the governance boundary for App Hub entities that perform a logical end-to-end business function. App Hub supports application level IAM permission to align with governance requirements.", "id": "Application", "properties": { "attributes": { @@ -1464,7 +1464,7 @@ "type": "string" }, "name": { - "description": "Identifier. The resource name of an Application. Format: \"projects/{host-project-id}/locations/{location}/applications/{application-id}\"", + "description": "Identifier. The resource name of an Application. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}\"`", "type": "string" }, "scope": { @@ -1502,6 +1502,42 @@ }, "type": "object" }, + "AssetLocation": { + "description": "Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on its behalf.", + "id": "AssetLocation", + "properties": { + "ccfeRmsPath": { + "description": "Spanner path of the CCFE RMS database. It is only applicable for CCFE tenants that use CCFE RMS for storing resource metadata.", + "type": "string" + }, + "expected": { + "$ref": "IsolationExpectations", + "description": "Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of asset creation." + }, + "extraParameters": { + "description": "Defines extra parameters required for specific asset types.", + "items": { + "$ref": "ExtraParameter" + }, + "type": "array" + }, + "locationData": { + "description": "Contains all kinds of physical location definitions for this asset.", + "items": { + "$ref": "LocationData" + }, + "type": "array" + }, + "parentAsset": { + "description": "Defines parents assets if any in order to allow later generation of child_asset_location data via child assets.", + "items": { + "$ref": "CloudAsset" + }, + "type": "array" + } + }, + "type": "object" + }, "Attributes": { "description": "Consumer provided attributes.", "id": "Attributes", @@ -1608,6 +1644,19 @@ }, "type": "object" }, + "BlobstoreLocation": { + "description": "Policy ID that identified data placement in Blobstore as per go/blobstore-user-guide#data-metadata-placement-and-failure-domains", + "id": "BlobstoreLocation", + "properties": { + "policyId": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", @@ -1625,6 +1674,30 @@ }, "type": "object" }, + "CloudAsset": { + "id": "CloudAsset", + "properties": { + "assetName": { + "type": "string" + }, + "assetType": { + "type": "string" + } + }, + "type": "object" + }, + "CloudAssetComposition": { + "id": "CloudAssetComposition", + "properties": { + "childAsset": { + "items": { + "$ref": "CloudAsset" + }, + "type": "array" + } + }, + "type": "object" + }, "ContactInfo": { "description": "Contact information of stakeholders.", "id": "ContactInfo", @@ -1691,12 +1764,24 @@ "properties": {}, "type": "object" }, + "DirectLocationAssignment": { + "id": "DirectLocationAssignment", + "properties": { + "location": { + "items": { + "$ref": "LocationAssignment" + }, + "type": "array" + } + }, + "type": "object" + }, "DiscoveredService": { - "description": "DiscoveredService is a network/api interface that exposes some functionality to clients for consumption over the network. A discovered service can be registered to a App Hub service.", + "description": "DiscoveredService is a network or API interface that exposes some functionality to clients for consumption over the network. A discovered service can be registered to a App Hub service.", "id": "DiscoveredService", "properties": { "name": { - "description": "Identifier. The resource name of the discovered service. Format: \"projects/{host-project-id}/locations/{location}/discoveredServices/{uuid}\"\"", + "description": "Identifier. The resource name of the discovered service. Format: `\"projects/{host-project-id}/locations/{location}/discoveredServices/{uuid}\"`", "type": "string" }, "serviceProperties": { @@ -1717,7 +1802,7 @@ "id": "DiscoveredWorkload", "properties": { "name": { - "description": "Identifier. The resource name of the discovered workload. Format: \"projects/{host-project-id}/locations/{location}/discoveredWorkloads/{uuid}\"", + "description": "Identifier. The resource name of the discovered workload. Format: `\"projects/{host-project-id}/locations/{location}/discoveredWorkloads/{uuid}\"`", "type": "string" }, "workloadProperties": { @@ -1792,6 +1877,17 @@ }, "type": "object" }, + "ExtraParameter": { + "description": "Defines parameters that should only be used for specific asset types.", + "id": "ExtraParameter", + "properties": { + "regionalMigDistributionPolicy": { + "$ref": "RegionalMigDistributionPolicy", + "description": "Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances." + } + }, + "type": "object" + }, "FindUnregisteredServicesResponse": { "description": "Response for FindUnregisteredServices.", "id": "FindUnregisteredServicesResponse", @@ -1842,6 +1938,131 @@ }, "type": "object" }, + "IsolationExpectations": { + "id": "IsolationExpectations", + "properties": { + "requirementOverride": { + "$ref": "RequirementOverride", + "description": "Explicit overrides for ZI and ZS requirements to be used for resources that should be excluded from ZI/ZS verification logic." + }, + "ziOrgPolicy": { + "enum": [ + "ZI_UNSPECIFIED", + "ZI_UNKNOWN", + "ZI_NOT_REQUIRED", + "ZI_PREFERRED", + "ZI_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "", + "" + ], + "type": "string" + }, + "ziRegionPolicy": { + "enum": [ + "ZI_REGION_POLICY_UNSPECIFIED", + "ZI_REGION_POLICY_UNKNOWN", + "ZI_REGION_POLICY_NOT_SET", + "ZI_REGION_POLICY_FAIL_OPEN", + "ZI_REGION_POLICY_FAIL_CLOSED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "", + "" + ], + "type": "string" + }, + "ziRegionState": { + "enum": [ + "ZI_REGION_UNSPECIFIED", + "ZI_REGION_UNKNOWN", + "ZI_REGION_NOT_ENABLED", + "ZI_REGION_ENABLED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "" + ], + "type": "string" + }, + "zoneIsolation": { + "deprecated": true, + "description": "Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as per go/zicy-publish-physical-location.", + "enum": [ + "ZI_UNSPECIFIED", + "ZI_UNKNOWN", + "ZI_NOT_REQUIRED", + "ZI_PREFERRED", + "ZI_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "", + "" + ], + "type": "string" + }, + "zoneSeparation": { + "deprecated": true, + "description": "Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per go/zicy-publish-physical-location.", + "enum": [ + "ZS_UNSPECIFIED", + "ZS_UNKNOWN", + "ZS_NOT_REQUIRED", + "ZS_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "" + ], + "type": "string" + }, + "zsOrgPolicy": { + "enum": [ + "ZS_UNSPECIFIED", + "ZS_UNKNOWN", + "ZS_NOT_REQUIRED", + "ZS_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "" + ], + "type": "string" + }, + "zsRegionState": { + "enum": [ + "ZS_REGION_UNSPECIFIED", + "ZS_REGION_UNKNOWN", + "ZS_REGION_NOT_ENABLED", + "ZS_REGION_ENABLED" + ], + "enumDescriptions": [ + "", + "To be used if tracking of the asset ZS-bit is not available", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "ListApplicationsResponse": { "description": "Response for ListApplications.", "id": "ListApplicationsResponse", @@ -2062,6 +2283,64 @@ }, "type": "object" }, + "LocationAssignment": { + "id": "LocationAssignment", + "properties": { + "location": { + "type": "string" + }, + "locationType": { + "enum": [ + "UNSPECIFIED", + "CLUSTER", + "POP", + "CLOUD_ZONE", + "CLOUD_REGION", + "MULTI_REGION_GEO", + "MULTI_REGION_JURISDICTION", + "GLOBAL", + "OTHER" + ], + "enumDescriptions": [ + "", + "1-10: Physical failure domains.", + "", + "11-20: Logical failure domains.", + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "LocationData": { + "id": "LocationData", + "properties": { + "blobstoreLocation": { + "$ref": "BlobstoreLocation" + }, + "childAssetLocation": { + "$ref": "CloudAssetComposition" + }, + "directLocation": { + "$ref": "DirectLocationAssignment" + }, + "gcpProjectProxy": { + "$ref": "TenantProjectProxy" + }, + "placerLocation": { + "$ref": "PlacerLocation" + }, + "spannerLocation": { + "$ref": "SpannerLocation" + } + }, + "type": "object" + }, "LookupDiscoveredServiceResponse": { "description": "Response for LookupDiscoveredService.", "id": "LookupDiscoveredServiceResponse", @@ -2174,6 +2453,17 @@ }, "type": "object" }, + "PlacerLocation": { + "description": "Message describing that the location of the customer resource is tied to placer allocations", + "id": "PlacerLocation", + "properties": { + "placerConfig": { + "description": "Directory with a config related to it in placer (e.g. \"/placer/prod/home/my-root/my-dir\")", + "type": "string" + } + }, + "type": "object" + }, "Policy": { "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", @@ -2205,6 +2495,63 @@ }, "type": "object" }, + "RegionalMigDistributionPolicy": { + "description": "To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances", + "id": "RegionalMigDistributionPolicy", + "properties": { + "targetShape": { + "description": "The shape in which the group converges around distribution of resources. Instance of proto2 enum", + "format": "int32", + "type": "integer" + }, + "zones": { + "description": "Cloud zones used by regional MIG to create instances.", + "items": { + "$ref": "ZoneConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "RequirementOverride": { + "id": "RequirementOverride", + "properties": { + "ziOverride": { + "enum": [ + "ZI_UNSPECIFIED", + "ZI_UNKNOWN", + "ZI_NOT_REQUIRED", + "ZI_PREFERRED", + "ZI_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "", + "" + ], + "type": "string" + }, + "zsOverride": { + "enum": [ + "ZS_UNSPECIFIED", + "ZS_UNKNOWN", + "ZS_NOT_REQUIRED", + "ZS_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "Scope": { "description": "Scope of an application.", "id": "Scope", @@ -2213,11 +2560,13 @@ "description": "Required. Scope Type.", "enum": [ "TYPE_UNSPECIFIED", - "REGIONAL" + "REGIONAL", + "GLOBAL" ], "enumDescriptions": [ "Unspecified type.", - "Regional type." + "Regional type.", + "Global type." ], "type": "string" } @@ -2225,7 +2574,7 @@ "type": "object" }, "Service": { - "description": "Service is an App Hub data model that contains a discovered service, which represents a network/api interface that exposes some functionality to clients for consumption over the network.", + "description": "Service is an App Hub data model that contains a discovered service, which represents a network or API interface that exposes some functionality to clients for consumption over the network.", "id": "Service", "properties": { "attributes": { @@ -2251,7 +2600,7 @@ "type": "string" }, "name": { - "description": "Identifier. The resource name of a Service. Format: \"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}\"", + "description": "Identifier. The resource name of a Service. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}\"`", "type": "string" }, "serviceProperties": { @@ -2308,11 +2657,11 @@ "type": "string" }, "name": { - "description": "Identifier. The resource name of a ServiceProjectAttachment. Format: \"projects/{host-project-id}/locations/global/serviceProjectAttachments/{service-project-id}.\"", + "description": "Identifier. The resource name of a ServiceProjectAttachment. Format: `\"projects/{host-project-id}/locations/global/serviceProjectAttachments/{service-project-id}.\"`", "type": "string" }, "serviceProject": { - "description": "Required. Immutable. Service project name in the format: \"projects/abc\" or \"projects/123\". As input, project name with either project id or number are accepted. As output, this field will contain project number.", + "description": "Required. Immutable. Service project name in the format: `\"projects/abc\"` or `\"projects/123\"`. As input, project name with either project id or number are accepted. As output, this field will contain project number.", "type": "string" }, "state": { @@ -2372,7 +2721,7 @@ "type": "string" }, "uri": { - "description": "Output only. The underlying resource URI (For example, URI of Forwarding Rule, URL Map, and Backend Service).", + "description": "Output only. The underlying resource URI. For example, URI of Forwarding Rule, URL Map, and Backend Service.", "readOnly": true, "type": "string" } @@ -2395,6 +2744,26 @@ }, "type": "object" }, + "SpannerLocation": { + "id": "SpannerLocation", + "properties": { + "backupName": { + "description": "Set of backups used by the resource with name in the same format as what is available at http://table/spanner_automon.backup_metadata", + "items": { + "type": "string" + }, + "type": "array" + }, + "dbName": { + "description": "Set of databases used by the resource in format /span//", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", "id": "Status", @@ -2422,6 +2791,18 @@ }, "type": "object" }, + "TenantProjectProxy": { + "id": "TenantProjectProxy", + "properties": { + "projectNumbers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "TestIamPermissionsRequest": { "description": "Request message for `TestIamPermissions` method.", "id": "TestIamPermissionsRequest", @@ -2477,7 +2858,7 @@ "type": "string" }, "name": { - "description": "Identifier. The resource name of the Workload. Format: \"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}\"", + "description": "Identifier. The resource name of the Workload. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}\"`", "type": "string" }, "state": { @@ -2528,17 +2909,17 @@ "id": "WorkloadProperties", "properties": { "gcpProject": { - "description": "Output only. The service project identifier that the underlying cloud resource resides in. Empty for non cloud resources.", + "description": "Output only. The service project identifier that the underlying cloud resource resides in. Empty for non-cloud resources.", "readOnly": true, "type": "string" }, "location": { - "description": "Output only. The location that the underlying compute resource resides in (e.g us-west1).", + "description": "Output only. The location that the underlying compute resource resides in (for example, us-west1).", "readOnly": true, "type": "string" }, "zone": { - "description": "Output only. The location that the underlying compute resource resides in if it is zonal (e.g us-west1-a).", + "description": "Output only. The location that the underlying compute resource resides in if it is zonal (for example, us-west1-a).", "readOnly": true, "type": "string" } @@ -2556,6 +2937,15 @@ } }, "type": "object" + }, + "ZoneConfiguration": { + "id": "ZoneConfiguration", + "properties": { + "zone": { + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/Src/Generated/Google.Apis.AppHub.v1alpha/Google.Apis.AppHub.v1alpha.cs b/Src/Generated/Google.Apis.AppHub.v1alpha/Google.Apis.AppHub.v1alpha.cs index 77f72db75c..3a4101450e 100644 --- a/Src/Generated/Google.Apis.AppHub.v1alpha/Google.Apis.AppHub.v1alpha.cs +++ b/Src/Generated/Google.Apis.AppHub.v1alpha/Google.Apis.AppHub.v1alpha.cs @@ -663,7 +663,7 @@ protected override void InitParameters() /// The body of the request. /// /// Identifier. The resource name of a Service. Format: - /// "projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}" + /// `"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}"` /// public virtual PatchRequest Patch(Google.Apis.AppHub.v1alpha.Data.Service body, string name) { @@ -683,7 +683,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.App /// /// Identifier. The resource name of a Service. Format: - /// "projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}" + /// `"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}"` /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -1105,7 +1105,7 @@ protected override void InitParameters() /// The body of the request. /// /// Identifier. The resource name of the Workload. Format: - /// "projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}" + /// `"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}"` /// public virtual PatchRequest Patch(Google.Apis.AppHub.v1alpha.Data.Workload body, string name) { @@ -1125,7 +1125,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.App /// /// Identifier. The resource name of the Workload. Format: - /// "projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}" + /// `"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}"` /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -1606,7 +1606,7 @@ protected override void InitParameters() /// The body of the request. /// /// Identifier. The resource name of an Application. Format: - /// "projects/{host-project-id}/locations/{location}/applications/{application-id}" + /// `"projects/{host-project-id}/locations/{location}/applications/{application-id}"` /// public virtual PatchRequest Patch(Google.Apis.AppHub.v1alpha.Data.Application body, string name) { @@ -1626,7 +1626,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.App /// /// Identifier. The resource name of an Application. Format: - /// "projects/{host-project-id}/locations/{location}/applications/{application-id}" + /// `"projects/{host-project-id}/locations/{location}/applications/{application-id}"` /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -3409,7 +3409,7 @@ protected override void InitParameters() namespace Google.Apis.AppHub.v1alpha.Data { /// - /// Application defines the governance boundary for App Hub Entities that perform a logical end-to-end business + /// Application defines the governance boundary for App Hub entities that perform a logical end-to-end business /// function. App Hub supports application level IAM permission to align with governance requirements. /// public class Application : Google.Apis.Requests.IDirectResponseSchema @@ -3469,7 +3469,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Identifier. The resource name of an Application. Format: - /// "projects/{host-project-id}/locations/{location}/applications/{application-id}" + /// `"projects/{host-project-id}/locations/{location}/applications/{application-id}"` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -3530,6 +3530,45 @@ public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset public virtual string ETag { get; set; } } + /// + /// Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on + /// its behalf. + /// + public class AssetLocation : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Spanner path of the CCFE RMS database. It is only applicable for CCFE tenants that use CCFE RMS for storing + /// resource metadata. + /// + [Newtonsoft.Json.JsonPropertyAttribute("ccfeRmsPath")] + public virtual string CcfeRmsPath { get; set; } + + /// + /// Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of + /// asset creation. + /// + [Newtonsoft.Json.JsonPropertyAttribute("expected")] + public virtual IsolationExpectations Expected { get; set; } + + /// Defines extra parameters required for specific asset types. + [Newtonsoft.Json.JsonPropertyAttribute("extraParameters")] + public virtual System.Collections.Generic.IList ExtraParameters { get; set; } + + /// Contains all kinds of physical location definitions for this asset. + [Newtonsoft.Json.JsonPropertyAttribute("locationData")] + public virtual System.Collections.Generic.IList LocationData { get; set; } + + /// + /// Defines parents assets if any in order to allow later generation of child_asset_location data via child + /// assets. + /// + [Newtonsoft.Json.JsonPropertyAttribute("parentAsset")] + public virtual System.Collections.Generic.IList ParentAsset { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Consumer provided attributes. public class Attributes : Google.Apis.Requests.IDirectResponseSchema { @@ -3682,6 +3721,19 @@ public class Binding : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// + /// Policy ID that identified data placement in Blobstore as per + /// go/blobstore-user-guide#data-metadata-placement-and-failure-domains + /// + public class BlobstoreLocation : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("policyId")] + public virtual System.Collections.Generic.IList PolicyId { 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 { @@ -3700,6 +3752,27 @@ public class Channel : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + public class CloudAsset : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("assetName")] + public virtual string AssetName { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("assetType")] + public virtual string AssetType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class CloudAssetComposition : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("childAsset")] + public virtual System.Collections.Generic.IList ChildAsset { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Contact information of stakeholders. public class ContactInfo : Google.Apis.Requests.IDirectResponseSchema { @@ -3758,15 +3831,24 @@ public class DetachServiceProjectAttachmentResponse : Google.Apis.Requests.IDire public virtual string ETag { get; set; } } + public class DirectLocationAssignment : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("location")] + public virtual System.Collections.Generic.IList Location { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// - /// DiscoveredService is a network/api interface that exposes some functionality to clients for consumption over the - /// network. A discovered service can be registered to a App Hub service. + /// DiscoveredService is a network or API interface that exposes some functionality to clients for consumption over + /// the network. A discovered service can be registered to a App Hub service. /// public class DiscoveredService : Google.Apis.Requests.IDirectResponseSchema { /// /// Identifier. The resource name of the discovered service. Format: - /// "projects/{host-project-id}/locations/{location}/discoveredServices/{uuid}"" + /// `"projects/{host-project-id}/locations/{location}/discoveredServices/{uuid}"` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -3797,7 +3879,7 @@ public class DiscoveredWorkload : Google.Apis.Requests.IDirectResponseSchema { /// /// Identifier. The resource name of the discovered workload. Format: - /// "projects/{host-project-id}/locations/{location}/discoveredWorkloads/{uuid}" + /// `"projects/{host-project-id}/locations/{location}/discoveredWorkloads/{uuid}"` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -3891,6 +3973,19 @@ public class Expr : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// Defines parameters that should only be used for specific asset types. + public class ExtraParameter : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances. + /// + [Newtonsoft.Json.JsonPropertyAttribute("regionalMigDistributionPolicy")] + public virtual RegionalMigDistributionPolicy RegionalMigDistributionPolicy { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Response for FindUnregisteredServices. public class FindUnregisteredServicesResponse : Google.Apis.Requests.IDirectResponseSchema { @@ -3929,6 +4024,48 @@ public class FindUnregisteredWorkloadsResponse : Google.Apis.Requests.IDirectRes public virtual string ETag { get; set; } } + public class IsolationExpectations : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Explicit overrides for ZI and ZS requirements to be used for resources that should be excluded from ZI/ZS + /// verification logic. + /// + [Newtonsoft.Json.JsonPropertyAttribute("requirementOverride")] + public virtual RequirementOverride RequirementOverride { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("ziOrgPolicy")] + public virtual string ZiOrgPolicy { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("ziRegionPolicy")] + public virtual string ZiRegionPolicy { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("ziRegionState")] + public virtual string ZiRegionState { get; set; } + + /// + /// Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as + /// per go/zicy-publish-physical-location. + /// + [Newtonsoft.Json.JsonPropertyAttribute("zoneIsolation")] + public virtual string ZoneIsolation { get; set; } + + /// + /// Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per + /// go/zicy-publish-physical-location. + /// + [Newtonsoft.Json.JsonPropertyAttribute("zoneSeparation")] + public virtual string ZoneSeparation { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("zsOrgPolicy")] + public virtual string ZsOrgPolicy { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("zsRegionState")] + public virtual string ZsRegionState { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Response for ListApplications. public class ListApplicationsResponse : Google.Apis.Requests.IDirectResponseSchema { @@ -4105,6 +4242,42 @@ public class Location : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + public class LocationAssignment : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("location")] + public virtual string Location { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("locationType")] + public virtual string LocationType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class LocationData : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("blobstoreLocation")] + public virtual BlobstoreLocation BlobstoreLocation { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("childAssetLocation")] + public virtual CloudAssetComposition ChildAssetLocation { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("directLocation")] + public virtual DirectLocationAssignment DirectLocation { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("gcpProjectProxy")] + public virtual TenantProjectProxy GcpProjectProxy { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("placerLocation")] + public virtual PlacerLocation PlacerLocation { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("spannerLocation")] + public virtual SpannerLocation SpannerLocation { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Response for LookupDiscoveredService. public class LookupDiscoveredServiceResponse : Google.Apis.Requests.IDirectResponseSchema { @@ -4286,6 +4459,17 @@ public virtual System.DateTimeOffset? EndTimeDateTimeOffset public virtual string ETag { get; set; } } + /// Message describing that the location of the customer resource is tied to placer allocations + public class PlacerLocation : Google.Apis.Requests.IDirectResponseSchema + { + /// Directory with a config related to it in placer (e.g. "/placer/prod/home/my-root/my-dir") + [Newtonsoft.Json.JsonPropertyAttribute("placerConfig")] + public virtual string PlacerConfig { 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 @@ -4363,6 +4547,38 @@ public class Policy : Google.Apis.Requests.IDirectResponseSchema public virtual System.Nullable Version { get; set; } } + /// + /// To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager + /// instances + /// + public class RegionalMigDistributionPolicy : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The shape in which the group converges around distribution of resources. Instance of proto2 enum + /// + [Newtonsoft.Json.JsonPropertyAttribute("targetShape")] + public virtual System.Nullable TargetShape { get; set; } + + /// Cloud zones used by regional MIG to create instances. + [Newtonsoft.Json.JsonPropertyAttribute("zones")] + public virtual System.Collections.Generic.IList Zones { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class RequirementOverride : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("ziOverride")] + public virtual string ZiOverride { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("zsOverride")] + public virtual string ZsOverride { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Scope of an application. public class Scope : Google.Apis.Requests.IDirectResponseSchema { @@ -4375,7 +4591,7 @@ public class Scope : Google.Apis.Requests.IDirectResponseSchema } /// - /// Service is an App Hub data model that contains a discovered service, which represents a network/api interface + /// Service is an App Hub data model that contains a discovered service, which represents a network or API interface /// that exposes some functionality to clients for consumption over the network. /// public class Service : Google.Apis.Requests.IDirectResponseSchema @@ -4437,7 +4653,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Identifier. The resource name of a Service. Format: - /// "projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}" + /// `"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}"` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -4553,14 +4769,15 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Identifier. The resource name of a ServiceProjectAttachment. Format: - /// "projects/{host-project-id}/locations/global/serviceProjectAttachments/{service-project-id}." + /// `"projects/{host-project-id}/locations/global/serviceProjectAttachments/{service-project-id}."` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } /// - /// Required. Immutable. Service project name in the format: "projects/abc" or "projects/123". As input, project - /// name with either project id or number are accepted. As output, this field will contain project number. + /// Required. Immutable. Service project name in the format: `"projects/abc"` or `"projects/123"`. As input, + /// project name with either project id or number are accepted. As output, this field will contain project + /// number. /// [Newtonsoft.Json.JsonPropertyAttribute("serviceProject")] public virtual string ServiceProject { get; set; } @@ -4613,8 +4830,7 @@ public class ServiceReference : Google.Apis.Requests.IDirectResponseSchema public virtual string Path { get; set; } /// - /// Output only. The underlying resource URI (For example, URI of Forwarding Rule, URL Map, and Backend - /// Service). + /// Output only. The underlying resource URI. For example, URI of Forwarding Rule, URL Map, and Backend Service. /// [Newtonsoft.Json.JsonPropertyAttribute("uri")] public virtual string Uri { get; set; } @@ -4645,6 +4861,23 @@ public class SetIamPolicyRequest : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + public class SpannerLocation : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Set of backups used by the resource with name in the same format as what is available at + /// http://table/spanner_automon.backup_metadata + /// + [Newtonsoft.Json.JsonPropertyAttribute("backupName")] + public virtual System.Collections.Generic.IList BackupName { get; set; } + + /// Set of databases used by the resource in format /span// + [Newtonsoft.Json.JsonPropertyAttribute("dbName")] + public virtual System.Collections.Generic.IList DbName { 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 @@ -4674,6 +4907,15 @@ public class Status : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + public class TenantProjectProxy : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("projectNumbers")] + public virtual System.Collections.Generic.IList ProjectNumbers { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Request message for `TestIamPermissions` method. public class TestIamPermissionsRequest : Google.Apis.Requests.IDirectResponseSchema { @@ -4764,7 +5006,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Identifier. The resource name of the Workload. Format: - /// "projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}" + /// `"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}"` /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -4836,18 +5078,21 @@ public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset public class WorkloadProperties : Google.Apis.Requests.IDirectResponseSchema { /// - /// Output only. The service project identifier that the underlying cloud resource resides in. Empty for non - /// cloud resources. + /// Output only. The service project identifier that the underlying cloud resource resides in. Empty for + /// non-cloud resources. /// [Newtonsoft.Json.JsonPropertyAttribute("gcpProject")] public virtual string GcpProject { get; set; } - /// Output only. The location that the underlying compute resource resides in (e.g us-west1). + /// + /// Output only. The location that the underlying compute resource resides in (for example, us-west1). + /// [Newtonsoft.Json.JsonPropertyAttribute("location")] public virtual string Location { get; set; } /// - /// Output only. The location that the underlying compute resource resides in if it is zonal (e.g us-west1-a). + /// Output only. The location that the underlying compute resource resides in if it is zonal (for example, + /// us-west1-a). /// [Newtonsoft.Json.JsonPropertyAttribute("zone")] public virtual string Zone { get; set; } @@ -4866,4 +5111,13 @@ public class WorkloadReference : Google.Apis.Requests.IDirectResponseSchema /// The ETag of the item. public virtual string ETag { get; set; } } + + public class ZoneConfiguration : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("zone")] + public virtual string Zone { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } } diff --git a/Src/Generated/Google.Apis.AppHub.v1alpha/Google.Apis.AppHub.v1alpha.csproj b/Src/Generated/Google.Apis.AppHub.v1alpha/Google.Apis.AppHub.v1alpha.csproj index 096d52049f..6d9c04021d 100644 --- a/Src/Generated/Google.Apis.AppHub.v1alpha/Google.Apis.AppHub.v1alpha.csproj +++ b/Src/Generated/Google.Apis.AppHub.v1alpha/Google.Apis.AppHub.v1alpha.csproj @@ -3,7 +3,7 @@ Google.Apis.AppHub.v1alpha Client Library - 1.68.0.3377 + 1.68.0.3568 Google LLC Copyright 2024 Google LLC Google From 5251f08c57b10dfb4bc9d7d7f0d5bd0d8fa9cf4c Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:11:19 -0700 Subject: [PATCH 10/78] feat: Generate Google.Apis.ArtifactRegistry.v1 version 1.68.0.3570 --- DiscoveryJson/artifactregistry.v1.json | 16 ++++++++-------- .../Google.Apis.ArtifactRegistry.v1.cs | 18 +++++++----------- .../Google.Apis.ArtifactRegistry.v1.csproj | 2 +- 3 files changed, 16 insertions(+), 20 deletions(-) diff --git a/DiscoveryJson/artifactregistry.v1.json b/DiscoveryJson/artifactregistry.v1.json index 89b32dc905..c5cc2456ed 100644 --- a/DiscoveryJson/artifactregistry.v1.json +++ b/DiscoveryJson/artifactregistry.v1.json @@ -2439,7 +2439,7 @@ } } }, - "revision": "20241001", + "revision": "20241010", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "AptArtifact": { @@ -2517,7 +2517,7 @@ "type": "object" }, "attachmentNamespace": { - "description": "The namespace this attachment belongs to. E.g. If an Attachment is created by artifact analysis, namespace is set to `artifactanalysis.googleapis.com`.", + "description": "The namespace this attachment belongs to. E.g. If an attachment is created by artifact analysis, namespace is set to `artifactanalysis.googleapis.com`.", "type": "string" }, "createTime": { @@ -2534,7 +2534,7 @@ "type": "array" }, "name": { - "description": "The name of the attachment. E.g. \"projects/p1/locations/us/repositories/repo/attachments/sbom\".", + "description": "The name of the attachment. E.g. `projects/p1/locations/us/repositories/repo/attachments/sbom`.", "type": "string" }, "ociVersionName": { @@ -2543,11 +2543,11 @@ "type": "string" }, "target": { - "description": "Required. The target the attachment is for, can be a Version, Package or Repository. E.g. \"projects/p1/locations/us-central1/repositories/repo1/packages/p1/versions/v1\".", + "description": "Required. The target the attachment is for, can be a Version, Package or Repository. E.g. `projects/p1/locations/us-central1/repositories/repo1/packages/p1/versions/v1`.", "type": "string" }, "type": { - "description": "Type of Attachment. E.g. `application/vnd.spdx+json`", + "description": "Type of attachment. E.g. `application/vnd.spdx+json`", "type": "string" }, "updateTime": { @@ -3404,7 +3404,7 @@ "id": "ListAttachmentsResponse", "properties": { "attachments": { - "description": "The Attachments returned.", + "description": "The attachments returned.", "items": { "$ref": "Attachment" }, @@ -4006,7 +4006,7 @@ }, "commonRepository": { "$ref": "CommonRemoteRepository", - "description": "Common remote repository settings. Used as the RemoteRepository upstream URL instead of Predefined and Custom remote repositories. Google Cloud Console and Google Cloud CLI will map all the new remote repositories to this field." + "description": "Common remote repository settings. Used as the remote repository upstream URL." }, "description": { "description": "The description of the remote source.", @@ -4225,7 +4225,7 @@ "type": "string" }, "version": { - "description": "The name of the version the tag refers to, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811\" If the package or version ID parts contain slashes, the slashes are escaped.", + "description": "The name of the version the tag refers to, for example: `projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811` If the package or version ID parts contain slashes, the slashes are escaped.", "type": "string" } }, 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 a90c23ce30..6f7918c63e 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 @@ -5924,7 +5924,7 @@ public class Attachment : Google.Apis.Requests.IDirectResponseSchema public virtual System.Collections.Generic.IDictionary Annotations { get; set; } /// - /// The namespace this attachment belongs to. E.g. If an Attachment is created by artifact analysis, namespace + /// The namespace this attachment belongs to. E.g. If an attachment is created by artifact analysis, namespace /// is set to `artifactanalysis.googleapis.com`. /// [Newtonsoft.Json.JsonPropertyAttribute("attachmentNamespace")] @@ -5975,7 +5975,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset public virtual System.Collections.Generic.IList Files { get; set; } /// - /// The name of the attachment. E.g. "projects/p1/locations/us/repositories/repo/attachments/sbom". + /// The name of the attachment. E.g. `projects/p1/locations/us/repositories/repo/attachments/sbom`. /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -5989,12 +5989,12 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// /// Required. The target the attachment is for, can be a Version, Package or Repository. E.g. - /// "projects/p1/locations/us-central1/repositories/repo1/packages/p1/versions/v1". + /// `projects/p1/locations/us-central1/repositories/repo1/packages/p1/versions/v1`. /// [Newtonsoft.Json.JsonPropertyAttribute("target")] public virtual string Target { get; set; } - /// Type of Attachment. E.g. `application/vnd.spdx+json` + /// Type of attachment. E.g. `application/vnd.spdx+json` [Newtonsoft.Json.JsonPropertyAttribute("type")] public virtual string Type { get; set; } @@ -7207,7 +7207,7 @@ public class KfpArtifact : Google.Apis.Requests.IDirectResponseSchema /// The response from listing attachments. public class ListAttachmentsResponse : Google.Apis.Requests.IDirectResponseSchema { - /// The Attachments returned. + /// The attachments returned. [Newtonsoft.Json.JsonPropertyAttribute("attachments")] public virtual System.Collections.Generic.IList Attachments { get; set; } @@ -8068,11 +8068,7 @@ public class RemoteRepositoryConfig : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("aptRepository")] public virtual AptRepository AptRepository { get; set; } - /// - /// Common remote repository settings. Used as the RemoteRepository upstream URL instead of Predefined and - /// Custom remote repositories. Google Cloud Console and Google Cloud CLI will map all the new remote - /// repositories to this field. - /// + /// Common remote repository settings. Used as the remote repository upstream URL. [Newtonsoft.Json.JsonPropertyAttribute("commonRepository")] public virtual CommonRemoteRepository CommonRepository { get; set; } @@ -8347,7 +8343,7 @@ public class Tag : Google.Apis.Requests.IDirectResponseSchema /// /// The name of the version the tag refers to, for example: - /// "projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811" If the package + /// `projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811` If the package /// or version ID parts contain slashes, the slashes are escaped. /// [Newtonsoft.Json.JsonPropertyAttribute("version")] 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 49628e5a57..cfbcc05946 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.68.0.3561 + 1.68.0.3570 Google LLC Copyright 2024 Google LLC Google From 3728a5ad9538333941b5228f7ada3cf1bf87dc67 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:11:22 -0700 Subject: [PATCH 11/78] feat: Generate Google.Apis.ArtifactRegistry.v1beta1 version 1.68.0.3570 --- DiscoveryJson/artifactregistry.v1beta1.json | 4 ++-- .../Google.Apis.ArtifactRegistry.v1beta1.cs | 2 +- .../Google.Apis.ArtifactRegistry.v1beta1.csproj | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/artifactregistry.v1beta1.json b/DiscoveryJson/artifactregistry.v1beta1.json index 76c0734aec..cd2025b7fc 100644 --- a/DiscoveryJson/artifactregistry.v1beta1.json +++ b/DiscoveryJson/artifactregistry.v1beta1.json @@ -1156,7 +1156,7 @@ } } }, - "revision": "20241001", + "revision": "20241010", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "Binding": { @@ -1626,7 +1626,7 @@ "type": "string" }, "version": { - "description": "The name of the version the tag refers to, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811\" If the package or version ID parts contain slashes, the slashes are escaped.", + "description": "The name of the version the tag refers to, for example: `projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811` If the package or version ID parts contain slashes, the slashes are escaped.", "type": "string" } }, 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 4ef5faf340..4e4eb1c017 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 @@ -2839,7 +2839,7 @@ public class Tag : Google.Apis.Requests.IDirectResponseSchema /// /// The name of the version the tag refers to, for example: - /// "projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811" If the package + /// `projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811` If the package /// or version ID parts contain slashes, the slashes are escaped. /// [Newtonsoft.Json.JsonPropertyAttribute("version")] 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 6b96b7e0c4..deefba6279 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.68.0.3561 + 1.68.0.3570 Google LLC Copyright 2024 Google LLC Google From 598827b5147363b37e3ba57055e18152de3836db Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:11:25 -0700 Subject: [PATCH 12/78] feat: Generate Google.Apis.ArtifactRegistry.v1beta2 version 1.68.0.3570 --- DiscoveryJson/artifactregistry.v1beta2.json | 4 ++-- .../Google.Apis.ArtifactRegistry.v1beta2.cs | 2 +- .../Google.Apis.ArtifactRegistry.v1beta2.csproj | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/artifactregistry.v1beta2.json b/DiscoveryJson/artifactregistry.v1beta2.json index ceb897d92d..42400d9bba 100644 --- a/DiscoveryJson/artifactregistry.v1beta2.json +++ b/DiscoveryJson/artifactregistry.v1beta2.json @@ -1424,7 +1424,7 @@ } } }, - "revision": "20241001", + "revision": "20241010", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "AptArtifact": { @@ -2176,7 +2176,7 @@ "type": "string" }, "version": { - "description": "The name of the version the tag refers to, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811\" If the package or version ID parts contain slashes, the slashes are escaped.", + "description": "The name of the version the tag refers to, for example: `projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811` If the package or version ID parts contain slashes, the slashes are escaped.", "type": "string" } }, diff --git a/Src/Generated/Google.Apis.ArtifactRegistry.v1beta2/Google.Apis.ArtifactRegistry.v1beta2.cs b/Src/Generated/Google.Apis.ArtifactRegistry.v1beta2/Google.Apis.ArtifactRegistry.v1beta2.cs index 8572f7ce46..99760ea207 100644 --- a/Src/Generated/Google.Apis.ArtifactRegistry.v1beta2/Google.Apis.ArtifactRegistry.v1beta2.cs +++ b/Src/Generated/Google.Apis.ArtifactRegistry.v1beta2/Google.Apis.ArtifactRegistry.v1beta2.cs @@ -3988,7 +3988,7 @@ public class Tag : Google.Apis.Requests.IDirectResponseSchema /// /// The name of the version the tag refers to, for example: - /// "projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811" If the package + /// `projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811` If the package /// or version ID parts contain slashes, the slashes are escaped. /// [Newtonsoft.Json.JsonPropertyAttribute("version")] diff --git a/Src/Generated/Google.Apis.ArtifactRegistry.v1beta2/Google.Apis.ArtifactRegistry.v1beta2.csproj b/Src/Generated/Google.Apis.ArtifactRegistry.v1beta2/Google.Apis.ArtifactRegistry.v1beta2.csproj index f637bbc2cd..0ac75a776a 100644 --- a/Src/Generated/Google.Apis.ArtifactRegistry.v1beta2/Google.Apis.ArtifactRegistry.v1beta2.csproj +++ b/Src/Generated/Google.Apis.ArtifactRegistry.v1beta2/Google.Apis.ArtifactRegistry.v1beta2.csproj @@ -3,7 +3,7 @@ Google.Apis.ArtifactRegistry.v1beta2 Client Library - 1.68.0.3561 + 1.68.0.3570 Google LLC Copyright 2024 Google LLC Google From 7b7b8f80de3cea7072348aa2231671ff50a4aa65 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:11:28 -0700 Subject: [PATCH 13/78] feat: Generate Google.Apis.Assuredworkloads.v1 version 1.68.0.3567 --- DiscoveryJson/assuredworkloads.v1.json | 25 ++++++++++++++++++- .../Google.Apis.Assuredworkloads.v1.cs | 15 +++++++++++ .../Google.Apis.Assuredworkloads.v1.csproj | 2 +- 3 files changed, 40 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/assuredworkloads.v1.json b/DiscoveryJson/assuredworkloads.v1.json index 8c8928be22..0abe571475 100644 --- a/DiscoveryJson/assuredworkloads.v1.json +++ b/DiscoveryJson/assuredworkloads.v1.json @@ -591,7 +591,7 @@ } } }, - "revision": "20240913", + "revision": "20241007", "rootUrl": "https://assuredworkloads.googleapis.com/", "schemas": { "GoogleCloudAssuredworkloadsV1AcknowledgeViolationRequest": { @@ -1348,6 +1348,10 @@ "violationNotificationsEnabled": { "description": "Optional. Indicates whether the e-mail notification for a violation is enabled for a workload. This value will be by default True, and if not present will be considered as true. This should only be updated via updateWorkload call. Any Changes to this field during the createWorkload call will not be honored. This will always be true while creating the workload.", "type": "boolean" + }, + "workloadOptions": { + "$ref": "GoogleCloudAssuredworkloadsV1WorkloadWorkloadOptions", + "description": "Optional. Options to be set for the given created workload." } }, "type": "object" @@ -1598,6 +1602,25 @@ }, "type": "object" }, + "GoogleCloudAssuredworkloadsV1WorkloadWorkloadOptions": { + "description": "Options to be set for the given created workload.", + "id": "GoogleCloudAssuredworkloadsV1WorkloadWorkloadOptions", + "properties": { + "kajEnrollmentType": { + "description": "Optional. Specifies type of KAJ Enrollment if provided.", + "enum": [ + "KAJ_ENROLLMENT_TYPE_UNSPECIFIED", + "KEY_ACCESS_TRANSPARENCY_OFF" + ], + "enumDescriptions": [ + "KAJ Enrollment type is unspecified", + "KAT sets External, Hardware, and Software key feature logging only to TRUE. (no enforcement)" + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleLongrunningListOperationsResponse": { "description": "The response message for Operations.ListOperations.", "id": "GoogleLongrunningListOperationsResponse", diff --git a/Src/Generated/Google.Apis.Assuredworkloads.v1/Google.Apis.Assuredworkloads.v1.cs b/Src/Generated/Google.Apis.Assuredworkloads.v1/Google.Apis.Assuredworkloads.v1.cs index 3d35e4be3f..9eaea03ac3 100644 --- a/Src/Generated/Google.Apis.Assuredworkloads.v1/Google.Apis.Assuredworkloads.v1.cs +++ b/Src/Generated/Google.Apis.Assuredworkloads.v1/Google.Apis.Assuredworkloads.v1.cs @@ -2293,6 +2293,10 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// [Newtonsoft.Json.JsonPropertyAttribute("violationNotificationsEnabled")] public virtual System.Nullable ViolationNotificationsEnabled { get; set; } + + /// Optional. Options to be set for the given created workload. + [Newtonsoft.Json.JsonPropertyAttribute("workloadOptions")] + public virtual GoogleCloudAssuredworkloadsV1WorkloadWorkloadOptions WorkloadOptions { get; set; } } /// Represents the Compliance Status of this workload @@ -2475,6 +2479,17 @@ public class GoogleCloudAssuredworkloadsV1WorkloadSaaEnrollmentResponse : Google public virtual string ETag { get; set; } } + /// Options to be set for the given created workload. + public class GoogleCloudAssuredworkloadsV1WorkloadWorkloadOptions : Google.Apis.Requests.IDirectResponseSchema + { + /// Optional. Specifies type of KAJ Enrollment if provided. + [Newtonsoft.Json.JsonPropertyAttribute("kajEnrollmentType")] + public virtual string KajEnrollmentType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// The response message for Operations.ListOperations. public class GoogleLongrunningListOperationsResponse : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.Assuredworkloads.v1/Google.Apis.Assuredworkloads.v1.csproj b/Src/Generated/Google.Apis.Assuredworkloads.v1/Google.Apis.Assuredworkloads.v1.csproj index e6b4d70482..c195557049 100644 --- a/Src/Generated/Google.Apis.Assuredworkloads.v1/Google.Apis.Assuredworkloads.v1.csproj +++ b/Src/Generated/Google.Apis.Assuredworkloads.v1/Google.Apis.Assuredworkloads.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Assuredworkloads.v1 Client Library - 1.68.0.3543 + 1.68.0.3567 Google LLC Copyright 2024 Google LLC Google From 42a8437e43cd44402b67832e8c626af8a70e08cb Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:11:31 -0700 Subject: [PATCH 14/78] feat: Generate Google.Apis.Assuredworkloads.v1beta1 version 1.68.0.3567 --- DiscoveryJson/assuredworkloads.v1beta1.json | 25 ++++++++++++++++++- .../Google.Apis.Assuredworkloads.v1beta1.cs | 15 +++++++++++ ...oogle.Apis.Assuredworkloads.v1beta1.csproj | 2 +- 3 files changed, 40 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/assuredworkloads.v1beta1.json b/DiscoveryJson/assuredworkloads.v1beta1.json index 61ef72139d..ef94d913aa 100644 --- a/DiscoveryJson/assuredworkloads.v1beta1.json +++ b/DiscoveryJson/assuredworkloads.v1beta1.json @@ -656,7 +656,7 @@ } } }, - "revision": "20240923", + "revision": "20241007", "rootUrl": "https://assuredworkloads.googleapis.com/", "schemas": { "GoogleCloudAssuredworkloadsV1beta1AcknowledgeViolationRequest": { @@ -1611,6 +1611,10 @@ "violationNotificationsEnabled": { "description": "Optional. Indicates whether the e-mail notification for a violation is enabled for a workload. This value will be by default True, and if not present will be considered as true. This should only be updated via updateWorkload call. Any Changes to this field during the createWorkload call will not be honored. This will always be true while creating the workload.", "type": "boolean" + }, + "workloadOptions": { + "$ref": "GoogleCloudAssuredworkloadsV1beta1WorkloadWorkloadOptions", + "description": "Optional. Options to be set for the given created workload." } }, "type": "object" @@ -1952,6 +1956,25 @@ }, "type": "object" }, + "GoogleCloudAssuredworkloadsV1beta1WorkloadWorkloadOptions": { + "description": "Options to be set for the given created workload.", + "id": "GoogleCloudAssuredworkloadsV1beta1WorkloadWorkloadOptions", + "properties": { + "kajEnrollmentType": { + "description": "Optional. Specifies type of KAJ Enrollment if provided.", + "enum": [ + "KAJ_ENROLLMENT_TYPE_UNSPECIFIED", + "KEY_ACCESS_TRANSPARENCY_OFF" + ], + "enumDescriptions": [ + "KAJ Enrollment type is unspecified", + "KAT sets External, Hardware, and Software key feature logging only to TRUE. (no enforcement)" + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleLongrunningListOperationsResponse": { "description": "The response message for Operations.ListOperations.", "id": "GoogleLongrunningListOperationsResponse", diff --git a/Src/Generated/Google.Apis.Assuredworkloads.v1beta1/Google.Apis.Assuredworkloads.v1beta1.cs b/Src/Generated/Google.Apis.Assuredworkloads.v1beta1/Google.Apis.Assuredworkloads.v1beta1.cs index 1cc8484dae..927da5ac54 100644 --- a/Src/Generated/Google.Apis.Assuredworkloads.v1beta1/Google.Apis.Assuredworkloads.v1beta1.cs +++ b/Src/Generated/Google.Apis.Assuredworkloads.v1beta1/Google.Apis.Assuredworkloads.v1beta1.cs @@ -2656,6 +2656,10 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// [Newtonsoft.Json.JsonPropertyAttribute("violationNotificationsEnabled")] public virtual System.Nullable ViolationNotificationsEnabled { get; set; } + + /// Optional. Options to be set for the given created workload. + [Newtonsoft.Json.JsonPropertyAttribute("workloadOptions")] + public virtual GoogleCloudAssuredworkloadsV1beta1WorkloadWorkloadOptions WorkloadOptions { get; set; } } /// Settings specific to resources needed for CJIS. @@ -2978,6 +2982,17 @@ public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset public virtual string ETag { get; set; } } + /// Options to be set for the given created workload. + public class GoogleCloudAssuredworkloadsV1beta1WorkloadWorkloadOptions : Google.Apis.Requests.IDirectResponseSchema + { + /// Optional. Specifies type of KAJ Enrollment if provided. + [Newtonsoft.Json.JsonPropertyAttribute("kajEnrollmentType")] + public virtual string KajEnrollmentType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// The response message for Operations.ListOperations. public class GoogleLongrunningListOperationsResponse : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.Assuredworkloads.v1beta1/Google.Apis.Assuredworkloads.v1beta1.csproj b/Src/Generated/Google.Apis.Assuredworkloads.v1beta1/Google.Apis.Assuredworkloads.v1beta1.csproj index 08e831a423..e58f1669fa 100644 --- a/Src/Generated/Google.Apis.Assuredworkloads.v1beta1/Google.Apis.Assuredworkloads.v1beta1.csproj +++ b/Src/Generated/Google.Apis.Assuredworkloads.v1beta1/Google.Apis.Assuredworkloads.v1beta1.csproj @@ -3,7 +3,7 @@ Google.Apis.Assuredworkloads.v1beta1 Client Library - 1.68.0.3553 + 1.68.0.3567 Google LLC Copyright 2024 Google LLC Google From 29650e677db263965734cee1cd7b8e1de65d4688 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:11:34 -0700 Subject: [PATCH 15/78] feat: Generate Google.Apis.Backupdr.v1 version 1.68.0.3562 --- DiscoveryJson/backupdr.v1.json | 5 ++--- .../Google.Apis.Backupdr.v1/Google.Apis.Backupdr.v1.cs | 2 +- .../Google.Apis.Backupdr.v1/Google.Apis.Backupdr.v1.csproj | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/DiscoveryJson/backupdr.v1.json b/DiscoveryJson/backupdr.v1.json index 7ed45a70ae..84c4c4ff22 100644 --- a/DiscoveryJson/backupdr.v1.json +++ b/DiscoveryJson/backupdr.v1.json @@ -1658,7 +1658,7 @@ } } }, - "revision": "20240920", + "revision": "20241002", "rootUrl": "https://backupdr.googleapis.com/", "schemas": { "AbandonBackupRequest": { @@ -2444,8 +2444,7 @@ "type": "string" }, "resourceType": { - "description": "Output only. Output Only. Resource type of workload on which backupplan is applied", - "readOnly": true, + "description": "Optional. Resource type of workload on which backupplan is applied", "type": "string" }, "rulesConfigInfo": { 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 892a4b1156..dfb01617be 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 @@ -5038,7 +5038,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("resource")] public virtual string Resource { get; set; } - /// Output only. Output Only. Resource type of workload on which backupplan is applied + /// Optional. Resource type of workload on which backupplan is applied [Newtonsoft.Json.JsonPropertyAttribute("resourceType")] public virtual string ResourceType { 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 c679e49d6d..ecf55c4930 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.68.0.3550 + 1.68.0.3562 Google LLC Copyright 2024 Google LLC Google From eb8d7679da37317e1e7c86a6685e9940d5ae1f68 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:11:37 -0700 Subject: [PATCH 16/78] feat: Generate Google.Apis.Batch.v1 version 1.68.0.3562 --- DiscoveryJson/batch.v1.json | 4 ++-- Src/Generated/Google.Apis.Batch.v1/Google.Apis.Batch.v1.cs | 6 +++--- .../Google.Apis.Batch.v1/Google.Apis.Batch.v1.csproj | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/DiscoveryJson/batch.v1.json b/DiscoveryJson/batch.v1.json index 44f5e531e9..330e543c6f 100644 --- a/DiscoveryJson/batch.v1.json +++ b/DiscoveryJson/batch.v1.json @@ -561,7 +561,7 @@ } } }, - "revision": "20240925", + "revision": "20241002", "rootUrl": "https://batch.googleapis.com/", "schemas": { "Accelerator": { @@ -1264,7 +1264,7 @@ "type": "string" }, "reservation": { - "description": "Optional. If specified, VMs will consume only the specified reservation. If not specified (default), VMs will consume any applicable reservation. Additionally, VMs will not consume any reservation if \"NO_RESERVATION\" is specified.", + "description": "Optional. If not specified (default), VMs will consume any applicable reservation. If \"NO_RESERVATION\" is specified, VMs will not consume any reservation. Otherwise, if specified, VMs will consume only the specified reservation.", "type": "string" } }, diff --git a/Src/Generated/Google.Apis.Batch.v1/Google.Apis.Batch.v1.cs b/Src/Generated/Google.Apis.Batch.v1/Google.Apis.Batch.v1.cs index 6093cd9c10..ccf5ff3266 100644 --- a/Src/Generated/Google.Apis.Batch.v1/Google.Apis.Batch.v1.cs +++ b/Src/Generated/Google.Apis.Batch.v1/Google.Apis.Batch.v1.cs @@ -2301,9 +2301,9 @@ public class InstancePolicy : Google.Apis.Requests.IDirectResponseSchema public virtual string ProvisioningModel { get; set; } /// - /// Optional. If specified, VMs will consume only the specified reservation. If not specified (default), VMs - /// will consume any applicable reservation. Additionally, VMs will not consume any reservation if - /// "NO_RESERVATION" is specified. + /// Optional. If not specified (default), VMs will consume any applicable reservation. If "NO_RESERVATION" is + /// specified, VMs will not consume any reservation. Otherwise, if specified, VMs will consume only the + /// specified reservation. /// [Newtonsoft.Json.JsonPropertyAttribute("reservation")] public virtual string Reservation { get; set; } diff --git a/Src/Generated/Google.Apis.Batch.v1/Google.Apis.Batch.v1.csproj b/Src/Generated/Google.Apis.Batch.v1/Google.Apis.Batch.v1.csproj index 086237e691..8481fda39e 100644 --- a/Src/Generated/Google.Apis.Batch.v1/Google.Apis.Batch.v1.csproj +++ b/Src/Generated/Google.Apis.Batch.v1/Google.Apis.Batch.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Batch.v1 Client Library - 1.68.0.3555 + 1.68.0.3562 Google LLC Copyright 2024 Google LLC Google From be78950872033c9d729a7bb5d2631bfc126d88bb Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:11:40 -0700 Subject: [PATCH 17/78] feat: Generate Google.Apis.BeyondCorp.v1 version 1.68.0.3564 --- DiscoveryJson/beyondcorp.v1.json | 52 +++++++++---------- .../Google.Apis.BeyondCorp.v1.cs | 42 +++++++-------- .../Google.Apis.BeyondCorp.v1.csproj | 2 +- 3 files changed, 45 insertions(+), 51 deletions(-) diff --git a/DiscoveryJson/beyondcorp.v1.json b/DiscoveryJson/beyondcorp.v1.json index cbe074a290..db5ca5d8bb 100644 --- a/DiscoveryJson/beyondcorp.v1.json +++ b/DiscoveryJson/beyondcorp.v1.json @@ -2257,7 +2257,7 @@ } } }, - "revision": "20240925", + "revision": "20241004", "rootUrl": "https://beyondcorp.googleapis.com/", "schemas": { "AllocatedConnection": { @@ -3545,9 +3545,24 @@ "description": "The Hub message contains information pertaining to the regional data path deployments.", "id": "GoogleCloudBeyondcorpSecuritygatewaysV1Hub", "properties": { - "natGatewayConfig": { - "$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1NatGatewayConfig", - "description": "Optional. NAT gateway setup to ensure enough NAT IP addresses are available to handle the traffic needed to access the applications. Allows to explicitly enable or disable the NAT in the Hub along with the total IPs allocated to handle the capacity limits." + "internetGateway": { + "$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1InternetGateway", + "description": "Optional. Internet Gateway configuration." + } + }, + "type": "object" + }, + "GoogleCloudBeyondcorpSecuritygatewaysV1InternetGateway": { + "description": "Represents the Internet Gateway configuration.", + "id": "GoogleCloudBeyondcorpSecuritygatewaysV1InternetGateway", + "properties": { + "assignedIps": { + "description": "Output only. List of IP addresses assigned to the Cloud NAT.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" } }, "type": "object" @@ -3602,21 +3617,6 @@ }, "type": "object" }, - "GoogleCloudBeyondcorpSecuritygatewaysV1NatGatewayConfig": { - "description": "Represents the NAT Gateway configuration.", - "id": "GoogleCloudBeyondcorpSecuritygatewaysV1NatGatewayConfig", - "properties": { - "natIps": { - "description": "Output only. List of NAT IPs that will be used for establishing connection to the endpoints.", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudBeyondcorpSecuritygatewaysV1Peering": { "description": "VPC Peering details.", "id": "GoogleCloudBeyondcorpSecuritygatewaysV1Peering", @@ -3748,6 +3748,13 @@ "description": "Set Peering request for creating a VPC peering between Google network and customer networks.", "id": "GoogleCloudBeyondcorpSecuritygatewaysV1SetPeeringRequest", "properties": { + "peerings": { + "description": "Required. List of Peering connection information.", + "items": { + "$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1Peering" + }, + "type": "array" + }, "requestId": { "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "type": "string" @@ -3755,13 +3762,6 @@ "validateOnly": { "description": "Optional. If set, validates request by executing a dry-run which would not alter the resource in any way.", "type": "boolean" - }, - "vpcPeerings": { - "description": "Required. List of Peering connection information.", - "items": { - "$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1Peering" - }, - "type": "array" } }, "type": "object" diff --git a/Src/Generated/Google.Apis.BeyondCorp.v1/Google.Apis.BeyondCorp.v1.cs b/Src/Generated/Google.Apis.BeyondCorp.v1/Google.Apis.BeyondCorp.v1.cs index 4a765e16a7..038abf57ea 100644 --- a/Src/Generated/Google.Apis.BeyondCorp.v1/Google.Apis.BeyondCorp.v1.cs +++ b/Src/Generated/Google.Apis.BeyondCorp.v1/Google.Apis.BeyondCorp.v1.cs @@ -7664,13 +7664,20 @@ public class GoogleCloudBeyondcorpSecuritygatewaysV1EndpointMatcher : Google.Api /// The Hub message contains information pertaining to the regional data path deployments. public class GoogleCloudBeyondcorpSecuritygatewaysV1Hub : Google.Apis.Requests.IDirectResponseSchema { - /// - /// Optional. NAT gateway setup to ensure enough NAT IP addresses are available to handle the traffic needed to - /// access the applications. Allows to explicitly enable or disable the NAT in the Hub along with the total IPs - /// allocated to handle the capacity limits. - /// - [Newtonsoft.Json.JsonPropertyAttribute("natGatewayConfig")] - public virtual GoogleCloudBeyondcorpSecuritygatewaysV1NatGatewayConfig NatGatewayConfig { get; set; } + /// Optional. Internet Gateway configuration. + [Newtonsoft.Json.JsonPropertyAttribute("internetGateway")] + public virtual GoogleCloudBeyondcorpSecuritygatewaysV1InternetGateway InternetGateway { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Represents the Internet Gateway configuration. + public class GoogleCloudBeyondcorpSecuritygatewaysV1InternetGateway : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. List of IP addresses assigned to the Cloud NAT. + [Newtonsoft.Json.JsonPropertyAttribute("assignedIps")] + public virtual System.Collections.Generic.IList AssignedIps { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } @@ -7718,19 +7725,6 @@ public class GoogleCloudBeyondcorpSecuritygatewaysV1ListSecurityGatewaysResponse public virtual string ETag { get; set; } } - /// Represents the NAT Gateway configuration. - public class GoogleCloudBeyondcorpSecuritygatewaysV1NatGatewayConfig : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// Output only. List of NAT IPs that will be used for establishing connection to the endpoints. - /// - [Newtonsoft.Json.JsonPropertyAttribute("natIps")] - public virtual System.Collections.Generic.IList NatIps { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - /// VPC Peering details. public class GoogleCloudBeyondcorpSecuritygatewaysV1Peering : Google.Apis.Requests.IDirectResponseSchema { @@ -7962,6 +7956,10 @@ public virtual System.DateTimeOffset? EndTimeDateTimeOffset /// Set Peering request for creating a VPC peering between Google network and customer networks. public class GoogleCloudBeyondcorpSecuritygatewaysV1SetPeeringRequest : Google.Apis.Requests.IDirectResponseSchema { + /// Required. List of Peering connection information. + [Newtonsoft.Json.JsonPropertyAttribute("peerings")] + public virtual System.Collections.Generic.IList Peerings { 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 @@ -7980,10 +7978,6 @@ public class GoogleCloudBeyondcorpSecuritygatewaysV1SetPeeringRequest : Google.A [Newtonsoft.Json.JsonPropertyAttribute("validateOnly")] public virtual System.Nullable ValidateOnly { get; set; } - /// Required. List of Peering connection information. - [Newtonsoft.Json.JsonPropertyAttribute("vpcPeerings")] - public virtual System.Collections.Generic.IList VpcPeerings { get; set; } - /// The ETag of the item. public virtual string ETag { get; set; } } diff --git a/Src/Generated/Google.Apis.BeyondCorp.v1/Google.Apis.BeyondCorp.v1.csproj b/Src/Generated/Google.Apis.BeyondCorp.v1/Google.Apis.BeyondCorp.v1.csproj index afdf66efac..bb1f4764f1 100644 --- a/Src/Generated/Google.Apis.BeyondCorp.v1/Google.Apis.BeyondCorp.v1.csproj +++ b/Src/Generated/Google.Apis.BeyondCorp.v1/Google.Apis.BeyondCorp.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.BeyondCorp.v1 Client Library - 1.68.0.3555 + 1.68.0.3564 Google LLC Copyright 2024 Google LLC Google From 80e9f50e8f5f488117505d43abbbf1310ef262dd Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:11:43 -0700 Subject: [PATCH 18/78] feat: Generate Google.Apis.BeyondCorp.v1alpha version 1.68.0.3564 --- DiscoveryJson/beyondcorp.v1alpha.json | 52 +++++++++---------- .../Google.Apis.BeyondCorp.v1alpha.cs | 42 +++++++-------- .../Google.Apis.BeyondCorp.v1alpha.csproj | 2 +- 3 files changed, 45 insertions(+), 51 deletions(-) diff --git a/DiscoveryJson/beyondcorp.v1alpha.json b/DiscoveryJson/beyondcorp.v1alpha.json index 0776309f91..1cccbfd470 100644 --- a/DiscoveryJson/beyondcorp.v1alpha.json +++ b/DiscoveryJson/beyondcorp.v1alpha.json @@ -4408,7 +4408,7 @@ } } }, - "revision": "20240925", + "revision": "20241004", "rootUrl": "https://beyondcorp.googleapis.com/", "schemas": { "AllocatedConnection": { @@ -6683,9 +6683,24 @@ "description": "The Hub message contains information pertaining to the regional data path deployments.", "id": "GoogleCloudBeyondcorpSecuritygatewaysV1alphaHub", "properties": { - "natGatewayConfig": { - "$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1alphaNatGatewayConfig", - "description": "Optional. NAT gateway setup to ensure enough NAT IP addresses are available to handle the traffic needed to access the applications. Allows to explicitly enable or disable the NAT in the Hub along with the total IPs allocated to handle the capacity limits." + "internetGateway": { + "$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1alphaInternetGateway", + "description": "Optional. Internet Gateway configuration." + } + }, + "type": "object" + }, + "GoogleCloudBeyondcorpSecuritygatewaysV1alphaInternetGateway": { + "description": "Represents the Internet Gateway configuration.", + "id": "GoogleCloudBeyondcorpSecuritygatewaysV1alphaInternetGateway", + "properties": { + "assignedIps": { + "description": "Output only. List of IP addresses assigned to the Cloud NAT.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" } }, "type": "object" @@ -6740,21 +6755,6 @@ }, "type": "object" }, - "GoogleCloudBeyondcorpSecuritygatewaysV1alphaNatGatewayConfig": { - "description": "Represents the NAT Gateway configuration.", - "id": "GoogleCloudBeyondcorpSecuritygatewaysV1alphaNatGatewayConfig", - "properties": { - "natIps": { - "description": "Output only. List of NAT IPs that will be used for establishing connection to the endpoints.", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudBeyondcorpSecuritygatewaysV1alphaPeering": { "description": "VPC Peering details.", "id": "GoogleCloudBeyondcorpSecuritygatewaysV1alphaPeering", @@ -6886,6 +6886,13 @@ "description": "Set Peering request for creating a VPC peering between Google network and customer networks.", "id": "GoogleCloudBeyondcorpSecuritygatewaysV1alphaSetPeeringRequest", "properties": { + "peerings": { + "description": "Required. List of Peering connection information.", + "items": { + "$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1alphaPeering" + }, + "type": "array" + }, "requestId": { "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "type": "string" @@ -6893,13 +6900,6 @@ "validateOnly": { "description": "Optional. If set, validates request by executing a dry-run which would not alter the resource in any way.", "type": "boolean" - }, - "vpcPeerings": { - "description": "Required. List of Peering connection information.", - "items": { - "$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1alphaPeering" - }, - "type": "array" } }, "type": "object" diff --git a/Src/Generated/Google.Apis.BeyondCorp.v1alpha/Google.Apis.BeyondCorp.v1alpha.cs b/Src/Generated/Google.Apis.BeyondCorp.v1alpha/Google.Apis.BeyondCorp.v1alpha.cs index 16ee46ae6d..d35df4e940 100644 --- a/Src/Generated/Google.Apis.BeyondCorp.v1alpha/Google.Apis.BeyondCorp.v1alpha.cs +++ b/Src/Generated/Google.Apis.BeyondCorp.v1alpha/Google.Apis.BeyondCorp.v1alpha.cs @@ -14584,13 +14584,20 @@ public class GoogleCloudBeyondcorpSecuritygatewaysV1alphaEndpointMatcher : Googl /// The Hub message contains information pertaining to the regional data path deployments. public class GoogleCloudBeyondcorpSecuritygatewaysV1alphaHub : Google.Apis.Requests.IDirectResponseSchema { - /// - /// Optional. NAT gateway setup to ensure enough NAT IP addresses are available to handle the traffic needed to - /// access the applications. Allows to explicitly enable or disable the NAT in the Hub along with the total IPs - /// allocated to handle the capacity limits. - /// - [Newtonsoft.Json.JsonPropertyAttribute("natGatewayConfig")] - public virtual GoogleCloudBeyondcorpSecuritygatewaysV1alphaNatGatewayConfig NatGatewayConfig { get; set; } + /// Optional. Internet Gateway configuration. + [Newtonsoft.Json.JsonPropertyAttribute("internetGateway")] + public virtual GoogleCloudBeyondcorpSecuritygatewaysV1alphaInternetGateway InternetGateway { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Represents the Internet Gateway configuration. + public class GoogleCloudBeyondcorpSecuritygatewaysV1alphaInternetGateway : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. List of IP addresses assigned to the Cloud NAT. + [Newtonsoft.Json.JsonPropertyAttribute("assignedIps")] + public virtual System.Collections.Generic.IList AssignedIps { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } @@ -14638,19 +14645,6 @@ public class GoogleCloudBeyondcorpSecuritygatewaysV1alphaListSecurityGatewaysRes public virtual string ETag { get; set; } } - /// Represents the NAT Gateway configuration. - public class GoogleCloudBeyondcorpSecuritygatewaysV1alphaNatGatewayConfig : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// Output only. List of NAT IPs that will be used for establishing connection to the endpoints. - /// - [Newtonsoft.Json.JsonPropertyAttribute("natIps")] - public virtual System.Collections.Generic.IList NatIps { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - /// VPC Peering details. public class GoogleCloudBeyondcorpSecuritygatewaysV1alphaPeering : Google.Apis.Requests.IDirectResponseSchema { @@ -14882,6 +14876,10 @@ public virtual System.DateTimeOffset? EndTimeDateTimeOffset /// Set Peering request for creating a VPC peering between Google network and customer networks. public class GoogleCloudBeyondcorpSecuritygatewaysV1alphaSetPeeringRequest : Google.Apis.Requests.IDirectResponseSchema { + /// Required. List of Peering connection information. + [Newtonsoft.Json.JsonPropertyAttribute("peerings")] + public virtual System.Collections.Generic.IList Peerings { 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 @@ -14900,10 +14898,6 @@ public class GoogleCloudBeyondcorpSecuritygatewaysV1alphaSetPeeringRequest : Goo [Newtonsoft.Json.JsonPropertyAttribute("validateOnly")] public virtual System.Nullable ValidateOnly { get; set; } - /// Required. List of Peering connection information. - [Newtonsoft.Json.JsonPropertyAttribute("vpcPeerings")] - public virtual System.Collections.Generic.IList VpcPeerings { get; set; } - /// The ETag of the item. public virtual string ETag { get; set; } } diff --git a/Src/Generated/Google.Apis.BeyondCorp.v1alpha/Google.Apis.BeyondCorp.v1alpha.csproj b/Src/Generated/Google.Apis.BeyondCorp.v1alpha/Google.Apis.BeyondCorp.v1alpha.csproj index 589ef40670..2f568a37fc 100644 --- a/Src/Generated/Google.Apis.BeyondCorp.v1alpha/Google.Apis.BeyondCorp.v1alpha.csproj +++ b/Src/Generated/Google.Apis.BeyondCorp.v1alpha/Google.Apis.BeyondCorp.v1alpha.csproj @@ -3,7 +3,7 @@ Google.Apis.BeyondCorp.v1alpha Client Library - 1.68.0.3555 + 1.68.0.3564 Google LLC Copyright 2024 Google LLC Google From 79412bbe8635e5ed4074f726cb7df3188152039a Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:11:45 -0700 Subject: [PATCH 19/78] feat: Generate Google.Apis.HangoutsChat.v1 version 1.68.0.3568 --- DiscoveryJson/chat.v1.json | 38 ++-- .../Google.Apis.HangoutsChat.v1.cs | 176 ++++++++++++------ .../Google.Apis.HangoutsChat.v1.csproj | 2 +- 3 files changed, 141 insertions(+), 75 deletions(-) diff --git a/DiscoveryJson/chat.v1.json b/DiscoveryJson/chat.v1.json index fdc2607170..d3d17800ad 100644 --- a/DiscoveryJson/chat.v1.json +++ b/DiscoveryJson/chat.v1.json @@ -262,7 +262,7 @@ "spaces": { "methods": { "completeImport": { - "description": "Completes the [import process](https://developers.google.com/workspace/chat/import-data) for the specified space and makes it visible to users. Requires app authentication and domain-wide delegation. For more information, see [Authorize Google Chat apps to import data](https://developers.google.com/workspace/chat/authorize-import).", + "description": "Completes the [import process](https://developers.google.com/workspace/chat/import-data) for the specified space and makes it visible to users. Requires [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and domain-wide delegation. For more information, see [Authorize Google Chat apps to import data](https://developers.google.com/workspace/chat/authorize-import).", "flatPath": "v1/spaces/{spacesId}:completeImport", "httpMethod": "POST", "id": "chat.spaces.completeImport", @@ -318,7 +318,7 @@ ] }, "delete": { - "description": "Deletes a named space. Always performs a cascading delete, which means that the space's child resources\u2014like messages posted in the space and memberships in the space\u2014are also deleted. For an example, see [Delete a space](https://developers.google.com/workspace/chat/delete-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)", + "description": "Deletes a named space. Always performs a cascading delete, which means that the space's child resources\u2014like messages posted in the space and memberships in the space\u2014are also deleted. For an example, see [Delete a space](https://developers.google.com/workspace/chat/delete-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request.", "flatPath": "v1/spaces/{spacesId}", "httpMethod": "DELETE", "id": "chat.spaces.delete", @@ -374,7 +374,7 @@ ] }, "get": { - "description": "Returns details about a space. For an example, see [Get details about a space](https://developers.google.com/workspace/chat/get-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)", + "description": "Returns details about a space. For an example, see [Get details about a space](https://developers.google.com/workspace/chat/get-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request.", "flatPath": "v1/spaces/{spacesId}", "httpMethod": "GET", "id": "chat.spaces.get", @@ -409,7 +409,7 @@ ] }, "list": { - "description": "Lists spaces the caller is a member of. Group chats and DMs aren't listed until the first message is sent. For an example, see [List spaces](https://developers.google.com/workspace/chat/list-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) Lists spaces visible to the caller or authenticated user. Group chats and DMs aren't listed until the first message is sent. To list all named spaces by Google Workspace organization, use the [`spaces.search()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/search) method using Workspace administrator privileges instead.", + "description": "Lists spaces the caller is a member of. Group chats and DMs aren't listed until the first message is sent. For an example, see [List spaces](https://developers.google.com/workspace/chat/list-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) To list all named spaces by Google Workspace organization, use the [`spaces.search()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/search) method using Workspace administrator privileges instead.", "flatPath": "v1/spaces", "httpMethod": "GET", "id": "chat.spaces.list", @@ -443,7 +443,7 @@ ] }, "patch": { - "description": "Updates a space. For an example, see [Update a space](https://developers.google.com/workspace/chat/update-spaces). If you're updating the `displayName` field and receive the error message `ALREADY_EXISTS`, try a different display name.. An existing space within the Google Workspace organization might already use this display name. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)", + "description": "Updates a space. For an example, see [Update a space](https://developers.google.com/workspace/chat/update-spaces). If you're updating the `displayName` field and receive the error message `ALREADY_EXISTS`, try a different display name.. An existing space within the Google Workspace organization might already use this display name. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request.", "flatPath": "v1/spaces/{spacesId}", "httpMethod": "PATCH", "id": "chat.spaces.patch", @@ -459,7 +459,7 @@ "type": "string" }, "updateMask": { - "description": "- Supports changing the [permission settings](https://support.google.com/chat/answer/13340792) of a space, supported field paths include: `permission_settings.manage_members_and_groups`, `permission_settings.modify_space_details`, `permission_settings.toggle_history`, `permission_settings.use_at_mention_all`, `permission_settings.manage_apps`, `permission_settings.manage_webhooks`, `permission_settings.reply_messages` (Warning: mutually exclusive with all other non-permission settings field paths). `permission_settings` is not supported with admin access.", + "description": "Required. The updated field paths, comma separated if there are multiple. You can update the following fields for a space: `space_details`: Updates the space's description. Supports up to 150 characters. `display_name`: Only supports updating the display name for spaces where `spaceType` field is `SPACE`. If you receive the error message `ALREADY_EXISTS`, try a different value. An existing space within the Google Workspace organization might already use this display name. `space_type`: Only supports changing a `GROUP_CHAT` space type to `SPACE`. Include `display_name` together with `space_type` in the update mask and ensure that the specified space has a non-empty display name and the `SPACE` space type. Including the `space_type` mask and the `SPACE` type in the specified space when updating the display name is optional if the existing space already has the `SPACE` type. Trying to update the space type in other ways results in an invalid argument error. `space_type` is not supported with `useAdminAccess`. `space_history_state`: Updates [space history settings](https://support.google.com/chat/answer/7664687) by turning history on or off for the space. Only supported if history settings are enabled for the Google Workspace organization. To update the space history state, you must omit all other field masks in your request. `space_history_state` is not supported with `useAdminAccess`. `access_settings.audience`: Updates the [access setting](https://support.google.com/chat/answer/11971020) of who can discover the space, join the space, and preview the messages in named space where `spaceType` field is `SPACE`. If the existing space has a target audience, you can remove the audience and restrict space access by omitting a value for this field mask. To update access settings for a space, the authenticating user must be a space manager and omit all other field masks in your request. You can't update this field if the space is in [import mode](https://developers.google.com/workspace/chat/import-data-overview). To learn more, see [Make a space discoverable to specific users](https://developers.google.com/workspace/chat/space-target-audience). `access_settings.audience` is not supported with `useAdminAccess`. `permission_settings`: Supports changing the [permission settings](https://support.google.com/chat/answer/13340792) of a space. When updating permission settings, you can only specify `permissionSettings` field masks; you cannot update other field masks at the same time. `permissionSettings` is not supported with `useAdminAccess`. The supported field masks include: - `permission_settings.manageMembersAndGroups` - `permission_settings.modifySpaceDetails` - `permission_settings.toggleHistory` - `permission_settings.useAtMentionAll` - `permission_settings.manageApps` - `permission_settings.manageWebhooks` - `permission_settings.replyMessages`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -551,7 +551,7 @@ "members": { "methods": { "create": { - "description": "Creates a membership for the calling Chat app, a user, or a Google Group. Creating memberships for other Chat apps isn't supported. When creating a membership, if the specified member has their auto-accept policy turned off, then they're invited, and must accept the space invitation before joining. Otherwise, creating a membership adds the member directly to the specified space. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) For example usage, see: - [Invite or add a user to a space](https://developers.google.com/workspace/chat/create-members#create-user-membership). - [Invite or add a Google Group to a space](https://developers.google.com/workspace/chat/create-members#create-group-membership). - [Add the Chat app to a space](https://developers.google.com/workspace/chat/create-members#create-membership-calling-api).", + "description": "Creates a membership for the calling Chat app, a user, or a Google Group. Creating memberships for other Chat apps isn't supported. When creating a membership, if the specified member has their auto-accept policy turned off, then they're invited, and must accept the space invitation before joining. Otherwise, creating a membership adds the member directly to the specified space. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request. For example usage, see: - [Invite or add a user to a space](https://developers.google.com/workspace/chat/create-members#create-user-membership). - [Invite or add a Google Group to a space](https://developers.google.com/workspace/chat/create-members#create-group-membership). - [Add the Chat app to a space](https://developers.google.com/workspace/chat/create-members#create-membership-calling-api).", "flatPath": "v1/spaces/{spacesId}/members", "httpMethod": "POST", "id": "chat.spaces.members.create", @@ -588,7 +588,7 @@ ] }, "delete": { - "description": "Deletes a membership. For an example, see [Remove a user or a Google Chat app from a space](https://developers.google.com/workspace/chat/delete-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)", + "description": "Deletes a membership. For an example, see [Remove a user or a Google Chat app from a space](https://developers.google.com/workspace/chat/delete-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request.", "flatPath": "v1/spaces/{spacesId}/members/{membersId}", "httpMethod": "DELETE", "id": "chat.spaces.members.delete", @@ -622,7 +622,7 @@ ] }, "get": { - "description": "Returns details about a membership. For an example, see [Get details about a user's or Google Chat app's membership](https://developers.google.com/workspace/chat/get-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)", + "description": "Returns details about a membership. For an example, see [Get details about a user's or Google Chat app's membership](https://developers.google.com/workspace/chat/get-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request.", "flatPath": "v1/spaces/{spacesId}/members/{membersId}", "httpMethod": "GET", "id": "chat.spaces.members.get", @@ -656,7 +656,7 @@ ] }, "list": { - "description": "Lists memberships in a space. For an example, see [List users and Google Chat apps in a space](https://developers.google.com/workspace/chat/list-members). Listing memberships with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) lists memberships in spaces that the Chat app has access to, but excludes Chat app memberships, including its own. Listing memberships with [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) lists memberships in spaces that the authenticated user has access to. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)", + "description": "Lists memberships in a space. For an example, see [List users and Google Chat apps in a space](https://developers.google.com/workspace/chat/list-members). Listing memberships with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) lists memberships in spaces that the Chat app has access to, but excludes Chat app memberships, including its own. Listing memberships with [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) lists memberships in spaces that the authenticated user has access to. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request.", "flatPath": "v1/spaces/{spacesId}/members", "httpMethod": "GET", "id": "chat.spaces.members.list", @@ -717,7 +717,7 @@ ] }, "patch": { - "description": "Updates a membership. For an example, see [Update a user's membership in a space](https://developers.google.com/workspace/chat/update-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)", + "description": "Updates a membership. For an example, see [Update a user's membership in a space](https://developers.google.com/workspace/chat/update-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request.", "flatPath": "v1/spaces/{spacesId}/members/{membersId}", "httpMethod": "PATCH", "id": "chat.spaces.members.patch", @@ -763,7 +763,7 @@ "messages": { "methods": { "create": { - "description": "Creates a message in a Google Chat space. For an example, see [Send a message](https://developers.google.com/workspace/chat/create-messages). The `create()` method requires either user or app authentication. Chat attributes the message sender differently depending on the type of authentication that you use in your request. The following image shows how Chat attributes a message when you use app authentication. Chat displays the Chat app as the message sender. The content of the message can contain text (`text`), cards (`cardsV2`), and accessory widgets (`accessoryWidgets`). ![Message sent with app authentication](https://developers.google.com/workspace/chat/images/message-app-auth.svg) The following image shows how Chat attributes a message when you use user authentication. Chat displays the user as the message sender and attributes the Chat app to the message by displaying its name. The content of message can only contain text (`text`). ![Message sent with user authentication](https://developers.google.com/workspace/chat/images/message-user-auth.svg) The maximum message size, including the message contents, is 32,000 bytes.", + "description": "Creates a message in a Google Chat space. For an example, see [Send a message](https://developers.google.com/workspace/chat/create-messages). The `create()` method requires either [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) or [app authentication](https://developers.google.com/workspace/chat/authorize-import). Chat attributes the message sender differently depending on the type of authentication that you use in your request. The following image shows how Chat attributes a message when you use app authentication. Chat displays the Chat app as the message sender. The content of the message can contain text (`text`), cards (`cardsV2`), and accessory widgets (`accessoryWidgets`). ![Message sent with app authentication](https://developers.google.com/workspace/chat/images/message-app-auth.svg) The following image shows how Chat attributes a message when you use user authentication. Chat displays the user as the message sender and attributes the Chat app to the message by displaying its name. The content of message can only contain text (`text`). ![Message sent with user authentication](https://developers.google.com/workspace/chat/images/message-user-auth.svg) The maximum message size, including the message contents, is 32,000 bytes.", "flatPath": "v1/spaces/{spacesId}/messages", "httpMethod": "POST", "id": "chat.spaces.messages.create", @@ -1160,7 +1160,7 @@ "spaceEvents": { "methods": { "get": { - "description": "Returns an event from a Google Chat space. The [event payload](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.oneof_payload) contains the most recent version of the resource that changed. For example, if you request an event about a new message but the message was later updated, the server returns the updated `Message` resource in the event payload. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). To get an event, the authenticated user must be a member of the space. For an example, see [Get details about an event from a Google Chat space](https://developers.google.com/workspace/chat/get-space-event).", + "description": "Returns an event from a Google Chat space. The [event payload](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.oneof_payload) contains the most recent version of the resource that changed. For example, if you request an event about a new message but the message was later updated, the server returns the updated `Message` resource in the event payload. Note: The `permissionSettings` field is not returned in the Space object of the Space event data for this request. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). To get an event, the authenticated user must be a member of the space. For an example, see [Get details about an event from a Google Chat space](https://developers.google.com/workspace/chat/get-space-event).", "flatPath": "v1/spaces/{spacesId}/spaceEvents/{spaceEventsId}", "httpMethod": "GET", "id": "chat.spaces.spaceEvents.get", @@ -1344,7 +1344,7 @@ } } }, - "revision": "20241001", + "revision": "20241008", "rootUrl": "https://chat.googleapis.com/", "schemas": { "AccessSettings": { @@ -3541,7 +3541,7 @@ "type": "string" }, "spaceEvents": { - "description": "Results are returned in chronological order (oldest event first).", + "description": "Results are returned in chronological order (oldest event first). Note: The `permissionSettings` field is not returned in the Space object for list requests.", "items": { "$ref": "SpaceEvent" }, @@ -3559,7 +3559,7 @@ "type": "string" }, "spaces": { - "description": "List of spaces in the requested (or first) page.", + "description": "List of spaces in the requested (or first) page. Note: The `permissionSettings` field is not returned in the Space object for list requests.", "items": { "$ref": "Space" }, @@ -4009,7 +4009,7 @@ "type": "object" }, "PermissionSettings": { - "description": "[Permission settings](https://support.google.com/chat/answer/13340792) for a named space. To set permission settings when creating a space, specify the `PredefinedPermissionSettings` field in your request.", + "description": "[Permission settings](https://support.google.com/chat/answer/13340792) that you can specify when updating an existing named space. To set permission settings when creating a space, specify the `PredefinedPermissionSettings` field in your request.", "id": "PermissionSettings", "properties": { "manageApps": { @@ -4343,10 +4343,10 @@ }, "permissionSettings": { "$ref": "PermissionSettings", - "description": "Optional. Exact permission settings which can be set to update the space. Input for updating a space. Otherwise, output only. For space creation, use `predefined_permission_settings` instead." + "description": "Optional. Space permission settings for existing spaces. Input for updating exact space permission settings, where existing permission settings are replaced. Output lists current permission settings." }, "predefinedPermissionSettings": { - "description": "Optional. Input only. Space permission settings. Input for creating a space, a collaboration space is created if this field is not set. After you create the space, settings are populated in the `PermissionSettings` field.", + "description": "Optional. Input only. Predefined space permission settings, input only when creating a space. If the field is not set, a collaboration space is created. After you create the space, settings are populated in the `PermissionSettings` field.", "enum": [ "PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED", "COLLABORATION_SPACE", diff --git a/Src/Generated/Google.Apis.HangoutsChat.v1/Google.Apis.HangoutsChat.v1.cs b/Src/Generated/Google.Apis.HangoutsChat.v1/Google.Apis.HangoutsChat.v1.cs index de9c51bb93..bcb614a3a9 100644 --- a/Src/Generated/Google.Apis.HangoutsChat.v1/Google.Apis.HangoutsChat.v1.cs +++ b/Src/Generated/Google.Apis.HangoutsChat.v1/Google.Apis.HangoutsChat.v1.cs @@ -878,8 +878,9 @@ public MembersResource(Google.Apis.Services.IClientService service) /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with /// [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer /// Preview](https://developers.google.com/workspace/preview) - [User - /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) For - /// example usage, see: - [Invite or add a user to a + /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can + /// authenticate and authorize this method with administrator privileges by setting the `use_admin_access` + /// field in the request. For example usage, see: - [Invite or add a user to a /// space](https://developers.google.com/workspace/chat/create-members#create-user-membership). - [Invite or /// add a Google Group to a /// space](https://developers.google.com/workspace/chat/create-members#create-group-membership). - [Add the @@ -904,8 +905,9 @@ public virtual CreateRequest Create(Google.Apis.HangoutsChat.v1.Data.Membership /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with /// [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer /// Preview](https://developers.google.com/workspace/preview) - [User - /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) For - /// example usage, see: - [Invite or add a user to a + /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can + /// authenticate and authorize this method with administrator privileges by setting the `use_admin_access` + /// field in the request. For example usage, see: - [Invite or add a user to a /// space](https://developers.google.com/workspace/chat/create-members#create-user-membership). - [Invite or /// add a Google Group to a /// space](https://developers.google.com/workspace/chat/create-members#create-group-membership). - [Add the @@ -985,7 +987,9 @@ protected override void InitParameters() /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with /// [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer /// Preview](https://developers.google.com/workspace/preview) - [User - /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) + /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can + /// authenticate and authorize this method with administrator privileges by setting the `use_admin_access` + /// field in the request. /// /// /// Required. Resource name of the membership to delete. Chat apps can delete human users' or their own @@ -1008,7 +1012,9 @@ public virtual DeleteRequest Delete(string name) /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with /// [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer /// Preview](https://developers.google.com/workspace/preview) - [User - /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) + /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can + /// authenticate and authorize this method with administrator privileges by setting the `use_admin_access` + /// field in the request. /// public class DeleteRequest : HangoutsChatBaseServiceRequest { @@ -1079,7 +1085,9 @@ protected override void InitParameters() /// membership](https://developers.google.com/workspace/chat/get-members). Supports the following types of /// [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User - /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) + /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can + /// authenticate and authorize this method with administrator privileges by setting the `use_admin_access` + /// field in the request. /// /// /// Required. Resource name of the membership to retrieve. To get the app's own membership [by using user @@ -1099,7 +1107,9 @@ public virtual GetRequest Get(string name) /// membership](https://developers.google.com/workspace/chat/get-members). Supports the following types of /// [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User - /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) + /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can + /// authenticate and authorize this method with administrator privileges by setting the `use_admin_access` + /// field in the request. /// public class GetRequest : HangoutsChatBaseServiceRequest { @@ -1174,7 +1184,9 @@ protected override void InitParameters() /// memberships in spaces that the authenticated user has access to. Supports the following types of /// [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User - /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) + /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can + /// authenticate and authorize this method with administrator privileges by setting the `use_admin_access` + /// field in the request. /// /// /// Required. The resource name of the space for which to fetch a membership list. Format: spaces/{space} @@ -1194,7 +1206,9 @@ public virtual ListRequest List(string parent) /// memberships in spaces that the authenticated user has access to. Supports the following types of /// [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User - /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) + /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can + /// authenticate and authorize this method with administrator privileges by setting the `use_admin_access` + /// field in the request. /// public class ListRequest : HangoutsChatBaseServiceRequest { @@ -1362,7 +1376,9 @@ protected override void InitParameters() /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with /// [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer /// Preview](https://developers.google.com/workspace/preview) - [User - /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) + /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can + /// authenticate and authorize this method with administrator privileges by setting the `use_admin_access` + /// field in the request. /// /// The body of the request. /// @@ -1380,7 +1396,9 @@ public virtual PatchRequest Patch(Google.Apis.HangoutsChat.v1.Data.Membership bo /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with /// [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer /// Preview](https://developers.google.com/workspace/preview) - [User - /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) + /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can + /// authenticate and authorize this method with administrator privileges by setting the `use_admin_access` + /// field in the request. /// public class PatchRequest : HangoutsChatBaseServiceRequest { @@ -1838,11 +1856,13 @@ protected override void InitParameters() /// /// Creates a message in a Google Chat space. For an example, see [Send a /// message](https://developers.google.com/workspace/chat/create-messages). The `create()` method requires - /// either user or app authentication. Chat attributes the message sender differently depending on the type - /// of authentication that you use in your request. The following image shows how Chat attributes a message - /// when you use app authentication. Chat displays the Chat app as the message sender. The content of the - /// message can contain text (`text`), cards (`cardsV2`), and accessory widgets (`accessoryWidgets`). - /// ![Message sent with app + /// either [user + /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) or [app + /// authentication](https://developers.google.com/workspace/chat/authorize-import). Chat attributes the + /// message sender differently depending on the type of authentication that you use in your request. The + /// following image shows how Chat attributes a message when you use app authentication. Chat displays the + /// Chat app as the message sender. The content of the message can contain text (`text`), cards (`cardsV2`), + /// and accessory widgets (`accessoryWidgets`). ![Message sent with app /// authentication](https://developers.google.com/workspace/chat/images/message-app-auth.svg) The following /// image shows how Chat attributes a message when you use user authentication. Chat displays the user as /// the message sender and attributes the Chat app to the message by displaying its name. The content of @@ -1862,11 +1882,13 @@ public virtual CreateRequest Create(Google.Apis.HangoutsChat.v1.Data.Message bod /// /// Creates a message in a Google Chat space. For an example, see [Send a /// message](https://developers.google.com/workspace/chat/create-messages). The `create()` method requires - /// either user or app authentication. Chat attributes the message sender differently depending on the type - /// of authentication that you use in your request. The following image shows how Chat attributes a message - /// when you use app authentication. Chat displays the Chat app as the message sender. The content of the - /// message can contain text (`text`), cards (`cardsV2`), and accessory widgets (`accessoryWidgets`). - /// ![Message sent with app + /// either [user + /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) or [app + /// authentication](https://developers.google.com/workspace/chat/authorize-import). Chat attributes the + /// message sender differently depending on the type of authentication that you use in your request. The + /// following image shows how Chat attributes a message when you use app authentication. Chat displays the + /// Chat app as the message sender. The content of the message can contain text (`text`), cards (`cardsV2`), + /// and accessory widgets (`accessoryWidgets`). ![Message sent with app /// authentication](https://developers.google.com/workspace/chat/images/message-app-auth.svg) The following /// image shows how Chat attributes a message when you use user authentication. Chat displays the user as /// the message sender and attributes the Chat app to the message by displaying its name. The content of @@ -2595,7 +2617,8 @@ public SpaceEventsResource(Google.Apis.Services.IClientService service) /// payload](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.oneof_payload) /// contains the most recent version of the resource that changed. For example, if you request an event /// about a new message but the message was later updated, the server returns the updated `Message` resource - /// in the event payload. Requires [user + /// in the event payload. Note: The `permissionSettings` field is not returned in the Space object of the + /// Space event data for this request. Requires [user /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). To get /// an event, the authenticated user must be a member of the space. For an example, see [Get details about /// an event from a Google Chat space](https://developers.google.com/workspace/chat/get-space-event). @@ -2613,7 +2636,8 @@ public virtual GetRequest Get(string name) /// payload](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.oneof_payload) /// contains the most recent version of the resource that changed. For example, if you request an event /// about a new message but the message was later updated, the server returns the updated `Message` resource - /// in the event payload. Requires [user + /// in the event payload. Note: The `permissionSettings` field is not returned in the Space object of the + /// Space event data for this request. Requires [user /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). To get /// an event, the authenticated user must be a member of the space. For an example, see [Get details about /// an event from a Google Chat space](https://developers.google.com/workspace/chat/get-space-event). @@ -2809,8 +2833,9 @@ protected override void InitParameters() /// /// Completes the [import process](https://developers.google.com/workspace/chat/import-data) for the specified - /// space and makes it visible to users. Requires app authentication and domain-wide delegation. For more - /// information, see [Authorize Google Chat apps to import + /// space and makes it visible to users. Requires [app + /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and + /// domain-wide delegation. For more information, see [Authorize Google Chat apps to import /// data](https://developers.google.com/workspace/chat/authorize-import). /// /// The body of the request. @@ -2822,8 +2847,9 @@ public virtual CompleteImportRequest CompleteImport(Google.Apis.HangoutsChat.v1. /// /// Completes the [import process](https://developers.google.com/workspace/chat/import-data) for the specified - /// space and makes it visible to users. Requires app authentication and domain-wide delegation. For more - /// information, see [Authorize Google Chat apps to import + /// space and makes it visible to users. Requires [app + /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and + /// domain-wide delegation. For more information, see [Authorize Google Chat apps to import /// data](https://developers.google.com/workspace/chat/authorize-import). /// public class CompleteImportRequest : HangoutsChatBaseServiceRequest @@ -2959,7 +2985,9 @@ protected override void InitParameters() /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with /// [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer /// Preview](https://developers.google.com/workspace/preview) - [User - /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) + /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can + /// authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field + /// in the request. /// /// Required. Resource name of the space to delete. Format: `spaces/{space}` public virtual DeleteRequest Delete(string name) @@ -2975,7 +3003,9 @@ public virtual DeleteRequest Delete(string name) /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with /// [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer /// Preview](https://developers.google.com/workspace/preview) - [User - /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) + /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can + /// authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field + /// in the request. /// public class DeleteRequest : HangoutsChatBaseServiceRequest { @@ -3111,7 +3141,9 @@ protected override void InitParameters() /// space](https://developers.google.com/workspace/chat/get-spaces). Supports the following types of /// [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User - /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) + /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can + /// authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field + /// in the request. /// /// /// Required. Resource name of the space, in the form `spaces/{space}`. Format: `spaces/{space}` @@ -3126,7 +3158,9 @@ public virtual GetRequest Get(string name) /// space](https://developers.google.com/workspace/chat/get-spaces). Supports the following types of /// [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User - /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) + /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can + /// authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field + /// in the request. /// public class GetRequest : HangoutsChatBaseServiceRequest { @@ -3190,9 +3224,8 @@ protected override void InitParameters() /// For an example, see [List spaces](https://developers.google.com/workspace/chat/list-spaces). Supports the /// following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - /// [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User - /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) Lists spaces - /// visible to the caller or authenticated user. Group chats and DMs aren't listed until the first message is - /// sent. To list all named spaces by Google Workspace organization, use the + /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) To list all + /// named spaces by Google Workspace organization, use the /// [`spaces.search()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/search) method /// using Workspace administrator privileges instead. /// @@ -3206,9 +3239,8 @@ public virtual ListRequest List() /// For an example, see [List spaces](https://developers.google.com/workspace/chat/list-spaces). Supports the /// following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - /// [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User - /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) Lists spaces - /// visible to the caller or authenticated user. Group chats and DMs aren't listed until the first message is - /// sent. To list all named spaces by Google Workspace organization, use the + /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) To list all + /// named spaces by Google Workspace organization, use the /// [`spaces.search()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/search) method /// using Workspace administrator privileges instead. /// @@ -3301,7 +3333,9 @@ protected override void InitParameters() /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with /// [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer /// Preview](https://developers.google.com/workspace/preview) - [User - /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) + /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can + /// authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field + /// in the request. /// /// The body of the request. /// @@ -3325,7 +3359,9 @@ public virtual PatchRequest Patch(Google.Apis.HangoutsChat.v1.Data.Space body, s /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with /// [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer /// Preview](https://developers.google.com/workspace/preview) - [User - /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) + /// authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can + /// authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field + /// in the request. /// public class PatchRequest : HangoutsChatBaseServiceRequest { @@ -3348,13 +3384,36 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Han public virtual string Name { get; private set; } /// - /// - Supports changing the [permission settings](https://support.google.com/chat/answer/13340792) of a - /// space, supported field paths include: `permission_settings.manage_members_and_groups`, - /// `permission_settings.modify_space_details`, `permission_settings.toggle_history`, - /// `permission_settings.use_at_mention_all`, `permission_settings.manage_apps`, - /// `permission_settings.manage_webhooks`, `permission_settings.reply_messages` (Warning: mutually exclusive - /// with all other non-permission settings field paths). `permission_settings` is not supported with admin - /// access. + /// Required. The updated field paths, comma separated if there are multiple. You can update the following + /// fields for a space: `space_details`: Updates the space's description. Supports up to 150 characters. + /// `display_name`: Only supports updating the display name for spaces where `spaceType` field is `SPACE`. + /// If you receive the error message `ALREADY_EXISTS`, try a different value. An existing space within the + /// Google Workspace organization might already use this display name. `space_type`: Only supports changing + /// a `GROUP_CHAT` space type to `SPACE`. Include `display_name` together with `space_type` in the update + /// mask and ensure that the specified space has a non-empty display name and the `SPACE` space type. + /// Including the `space_type` mask and the `SPACE` type in the specified space when updating the display + /// name is optional if the existing space already has the `SPACE` type. Trying to update the space type in + /// other ways results in an invalid argument error. `space_type` is not supported with `useAdminAccess`. + /// `space_history_state`: Updates [space history settings](https://support.google.com/chat/answer/7664687) + /// by turning history on or off for the space. Only supported if history settings are enabled for the + /// Google Workspace organization. To update the space history state, you must omit all other field masks in + /// your request. `space_history_state` is not supported with `useAdminAccess`. `access_settings.audience`: + /// Updates the [access setting](https://support.google.com/chat/answer/11971020) of who can discover the + /// space, join the space, and preview the messages in named space where `spaceType` field is `SPACE`. If + /// the existing space has a target audience, you can remove the audience and restrict space access by + /// omitting a value for this field mask. To update access settings for a space, the authenticating user + /// must be a space manager and omit all other field masks in your request. You can't update this field if + /// the space is in [import mode](https://developers.google.com/workspace/chat/import-data-overview). To + /// learn more, see [Make a space discoverable to specific + /// users](https://developers.google.com/workspace/chat/space-target-audience). `access_settings.audience` + /// is not supported with `useAdminAccess`. `permission_settings`: Supports changing the [permission + /// settings](https://support.google.com/chat/answer/13340792) of a space. When updating permission + /// settings, you can only specify `permissionSettings` field masks; you cannot update other field masks at + /// the same time. `permissionSettings` is not supported with `useAdminAccess`. The supported field masks + /// include: - `permission_settings.manageMembersAndGroups` - `permission_settings.modifySpaceDetails` - + /// `permission_settings.toggleHistory` - `permission_settings.useAtMentionAll` - + /// `permission_settings.manageApps` - `permission_settings.manageWebhooks` - + /// `permission_settings.replyMessages` /// [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] public virtual object UpdateMask { get; set; } @@ -6500,7 +6559,10 @@ public class ListSpaceEventsResponse : Google.Apis.Requests.IDirectResponseSchem [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] public virtual string NextPageToken { get; set; } - /// Results are returned in chronological order (oldest event first). + /// + /// Results are returned in chronological order (oldest event first). Note: The `permissionSettings` field is + /// not returned in the Space object for list requests. + /// [Newtonsoft.Json.JsonPropertyAttribute("spaceEvents")] public virtual System.Collections.Generic.IList SpaceEvents { get; set; } @@ -6518,7 +6580,10 @@ public class ListSpacesResponse : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] public virtual string NextPageToken { get; set; } - /// List of spaces in the requested (or first) page. + /// + /// List of spaces in the requested (or first) page. Note: The `permissionSettings` field is not returned in the + /// Space object for list requests. + /// [Newtonsoft.Json.JsonPropertyAttribute("spaces")] public virtual System.Collections.Generic.IList Spaces { get; set; } @@ -7195,8 +7260,9 @@ public class PermissionSetting : Google.Apis.Requests.IDirectResponseSchema } /// - /// [Permission settings](https://support.google.com/chat/answer/13340792) for a named space. To set permission - /// settings when creating a space, specify the `PredefinedPermissionSettings` field in your request. + /// [Permission settings](https://support.google.com/chat/answer/13340792) that you can specify when updating an + /// existing named space. To set permission settings when creating a space, specify the + /// `PredefinedPermissionSettings` field in your request. /// public class PermissionSettings : Google.Apis.Requests.IDirectResponseSchema { @@ -7679,15 +7745,15 @@ public virtual System.DateTimeOffset? LastActiveTimeDateTimeOffset public virtual string Name { get; set; } /// - /// Optional. Exact permission settings which can be set to update the space. Input for updating a space. - /// Otherwise, output only. For space creation, use `predefined_permission_settings` instead. + /// Optional. Space permission settings for existing spaces. Input for updating exact space permission settings, + /// where existing permission settings are replaced. Output lists current permission settings. /// [Newtonsoft.Json.JsonPropertyAttribute("permissionSettings")] public virtual PermissionSettings PermissionSettings { get; set; } /// - /// Optional. Input only. Space permission settings. Input for creating a space, a collaboration space is - /// created if this field is not set. After you create the space, settings are populated in the + /// Optional. Input only. Predefined space permission settings, input only when creating a space. If the field + /// is not set, a collaboration space is created. After you create the space, settings are populated in the /// `PermissionSettings` field. /// [Newtonsoft.Json.JsonPropertyAttribute("predefinedPermissionSettings")] diff --git a/Src/Generated/Google.Apis.HangoutsChat.v1/Google.Apis.HangoutsChat.v1.csproj b/Src/Generated/Google.Apis.HangoutsChat.v1/Google.Apis.HangoutsChat.v1.csproj index b11caa50c8..23d43aac49 100644 --- a/Src/Generated/Google.Apis.HangoutsChat.v1/Google.Apis.HangoutsChat.v1.csproj +++ b/Src/Generated/Google.Apis.HangoutsChat.v1/Google.Apis.HangoutsChat.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.HangoutsChat.v1 Client Library - 1.68.0.3561 + 1.68.0.3568 Google LLC Copyright 2024 Google LLC Google From d315ed0f728549c8074652248d286558f0dabfcc Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:11:48 -0700 Subject: [PATCH 20/78] feat: Generate Google.Apis.Classroom.v1 version 1.68.0.3567 --- DiscoveryJson/classroom.v1.json | 10 +++++----- .../Google.Apis.Classroom.v1.cs | 15 +++++++++------ .../Google.Apis.Classroom.v1.csproj | 2 +- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/DiscoveryJson/classroom.v1.json b/DiscoveryJson/classroom.v1.json index a72bb3c1b1..4c55eef358 100644 --- a/DiscoveryJson/classroom.v1.json +++ b/DiscoveryJson/classroom.v1.json @@ -3695,7 +3695,7 @@ } } }, - "revision": "20240911", + "revision": "20241007", "rootUrl": "https://classroom.googleapis.com/", "schemas": { "AddOnAttachment": { @@ -5488,22 +5488,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } 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 7fac5ba587..32e84dd579 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 @@ -12006,23 +12006,26 @@ public class TeacherContext : Google.Apis.Requests.IDirectResponseSchema public class TimeOfDay : Google.Apis.Requests.IDirectResponseSchema { /// - /// Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for - /// scenarios like business closing time. + /// Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or + /// equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. /// [Newtonsoft.Json.JsonPropertyAttribute("hours")] public virtual System.Nullable Hours { get; set; } - /// Minutes of hour of day. Must be from 0 to 59. + /// Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. [Newtonsoft.Json.JsonPropertyAttribute("minutes")] public virtual System.Nullable Minutes { get; set; } - /// Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + /// + /// Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to + /// 999,999,999. + /// [Newtonsoft.Json.JsonPropertyAttribute("nanos")] public virtual System.Nullable Nanos { get; set; } /// - /// Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows - /// leap-seconds. + /// Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An + /// API may allow the value 60 if it allows leap-seconds. /// [Newtonsoft.Json.JsonPropertyAttribute("seconds")] public virtual System.Nullable Seconds { 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 bfa2b1767a..b9992533d1 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.68.0.3541 + 1.68.0.3567 Google LLC Copyright 2024 Google LLC Google From 2bbdd4a8537680265dfa25968e3ca7e5cff02c87 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:11:51 -0700 Subject: [PATCH 21/78] feat: Generate Google.Apis.CloudDeploy.v1 version 1.68.0.3562 --- DiscoveryJson/clouddeploy.v1.json | 10 +++++----- .../Google.Apis.CloudDeploy.v1.cs | 15 +++++++++------ .../Google.Apis.CloudDeploy.v1.csproj | 2 +- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/DiscoveryJson/clouddeploy.v1.json b/DiscoveryJson/clouddeploy.v1.json index ada8a0ad99..28fdaf394d 100644 --- a/DiscoveryJson/clouddeploy.v1.json +++ b/DiscoveryJson/clouddeploy.v1.json @@ -2289,7 +2289,7 @@ } } }, - "revision": "20240929", + "revision": "20241002", "rootUrl": "https://clouddeploy.googleapis.com/", "schemas": { "AbandonReleaseRequest": { @@ -6955,22 +6955,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/Src/Generated/Google.Apis.CloudDeploy.v1/Google.Apis.CloudDeploy.v1.cs b/Src/Generated/Google.Apis.CloudDeploy.v1/Google.Apis.CloudDeploy.v1.cs index 28edb63b6d..d0220de9fb 100644 --- a/Src/Generated/Google.Apis.CloudDeploy.v1/Google.Apis.CloudDeploy.v1.cs +++ b/Src/Generated/Google.Apis.CloudDeploy.v1/Google.Apis.CloudDeploy.v1.cs @@ -10811,23 +10811,26 @@ public class TestIamPermissionsResponse : Google.Apis.Requests.IDirectResponseSc public class TimeOfDay : Google.Apis.Requests.IDirectResponseSchema { /// - /// Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for - /// scenarios like business closing time. + /// Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or + /// equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. /// [Newtonsoft.Json.JsonPropertyAttribute("hours")] public virtual System.Nullable Hours { get; set; } - /// Minutes of hour of day. Must be from 0 to 59. + /// Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. [Newtonsoft.Json.JsonPropertyAttribute("minutes")] public virtual System.Nullable Minutes { get; set; } - /// Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + /// + /// Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to + /// 999,999,999. + /// [Newtonsoft.Json.JsonPropertyAttribute("nanos")] public virtual System.Nullable Nanos { get; set; } /// - /// Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows - /// leap-seconds. + /// Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An + /// API may allow the value 60 if it allows leap-seconds. /// [Newtonsoft.Json.JsonPropertyAttribute("seconds")] public virtual System.Nullable Seconds { get; set; } diff --git a/Src/Generated/Google.Apis.CloudDeploy.v1/Google.Apis.CloudDeploy.v1.csproj b/Src/Generated/Google.Apis.CloudDeploy.v1/Google.Apis.CloudDeploy.v1.csproj index ff52c858e5..978c07d5dd 100644 --- a/Src/Generated/Google.Apis.CloudDeploy.v1/Google.Apis.CloudDeploy.v1.csproj +++ b/Src/Generated/Google.Apis.CloudDeploy.v1/Google.Apis.CloudDeploy.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudDeploy.v1 Client Library - 1.68.0.3559 + 1.68.0.3562 Google LLC Copyright 2024 Google LLC Google From 62f6b9bb1fc11b640e6d88e57dd64b69baaa152b Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:11:54 -0700 Subject: [PATCH 22/78] feat: Generate Google.Apis.CloudComposer.v1 version 1.68.0.3567 --- DiscoveryJson/composer.v1.json | 62 ++++++++++++++++++- .../Google.Apis.CloudComposer.v1.csproj | 2 +- 2 files changed, 62 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/composer.v1.json b/DiscoveryJson/composer.v1.json index a1acd36b4d..83420758c0 100644 --- a/DiscoveryJson/composer.v1.json +++ b/DiscoveryJson/composer.v1.json @@ -20,6 +20,66 @@ "description": "Regional Endpoint", "endpointUrl": "https://composer.us-south1.rep.googleapis.com/", "location": "us-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-west3.rep.googleapis.com/", + "location": "europe-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-west8.rep.googleapis.com/", + "location": "europe-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-west9.rep.googleapis.com/", + "location": "europe-west9" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.me-central2.rep.googleapis.com/", + "location": "me-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-east4.rep.googleapis.com/", + "location": "us-east4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-east5.rep.googleapis.com/", + "location": "us-east5" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-west1.rep.googleapis.com/", + "location": "us-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-west2.rep.googleapis.com/", + "location": "us-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-west3.rep.googleapis.com/", + "location": "us-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-west4.rep.googleapis.com/", + "location": "us-west4" } ], "fullyEncodeReservedExpansion": true, @@ -973,7 +1033,7 @@ } } }, - "revision": "20240917", + "revision": "20241007", "rootUrl": "https://composer.googleapis.com/", "schemas": { "AirflowMetadataRetentionPolicyConfig": { diff --git a/Src/Generated/Google.Apis.CloudComposer.v1/Google.Apis.CloudComposer.v1.csproj b/Src/Generated/Google.Apis.CloudComposer.v1/Google.Apis.CloudComposer.v1.csproj index 93ab0a6c6a..a12f44a52a 100644 --- a/Src/Generated/Google.Apis.CloudComposer.v1/Google.Apis.CloudComposer.v1.csproj +++ b/Src/Generated/Google.Apis.CloudComposer.v1/Google.Apis.CloudComposer.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudComposer.v1 Client Library - 1.68.0.3547 + 1.68.0.3567 Google LLC Copyright 2024 Google LLC Google From 92f6628bfcb8dace3a82c3417645a90c3f2f7ae7 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:11:57 -0700 Subject: [PATCH 23/78] feat: Generate Google.Apis.CloudComposer.v1beta1 version 1.68.0.3567 --- DiscoveryJson/composer.v1beta1.json | 62 ++++++++++++++++++- .../Google.Apis.CloudComposer.v1beta1.csproj | 2 +- 2 files changed, 62 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/composer.v1beta1.json b/DiscoveryJson/composer.v1beta1.json index 6a65a04601..9da086979a 100644 --- a/DiscoveryJson/composer.v1beta1.json +++ b/DiscoveryJson/composer.v1beta1.json @@ -20,6 +20,66 @@ "description": "Regional Endpoint", "endpointUrl": "https://composer.us-south1.rep.googleapis.com/", "location": "us-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-west3.rep.googleapis.com/", + "location": "europe-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-west8.rep.googleapis.com/", + "location": "europe-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-west9.rep.googleapis.com/", + "location": "europe-west9" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.me-central2.rep.googleapis.com/", + "location": "me-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-east4.rep.googleapis.com/", + "location": "us-east4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-east5.rep.googleapis.com/", + "location": "us-east5" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-west1.rep.googleapis.com/", + "location": "us-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-west2.rep.googleapis.com/", + "location": "us-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-west3.rep.googleapis.com/", + "location": "us-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-west4.rep.googleapis.com/", + "location": "us-west4" } ], "fullyEncodeReservedExpansion": true, @@ -1001,7 +1061,7 @@ } } }, - "revision": "20240917", + "revision": "20241007", "rootUrl": "https://composer.googleapis.com/", "schemas": { "AirflowMetadataRetentionPolicyConfig": { diff --git a/Src/Generated/Google.Apis.CloudComposer.v1beta1/Google.Apis.CloudComposer.v1beta1.csproj b/Src/Generated/Google.Apis.CloudComposer.v1beta1/Google.Apis.CloudComposer.v1beta1.csproj index cfa0c7178c..b3c6d131e5 100644 --- a/Src/Generated/Google.Apis.CloudComposer.v1beta1/Google.Apis.CloudComposer.v1beta1.csproj +++ b/Src/Generated/Google.Apis.CloudComposer.v1beta1/Google.Apis.CloudComposer.v1beta1.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudComposer.v1beta1 Client Library - 1.68.0.3547 + 1.68.0.3567 Google LLC Copyright 2024 Google LLC Google From 6da0cf0b82559d4bc4d7c4fee565b4ef77f9f88b Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:12:00 -0700 Subject: [PATCH 24/78] feat: Generate Google.Apis.Compute.alpha version 1.68.0.3561 --- DiscoveryJson/compute.alpha.json | 2433 +++++++++++- .../Google.Apis.Compute.alpha.cs | 3331 +++++++++++++++-- .../Google.Apis.Compute.alpha.csproj | 2 +- 3 files changed, 5412 insertions(+), 354 deletions(-) diff --git a/DiscoveryJson/compute.alpha.json b/DiscoveryJson/compute.alpha.json index 4e37825f3e..2645a80af3 100644 --- a/DiscoveryJson/compute.alpha.json +++ b/DiscoveryJson/compute.alpha.json @@ -14988,6 +14988,337 @@ } } }, + "interconnectAttachmentGroups": { + "methods": { + "delete": { + "description": "Deletes the specified InterconnectAttachmentGroup in the given scope", + "flatPath": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}", + "httpMethod": "DELETE", + "id": "compute.interconnectAttachmentGroups.delete", + "parameterOrder": [ + "project", + "interconnectAttachmentGroup" + ], + "parameters": { + "interconnectAttachmentGroup": { + "description": "Name of the InterconnectAttachmentGroup resource to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified InterconnectAttachmentGroup resource in the given scope.", + "flatPath": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}", + "httpMethod": "GET", + "id": "compute.interconnectAttachmentGroups.get", + "parameterOrder": [ + "project", + "interconnectAttachmentGroup" + ], + "parameters": { + "interconnectAttachmentGroup": { + "description": "Name of the InterconnectAttachmentGroup resource to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}", + "response": { + "$ref": "InterconnectAttachmentGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "flatPath": "projects/{project}/global/interconnectAttachmentGroups/{resource}/getIamPolicy", + "httpMethod": "GET", + "id": "compute.interconnectAttachmentGroups.getIamPolicy", + "parameterOrder": [ + "project", + "resource" + ], + "parameters": { + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/interconnectAttachmentGroups/{resource}/getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a InterconnectAttachmentGroup in the specified project in the given scope using the parameters that are included in the request.", + "flatPath": "projects/{project}/global/interconnectAttachmentGroups", + "httpMethod": "POST", + "id": "compute.interconnectAttachmentGroups.insert", + "parameterOrder": [ + "project" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/global/interconnectAttachmentGroups", + "request": { + "$ref": "InterconnectAttachmentGroup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Lists the InterconnectAttachmentGroups for a project in the given scope.", + "flatPath": "projects/{project}/global/interconnectAttachmentGroups", + "httpMethod": "GET", + "id": "compute.interconnectAttachmentGroups.list", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/global/interconnectAttachmentGroups", + "response": { + "$ref": "InterconnectAttachmentGroupsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "patch": { + "description": "Patches the specified InterconnectAttachmentGroup resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", + "flatPath": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}", + "httpMethod": "PATCH", + "id": "compute.interconnectAttachmentGroups.patch", + "parameterOrder": [ + "project", + "interconnectAttachmentGroup" + ], + "parameters": { + "interconnectAttachmentGroup": { + "description": "Name of the InterconnectAttachmentGroup resource to patch.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "The list of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}", + "request": { + "$ref": "InterconnectAttachmentGroup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/global/interconnectAttachmentGroups/{resource}/setIamPolicy", + "httpMethod": "POST", + "id": "compute.interconnectAttachmentGroups.setIamPolicy", + "parameterOrder": [ + "project", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/interconnectAttachmentGroups/{resource}/setIamPolicy", + "request": { + "$ref": "GlobalSetPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/global/interconnectAttachmentGroups/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.interconnectAttachmentGroups.testIamPermissions", + "parameterOrder": [ + "project", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/interconnectAttachmentGroups/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, "interconnectAttachments": { "methods": { "aggregatedList": { @@ -15498,6 +15829,337 @@ } } }, + "interconnectGroups": { + "methods": { + "delete": { + "description": "Deletes the specified InterconnectGroup in the given scope", + "flatPath": "projects/{project}/global/interconnectGroups/{interconnectGroup}", + "httpMethod": "DELETE", + "id": "compute.interconnectGroups.delete", + "parameterOrder": [ + "project", + "interconnectGroup" + ], + "parameters": { + "interconnectGroup": { + "description": "Name of the InterconnectGroup resource to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/global/interconnectGroups/{interconnectGroup}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified InterconnectGroup resource in the given scope.", + "flatPath": "projects/{project}/global/interconnectGroups/{interconnectGroup}", + "httpMethod": "GET", + "id": "compute.interconnectGroups.get", + "parameterOrder": [ + "project", + "interconnectGroup" + ], + "parameters": { + "interconnectGroup": { + "description": "Name of the InterconnectGroup resource to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/interconnectGroups/{interconnectGroup}", + "response": { + "$ref": "InterconnectGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "flatPath": "projects/{project}/global/interconnectGroups/{resource}/getIamPolicy", + "httpMethod": "GET", + "id": "compute.interconnectGroups.getIamPolicy", + "parameterOrder": [ + "project", + "resource" + ], + "parameters": { + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/interconnectGroups/{resource}/getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a InterconnectGroup in the specified project in the given scope using the parameters that are included in the request.", + "flatPath": "projects/{project}/global/interconnectGroups", + "httpMethod": "POST", + "id": "compute.interconnectGroups.insert", + "parameterOrder": [ + "project" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/global/interconnectGroups", + "request": { + "$ref": "InterconnectGroup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Lists the InterconnectGroups for a project in the given scope.", + "flatPath": "projects/{project}/global/interconnectGroups", + "httpMethod": "GET", + "id": "compute.interconnectGroups.list", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/global/interconnectGroups", + "response": { + "$ref": "InterconnectGroupsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "patch": { + "description": "Patches the specified InterconnectGroup resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", + "flatPath": "projects/{project}/global/interconnectGroups/{interconnectGroup}", + "httpMethod": "PATCH", + "id": "compute.interconnectGroups.patch", + "parameterOrder": [ + "project", + "interconnectGroup" + ], + "parameters": { + "interconnectGroup": { + "description": "Name of the InterconnectGroup resource to patch.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "The list of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/global/interconnectGroups/{interconnectGroup}", + "request": { + "$ref": "InterconnectGroup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/global/interconnectGroups/{resource}/setIamPolicy", + "httpMethod": "POST", + "id": "compute.interconnectGroups.setIamPolicy", + "parameterOrder": [ + "project", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/interconnectGroups/{resource}/setIamPolicy", + "request": { + "$ref": "GlobalSetPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/global/interconnectGroups/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.interconnectGroups.testIamPermissions", + "parameterOrder": [ + "project", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/interconnectGroups/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, "interconnectLocations": { "methods": { "get": { @@ -29310,24 +29972,175 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/getIamPolicy", + "path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates an instant snapshot in the specified region.", + "flatPath": "projects/{project}/regions/{region}/instantSnapshots", + "httpMethod": "POST", + "id": "compute.regionInstantSnapshots.insert", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/instantSnapshots", + "request": { + "$ref": "InstantSnapshot" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Retrieves the list of InstantSnapshot resources contained within the specified region.", + "flatPath": "projects/{project}/regions/{region}/instantSnapshots", + "httpMethod": "GET", + "id": "compute.regionInstantSnapshots.list", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/regions/{region}/instantSnapshots", + "response": { + "$ref": "InstantSnapshotList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setIamPolicy", + "httpMethod": "POST", + "id": "compute.regionInstantSnapshots.setIamPolicy", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setIamPolicy", + "request": { + "$ref": "RegionSetPolicyRequest" + }, "response": { "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "insert": { - "description": "Creates an instant snapshot in the specified region.", - "flatPath": "projects/{project}/regions/{region}/instantSnapshots", + "setLabels": { + "description": "Sets the labels on a instantSnapshot in the given region. To learn more about labels, read the Labeling Resources documentation.", + "flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setLabels", "httpMethod": "POST", - "id": "compute.regionInstantSnapshots.insert", + "id": "compute.regionInstantSnapshots.setLabels", "parameterOrder": [ "project", - "region" + "region", + "resource" ], "parameters": { "project": { @@ -29338,7 +30151,7 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "The region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -29348,11 +30161,18 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/regions/{region}/instantSnapshots", + "path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setLabels", "request": { - "$ref": "InstantSnapshot" + "$ref": "RegionSetLabelsRequest" }, "response": { "$ref": "Operation" @@ -29362,39 +30182,17 @@ "https://www.googleapis.com/auth/compute" ] }, - "list": { - "description": "Retrieves the list of InstantSnapshot resources contained within the specified region.", - "flatPath": "projects/{project}/regions/{region}/instantSnapshots", - "httpMethod": "GET", - "id": "compute.regionInstantSnapshots.list", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.regionInstantSnapshots.testIamPermissions", "parameterOrder": [ "project", - "region" + "region", + "resource" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -29409,33 +30207,48 @@ "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/regions/{region}/instantSnapshots", + "path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, "response": { - "$ref": "InstantSnapshotList" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", - "flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setIamPolicy", - "httpMethod": "POST", - "id": "compute.regionInstantSnapshots.setIamPolicy", + } + } + }, + "regionMultiMigs": { + "methods": { + "delete": { + "description": "Deletes a multi-MIG in the specified project.", + "flatPath": "projects/{project}/regions/{region}/multiMigs/{multiMig}", + "httpMethod": "DELETE", + "id": "compute.regionMultiMigs.delete", "parameterOrder": [ "project", "region", - "resource" + "multiMig" ], "parameters": { + "multiMig": { + "description": "Name of the multi-MIG to delete.", + "location": "path", + "required": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -29444,41 +30257,78 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/multiMigs/{multiMig}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified multi-MIG resource.", + "flatPath": "projects/{project}/regions/{region}/multiMigs/{multiMig}", + "httpMethod": "GET", + "id": "compute.regionMultiMigs.get", + "parameterOrder": [ + "project", + "region", + "multiMig" + ], + "parameters": { + "multiMig": { + "description": "Name of the multi-MIG resource to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" } }, - "path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setIamPolicy", - "request": { - "$ref": "RegionSetPolicyRequest" - }, + "path": "projects/{project}/regions/{region}/multiMigs/{multiMig}", "response": { - "$ref": "Policy" + "$ref": "MultiMig" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "setLabels": { - "description": "Sets the labels on a instantSnapshot in the given region. To learn more about labels, read the Labeling Resources documentation.", - "flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setLabels", + "insert": { + "description": "Creates a multi-MIG in the specified project.", + "flatPath": "projects/{project}/regions/{region}/multiMigs", "httpMethod": "POST", - "id": "compute.regionInstantSnapshots.setLabels", + "id": "compute.regionMultiMigs.insert", "parameterOrder": [ "project", - "region", - "resource" + "region" ], "parameters": { "project": { @@ -29489,7 +30339,7 @@ "type": "string" }, "region": { - "description": "The region for this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -29499,18 +30349,11 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" - }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" } }, - "path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setLabels", + "path": "projects/{project}/regions/{region}/multiMigs", "request": { - "$ref": "RegionSetLabelsRequest" + "$ref": "MultiMig" }, "response": { "$ref": "Operation" @@ -29520,17 +30363,39 @@ "https://www.googleapis.com/auth/compute" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/testIamPermissions", - "httpMethod": "POST", - "id": "compute.regionInstantSnapshots.testIamPermissions", + "list": { + "description": "Retrieves a list of multi-MIGs in a project and region.", + "flatPath": "projects/{project}/regions/{region}/multiMigs", + "httpMethod": "GET", + "id": "compute.regionMultiMigs.list", "parameterOrder": [ "project", - "region", - "resource" + "region" ], "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -29539,26 +30404,21 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/testIamPermissions", - "request": { - "$ref": "TestPermissionsRequest" - }, + "path": "projects/{project}/regions/{region}/multiMigs", "response": { - "$ref": "TestPermissionsResponse" + "$ref": "MultiMigsList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -45608,7 +46468,7 @@ } } }, - "revision": "20240919", + "revision": "20241001", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -47029,6 +47889,10 @@ "format": "int32", "type": "integer" }, + "reservationMaintenance": { + "$ref": "GroupMaintenanceInfo", + "description": "Maintenance information for the group of hosts on this reservation including running VMs and unused hosts. Applicable only to accelerator optimized VM families beyond A3 only. For both DENSE or STANDARD reservation, granular maintenance information can be retried at reservation block level." + }, "specificSkuAllocation": { "$ref": "AllocationResourceStatusSpecificSKUAllocation", "description": "Allocation Properties of this reservation." @@ -47475,13 +48339,6 @@ }, "type": "array" }, - "exemptedMembers": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "type": "string" - }, - "type": "array" - }, "service": { "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", "type": "string" @@ -47500,10 +48357,6 @@ }, "type": "array" }, - "ignoreChildExemptions": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "boolean" - }, "logType": { "description": "The log type that this config enables.", "enum": [ @@ -49026,7 +49879,7 @@ "type": "number" }, "name": { - "description": "Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", + "description": "Name of a custom utilization signal. The name must be 1-24 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", "type": "string" } }, @@ -49722,7 +50575,7 @@ "type": "boolean" }, "name": { - "description": "Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", + "description": "Name of a custom utilization signal. The name must be 1-24 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", "type": "string" } }, @@ -51380,6 +52233,9 @@ "MEMORY_OPTIMIZED", "MEMORY_OPTIMIZED_M3", "MEMORY_OPTIMIZED_X4", + "MEMORY_OPTIMIZED_X4_16TB", + "MEMORY_OPTIMIZED_X4_24TB", + "MEMORY_OPTIMIZED_X4_32TB", "STORAGE_OPTIMIZED_Z3", "TYPE_UNSPECIFIED" ], @@ -51404,6 +52260,9 @@ "", "", "", + "", + "", + "", "" ], "type": "string" @@ -56143,7 +57002,7 @@ "description": "List of Projects/Folders to share with." }, "specificReservationRequired": { - "description": "Indicates whether the auto-created reservation can be consumed by VMs with affinity for \"any\" reservation. If the field is set, then only VMs that target the reservation by name can consume from the delivered reservation. If set to true,the delivered resevervation will have the same name as the future reservation.", + "description": "Indicates whether the auto-created reservation can be consumed by VMs with affinity for \"any\" reservation. If the field is set, then only VMs that target the reservation by name can consume from the delivered reservation.", "type": "boolean" }, "specificSkuProperties": { @@ -57058,6 +57917,45 @@ }, "type": "object" }, + "GroupMaintenanceInfo": { + "description": "Maintenance Info for ReservationBlocks.", + "id": "GroupMaintenanceInfo", + "properties": { + "enableOpportunisticMaintenance": { + "description": "Indicates if this group of VMs have opportunistic maintenance enabled. This will be set on the reservation, and will be inherited for reservation blocks.", + "type": "boolean" + }, + "maintenanceOngoingCount": { + "description": "Progress for ongoing maintenance for this group of VMs/hosts. Describes number of hosts in the block that have ongoing maintenance.", + "format": "int32", + "type": "integer" + }, + "maintenancePendingCount": { + "description": "Progress for ongoing maintenance for this group of VMs/hosts. Describes number of hosts in the block that have pending maintenance.", + "format": "int32", + "type": "integer" + }, + "schedulingType": { + "description": "Indicates the maintenance type for this group of VMs. This will be set on the reservation, and will be inherited for reservation blocks.", + "enum": [ + "GROUPED", + "GROUP_MAINTENANCE_TYPE_UNSPECIFIED", + "INDEPENDENT" + ], + "enumDescriptions": [ + "Synchronized maintenance. Common maintenance schedule/window is defined for this group of VMs. Not applicable for FLEXIBLE reservation", + "Unknown maintenance type.", + "Unsynchronized maintenance. These group of VMs do not share a common schedule for maintenance. Instead all VMs have individual windows of their own in which maintenance is scheduled." + ], + "type": "string" + }, + "upcomingGroupMaintenance": { + "$ref": "UpcomingMaintenance", + "description": "Maintenance information on this group of VMs." + } + }, + "type": "object" + }, "GrpcServiceConfig": { "description": "[Deprecated] gRPC config to access the SDS server. gRPC config to access the SDS server.", "id": "GrpcServiceConfig", @@ -60260,6 +61158,7 @@ "description": "[Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.", "enum": [ "DEPROVISIONING", + "PENDING_STOP", "PROVISIONING", "REPAIRING", "RUNNING", @@ -60272,6 +61171,7 @@ ], "enumDescriptions": [ "The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.", + "The instance is shutting down gracefully.", "Resources are being allocated for the instance.", "The instance is in repair.", "The instance is running.", @@ -61708,6 +62608,13 @@ "format": "uint64", "type": "string" }, + "instances": { + "description": "The list of specifications of per-instance configs to be created. This field cannot be used together with 'resize_by'.", + "items": { + "$ref": "PerInstanceConfig" + }, + "type": "array" + }, "kind": { "default": "compute#instanceGroupManagerResizeRequest", "description": "[Output Only] The resource type, which is always compute#instanceGroupManagerResizeRequest for resize requests.", @@ -64510,6 +65417,7 @@ "description": "[Output Only] The status of the instance.", "enum": [ "DEPROVISIONING", + "PENDING_STOP", "PROVISIONING", "REPAIRING", "RUNNING", @@ -64522,6 +65430,7 @@ ], "enumDescriptions": [ "The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.", + "The instance is shutting down gracefully.", "Resources are being allocated for the instance.", "The instance is in repair.", "The instance is running.", @@ -64676,6 +65585,20 @@ "InstancesReportHostAsFaultyRequest": { "id": "InstancesReportHostAsFaultyRequest", "properties": { + "actionHint": { + "description": "The action hint to report the host as faulty.", + "enum": [ + "ACTION_HINT_UNSPECIFIED", + "DIAGNOSE_AND_REPAIR", + "EXECUTE_ALL_RECOMMENDED_SCANS" + ], + "enumDescriptions": [ + "Default value. Euivalent to DIAGNOSE_AND_REPAIR.", + "The action hint to diagnose and repair the host.", + "The action hint to execute recommended scans without sending the machine through hwops." + ], + "type": "string" + }, "faultReasons": { "items": { "$ref": "InstancesReportHostAsFaultyRequestFaultReason" @@ -65750,6 +66673,13 @@ }, "type": "array" }, + "interconnectGroups": { + "description": "[Output Only] URLs of InterconnectGroups that include this Interconnect. Order is arbitrary and items are unique.", + "items": { + "type": "string" + }, + "type": "array" + }, "interconnectType": { "description": "Type of interconnect, which can take one of the following values: - PARTNER: A partner-managed interconnection shared between customers though a partner. - DEDICATED: A dedicated physical interconnection with the customer. Note that a value IT_PRIVATE has been deprecated in favor of DEDICATED.", "enum": [ @@ -65972,6 +66902,10 @@ "description": "Determines whether this Attachment will carry packets. Not present for PARTNER_PROVIDER.", "type": "boolean" }, + "attachmentGroup": { + "description": "[Output Only] URL of the AttachmentGroup that includes this Attachment.", + "type": "string" + }, "bandwidth": { "description": "Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s ", "enum": [ @@ -66453,6 +67387,433 @@ }, "type": "object" }, + "InterconnectAttachmentGroup": { + "description": "An interconnect attachment group resource allows customers to create, analyze, and expand highly available deployments.", + "id": "InterconnectAttachmentGroup", + "properties": { + "attachments": { + "additionalProperties": { + "$ref": "InterconnectAttachmentGroupAttachment" + }, + "description": "Attachments in the AttachmentGroup. Keys are arbitrary user-specified strings. Users are encouraged, but not required, to use their preferred format for resource links as keys. Note that there are add-members and remove-members methods in gcloud. The size of this map is limited by an \"Attachments per group\" quota.", + "type": "object" + }, + "configured": { + "$ref": "InterconnectAttachmentGroupConfigured" + }, + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "etag": { + "description": "Opaque system-generated token that uniquely identifies the configuration. If provided when patching a configuration in update mode, the provided token must match the current token or the update is rejected. This provides a reliable means of doing read-modify-write (optimistic locking) as described by AIP 154.", + "type": "string" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", + "format": "uint64", + "type": "string" + }, + "intent": { + "$ref": "InterconnectAttachmentGroupIntent" + }, + "interconnectGroup": { + "description": "The URL of an InterconnectGroup that groups these Attachments' Interconnects. Customers do not need to set this unless directed by Google Support.", + "type": "string" + }, + "kind": { + "default": "compute#interconnectAttachmentGroup", + "description": "[Output Only] Type of the resource. Always compute#interconnectAttachmentGroup.", + "type": "string" + }, + "logicalStructure": { + "$ref": "InterconnectAttachmentGroupLogicalStructure" + }, + "name": { + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + } + }, + "type": "object" + }, + "InterconnectAttachmentGroupAttachment": { + "description": "An Attachment in this AttachmentGroup.", + "id": "InterconnectAttachmentGroupAttachment", + "properties": { + "attachment": { + "type": "string" + } + }, + "type": "object" + }, + "InterconnectAttachmentGroupConfigured": { + "description": "[Output Only] The redundancy this group is configured to support. The way a user queries what SLA their Attachment gets is by looking at this field of the Attachment's AttachmentGroup.", + "id": "InterconnectAttachmentGroupConfigured", + "properties": { + "availabilitySla": { + "$ref": "InterconnectAttachmentGroupConfiguredAvailabilitySLA" + } + }, + "type": "object" + }, + "InterconnectAttachmentGroupConfiguredAvailabilitySLA": { + "description": "[Output Only] Which SLA this group is configured to support, and why this group does or does not meet that SLA's requirements.", + "id": "InterconnectAttachmentGroupConfiguredAvailabilitySLA", + "properties": { + "effectiveSla": { + "enum": [ + "EFFECTIVE_SLA_UNSPECIFIED", + "NO_SLA", + "PRODUCTION_CRITICAL", + "PRODUCTION_NON_CRITICAL" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "intendedSlaBlockers": { + "items": { + "$ref": "InterconnectAttachmentGroupConfiguredAvailabilitySLAIntendedSlaBlockers" + }, + "type": "array" + } + }, + "type": "object" + }, + "InterconnectAttachmentGroupConfiguredAvailabilitySLAIntendedSlaBlockers": { + "description": "[Output Only] Reasons why configuration.availabilitySLA.sla differs from intent.availabilitySLA. This list is empty if and only if those are the same.", + "id": "InterconnectAttachmentGroupConfiguredAvailabilitySLAIntendedSlaBlockers", + "properties": { + "attachments": { + "description": "[Output Only] URLs of any particular Attachments to explain this blocker in more detail.", + "items": { + "type": "string" + }, + "type": "array" + }, + "blockerType": { + "enum": [ + "BLOCKER_TYPE_UNSPECIFIED", + "INCOMPATIBLE_METROS", + "INCOMPATIBLE_REGIONS", + "MISSING_GLOBAL_ROUTING", + "NO_ATTACHMENTS", + "NO_ATTACHMENTS_IN_METRO_AND_ZONE", + "OTHER" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "documentationLink": { + "description": "[Output Only] The url of Google Cloud public documentation explaining this requirement. This is set for every type of requirement.", + "type": "string" + }, + "explanation": { + "description": "[Output Only] A human-readable explanation of this requirement and why it's not met. This is set for every type of requirement.", + "type": "string" + }, + "metros": { + "description": "[Output Only] Metros used to explain this blocker in more detail. These are three-letter lowercase strings like \"iad\". This will be set for some blockers (like NO_ATTACHMENTS_IN_METRO_AND_ZONE) but does not apply to others.", + "items": { + "type": "string" + }, + "type": "array" + }, + "zones": { + "description": "[Output Only] Zones used to explain this blocker in more detail. Format is \"zone1\" and/or \"zone2\". This will be set for some blockers (like MISSING_ZONE) but does not apply to others.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "InterconnectAttachmentGroupIntent": { + "description": "The user's intent for this AttachmentGroup. This is the only required field besides the name that must be specified on group creation.", + "id": "InterconnectAttachmentGroupIntent", + "properties": { + "availabilitySla": { + "enum": [ + "AVAILABILITY_SLA_UNSPECIFIED", + "NO_SLA", + "PRODUCTION_CRITICAL", + "PRODUCTION_NON_CRITICAL" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "InterconnectAttachmentGroupLogicalStructure": { + "description": "[Output Only] An analysis of the logical layout of Attachments in this group. Every Attachment in the group is shown once in this structure.", + "id": "InterconnectAttachmentGroupLogicalStructure", + "properties": { + "regions": { + "items": { + "$ref": "InterconnectAttachmentGroupLogicalStructureRegion" + }, + "type": "array" + } + }, + "type": "object" + }, + "InterconnectAttachmentGroupLogicalStructureRegion": { + "description": "[Output Only] The regions Attachments in this group are in.", + "id": "InterconnectAttachmentGroupLogicalStructureRegion", + "properties": { + "metros": { + "items": { + "$ref": "InterconnectAttachmentGroupLogicalStructureRegionMetro" + }, + "type": "array" + }, + "region": { + "description": "[Output Only] The name of a region, like \"us-central1\".", + "type": "string" + } + }, + "type": "object" + }, + "InterconnectAttachmentGroupLogicalStructureRegionMetro": { + "description": "[Output Only] The metros of Attachments in this group in this region.", + "id": "InterconnectAttachmentGroupLogicalStructureRegionMetro", + "properties": { + "facilities": { + "items": { + "$ref": "InterconnectAttachmentGroupLogicalStructureRegionMetroFacility" + }, + "type": "array" + }, + "metro": { + "description": "[Output Only] The name of the metro, as a three-letter lowercase string like \"iad\". This is the first component of the location of an Interconnect.", + "type": "string" + } + }, + "type": "object" + }, + "InterconnectAttachmentGroupLogicalStructureRegionMetroFacility": { + "description": "[Output Only] The facilities used for this group's Attachments' Interconnects.", + "id": "InterconnectAttachmentGroupLogicalStructureRegionMetroFacility", + "properties": { + "facility": { + "description": "[Output Only] The name of a facility, like \"iad-1234\".", + "type": "string" + }, + "zones": { + "items": { + "$ref": "InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone" + }, + "type": "array" + } + }, + "type": "object" + }, + "InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone": { + "description": "[Output Only] The zones that Attachments in this group are present in, in the given facilities. This is inherited from their Interconnects.", + "id": "InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone", + "properties": { + "attachments": { + "description": "[Output Only] URLs of Attachments in the given zone, to the given region, on Interconnects in the given facility and metro. Every Attachment in the AG has such an entry.", + "items": { + "type": "string" + }, + "type": "array" + }, + "zone": { + "description": "[Output Only] The name of a zone, either \"zone1\" or \"zone2\".", + "type": "string" + } + }, + "type": "object" + }, + "InterconnectAttachmentGroupsListResponse": { + "id": "InterconnectAttachmentGroupsListResponse", + "properties": { + "etag": { + "type": "string" + }, + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of InterconnectAttachmentGroup resources.", + "items": { + "$ref": "InterconnectAttachmentGroup" + }, + "type": "array" + }, + "kind": { + "default": "compute#interconnectAttachmentGroup", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", + "items": { + "type": "string" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "InterconnectAttachmentList": { "description": "Response to the list request, and contains a list of interconnect attachments.", "id": "InterconnectAttachmentList", @@ -66971,6 +68332,423 @@ }, "type": "object" }, + "InterconnectGroup": { + "description": "An interconnect group resource allows customers to create, analyze, and expand their redundant connections.", + "id": "InterconnectGroup", + "properties": { + "configured": { + "$ref": "InterconnectGroupConfigured" + }, + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "etag": { + "description": "Opaque system-generated token that uniquely identifies the configuration. If provided when patching a configuration in update mode, the provided token must match the current token or the update is rejected. This provides a reliable means of doing read-modify-write (optimistic locking) as described by API 154.", + "type": "string" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", + "format": "uint64", + "type": "string" + }, + "intent": { + "$ref": "InterconnectGroupIntent" + }, + "interconnects": { + "additionalProperties": { + "$ref": "InterconnectGroupInterconnect" + }, + "description": "Interconnects in the InterconnectGroup. Keys are arbitrary user-specified strings. Users are encouraged, but not required, to use their preferred format for resource links as keys. Note that there are add-members and remove-members methods in gcloud. The size of this map is limited by an \"Interconnects per group\" quota.", + "type": "object" + }, + "kind": { + "default": "compute#InterconnectGroup", + "description": "[Output Only] Type of the resource. Always compute#InterconnectGroup", + "type": "string" + }, + "name": { + "annotations": { + "required": [ + "compute.interconnectGroups.insert" + ] + }, + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "physicalStructure": { + "$ref": "InterconnectGroupPhysicalStructure" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + } + }, + "type": "object" + }, + "InterconnectGroupConfigured": { + "description": "[Output Only] The status of the group as configured. This has the same structure as the operational field reported by the OperationalStatus method, but does not take into account the operational status of each resource.", + "id": "InterconnectGroupConfigured", + "properties": { + "topologyCapability": { + "$ref": "InterconnectGroupConfiguredTopologyCapability" + } + }, + "type": "object" + }, + "InterconnectGroupConfiguredTopologyCapability": { + "description": "[Output Only] How reliable this topology is configured to be, and why this group does or does not meet the requirements for the intended capability.", + "id": "InterconnectGroupConfiguredTopologyCapability", + "properties": { + "intendedCapabilityBlockers": { + "items": { + "$ref": "InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockers" + }, + "type": "array" + }, + "supportedSla": { + "enum": [ + "NO_SLA", + "PRODUCTION_CRITICAL", + "PRODUCTION_NON_CRITICAL", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockers": { + "description": "[Output Only] Reasons why configuration.topologyCapability.sla differs from intent.topologyCapability. This list is empty if and only if those are the same.", + "id": "InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockers", + "properties": { + "blockerType": { + "enum": [ + "INCOMPATIBLE_METROS", + "NOT_AVAILABLE", + "NO_INTERCONNECTS", + "NO_INTERCONNECTS_IN_METRO_AND_ZONE", + "OTHER", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "documentationLink": { + "description": "[Output Only] The url of Google Cloud public documentation explaining this requirement. This is set for every type of requirement.", + "type": "string" + }, + "explanation": { + "description": "[Output Only] A human-readable explanation of this requirement and why it's not met. This is set for every type of requirement.", + "type": "string" + }, + "facilities": { + "description": "[Output Only] Facilities used to explain this blocker in more detail. Like physicalStructure.metros.facilities.facility, this is a numeric string like \"5467\".", + "items": { + "type": "string" + }, + "type": "array" + }, + "interconnects": { + "description": "[Output Only] Interconnects used to explain this blocker in more detail.", + "items": { + "type": "string" + }, + "type": "array" + }, + "metros": { + "description": "[Output Only] Metros used to explain this blocker in more detail. These are three-letter lowercase strings like \"iad\". A blocker like INCOMPATIBLE_METROS will specify the problematic metros in this field.", + "items": { + "type": "string" + }, + "type": "array" + }, + "zones": { + "description": "[Output Only] Zones used to explain this blocker in more detail. Zone names are \"zone1\" and/or \"zone2\".", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "InterconnectGroupIntent": { + "description": "The user's intent for this group. This is the only required field besides the name that must be specified on group creation.", + "id": "InterconnectGroupIntent", + "properties": { + "topologyCapability": { + "enum": [ + "NO_SLA", + "PRODUCTION_CRITICAL", + "PRODUCTION_NON_CRITICAL", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "InterconnectGroupInterconnect": { + "description": "An Interconnect in this InterconnectGroup.", + "id": "InterconnectGroupInterconnect", + "properties": { + "interconnect": { + "description": "The URL of an Interconnect in this group. All Interconnects in the group are unique.", + "type": "string" + } + }, + "type": "object" + }, + "InterconnectGroupPhysicalStructure": { + "description": "[Output Only] An analysis of the physical layout of Interconnects in this group. Every Interconnect in the group is shown once in this structure.", + "id": "InterconnectGroupPhysicalStructure", + "properties": { + "metros": { + "items": { + "$ref": "InterconnectGroupPhysicalStructureMetros" + }, + "type": "array" + } + }, + "type": "object" + }, + "InterconnectGroupPhysicalStructureMetros": { + "description": "[Output Only] The metros Interconnects in this group are in.", + "id": "InterconnectGroupPhysicalStructureMetros", + "properties": { + "facilities": { + "items": { + "$ref": "InterconnectGroupPhysicalStructureMetrosFacilities" + }, + "type": "array" + }, + "metro": { + "description": "[Output Only] The name of the metro, as a three-letter lowercase string like \"iad\". This is the first component of the location of Interconnects underneath this.", + "type": "string" + } + }, + "type": "object" + }, + "InterconnectGroupPhysicalStructureMetrosFacilities": { + "description": "[Output Only] The facilities Interconnects in this metro are present in.", + "id": "InterconnectGroupPhysicalStructureMetrosFacilities", + "properties": { + "facility": { + "description": "[Output Only] The ID of this facility, as a numeric string like \"5467\". This is the third component of the location of Interconnects in this facility.", + "type": "string" + }, + "zones": { + "items": { + "$ref": "InterconnectGroupPhysicalStructureMetrosFacilitiesZones" + }, + "type": "array" + } + }, + "type": "object" + }, + "InterconnectGroupPhysicalStructureMetrosFacilitiesZones": { + "description": "[Output Only] The zones that Interconnects in this facility are present in.", + "id": "InterconnectGroupPhysicalStructureMetrosFacilitiesZones", + "properties": { + "interconnects": { + "description": "[Output Only] URLs of Interconnects in this redundancy group in the given metro, facility, and zone.", + "items": { + "type": "string" + }, + "type": "array" + }, + "zone": { + "description": "[Output Only] The name of the zone, either \"zone1\" or \"zone2\". This is the second component of the location of Interconnects in this facility.", + "type": "string" + } + }, + "type": "object" + }, + "InterconnectGroupsListResponse": { + "id": "InterconnectGroupsListResponse", + "properties": { + "etag": { + "type": "string" + }, + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of InterconnectGroup resources.", + "items": { + "$ref": "InterconnectGroup" + }, + "type": "array" + }, + "kind": { + "default": "compute#InterconnectGroup", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", + "items": { + "type": "string" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "InterconnectList": { "description": "Response to the list request, and contains a list of interconnects.", "id": "InterconnectList", @@ -70054,6 +71832,7 @@ "description": "[Output Only] The status of the instance. This field is empty when the instance does not exist.", "enum": [ "DEPROVISIONING", + "PENDING_STOP", "PROVISIONING", "REPAIRING", "RUNNING", @@ -70066,6 +71845,7 @@ ], "enumDescriptions": [ "The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.", + "The instance is shutting down gracefully.", "Resources are being allocated for the instance.", "The instance is in repair.", "The instance is running.", @@ -70467,6 +72247,301 @@ }, "type": "object" }, + "MultiMig": { + "description": "Multi-MIG represents a group of managed instance groups.", + "id": "MultiMig", + "properties": { + "creationTimestamp": { + "description": "[Output only] The creation timestamp of this multi-MIG in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource.", + "type": "string" + }, + "id": { + "description": "[Output only] The unique identifier for this resource type. The server generates this identifier.", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "compute#multiMig", + "description": "[Output only] Type of the resource. Always compute#multiMig for multi-MIGs.", + "type": "string" + }, + "locationPolicy": { + "$ref": "MultiMigLocationPolicy" + }, + "name": { + "description": "The name of the multi-MIG. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "parts": { + "additionalProperties": { + "$ref": "MultiMigPart" + }, + "description": "Map of user-provided names associated with their parts. Keys in the map are arbitrary names chosen by the user for parts. Keys need to be alphanumeric and not longer than 64 characters.", + "type": "object" + }, + "region": { + "description": "[Output only] The URL of the region where the resource resides. You must specify this field as part of the HTTP request URL. You cannot set the region as a field in the request body.", + "type": "string" + }, + "resourcePolicies": { + "$ref": "MultiMigResourcePolicies", + "description": "Resource policies for this multi-MIG." + }, + "schedulingPolicy": { + "$ref": "MultiMigSchedulingPolicy", + "description": "Policy for handling provisioning and other scheduling-related events." + }, + "selfLink": { + "description": "[Output only] Server-defined URL for the resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output only] Server-defined URL for this resource with the resource id.", + "type": "string" + }, + "status": { + "$ref": "MultiMigStatus" + } + }, + "type": "object" + }, + "MultiMigLocationPolicy": { + "description": "Policy regarding where to create managed instance groups. Initially only zonal managed instance groups in the same zone are supported.", + "id": "MultiMigLocationPolicy", + "properties": { + "provisioningZones": { + "description": "List of zones where managed instance groups will be provisioned. Should be valid RFC1035 name.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "MultiMigPart": { + "description": "Part represents a single managed instance group, either as a reference to an existing one or as a structure containing properties necessary to create one. A multi-MIG can contain zero or more parts.", + "id": "MultiMigPart", + "properties": { + "instanceGroupManager": { + "description": "The URL of a managed instance group that you want to attach to the multi-MIG.", + "type": "string" + }, + "instanceGroupManagerProperties": { + "$ref": "InstanceGroupManager", + "description": "A managed instance group to be created by the multi-MIG." + } + }, + "type": "object" + }, + "MultiMigResourcePolicies": { + "description": "Resource policies message for a multi-MIG. Represents low level machine cluster behavior in several dimensions, all of which depend on the machine family and fleet.", + "id": "MultiMigResourcePolicies", + "properties": { + "workloadPolicy": { + "description": "The URL of the workload policy that is specified for this multi-MIG. It can be a full or partial URL. For example, the following are all valid URLs to a workload policy: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy ", + "type": "string" + } + }, + "type": "object" + }, + "MultiMigSchedulingPolicy": { + "description": "Policy for handling provisioning and other scheduling-related events.", + "id": "MultiMigSchedulingPolicy", + "properties": { + "provisioning": { + "description": "How provisioning of parts (instance group managers) should be scheduled (coordinated or not).", + "enum": [ + "ANY", + "COOORDINATED" + ], + "enumDescriptions": [ + "Allows idependent lifecycles of parts.", + "Requires all parts at the same time." + ], + "type": "string" + } + }, + "type": "object" + }, + "MultiMigStatus": { + "id": "MultiMigStatus", + "properties": { + "memberInstanceGroupManagers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "MultiMigsList": { + "id": "MultiMigsList", + "properties": { + "etag": { + "type": "string" + }, + "id": { + "description": "Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of multi-MIG resources.", + "items": { + "$ref": "MultiMig" + }, + "type": "array" + }, + "kind": { + "default": "compute#multiMigList", + "description": "Type of resource.", + "type": "string" + }, + "nextPageToken": { + "description": "This token allows you to get the next page of results for maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output only] Unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" + }, + "warning": { + "description": "Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "MutualTls": { "description": "[Deprecated] Configuration for the mutual Tls mode for peer authentication. Configuration for the mutual Tls mode for peer authentication.", "id": "MutualTls", @@ -72758,7 +74833,7 @@ ], "enumDescriptions": [ "The network interface can have both IPv4 and IPv6 addresses.", - "The network interface will be assigned IPv4 address.", + "The network interface will only be assigned IPv4 addresses.", "The network interface will only be assigned IPv6 addresses." ], "type": "string" @@ -73403,18 +75478,6 @@ }, "type": "array" }, - "multicast": { - "description": "Specifies which type of multicast is supported.", - "enum": [ - "MULTICAST_SDN", - "MULTICAST_ULL" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, "unicast": { "description": "Specifies which type of unicast is supported.", "enum": [ @@ -76455,7 +78518,7 @@ "type": "string" }, "targetLink": { - "description": "[Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from.", + "description": "[Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the disk that the snapshot was created from.", "type": "string" }, "user": { @@ -78915,11 +80978,13 @@ "description": "The public delegated prefix mode for IPv6 only.", "enum": [ "DELEGATION", - "EXTERNAL_IPV6_FORWARDING_RULE_CREATION" + "EXTERNAL_IPV6_FORWARDING_RULE_CREATION", + "EXTERNAL_IPV6_SUBNETWORK_CREATION" ], "enumDescriptions": [ "The public delegated prefix is used for further sub-delegation only. Such prefixes cannot set allocatablePrefixLength.", - "The public delegated prefix is used for creating forwarding rules only. Such prefixes cannot set publicDelegatedSubPrefixes." + "The public delegated prefix is used for creating forwarding rules only. Such prefixes cannot set publicDelegatedSubPrefixes.", + "The public delegated prefix is used for creating dual-mode subnetworks only. Such prefixes cannot set publicDelegatedSubPrefixes." ], "type": "string" }, @@ -79318,11 +81383,13 @@ "description": "The PublicDelegatedSubPrefix mode for IPv6 only.", "enum": [ "DELEGATION", - "EXTERNAL_IPV6_FORWARDING_RULE_CREATION" + "EXTERNAL_IPV6_FORWARDING_RULE_CREATION", + "EXTERNAL_IPV6_SUBNETWORK_CREATION" ], "enumDescriptions": [ "The public delegated prefix is used for further sub-delegation only. Such prefixes cannot set allocatablePrefixLength.", - "The public delegated prefix is used for creating forwarding rules only. Such prefixes cannot set publicDelegatedSubPrefixes." + "The public delegated prefix is used for creating forwarding rules only. Such prefixes cannot set publicDelegatedSubPrefixes.", + "The public delegated prefix is used for creating dual-mode subnetworks only. Such prefixes cannot set publicDelegatedSubPrefixes." ], "type": "string" }, @@ -82922,6 +84989,7 @@ "type": "integer" }, "kind": { + "default": "compute#reservationBlock", "description": "[Output Only] Type of the resource. Always compute#reservationBlock for reservation blocks.", "type": "string" }, @@ -82933,6 +85001,10 @@ "description": "[Output Only] The name of this reservation block generated by Google Compute Engine. The name must be 1-63 characters long, and comply with RFC1035 @pattern [a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "reservationMaintenance": { + "$ref": "GroupMaintenanceInfo", + "description": "[Output Only] Maintenance information for the group of hosts on this reservation including running VMs and unused hosts. Applicable only to accelerator optimized VM families beyond A3 only. For both DENSE or STANDARD reservation, granular maintenance information can be retried at reservation block level." + }, "selfLink": { "description": "[Output Only] Server-defined fully-qualified URL for this resource.", "type": "string" @@ -84386,6 +86458,13 @@ "description": "Contains output only fields. Use this sub-message for actual values set on Instance attributes as compared to the value requested by the user (intent) in their instance CRUD calls.", "id": "ResourceStatus", "properties": { + "acceleratorStatus": { + "description": "[Output Only] Accelerators status show results of GPU scans. These scans are specialized diagnostic tests designed to uncover latent manufacturing defects or other issues that could potentially lead to data corruption or impede the customer's ability to efficiently execute GPU workloads.", + "items": { + "$ref": "ResourceStatusAcceleratorStatus" + }, + "type": "array" + }, "lastInstanceTerminationDetails": { "$ref": "ResourceStatusLastInstanceTerminationDetails", "description": "[Output Only] Contains last termination details why the instance was terminated." @@ -84414,6 +86493,70 @@ }, "type": "object" }, + "ResourceStatusAcceleratorStatus": { + "description": "The status of an individual accelerator resource.", + "id": "ResourceStatusAcceleratorStatus", + "properties": { + "passedScans": { + "description": "The details of scans that passed for an accelerator.", + "items": { + "$ref": "ResourceStatusAcceleratorStatusPassedScan" + }, + "type": "array" + }, + "recommendedScans": { + "description": "The details of recommended scans for an accelerator.", + "items": { + "$ref": "ResourceStatusAcceleratorStatusRecommendedScan" + }, + "type": "array" + }, + "serialNumber": { + "description": "The serial number of the accelerator.", + "type": "string" + }, + "uuid": { + "description": "The UUID of the accelerator.", + "type": "string" + } + }, + "type": "object" + }, + "ResourceStatusAcceleratorStatusPassedScan": { + "id": "ResourceStatusAcceleratorStatusPassedScan", + "properties": { + "endTime": { + "description": "The end time of the passed scan in RFC3339 text format.", + "type": "string" + }, + "name": { + "type": "string" + }, + "startTime": { + "description": "The start time of the passed scan in RFC3339 text format.", + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "ResourceStatusAcceleratorStatusRecommendedScan": { + "id": "ResourceStatusAcceleratorStatusRecommendedScan", + "properties": { + "estimatedDuration": { + "$ref": "Duration" + }, + "name": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, "ResourceStatusLastInstanceTerminationDetails": { "id": "ResourceStatusLastInstanceTerminationDetails", "properties": { @@ -85200,6 +87343,10 @@ }, "type": "array" }, + "nccGateway": { + "description": "URI of the ncc_gateway to which this router associated.", + "type": "string" + }, "network": { "annotations": { "required": [ @@ -94234,6 +96381,10 @@ "description": "The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange.", "type": "string" }, + "ipCollection": { + "description": "Reference to the source of IP, like a PublicDelegatedPrefix (PDP) for BYOIP. The PDP must be a sub-PDP in EXTERNAL_IPV6_SUBNETWORK_CREATION mode. Use one of the following formats to specify a sub-PDP when creating a dual stack subnetwork with external access using BYOIP: - Full resource URL, as in https://www.googleapis.com/compute/v1/projects/projectId/regions/region /publicDelegatedPrefixes/sub-pdp-name - Partial URL, as in - projects/projectId/regions/region/publicDelegatedPrefixes/ sub-pdp-name - regions/region/publicDelegatedPrefixes/sub-pdp-name ", + "type": "string" + }, "ipv6AccessType": { "description": "The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack.", "enum": [ @@ -94250,6 +96401,18 @@ "description": "[Output Only] This field is for internal use.", "type": "string" }, + "ipv6GceEndpoint": { + "description": "[Output Only] Possible endpoints of this subnetwork. It can be one of the following: - VM_ONLY: The subnetwork can be used for creating instances and IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6 ranges from a public delegated prefix and cannot be used to create NetLb. - VM_AND_FR: The subnetwork can be used for creating both VM instances and Forwarding Rules. It can also be used to reserve IPv6 addresses with both VM and FR endpoint types. Such a subnetwork gets its IPv6 range from Google IP Pool directly. ", + "enum": [ + "VM_AND_FR", + "VM_ONLY" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, "kind": { "default": "compute#subnetwork", "description": "[Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources.", @@ -94306,7 +96469,7 @@ "CUSTOM_HARDWARE_LINK", "GLOBAL_MANAGED_PROXY", "INTERNAL_HTTPS_LOAD_BALANCER", - "MIGRATION", + "PEER_MIGRATION", "PRIVATE", "PRIVATE_NAT", "PRIVATE_RFC_1918", @@ -94319,7 +96482,7 @@ "Subnetwork used for Custom Hardware Link.", "Subnet reserved for Global Envoy-based Load Balancing.", "Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy purpose, please use REGIONAL_MANAGED_PROXY instead.", - "Subnetwork will be used for Migration (a transient state of subnetwork while migrating resources from one project to another).", + "Subnetwork will be used for Migration from one peered VPC to another. (a transient state of subnetwork while migrating resources from one project to another).", "Regular user created or automatically created subnet.", "Subnetwork used as source range for Private NAT Gateways.", "Regular user created or automatically created subnet.", @@ -99241,7 +101404,7 @@ "type": "object" }, "UrlMap": { - "description": "Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/docs/reference/rest/alpha/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts.", + "description": "Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/docs/reference/rest/alpha/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL, EXTERNAL_MANAGED, or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts.", "id": "UrlMap", "properties": { "creationTimestamp": { @@ -99963,7 +102126,7 @@ "CUSTOM_HARDWARE_LINK", "GLOBAL_MANAGED_PROXY", "INTERNAL_HTTPS_LOAD_BALANCER", - "MIGRATION", + "PEER_MIGRATION", "PRIVATE", "PRIVATE_NAT", "PRIVATE_RFC_1918", @@ -99976,7 +102139,7 @@ "Subnetwork used for Custom Hardware Link.", "Subnet reserved for Global Envoy-based Load Balancing.", "Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy purpose, please use REGIONAL_MANAGED_PROXY instead.", - "Subnetwork will be used for Migration (a transient state of subnetwork while migrating resources from one project to another).", + "Subnetwork will be used for Migration from one peered VPC to another. (a transient state of subnetwork while migrating resources from one project to another).", "Regular user created or automatically created subnet.", "Subnetwork used as source range for Private NAT Gateways.", "Regular user created or automatically created subnet.", diff --git a/Src/Generated/Google.Apis.Compute.alpha/Google.Apis.Compute.alpha.cs b/Src/Generated/Google.Apis.Compute.alpha/Google.Apis.Compute.alpha.cs index 7043fbaeba..97fb0ad969 100644 --- a/Src/Generated/Google.Apis.Compute.alpha/Google.Apis.Compute.alpha.cs +++ b/Src/Generated/Google.Apis.Compute.alpha/Google.Apis.Compute.alpha.cs @@ -66,7 +66,9 @@ public ComputeService(Google.Apis.Services.BaseClientService.Initializer initial Instances = new InstancesResource(this); InstantSnapshotGroups = new InstantSnapshotGroupsResource(this); InstantSnapshots = new InstantSnapshotsResource(this); + InterconnectAttachmentGroups = new InterconnectAttachmentGroupsResource(this); InterconnectAttachments = new InterconnectAttachmentsResource(this); + InterconnectGroups = new InterconnectGroupsResource(this); InterconnectLocations = new InterconnectLocationsResource(this); InterconnectRemoteLocations = new InterconnectRemoteLocationsResource(this); Interconnects = new InterconnectsResource(this); @@ -103,6 +105,7 @@ public ComputeService(Google.Apis.Services.BaseClientService.Initializer initial RegionInstances = new RegionInstancesResource(this); RegionInstantSnapshotGroups = new RegionInstantSnapshotGroupsResource(this); RegionInstantSnapshots = new RegionInstantSnapshotsResource(this); + RegionMultiMigs = new RegionMultiMigsResource(this); RegionNetworkEndpointGroups = new RegionNetworkEndpointGroupsResource(this); RegionNetworkFirewallPolicies = new RegionNetworkFirewallPoliciesResource(this); RegionNotificationEndpoints = new RegionNotificationEndpointsResource(this); @@ -318,9 +321,15 @@ public static class ScopeConstants /// Gets the InstantSnapshots resource. public virtual InstantSnapshotsResource InstantSnapshots { get; } + /// Gets the InterconnectAttachmentGroups resource. + public virtual InterconnectAttachmentGroupsResource InterconnectAttachmentGroups { get; } + /// Gets the InterconnectAttachments resource. public virtual InterconnectAttachmentsResource InterconnectAttachments { get; } + /// Gets the InterconnectGroups resource. + public virtual InterconnectGroupsResource InterconnectGroups { get; } + /// Gets the InterconnectLocations resource. public virtual InterconnectLocationsResource InterconnectLocations { get; } @@ -429,6 +438,9 @@ public static class ScopeConstants /// Gets the RegionInstantSnapshots resource. public virtual RegionInstantSnapshotsResource RegionInstantSnapshots { get; } + /// Gets the RegionMultiMigs resource. + public virtual RegionMultiMigsResource RegionMultiMigs { get; } + /// Gets the RegionNetworkEndpointGroups resource. public virtual RegionNetworkEndpointGroupsResource RegionNetworkEndpointGroups { get; } @@ -34207,38 +34219,745 @@ protected override void InitParameters() } } - /// The "interconnectAttachments" collection of methods. - public class InterconnectAttachmentsResource + /// The "interconnectAttachmentGroups" collection of methods. + public class InterconnectAttachmentGroupsResource { - private const string Resource = "interconnectAttachments"; + private const string Resource = "interconnectAttachmentGroups"; /// The service which this resource belongs to. private readonly Google.Apis.Services.IClientService service; /// Constructs a new resource. - public InterconnectAttachmentsResource(Google.Apis.Services.IClientService service) + public InterconnectAttachmentGroupsResource(Google.Apis.Services.IClientService service) { this.service = service; } + /// Deletes the specified InterconnectAttachmentGroup in the given scope + /// Project ID for this request. + /// + /// Name of the InterconnectAttachmentGroup resource to delete. + /// + public virtual DeleteRequest Delete(string project, string interconnectAttachmentGroup) + { + return new DeleteRequest(this.service, project, interconnectAttachmentGroup); + } + + /// Deletes the specified InterconnectAttachmentGroup in the given scope + public class DeleteRequest : ComputeBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string project, string interconnectAttachmentGroup) : base(service) + { + Project = project; + InterconnectAttachmentGroup = interconnectAttachmentGroup; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name of the InterconnectAttachmentGroup resource to delete. + [Google.Apis.Util.RequestParameterAttribute("interconnectAttachmentGroup", Google.Apis.Util.RequestParameterType.Path)] + public virtual string InterconnectAttachmentGroup { get; private set; } + + /// + /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your + /// request, the server will know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request times out. If you make the + /// request again with the same request ID, the server can check if original operation with the same request + /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is + /// not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder + /// + [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 => "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("interconnectAttachmentGroup", new Google.Apis.Discovery.Parameter + { + Name = "interconnectAttachmentGroup", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + }); + RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter + { + Name = "requestId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Returns the specified InterconnectAttachmentGroup resource in the given scope. + /// Project ID for this request. + /// + /// Name of the InterconnectAttachmentGroup resource to return. + /// + public virtual GetRequest Get(string project, string interconnectAttachmentGroup) + { + return new GetRequest(this.service, project, interconnectAttachmentGroup); + } + + /// Returns the specified InterconnectAttachmentGroup resource in the given scope. + public class GetRequest : ComputeBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string project, string interconnectAttachmentGroup) : base(service) + { + Project = project; + InterconnectAttachmentGroup = interconnectAttachmentGroup; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name of the InterconnectAttachmentGroup resource to return. + [Google.Apis.Util.RequestParameterAttribute("interconnectAttachmentGroup", Google.Apis.Util.RequestParameterType.Path)] + public virtual string InterconnectAttachmentGroup { 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 => "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("interconnectAttachmentGroup", new Google.Apis.Discovery.Parameter + { + Name = "interconnectAttachmentGroup", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + }); + } + } + /// - /// Retrieves an aggregated list of interconnect attachments. To prevent failure, Google recommends that you set - /// the `returnPartialSuccess` parameter to `true`. + /// Gets the access control policy for a resource. May be empty if no such policy or resource exists. /// /// Project ID for this request. - public virtual AggregatedListRequest AggregatedList(string project) + /// Name or id of the resource for this request. + public virtual GetIamPolicyRequest GetIamPolicy(string project, string resource) { - return new AggregatedListRequest(this.service, project); + return new GetIamPolicyRequest(this.service, project, resource); } /// - /// Retrieves an aggregated list of interconnect attachments. To prevent failure, Google recommends that you set - /// the `returnPartialSuccess` parameter to `true`. + /// Gets the access control policy for a resource. May be empty if no such policy or resource exists. /// - public class AggregatedListRequest : ComputeBaseServiceRequest + public class GetIamPolicyRequest : ComputeBaseServiceRequest { - /// Constructs a new AggregatedList request. - public AggregatedListRequest(Google.Apis.Services.IClientService service, string project) : base(service) + /// Constructs a new GetIamPolicy request. + public GetIamPolicyRequest(Google.Apis.Services.IClientService service, string project, string resource) : base(service) + { + Project = project; + Resource = resource; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name or id of the resource for this request. + [Google.Apis.Util.RequestParameterAttribute("resource", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Resource { get; private set; } + + /// Requested IAM Policy version. + [Google.Apis.Util.RequestParameterAttribute("optionsRequestedPolicyVersion", 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 => "GET"; + + /// Gets the REST path. + public override string RestPath => "projects/{project}/global/interconnectAttachmentGroups/{resource}/getIamPolicy"; + + /// Initializes GetIamPolicy parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter + { + Name = "resource", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + }); + RequestParameters.Add("optionsRequestedPolicyVersion", new Google.Apis.Discovery.Parameter + { + Name = "optionsRequestedPolicyVersion", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Creates a InterconnectAttachmentGroup in the specified project in the given scope using the parameters that + /// are included in the request. + /// + /// The body of the request. + /// Project ID for this request. + public virtual InsertRequest Insert(Google.Apis.Compute.alpha.Data.InterconnectAttachmentGroup body, string project) + { + return new InsertRequest(this.service, body, project); + } + + /// + /// Creates a InterconnectAttachmentGroup in the specified project in the given scope using the parameters that + /// are included in the request. + /// + public class InsertRequest : ComputeBaseServiceRequest + { + /// Constructs a new Insert request. + public InsertRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.alpha.Data.InterconnectAttachmentGroup body, string project) : base(service) + { + Project = project; + Body = body; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// + /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your + /// request, the server will know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request times out. If you make the + /// request again with the same request ID, the server can check if original operation with the same request + /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is + /// not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder + /// + [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.Compute.alpha.Data.InterconnectAttachmentGroup Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "insert"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "projects/{project}/global/interconnectAttachmentGroups"; + + /// Initializes Insert parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter + { + Name = "requestId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Lists the InterconnectAttachmentGroups for a project in the given scope. + /// Project ID for this request. + public virtual ListRequest List(string project) + { + return new ListRequest(this.service, project); + } + + /// Lists the InterconnectAttachmentGroups for a project in the given scope. + public class ListRequest : ComputeBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string project) : base(service) + { + Project = project; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// + /// A filter expression that filters resources listed in the response. Most Compute resources support two + /// types of filter expressions: expressions that support regular expressions and expressions that follow + /// API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. + /// If you want to use AIP-160, your expression must specify the field name, an operator, and the value that + /// you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be + /// either `=`, `!=`, `&gt;`, `&lt;`, `&lt;=`, `&gt;=` or `:`. For example, if you are + /// filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying + /// `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For + /// example, to find all objects with `owner` label use: + /// ``` + /// labels.owner:* + /// ``` + /// You can also filter nested + /// fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only + /// if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based + /// on resource labels. To filter on multiple expressions, provide each separate expression within + /// parentheses. For example: + /// ``` + /// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") + /// ``` + /// By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions + /// explicitly. For example: + /// ``` + /// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND + /// (scheduling.automaticRestart = true) + /// ``` + /// If you want to use a regular expression, use the `eq` (equal) + /// or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or + /// against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq + /// 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne + /// "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. + /// The literal value must match the entire field. For example, to filter for instances that do not end with + /// name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields + /// using regular expressions. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// The maximum number of results per page that should be returned. If the number of available results is + /// larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page + /// of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + /// + [Google.Apis.Util.RequestParameterAttribute("maxResults", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable MaxResults { get; set; } + + /// + /// Sorts list results by a certain order. By default, results are returned in alphanumerical order based on + /// the resource name. You can also sort results in descending order based on the creation timestamp using + /// `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse + /// chronological order (newest result first). Use this to sort resources like operations so that the newest + /// operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list + /// request to get the next page of results. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// + /// Opt-in for partial success behavior which provides partial results in case of failure. The default value + /// is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope + /// either returns all resources in the zone or no resources, with an error code. + /// + [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"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "projects/{project}/global/interconnectAttachmentGroups"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("maxResults", new Google.Apis.Discovery.Parameter + { + Name = "maxResults", + IsRequired = false, + ParameterType = "query", + DefaultValue = "500", + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + 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, + }); + RequestParameters.Add("returnPartialSuccess", new Google.Apis.Discovery.Parameter + { + Name = "returnPartialSuccess", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Patches the specified InterconnectAttachmentGroup resource with the data included in the request. This + /// method supports PATCH semantics and uses JSON merge patch format and processing rules. + /// + /// The body of the request. + /// Project ID for this request. + /// Name of the InterconnectAttachmentGroup resource to patch. + public virtual PatchRequest Patch(Google.Apis.Compute.alpha.Data.InterconnectAttachmentGroup body, string project, string interconnectAttachmentGroup) + { + return new PatchRequest(this.service, body, project, interconnectAttachmentGroup); + } + + /// + /// Patches the specified InterconnectAttachmentGroup resource with the data included in the request. This + /// method supports PATCH semantics and uses JSON merge patch format and processing rules. + /// + public class PatchRequest : ComputeBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.alpha.Data.InterconnectAttachmentGroup body, string project, string interconnectAttachmentGroup) : base(service) + { + Project = project; + InterconnectAttachmentGroup = interconnectAttachmentGroup; + Body = body; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name of the InterconnectAttachmentGroup resource to patch. + [Google.Apis.Util.RequestParameterAttribute("interconnectAttachmentGroup", Google.Apis.Util.RequestParameterType.Path)] + public virtual string InterconnectAttachmentGroup { get; private set; } + + /// + /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your + /// request, the server will know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request times out. If you make the + /// request again with the same request ID, the server can check if original operation with the same request + /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is + /// not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder + /// + [Google.Apis.Util.RequestParameterAttribute("requestId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string RequestId { get; set; } + + /// 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.Compute.alpha.Data.InterconnectAttachmentGroup 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 => "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}"; + + /// Initializes Patch parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("interconnectAttachmentGroup", new Google.Apis.Discovery.Parameter + { + Name = "interconnectAttachmentGroup", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + }); + RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter + { + Name = "requestId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + 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. + /// The body of the request. + /// Project ID for this request. + /// Name or id of the resource for this request. + public virtual SetIamPolicyRequest SetIamPolicy(Google.Apis.Compute.alpha.Data.GlobalSetPolicyRequest body, string project, string resource) + { + return new SetIamPolicyRequest(this.service, body, project, resource); + } + + /// Sets the access control policy on the specified resource. Replaces any existing policy. + public class SetIamPolicyRequest : ComputeBaseServiceRequest + { + /// Constructs a new SetIamPolicy request. + public SetIamPolicyRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.alpha.Data.GlobalSetPolicyRequest body, string project, string resource) : base(service) + { + Project = project; + Resource = resource; + Body = body; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name or id of the resource for this request. + [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.Compute.alpha.Data.GlobalSetPolicyRequest 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 => "projects/{project}/global/interconnectAttachmentGroups/{resource}/setIamPolicy"; + + /// Initializes SetIamPolicy parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter + { + Name = "resource", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + }); + } + } + + /// Returns permissions that a caller has on the specified resource. + /// The body of the request. + /// Project ID for this request. + /// Name or id of the resource for this request. + public virtual TestIamPermissionsRequest TestIamPermissions(Google.Apis.Compute.alpha.Data.TestPermissionsRequest body, string project, string resource) + { + return new TestIamPermissionsRequest(this.service, body, project, resource); + } + + /// Returns permissions that a caller has on the specified resource. + public class TestIamPermissionsRequest : ComputeBaseServiceRequest + { + /// Constructs a new TestIamPermissions request. + public TestIamPermissionsRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.alpha.Data.TestPermissionsRequest body, string project, string resource) : base(service) + { + Project = project; + Resource = resource; + Body = body; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name or id of the resource for this request. + [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.Compute.alpha.Data.TestPermissionsRequest 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 => "projects/{project}/global/interconnectAttachmentGroups/{resource}/testIamPermissions"; + + /// Initializes TestIamPermissions parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter + { + Name = "resource", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + }); + } + } + } + + /// The "interconnectAttachments" collection of methods. + public class InterconnectAttachmentsResource + { + private const string Resource = "interconnectAttachments"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public InterconnectAttachmentsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// Retrieves an aggregated list of interconnect attachments. To prevent failure, Google recommends that you set + /// the `returnPartialSuccess` parameter to `true`. + /// + /// Project ID for this request. + public virtual AggregatedListRequest AggregatedList(string project) + { + return new AggregatedListRequest(this.service, project); + } + + /// + /// Retrieves an aggregated list of interconnect attachments. To prevent failure, Google recommends that you set + /// the `returnPartialSuccess` parameter to `true`. + /// + public class AggregatedListRequest : ComputeBaseServiceRequest + { + /// Constructs a new AggregatedList request. + public AggregatedListRequest(Google.Apis.Services.IClientService service, string project) : base(service) { Project = project; InitParameters(); @@ -35323,6 +36042,709 @@ protected override void InitParameters() } } + /// The "interconnectGroups" collection of methods. + public class InterconnectGroupsResource + { + private const string Resource = "interconnectGroups"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public InterconnectGroupsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Deletes the specified InterconnectGroup in the given scope + /// Project ID for this request. + /// Name of the InterconnectGroup resource to delete. + public virtual DeleteRequest Delete(string project, string interconnectGroup) + { + return new DeleteRequest(this.service, project, interconnectGroup); + } + + /// Deletes the specified InterconnectGroup in the given scope + public class DeleteRequest : ComputeBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string project, string interconnectGroup) : base(service) + { + Project = project; + InterconnectGroup = interconnectGroup; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name of the InterconnectGroup resource to delete. + [Google.Apis.Util.RequestParameterAttribute("interconnectGroup", Google.Apis.Util.RequestParameterType.Path)] + public virtual string InterconnectGroup { get; private set; } + + /// + /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your + /// request, the server will know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request times out. If you make the + /// request again with the same request ID, the server can check if original operation with the same request + /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is + /// not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder + /// + [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 => "projects/{project}/global/interconnectGroups/{interconnectGroup}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("interconnectGroup", new Google.Apis.Discovery.Parameter + { + Name = "interconnectGroup", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + }); + RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter + { + Name = "requestId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Returns the specified InterconnectGroup resource in the given scope. + /// Project ID for this request. + /// Name of the InterconnectGroup resource to return. + public virtual GetRequest Get(string project, string interconnectGroup) + { + return new GetRequest(this.service, project, interconnectGroup); + } + + /// Returns the specified InterconnectGroup resource in the given scope. + public class GetRequest : ComputeBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string project, string interconnectGroup) : base(service) + { + Project = project; + InterconnectGroup = interconnectGroup; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name of the InterconnectGroup resource to return. + [Google.Apis.Util.RequestParameterAttribute("interconnectGroup", Google.Apis.Util.RequestParameterType.Path)] + public virtual string InterconnectGroup { 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 => "projects/{project}/global/interconnectGroups/{interconnectGroup}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("interconnectGroup", new Google.Apis.Discovery.Parameter + { + Name = "interconnectGroup", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + }); + } + } + + /// + /// Gets the access control policy for a resource. May be empty if no such policy or resource exists. + /// + /// Project ID for this request. + /// Name or id of the resource for this request. + public virtual GetIamPolicyRequest GetIamPolicy(string project, string resource) + { + return new GetIamPolicyRequest(this.service, project, resource); + } + + /// + /// Gets the access control policy for a resource. May be empty if no such policy or resource exists. + /// + public class GetIamPolicyRequest : ComputeBaseServiceRequest + { + /// Constructs a new GetIamPolicy request. + public GetIamPolicyRequest(Google.Apis.Services.IClientService service, string project, string resource) : base(service) + { + Project = project; + Resource = resource; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name or id of the resource for this request. + [Google.Apis.Util.RequestParameterAttribute("resource", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Resource { get; private set; } + + /// Requested IAM Policy version. + [Google.Apis.Util.RequestParameterAttribute("optionsRequestedPolicyVersion", 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 => "GET"; + + /// Gets the REST path. + public override string RestPath => "projects/{project}/global/interconnectGroups/{resource}/getIamPolicy"; + + /// Initializes GetIamPolicy parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter + { + Name = "resource", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + }); + RequestParameters.Add("optionsRequestedPolicyVersion", new Google.Apis.Discovery.Parameter + { + Name = "optionsRequestedPolicyVersion", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Creates a InterconnectGroup in the specified project in the given scope using the parameters that are + /// included in the request. + /// + /// The body of the request. + /// Project ID for this request. + public virtual InsertRequest Insert(Google.Apis.Compute.alpha.Data.InterconnectGroup body, string project) + { + return new InsertRequest(this.service, body, project); + } + + /// + /// Creates a InterconnectGroup in the specified project in the given scope using the parameters that are + /// included in the request. + /// + public class InsertRequest : ComputeBaseServiceRequest + { + /// Constructs a new Insert request. + public InsertRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.alpha.Data.InterconnectGroup body, string project) : base(service) + { + Project = project; + Body = body; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// + /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your + /// request, the server will know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request times out. If you make the + /// request again with the same request ID, the server can check if original operation with the same request + /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is + /// not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder + /// + [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.Compute.alpha.Data.InterconnectGroup Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "insert"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "projects/{project}/global/interconnectGroups"; + + /// Initializes Insert parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter + { + Name = "requestId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Lists the InterconnectGroups for a project in the given scope. + /// Project ID for this request. + public virtual ListRequest List(string project) + { + return new ListRequest(this.service, project); + } + + /// Lists the InterconnectGroups for a project in the given scope. + public class ListRequest : ComputeBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string project) : base(service) + { + Project = project; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// + /// A filter expression that filters resources listed in the response. Most Compute resources support two + /// types of filter expressions: expressions that support regular expressions and expressions that follow + /// API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. + /// If you want to use AIP-160, your expression must specify the field name, an operator, and the value that + /// you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be + /// either `=`, `!=`, `&gt;`, `&lt;`, `&lt;=`, `&gt;=` or `:`. For example, if you are + /// filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying + /// `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For + /// example, to find all objects with `owner` label use: + /// ``` + /// labels.owner:* + /// ``` + /// You can also filter nested + /// fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only + /// if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based + /// on resource labels. To filter on multiple expressions, provide each separate expression within + /// parentheses. For example: + /// ``` + /// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") + /// ``` + /// By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions + /// explicitly. For example: + /// ``` + /// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND + /// (scheduling.automaticRestart = true) + /// ``` + /// If you want to use a regular expression, use the `eq` (equal) + /// or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or + /// against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq + /// 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne + /// "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. + /// The literal value must match the entire field. For example, to filter for instances that do not end with + /// name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields + /// using regular expressions. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// The maximum number of results per page that should be returned. If the number of available results is + /// larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page + /// of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + /// + [Google.Apis.Util.RequestParameterAttribute("maxResults", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable MaxResults { get; set; } + + /// + /// Sorts list results by a certain order. By default, results are returned in alphanumerical order based on + /// the resource name. You can also sort results in descending order based on the creation timestamp using + /// `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse + /// chronological order (newest result first). Use this to sort resources like operations so that the newest + /// operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list + /// request to get the next page of results. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// + /// Opt-in for partial success behavior which provides partial results in case of failure. The default value + /// is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope + /// either returns all resources in the zone or no resources, with an error code. + /// + [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"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "projects/{project}/global/interconnectGroups"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("maxResults", new Google.Apis.Discovery.Parameter + { + Name = "maxResults", + IsRequired = false, + ParameterType = "query", + DefaultValue = "500", + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + 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, + }); + RequestParameters.Add("returnPartialSuccess", new Google.Apis.Discovery.Parameter + { + Name = "returnPartialSuccess", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Patches the specified InterconnectGroup resource with the data included in the request. This method supports + /// PATCH semantics and uses JSON merge patch format and processing rules. + /// + /// The body of the request. + /// Project ID for this request. + /// Name of the InterconnectGroup resource to patch. + public virtual PatchRequest Patch(Google.Apis.Compute.alpha.Data.InterconnectGroup body, string project, string interconnectGroup) + { + return new PatchRequest(this.service, body, project, interconnectGroup); + } + + /// + /// Patches the specified InterconnectGroup resource with the data included in the request. This method supports + /// PATCH semantics and uses JSON merge patch format and processing rules. + /// + public class PatchRequest : ComputeBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.alpha.Data.InterconnectGroup body, string project, string interconnectGroup) : base(service) + { + Project = project; + InterconnectGroup = interconnectGroup; + Body = body; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name of the InterconnectGroup resource to patch. + [Google.Apis.Util.RequestParameterAttribute("interconnectGroup", Google.Apis.Util.RequestParameterType.Path)] + public virtual string InterconnectGroup { get; private set; } + + /// + /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your + /// request, the server will know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request times out. If you make the + /// request again with the same request ID, the server can check if original operation with the same request + /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is + /// not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder + /// + [Google.Apis.Util.RequestParameterAttribute("requestId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string RequestId { get; set; } + + /// 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.Compute.alpha.Data.InterconnectGroup 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 => "projects/{project}/global/interconnectGroups/{interconnectGroup}"; + + /// Initializes Patch parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("interconnectGroup", new Google.Apis.Discovery.Parameter + { + Name = "interconnectGroup", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + }); + RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter + { + Name = "requestId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + 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. + /// The body of the request. + /// Project ID for this request. + /// Name or id of the resource for this request. + public virtual SetIamPolicyRequest SetIamPolicy(Google.Apis.Compute.alpha.Data.GlobalSetPolicyRequest body, string project, string resource) + { + return new SetIamPolicyRequest(this.service, body, project, resource); + } + + /// Sets the access control policy on the specified resource. Replaces any existing policy. + public class SetIamPolicyRequest : ComputeBaseServiceRequest + { + /// Constructs a new SetIamPolicy request. + public SetIamPolicyRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.alpha.Data.GlobalSetPolicyRequest body, string project, string resource) : base(service) + { + Project = project; + Resource = resource; + Body = body; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name or id of the resource for this request. + [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.Compute.alpha.Data.GlobalSetPolicyRequest 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 => "projects/{project}/global/interconnectGroups/{resource}/setIamPolicy"; + + /// Initializes SetIamPolicy parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter + { + Name = "resource", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + }); + } + } + + /// Returns permissions that a caller has on the specified resource. + /// The body of the request. + /// Project ID for this request. + /// Name or id of the resource for this request. + public virtual TestIamPermissionsRequest TestIamPermissions(Google.Apis.Compute.alpha.Data.TestPermissionsRequest body, string project, string resource) + { + return new TestIamPermissionsRequest(this.service, body, project, resource); + } + + /// Returns permissions that a caller has on the specified resource. + public class TestIamPermissionsRequest : ComputeBaseServiceRequest + { + /// Constructs a new TestIamPermissions request. + public TestIamPermissionsRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.alpha.Data.TestPermissionsRequest body, string project, string resource) : base(service) + { + Project = project; + Resource = resource; + Body = body; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name or id of the resource for this request. + [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.Compute.alpha.Data.TestPermissionsRequest 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 => "projects/{project}/global/interconnectGroups/{resource}/testIamPermissions"; + + /// Initializes TestIamPermissions parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter + { + Name = "resource", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + }); + } + } + } + /// The "interconnectLocations" collection of methods. public class InterconnectLocationsResource { @@ -66832,6 +68254,445 @@ protected override void InitParameters() } } + /// The "regionMultiMigs" collection of methods. + public class RegionMultiMigsResource + { + private const string Resource = "regionMultiMigs"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public RegionMultiMigsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Deletes a multi-MIG in the specified project. + /// Project ID for this request. + /// Name of the region for this request. + /// Name of the multi-MIG to delete. + public virtual DeleteRequest Delete(string project, string region, string multiMig) + { + return new DeleteRequest(this.service, project, region, multiMig); + } + + /// Deletes a multi-MIG in the specified project. + public class DeleteRequest : ComputeBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string project, string region, string multiMig) : base(service) + { + Project = project; + Region = region; + MultiMig = multiMig; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name of the region for this request. + [Google.Apis.Util.RequestParameterAttribute("region", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Region { get; private set; } + + /// Name of the multi-MIG to delete. + [Google.Apis.Util.RequestParameterAttribute("multiMig", Google.Apis.Util.RequestParameterType.Path)] + public virtual string MultiMig { get; private set; } + + /// + /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your + /// request, the server will know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request times out. If you make the + /// request again with the same request ID, the server can check if original operation with the same request + /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is + /// not supported ( 00000000-0000-0000-0000-000000000000). + /// + [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 => "projects/{project}/regions/{region}/multiMigs/{multiMig}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("region", new Google.Apis.Discovery.Parameter + { + Name = "region", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + }); + RequestParameters.Add("multiMig", new Google.Apis.Discovery.Parameter + { + Name = "multiMig", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter + { + Name = "requestId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Returns the specified multi-MIG resource. + /// Project ID for this request. + /// Name of the region for this request. + /// Name of the multi-MIG resource to return. + public virtual GetRequest Get(string project, string region, string multiMig) + { + return new GetRequest(this.service, project, region, multiMig); + } + + /// Returns the specified multi-MIG resource. + public class GetRequest : ComputeBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string project, string region, string multiMig) : base(service) + { + Project = project; + Region = region; + MultiMig = multiMig; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name of the region for this request. + [Google.Apis.Util.RequestParameterAttribute("region", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Region { get; private set; } + + /// Name of the multi-MIG resource to return. + [Google.Apis.Util.RequestParameterAttribute("multiMig", Google.Apis.Util.RequestParameterType.Path)] + public virtual string MultiMig { 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 => "projects/{project}/regions/{region}/multiMigs/{multiMig}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("region", new Google.Apis.Discovery.Parameter + { + Name = "region", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + }); + RequestParameters.Add("multiMig", new Google.Apis.Discovery.Parameter + { + Name = "multiMig", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + }); + } + } + + /// Creates a multi-MIG in the specified project. + /// The body of the request. + /// Project ID for this request. + /// Name of the region for this request. + public virtual InsertRequest Insert(Google.Apis.Compute.alpha.Data.MultiMig body, string project, string region) + { + return new InsertRequest(this.service, body, project, region); + } + + /// Creates a multi-MIG in the specified project. + public class InsertRequest : ComputeBaseServiceRequest + { + /// Constructs a new Insert request. + public InsertRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.alpha.Data.MultiMig body, string project, string region) : base(service) + { + Project = project; + Region = region; + Body = body; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name of the region for this request. + [Google.Apis.Util.RequestParameterAttribute("region", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Region { get; private set; } + + /// + /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your + /// request, the server will know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request times out. If you make the + /// request again with the same request ID, the server can check if original operation with the same request + /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is + /// not supported ( 00000000-0000-0000-0000-000000000000). + /// + [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.Compute.alpha.Data.MultiMig Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "insert"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "projects/{project}/regions/{region}/multiMigs"; + + /// Initializes Insert parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("region", new Google.Apis.Discovery.Parameter + { + Name = "region", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + }); + RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter + { + Name = "requestId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Retrieves a list of multi-MIGs in a project and region. + /// Project ID for this request. + /// Name of the region for this request. + public virtual ListRequest List(string project, string region) + { + return new ListRequest(this.service, project, region); + } + + /// Retrieves a list of multi-MIGs in a project and region. + public class ListRequest : ComputeBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string project, string region) : base(service) + { + Project = project; + Region = region; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name of the region for this request. + [Google.Apis.Util.RequestParameterAttribute("region", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Region { get; private set; } + + /// + /// A filter expression that filters resources listed in the response. Most Compute resources support two + /// types of filter expressions: expressions that support regular expressions and expressions that follow + /// API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. + /// If you want to use AIP-160, your expression must specify the field name, an operator, and the value that + /// you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be + /// either `=`, `!=`, `&gt;`, `&lt;`, `&lt;=`, `&gt;=` or `:`. For example, if you are + /// filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying + /// `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For + /// example, to find all objects with `owner` label use: + /// ``` + /// labels.owner:* + /// ``` + /// You can also filter nested + /// fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only + /// if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based + /// on resource labels. To filter on multiple expressions, provide each separate expression within + /// parentheses. For example: + /// ``` + /// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") + /// ``` + /// By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions + /// explicitly. For example: + /// ``` + /// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND + /// (scheduling.automaticRestart = true) + /// ``` + /// If you want to use a regular expression, use the `eq` (equal) + /// or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or + /// against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq + /// 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne + /// "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. + /// The literal value must match the entire field. For example, to filter for instances that do not end with + /// name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields + /// using regular expressions. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// The maximum number of results per page that should be returned. If the number of available results is + /// larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page + /// of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + /// + [Google.Apis.Util.RequestParameterAttribute("maxResults", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable MaxResults { get; set; } + + /// + /// Sorts list results by a certain order. By default, results are returned in alphanumerical order based on + /// the resource name. You can also sort results in descending order based on the creation timestamp using + /// `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse + /// chronological order (newest result first). Use this to sort resources like operations so that the newest + /// operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list + /// request to get the next page of results. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// + /// Opt-in for partial success behavior which provides partial results in case of failure. The default value + /// is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope + /// either returns all resources in the zone or no resources, with an error code. + /// + [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"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "projects/{project}/regions/{region}/multiMigs"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("region", new Google.Apis.Discovery.Parameter + { + Name = "region", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("maxResults", new Google.Apis.Discovery.Parameter + { + Name = "maxResults", + IsRequired = false, + ParameterType = "query", + DefaultValue = "500", + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + 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, + }); + RequestParameters.Add("returnPartialSuccess", new Google.Apis.Discovery.Parameter + { + Name = "returnPartialSuccess", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + /// The "regionNetworkEndpointGroups" collection of methods. public class RegionNetworkEndpointGroupsResource { @@ -103639,6 +105500,14 @@ public class AllocationResourceStatus : Google.Apis.Requests.IDirectResponseSche [Newtonsoft.Json.JsonPropertyAttribute("reservationBlockCount")] public virtual System.Nullable ReservationBlockCount { get; set; } + /// + /// Maintenance information for the group of hosts on this reservation including running VMs and unused hosts. + /// Applicable only to accelerator optimized VM families beyond A3 only. For both DENSE or STANDARD reservation, + /// granular maintenance information can be retried at reservation block level. + /// + [Newtonsoft.Json.JsonPropertyAttribute("reservationMaintenance")] + public virtual GroupMaintenanceInfo ReservationMaintenance { get; set; } + /// Allocation Properties of this reservation. [Newtonsoft.Json.JsonPropertyAttribute("specificSkuAllocation")] public virtual AllocationResourceStatusSpecificSKUAllocation SpecificSkuAllocation { get; set; } @@ -104116,10 +105985,6 @@ public class AuditConfig : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("auditLogConfigs")] public virtual System.Collections.Generic.IList AuditLogConfigs { get; set; } - /// This is deprecated and has no effect. Do not use. - [Newtonsoft.Json.JsonPropertyAttribute("exemptedMembers")] - public virtual System.Collections.Generic.IList ExemptedMembers { 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. @@ -104145,10 +106010,6 @@ public class AuditLogConfig : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("exemptedMembers")] public virtual System.Collections.Generic.IList ExemptedMembers { get; set; } - /// This is deprecated and has no effect. Do not use. - [Newtonsoft.Json.JsonPropertyAttribute("ignoreChildExemptions")] - public virtual System.Nullable IgnoreChildExemptions { get; set; } - /// The log type that this config enables. [Newtonsoft.Json.JsonPropertyAttribute("logType")] public virtual string LogType { get; set; } @@ -105432,7 +107293,7 @@ public class BackendCustomMetric : Google.Apis.Requests.IDirectResponseSchema public virtual System.Nullable MaxUtilization { get; set; } /// - /// Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression + /// Name of a custom utilization signal. The name must be 1-24 characters long and match the regular expression /// [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following /// characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which /// cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field @@ -106178,7 +108039,7 @@ public class BackendServiceCustomMetric : Google.Apis.Requests.IDirectResponseSc public virtual System.Nullable DryRun { get; set; } /// - /// Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression + /// Name of a custom utilization signal. The name must be 1-24 characters long and match the regular expression /// [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following /// characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which /// cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field @@ -111524,7 +113385,7 @@ public class FutureReservation : Google.Apis.Requests.IDirectResponseSchema /// /// Indicates whether the auto-created reservation can be consumed by VMs with affinity for "any" reservation. /// If the field is set, then only VMs that target the reservation by name can consume from the delivered - /// reservation. If set to true,the delivered resevervation will have the same name as the future reservation. + /// reservation. /// [Newtonsoft.Json.JsonPropertyAttribute("specificReservationRequired")] public virtual System.Nullable SpecificReservationRequired { get; set; } @@ -112177,6 +114038,45 @@ public class GlobalSetPolicyRequest : Google.Apis.Requests.IDirectResponseSchema public virtual Policy Policy { get; set; } } + /// Maintenance Info for ReservationBlocks. + public class GroupMaintenanceInfo : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Indicates if this group of VMs have opportunistic maintenance enabled. This will be set on the reservation, + /// and will be inherited for reservation blocks. + /// + [Newtonsoft.Json.JsonPropertyAttribute("enableOpportunisticMaintenance")] + public virtual System.Nullable EnableOpportunisticMaintenance { get; set; } + + /// + /// Progress for ongoing maintenance for this group of VMs/hosts. Describes number of hosts in the block that + /// have ongoing maintenance. + /// + [Newtonsoft.Json.JsonPropertyAttribute("maintenanceOngoingCount")] + public virtual System.Nullable MaintenanceOngoingCount { get; set; } + + /// + /// Progress for ongoing maintenance for this group of VMs/hosts. Describes number of hosts in the block that + /// have pending maintenance. + /// + [Newtonsoft.Json.JsonPropertyAttribute("maintenancePendingCount")] + public virtual System.Nullable MaintenancePendingCount { get; set; } + + /// + /// Indicates the maintenance type for this group of VMs. This will be set on the reservation, and will be + /// inherited for reservation blocks. + /// + [Newtonsoft.Json.JsonPropertyAttribute("schedulingType")] + public virtual string SchedulingType { get; set; } + + /// Maintenance information on this group of VMs. + [Newtonsoft.Json.JsonPropertyAttribute("upcomingGroupMaintenance")] + public virtual UpcomingMaintenance UpcomingGroupMaintenance { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// [Deprecated] gRPC config to access the SDS server. gRPC config to access the SDS server. public class GrpcServiceConfig : Google.Apis.Requests.IDirectResponseSchema { @@ -116221,6 +118121,13 @@ public class InstanceGroupManagerResizeRequest : Google.Apis.Requests.IDirectRes [Newtonsoft.Json.JsonPropertyAttribute("id")] public virtual System.Nullable Id { get; set; } + /// + /// The list of specifications of per-instance configs to be created. This field cannot be used together with + /// 'resize_by'. + /// + [Newtonsoft.Json.JsonPropertyAttribute("instances")] + public virtual System.Collections.Generic.IList Instances { get; set; } + /// /// [Output Only] The resource type, which is always compute#instanceGroupManagerResizeRequest for resize /// requests. @@ -118526,6 +120433,10 @@ public class InstancesRemoveResourcePoliciesRequest : Google.Apis.Requests.IDire public class InstancesReportHostAsFaultyRequest : Google.Apis.Requests.IDirectResponseSchema { + /// The action hint to report the host as faulty. + [Newtonsoft.Json.JsonPropertyAttribute("actionHint")] + public virtual string ActionHint { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("faultReasons")] public virtual System.Collections.Generic.IList FaultReasons { get; set; } @@ -119374,6 +121285,13 @@ public class Interconnect : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("interconnectAttachments")] public virtual System.Collections.Generic.IList InterconnectAttachments { get; set; } + /// + /// [Output Only] URLs of InterconnectGroups that include this Interconnect. Order is arbitrary and items are + /// unique. + /// + [Newtonsoft.Json.JsonPropertyAttribute("interconnectGroups")] + public virtual System.Collections.Generic.IList InterconnectGroups { get; set; } + /// /// Type of interconnect, which can take one of the following values: - PARTNER: A partner-managed /// interconnection shared between customers though a partner. - DEDICATED: A dedicated physical interconnection @@ -119592,6 +121510,10 @@ public class InterconnectAttachment : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("adminEnabled")] public virtual System.Nullable AdminEnabled { get; set; } + /// [Output Only] URL of the AttachmentGroup that includes this Attachment. + [Newtonsoft.Json.JsonPropertyAttribute("attachmentGroup")] + public virtual string AttachmentGroup { get; set; } + /// /// Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user /// can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the @@ -120027,6 +121949,337 @@ public class InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange : Goo public virtual string ETag { get; set; } } + /// + /// An interconnect attachment group resource allows customers to create, analyze, and expand highly available + /// deployments. + /// + public class InterconnectAttachmentGroup : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Attachments in the AttachmentGroup. Keys are arbitrary user-specified strings. Users are encouraged, but not + /// required, to use their preferred format for resource links as keys. Note that there are add-members and + /// remove-members methods in gcloud. The size of this map is limited by an "Attachments per group" quota. + /// + [Newtonsoft.Json.JsonPropertyAttribute("attachments")] + public virtual System.Collections.Generic.IDictionary Attachments { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("configured")] + public virtual InterconnectAttachmentGroupConfigured Configured { get; set; } + + /// [Output Only] Creation timestamp in RFC3339 text format. + [Newtonsoft.Json.JsonPropertyAttribute("creationTimestamp")] + public virtual string CreationTimestamp { get; set; } + + /// + /// An optional description of this resource. Provide this property when you create the resource. + /// + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// + /// Opaque system-generated token that uniquely identifies the configuration. If provided when patching a + /// configuration in update mode, the provided token must match the current token or the update is rejected. + /// This provides a reliable means of doing read-modify-write (optimistic locking) as described by AIP 154. + /// + [Newtonsoft.Json.JsonPropertyAttribute("etag")] + public virtual string ETag { get; set; } + + /// + /// [Output Only] The unique identifier for the resource type. The server generates this identifier. + /// + [Newtonsoft.Json.JsonPropertyAttribute("id")] + public virtual System.Nullable Id { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("intent")] + public virtual InterconnectAttachmentGroupIntent Intent { get; set; } + + /// + /// The URL of an InterconnectGroup that groups these Attachments' Interconnects. Customers do not need to set + /// this unless directed by Google Support. + /// + [Newtonsoft.Json.JsonPropertyAttribute("interconnectGroup")] + public virtual string InterconnectGroup { get; set; } + + /// [Output Only] Type of the resource. Always compute#interconnectAttachmentGroup. + [Newtonsoft.Json.JsonPropertyAttribute("kind")] + public virtual string Kind { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("logicalStructure")] + public virtual InterconnectAttachmentGroupLogicalStructure LogicalStructure { get; set; } + + /// + /// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters + /// long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular + /// expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all + /// following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be + /// a dash. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// [Output Only] Server-defined URL for the resource. + [Newtonsoft.Json.JsonPropertyAttribute("selfLink")] + public virtual string SelfLink { get; set; } + } + + /// An Attachment in this AttachmentGroup. + public class InterconnectAttachmentGroupAttachment : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("attachment")] + public virtual string Attachment { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// [Output Only] The redundancy this group is configured to support. The way a user queries what SLA their + /// Attachment gets is by looking at this field of the Attachment's AttachmentGroup. + /// + public class InterconnectAttachmentGroupConfigured : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("availabilitySla")] + public virtual InterconnectAttachmentGroupConfiguredAvailabilitySLA AvailabilitySla { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// [Output Only] Which SLA this group is configured to support, and why this group does or does not meet that SLA's + /// requirements. + /// + public class InterconnectAttachmentGroupConfiguredAvailabilitySLA : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("effectiveSla")] + public virtual string EffectiveSla { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("intendedSlaBlockers")] + public virtual System.Collections.Generic.IList IntendedSlaBlockers { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// [Output Only] Reasons why configuration.availabilitySLA.sla differs from intent.availabilitySLA. This list is + /// empty if and only if those are the same. + /// + public class InterconnectAttachmentGroupConfiguredAvailabilitySLAIntendedSlaBlockers : Google.Apis.Requests.IDirectResponseSchema + { + /// [Output Only] URLs of any particular Attachments to explain this blocker in more detail. + [Newtonsoft.Json.JsonPropertyAttribute("attachments")] + public virtual System.Collections.Generic.IList Attachments { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("blockerType")] + public virtual string BlockerType { get; set; } + + /// + /// [Output Only] The url of Google Cloud public documentation explaining this requirement. This is set for + /// every type of requirement. + /// + [Newtonsoft.Json.JsonPropertyAttribute("documentationLink")] + public virtual string DocumentationLink { get; set; } + + /// + /// [Output Only] A human-readable explanation of this requirement and why it's not met. This is set for every + /// type of requirement. + /// + [Newtonsoft.Json.JsonPropertyAttribute("explanation")] + public virtual string Explanation { get; set; } + + /// + /// [Output Only] Metros used to explain this blocker in more detail. These are three-letter lowercase strings + /// like "iad". This will be set for some blockers (like NO_ATTACHMENTS_IN_METRO_AND_ZONE) but does not apply to + /// others. + /// + [Newtonsoft.Json.JsonPropertyAttribute("metros")] + public virtual System.Collections.Generic.IList Metros { get; set; } + + /// + /// [Output Only] Zones used to explain this blocker in more detail. Format is "zone1" and/or "zone2". This will + /// be set for some blockers (like MISSING_ZONE) but does not apply to others. + /// + [Newtonsoft.Json.JsonPropertyAttribute("zones")] + public virtual System.Collections.Generic.IList Zones { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// The user's intent for this AttachmentGroup. This is the only required field besides the name that must be + /// specified on group creation. + /// + public class InterconnectAttachmentGroupIntent : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("availabilitySla")] + public virtual string AvailabilitySla { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// [Output Only] An analysis of the logical layout of Attachments in this group. Every Attachment in the group is + /// shown once in this structure. + /// + public class InterconnectAttachmentGroupLogicalStructure : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("regions")] + public virtual System.Collections.Generic.IList Regions { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// [Output Only] The regions Attachments in this group are in. + public class InterconnectAttachmentGroupLogicalStructureRegion : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("metros")] + public virtual System.Collections.Generic.IList Metros { get; set; } + + /// [Output Only] The name of a region, like "us-central1". + [Newtonsoft.Json.JsonPropertyAttribute("region")] + public virtual string Region { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// [Output Only] The metros of Attachments in this group in this region. + public class InterconnectAttachmentGroupLogicalStructureRegionMetro : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("facilities")] + public virtual System.Collections.Generic.IList Facilities { get; set; } + + /// + /// [Output Only] The name of the metro, as a three-letter lowercase string like "iad". This is the first + /// component of the location of an Interconnect. + /// + [Newtonsoft.Json.JsonPropertyAttribute("metro")] + public virtual string Metro { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// [Output Only] The facilities used for this group's Attachments' Interconnects. + public class InterconnectAttachmentGroupLogicalStructureRegionMetroFacility : Google.Apis.Requests.IDirectResponseSchema + { + /// [Output Only] The name of a facility, like "iad-1234". + [Newtonsoft.Json.JsonPropertyAttribute("facility")] + public virtual string Facility { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("zones")] + public virtual System.Collections.Generic.IList Zones { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// [Output Only] The zones that Attachments in this group are present in, in the given facilities. This is + /// inherited from their Interconnects. + /// + public class InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// [Output Only] URLs of Attachments in the given zone, to the given region, on Interconnects in the given + /// facility and metro. Every Attachment in the AG has such an entry. + /// + [Newtonsoft.Json.JsonPropertyAttribute("attachments")] + public virtual System.Collections.Generic.IList Attachments { get; set; } + + /// [Output Only] The name of a zone, either "zone1" or "zone2". + [Newtonsoft.Json.JsonPropertyAttribute("zone")] + public virtual string Zone { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class InterconnectAttachmentGroupsListResponse : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("etag")] + public virtual string ETag { get; set; } + + /// [Output Only] Unique identifier for the resource; defined by the server. + [Newtonsoft.Json.JsonPropertyAttribute("id")] + public virtual string Id { get; set; } + + /// A list of InterconnectAttachmentGroup resources. + [Newtonsoft.Json.JsonPropertyAttribute("items")] + public virtual System.Collections.Generic.IList Items { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("kind")] + public virtual string Kind { get; set; } + + /// + /// [Output Only] This token allows you to get the next page of results for list requests. If the number of + /// results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the + /// next list request. Subsequent list requests will have their own nextPageToken to continue paging through the + /// results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// [Output Only] Server-defined URL for this resource. + [Newtonsoft.Json.JsonPropertyAttribute("selfLink")] + public virtual string SelfLink { get; set; } + + /// [Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder + [Newtonsoft.Json.JsonPropertyAttribute("unreachables")] + public virtual System.Collections.Generic.IList Unreachables { get; set; } + + /// [Output Only] Informational warning message. + [Newtonsoft.Json.JsonPropertyAttribute("warning")] + public virtual WarningData Warning { get; set; } + + /// [Output Only] Informational warning message. + public class WarningData + { + /// + /// [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if + /// there are no results in the response. + /// + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } + + /// + /// [Output Only] Metadata about this warning in key: value format. For example: "data": [ { "key": "scope", + /// "value": "zones/us-east1-d" } + /// + [Newtonsoft.Json.JsonPropertyAttribute("data")] + public virtual System.Collections.Generic.IList Data { get; set; } + + /// [Output Only] A human-readable description of the warning code. + [Newtonsoft.Json.JsonPropertyAttribute("message")] + public virtual string Message { get; set; } + + /// + /// [Output Only] Metadata about this warning in key: value format. For example: "data": [ { "key": "scope", + /// "value": "zones/us-east1-d" } + /// + public class DataData + { + /// + /// [Output Only] A key that provides more detail on the warning being returned. For example, for + /// warnings where there are no results in a list request for a particular zone, this key might be scope + /// and the key value might be the zone name. Other examples might be a key indicating a deprecated + /// resource and a suggested replacement, or a warning about invalid network settings (for example, if + /// an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + /// + [Newtonsoft.Json.JsonPropertyAttribute("key")] + public virtual string Key { get; set; } + + /// [Output Only] A warning data value corresponding to the key. + [Newtonsoft.Json.JsonPropertyAttribute("value")] + public virtual string Value { get; set; } + } + } + } + /// Response to the list request, and contains a list of interconnect attachments. public class InterconnectAttachmentList : Google.Apis.Requests.IDirectResponseSchema { @@ -120213,192 +122466,510 @@ public class DataData } } - /// - /// Describes a single physical circuit between the Customer and Google. CircuitInfo objects are created by Google, - /// so all fields are output only. - /// - public class InterconnectCircuitInfo : Google.Apis.Requests.IDirectResponseSchema - { - /// Customer-side demarc ID for this circuit. - [Newtonsoft.Json.JsonPropertyAttribute("customerDemarcId")] - public virtual string CustomerDemarcId { get; set; } - - /// Google-assigned unique ID for this circuit. Assigned at circuit turn-up. - [Newtonsoft.Json.JsonPropertyAttribute("googleCircuitId")] - public virtual string GoogleCircuitId { get; set; } - - /// - /// Google-side demarc ID for this circuit. Assigned at circuit turn-up and provided by Google to the customer - /// in the LOA. - /// - [Newtonsoft.Json.JsonPropertyAttribute("googleDemarcId")] - public virtual string GoogleDemarcId { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// - /// Diagnostics information about the Interconnect connection, which contains detailed and current technical - /// information about Google's side of the connection. - /// - public class InterconnectDiagnostics : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// A list of InterconnectDiagnostics.ARPEntry objects, describing individual neighbors currently seen by the - /// Google router in the ARP cache for the Interconnect. This will be empty when the Interconnect is not - /// bundled. - /// - [Newtonsoft.Json.JsonPropertyAttribute("arpCaches")] - public virtual System.Collections.Generic.IList ArpCaches { get; set; } - - /// The aggregation type of the bundle interface. - [Newtonsoft.Json.JsonPropertyAttribute("bundleAggregationType")] - public virtual string BundleAggregationType { get; set; } - - /// The operational status of the bundle interface. - [Newtonsoft.Json.JsonPropertyAttribute("bundleOperationalStatus")] - public virtual string BundleOperationalStatus { get; set; } - - /// - /// A list of InterconnectDiagnostics.LinkStatus objects, describing the status for each link on the - /// Interconnect. - /// - [Newtonsoft.Json.JsonPropertyAttribute("links")] - public virtual System.Collections.Generic.IList Links { get; set; } - - /// The MAC address of the Interconnect's bundle interface. - [Newtonsoft.Json.JsonPropertyAttribute("macAddress")] - public virtual string MacAddress { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// Describing the ARP neighbor entries seen on this link - public class InterconnectDiagnosticsARPEntry : Google.Apis.Requests.IDirectResponseSchema - { - /// The IP address of this ARP neighbor. - [Newtonsoft.Json.JsonPropertyAttribute("ipAddress")] - public virtual string IpAddress { get; set; } - - /// The MAC address of this ARP neighbor. - [Newtonsoft.Json.JsonPropertyAttribute("macAddress")] - public virtual string MacAddress { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - public class InterconnectDiagnosticsLinkLACPStatus : Google.Apis.Requests.IDirectResponseSchema - { - /// System ID of the port on Google's side of the LACP exchange. - [Newtonsoft.Json.JsonPropertyAttribute("googleSystemId")] - public virtual string GoogleSystemId { get; set; } - - /// System ID of the port on the neighbor's side of the LACP exchange. - [Newtonsoft.Json.JsonPropertyAttribute("neighborSystemId")] - public virtual string NeighborSystemId { get; set; } - - /// - /// The state of a LACP link, which can take one of the following values: - ACTIVE: The link is configured and - /// active within the bundle. - DETACHED: The link is not configured within the bundle. This means that the rest - /// of the object should be empty. - /// - [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual string State { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - public class InterconnectDiagnosticsLinkOpticalPower : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// The status of the current value when compared to the warning and alarm levels for the receiving or - /// transmitting transceiver. Possible states include: - OK: The value has not crossed a warning threshold. - - /// LOW_WARNING: The value has crossed below the low warning threshold. - HIGH_WARNING: The value has crossed - /// above the high warning threshold. - LOW_ALARM: The value has crossed below the low alarm threshold. - - /// HIGH_ALARM: The value has crossed above the high alarm threshold. - /// - [Newtonsoft.Json.JsonPropertyAttribute("state")] - public virtual string State { get; set; } - - /// - /// Value of the current receiving or transmitting optical power, read in dBm. Take a known good optical value, - /// give it a 10% margin and trigger warnings relative to that value. In general, a -7dBm warning and a -11dBm - /// alarm are good optical value estimates for most links. - /// - [Newtonsoft.Json.JsonPropertyAttribute("value")] - public virtual System.Nullable Value { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - public class InterconnectDiagnosticsLinkStatus : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// A list of InterconnectDiagnostics.ARPEntry objects, describing the ARP neighbor entries seen on this link. - /// This will be empty if the link is bundled - /// - [Newtonsoft.Json.JsonPropertyAttribute("arpCaches")] - public virtual System.Collections.Generic.IList ArpCaches { get; set; } - - /// The unique ID for this link assigned during turn up by Google. - [Newtonsoft.Json.JsonPropertyAttribute("circuitId")] - public virtual string CircuitId { get; set; } - - /// The Demarc address assigned by Google and provided in the LoA. - [Newtonsoft.Json.JsonPropertyAttribute("googleDemarc")] - public virtual string GoogleDemarc { get; set; } - - [Newtonsoft.Json.JsonPropertyAttribute("lacpStatus")] - public virtual InterconnectDiagnosticsLinkLACPStatus LacpStatus { get; set; } - - /// Describes the status of MACsec encryption on this link. - [Newtonsoft.Json.JsonPropertyAttribute("macsec")] - public virtual InterconnectDiagnosticsMacsecStatus Macsec { get; set; } - - /// The operational status of the link. - [Newtonsoft.Json.JsonPropertyAttribute("operationalStatus")] - public virtual string OperationalStatus { get; set; } - - /// - /// An InterconnectDiagnostics.LinkOpticalPower object, describing the current value and status of the received - /// light level. - /// - [Newtonsoft.Json.JsonPropertyAttribute("receivingOpticalPower")] - public virtual InterconnectDiagnosticsLinkOpticalPower ReceivingOpticalPower { get; set; } - - /// - /// An InterconnectDiagnostics.LinkOpticalPower object, describing the current value and status of the - /// transmitted light level. - /// - [Newtonsoft.Json.JsonPropertyAttribute("transmittingOpticalPower")] - public virtual InterconnectDiagnosticsLinkOpticalPower TransmittingOpticalPower { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// Describes the status of MACsec encryption on the link. - public class InterconnectDiagnosticsMacsecStatus : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// Indicates the Connectivity Association Key Name (CKN) currently being used if MACsec is operational. - /// - [Newtonsoft.Json.JsonPropertyAttribute("ckn")] - public virtual string Ckn { get; set; } - - /// Indicates whether or not MACsec is operational on this link. - [Newtonsoft.Json.JsonPropertyAttribute("operational")] - public virtual System.Nullable Operational { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - + /// + /// Describes a single physical circuit between the Customer and Google. CircuitInfo objects are created by Google, + /// so all fields are output only. + /// + public class InterconnectCircuitInfo : Google.Apis.Requests.IDirectResponseSchema + { + /// Customer-side demarc ID for this circuit. + [Newtonsoft.Json.JsonPropertyAttribute("customerDemarcId")] + public virtual string CustomerDemarcId { get; set; } + + /// Google-assigned unique ID for this circuit. Assigned at circuit turn-up. + [Newtonsoft.Json.JsonPropertyAttribute("googleCircuitId")] + public virtual string GoogleCircuitId { get; set; } + + /// + /// Google-side demarc ID for this circuit. Assigned at circuit turn-up and provided by Google to the customer + /// in the LOA. + /// + [Newtonsoft.Json.JsonPropertyAttribute("googleDemarcId")] + public virtual string GoogleDemarcId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Diagnostics information about the Interconnect connection, which contains detailed and current technical + /// information about Google's side of the connection. + /// + public class InterconnectDiagnostics : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// A list of InterconnectDiagnostics.ARPEntry objects, describing individual neighbors currently seen by the + /// Google router in the ARP cache for the Interconnect. This will be empty when the Interconnect is not + /// bundled. + /// + [Newtonsoft.Json.JsonPropertyAttribute("arpCaches")] + public virtual System.Collections.Generic.IList ArpCaches { get; set; } + + /// The aggregation type of the bundle interface. + [Newtonsoft.Json.JsonPropertyAttribute("bundleAggregationType")] + public virtual string BundleAggregationType { get; set; } + + /// The operational status of the bundle interface. + [Newtonsoft.Json.JsonPropertyAttribute("bundleOperationalStatus")] + public virtual string BundleOperationalStatus { get; set; } + + /// + /// A list of InterconnectDiagnostics.LinkStatus objects, describing the status for each link on the + /// Interconnect. + /// + [Newtonsoft.Json.JsonPropertyAttribute("links")] + public virtual System.Collections.Generic.IList Links { get; set; } + + /// The MAC address of the Interconnect's bundle interface. + [Newtonsoft.Json.JsonPropertyAttribute("macAddress")] + public virtual string MacAddress { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Describing the ARP neighbor entries seen on this link + public class InterconnectDiagnosticsARPEntry : Google.Apis.Requests.IDirectResponseSchema + { + /// The IP address of this ARP neighbor. + [Newtonsoft.Json.JsonPropertyAttribute("ipAddress")] + public virtual string IpAddress { get; set; } + + /// The MAC address of this ARP neighbor. + [Newtonsoft.Json.JsonPropertyAttribute("macAddress")] + public virtual string MacAddress { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class InterconnectDiagnosticsLinkLACPStatus : Google.Apis.Requests.IDirectResponseSchema + { + /// System ID of the port on Google's side of the LACP exchange. + [Newtonsoft.Json.JsonPropertyAttribute("googleSystemId")] + public virtual string GoogleSystemId { get; set; } + + /// System ID of the port on the neighbor's side of the LACP exchange. + [Newtonsoft.Json.JsonPropertyAttribute("neighborSystemId")] + public virtual string NeighborSystemId { get; set; } + + /// + /// The state of a LACP link, which can take one of the following values: - ACTIVE: The link is configured and + /// active within the bundle. - DETACHED: The link is not configured within the bundle. This means that the rest + /// of the object should be empty. + /// + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class InterconnectDiagnosticsLinkOpticalPower : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The status of the current value when compared to the warning and alarm levels for the receiving or + /// transmitting transceiver. Possible states include: - OK: The value has not crossed a warning threshold. - + /// LOW_WARNING: The value has crossed below the low warning threshold. - HIGH_WARNING: The value has crossed + /// above the high warning threshold. - LOW_ALARM: The value has crossed below the low alarm threshold. - + /// HIGH_ALARM: The value has crossed above the high alarm threshold. + /// + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// + /// Value of the current receiving or transmitting optical power, read in dBm. Take a known good optical value, + /// give it a 10% margin and trigger warnings relative to that value. In general, a -7dBm warning and a -11dBm + /// alarm are good optical value estimates for most links. + /// + [Newtonsoft.Json.JsonPropertyAttribute("value")] + public virtual System.Nullable Value { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class InterconnectDiagnosticsLinkStatus : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// A list of InterconnectDiagnostics.ARPEntry objects, describing the ARP neighbor entries seen on this link. + /// This will be empty if the link is bundled + /// + [Newtonsoft.Json.JsonPropertyAttribute("arpCaches")] + public virtual System.Collections.Generic.IList ArpCaches { get; set; } + + /// The unique ID for this link assigned during turn up by Google. + [Newtonsoft.Json.JsonPropertyAttribute("circuitId")] + public virtual string CircuitId { get; set; } + + /// The Demarc address assigned by Google and provided in the LoA. + [Newtonsoft.Json.JsonPropertyAttribute("googleDemarc")] + public virtual string GoogleDemarc { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("lacpStatus")] + public virtual InterconnectDiagnosticsLinkLACPStatus LacpStatus { get; set; } + + /// Describes the status of MACsec encryption on this link. + [Newtonsoft.Json.JsonPropertyAttribute("macsec")] + public virtual InterconnectDiagnosticsMacsecStatus Macsec { get; set; } + + /// The operational status of the link. + [Newtonsoft.Json.JsonPropertyAttribute("operationalStatus")] + public virtual string OperationalStatus { get; set; } + + /// + /// An InterconnectDiagnostics.LinkOpticalPower object, describing the current value and status of the received + /// light level. + /// + [Newtonsoft.Json.JsonPropertyAttribute("receivingOpticalPower")] + public virtual InterconnectDiagnosticsLinkOpticalPower ReceivingOpticalPower { get; set; } + + /// + /// An InterconnectDiagnostics.LinkOpticalPower object, describing the current value and status of the + /// transmitted light level. + /// + [Newtonsoft.Json.JsonPropertyAttribute("transmittingOpticalPower")] + public virtual InterconnectDiagnosticsLinkOpticalPower TransmittingOpticalPower { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Describes the status of MACsec encryption on the link. + public class InterconnectDiagnosticsMacsecStatus : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Indicates the Connectivity Association Key Name (CKN) currently being used if MACsec is operational. + /// + [Newtonsoft.Json.JsonPropertyAttribute("ckn")] + public virtual string Ckn { get; set; } + + /// Indicates whether or not MACsec is operational on this link. + [Newtonsoft.Json.JsonPropertyAttribute("operational")] + public virtual System.Nullable Operational { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// An interconnect group resource allows customers to create, analyze, and expand their redundant connections. + /// + public class InterconnectGroup : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("configured")] + public virtual InterconnectGroupConfigured Configured { get; set; } + + /// [Output Only] Creation timestamp in RFC3339 text format. + [Newtonsoft.Json.JsonPropertyAttribute("creationTimestamp")] + public virtual string CreationTimestamp { get; set; } + + /// + /// An optional description of this resource. Provide this property when you create the resource. + /// + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// + /// Opaque system-generated token that uniquely identifies the configuration. If provided when patching a + /// configuration in update mode, the provided token must match the current token or the update is rejected. + /// This provides a reliable means of doing read-modify-write (optimistic locking) as described by API 154. + /// + [Newtonsoft.Json.JsonPropertyAttribute("etag")] + public virtual string ETag { get; set; } + + /// + /// [Output Only] The unique identifier for the resource type. The server generates this identifier. + /// + [Newtonsoft.Json.JsonPropertyAttribute("id")] + public virtual System.Nullable Id { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("intent")] + public virtual InterconnectGroupIntent Intent { get; set; } + + /// + /// Interconnects in the InterconnectGroup. Keys are arbitrary user-specified strings. Users are encouraged, but + /// not required, to use their preferred format for resource links as keys. Note that there are add-members and + /// remove-members methods in gcloud. The size of this map is limited by an "Interconnects per group" quota. + /// + [Newtonsoft.Json.JsonPropertyAttribute("interconnects")] + public virtual System.Collections.Generic.IDictionary Interconnects { get; set; } + + /// [Output Only] Type of the resource. Always compute#InterconnectGroup + [Newtonsoft.Json.JsonPropertyAttribute("kind")] + public virtual string Kind { get; set; } + + /// + /// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters + /// long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular + /// expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all + /// following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be + /// a dash. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("physicalStructure")] + public virtual InterconnectGroupPhysicalStructure PhysicalStructure { get; set; } + + /// [Output Only] Server-defined URL for the resource. + [Newtonsoft.Json.JsonPropertyAttribute("selfLink")] + public virtual string SelfLink { get; set; } + } + + /// + /// [Output Only] The status of the group as configured. This has the same structure as the operational field + /// reported by the OperationalStatus method, but does not take into account the operational status of each + /// resource. + /// + public class InterconnectGroupConfigured : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("topologyCapability")] + public virtual InterconnectGroupConfiguredTopologyCapability TopologyCapability { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// [Output Only] How reliable this topology is configured to be, and why this group does or does not meet the + /// requirements for the intended capability. + /// + public class InterconnectGroupConfiguredTopologyCapability : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("intendedCapabilityBlockers")] + public virtual System.Collections.Generic.IList IntendedCapabilityBlockers { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("supportedSla")] + public virtual string SupportedSla { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// [Output Only] Reasons why configuration.topologyCapability.sla differs from intent.topologyCapability. This list + /// is empty if and only if those are the same. + /// + public class InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockers : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("blockerType")] + public virtual string BlockerType { get; set; } + + /// + /// [Output Only] The url of Google Cloud public documentation explaining this requirement. This is set for + /// every type of requirement. + /// + [Newtonsoft.Json.JsonPropertyAttribute("documentationLink")] + public virtual string DocumentationLink { get; set; } + + /// + /// [Output Only] A human-readable explanation of this requirement and why it's not met. This is set for every + /// type of requirement. + /// + [Newtonsoft.Json.JsonPropertyAttribute("explanation")] + public virtual string Explanation { get; set; } + + /// + /// [Output Only] Facilities used to explain this blocker in more detail. Like + /// physicalStructure.metros.facilities.facility, this is a numeric string like "5467". + /// + [Newtonsoft.Json.JsonPropertyAttribute("facilities")] + public virtual System.Collections.Generic.IList Facilities { get; set; } + + /// [Output Only] Interconnects used to explain this blocker in more detail. + [Newtonsoft.Json.JsonPropertyAttribute("interconnects")] + public virtual System.Collections.Generic.IList Interconnects { get; set; } + + /// + /// [Output Only] Metros used to explain this blocker in more detail. These are three-letter lowercase strings + /// like "iad". A blocker like INCOMPATIBLE_METROS will specify the problematic metros in this field. + /// + [Newtonsoft.Json.JsonPropertyAttribute("metros")] + public virtual System.Collections.Generic.IList Metros { get; set; } + + /// + /// [Output Only] Zones used to explain this blocker in more detail. Zone names are "zone1" and/or "zone2". + /// + [Newtonsoft.Json.JsonPropertyAttribute("zones")] + public virtual System.Collections.Generic.IList Zones { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// The user's intent for this group. This is the only required field besides the name that must be specified on + /// group creation. + /// + public class InterconnectGroupIntent : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("topologyCapability")] + public virtual string TopologyCapability { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// An Interconnect in this InterconnectGroup. + public class InterconnectGroupInterconnect : Google.Apis.Requests.IDirectResponseSchema + { + /// The URL of an Interconnect in this group. All Interconnects in the group are unique. + [Newtonsoft.Json.JsonPropertyAttribute("interconnect")] + public virtual string Interconnect { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// [Output Only] An analysis of the physical layout of Interconnects in this group. Every Interconnect in the group + /// is shown once in this structure. + /// + public class InterconnectGroupPhysicalStructure : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("metros")] + public virtual System.Collections.Generic.IList Metros { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// [Output Only] The metros Interconnects in this group are in. + public class InterconnectGroupPhysicalStructureMetros : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("facilities")] + public virtual System.Collections.Generic.IList Facilities { get; set; } + + /// + /// [Output Only] The name of the metro, as a three-letter lowercase string like "iad". This is the first + /// component of the location of Interconnects underneath this. + /// + [Newtonsoft.Json.JsonPropertyAttribute("metro")] + public virtual string Metro { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// [Output Only] The facilities Interconnects in this metro are present in. + public class InterconnectGroupPhysicalStructureMetrosFacilities : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// [Output Only] The ID of this facility, as a numeric string like "5467". This is the third component of the + /// location of Interconnects in this facility. + /// + [Newtonsoft.Json.JsonPropertyAttribute("facility")] + public virtual string Facility { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("zones")] + public virtual System.Collections.Generic.IList Zones { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// [Output Only] The zones that Interconnects in this facility are present in. + public class InterconnectGroupPhysicalStructureMetrosFacilitiesZones : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// [Output Only] URLs of Interconnects in this redundancy group in the given metro, facility, and zone. + /// + [Newtonsoft.Json.JsonPropertyAttribute("interconnects")] + public virtual System.Collections.Generic.IList Interconnects { get; set; } + + /// + /// [Output Only] The name of the zone, either "zone1" or "zone2". This is the second component of the location + /// of Interconnects in this facility. + /// + [Newtonsoft.Json.JsonPropertyAttribute("zone")] + public virtual string Zone { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class InterconnectGroupsListResponse : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("etag")] + public virtual string ETag { get; set; } + + /// [Output Only] Unique identifier for the resource; defined by the server. + [Newtonsoft.Json.JsonPropertyAttribute("id")] + public virtual string Id { get; set; } + + /// A list of InterconnectGroup resources. + [Newtonsoft.Json.JsonPropertyAttribute("items")] + public virtual System.Collections.Generic.IList Items { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("kind")] + public virtual string Kind { get; set; } + + /// + /// [Output Only] This token allows you to get the next page of results for list requests. If the number of + /// results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the + /// next list request. Subsequent list requests will have their own nextPageToken to continue paging through the + /// results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// [Output Only] Server-defined URL for this resource. + [Newtonsoft.Json.JsonPropertyAttribute("selfLink")] + public virtual string SelfLink { get; set; } + + /// [Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder + [Newtonsoft.Json.JsonPropertyAttribute("unreachables")] + public virtual System.Collections.Generic.IList Unreachables { get; set; } + + /// [Output Only] Informational warning message. + [Newtonsoft.Json.JsonPropertyAttribute("warning")] + public virtual WarningData Warning { get; set; } + + /// [Output Only] Informational warning message. + public class WarningData + { + /// + /// [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if + /// there are no results in the response. + /// + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } + + /// + /// [Output Only] Metadata about this warning in key: value format. For example: "data": [ { "key": "scope", + /// "value": "zones/us-east1-d" } + /// + [Newtonsoft.Json.JsonPropertyAttribute("data")] + public virtual System.Collections.Generic.IList Data { get; set; } + + /// [Output Only] A human-readable description of the warning code. + [Newtonsoft.Json.JsonPropertyAttribute("message")] + public virtual string Message { get; set; } + + /// + /// [Output Only] Metadata about this warning in key: value format. For example: "data": [ { "key": "scope", + /// "value": "zones/us-east1-d" } + /// + public class DataData + { + /// + /// [Output Only] A key that provides more detail on the warning being returned. For example, for + /// warnings where there are no results in a list request for a particular zone, this key might be scope + /// and the key value might be the zone name. Other examples might be a key indicating a deprecated + /// resource and a suggested replacement, or a warning about invalid network settings (for example, if + /// an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + /// + [Newtonsoft.Json.JsonPropertyAttribute("key")] + public virtual string Key { get; set; } + + /// [Output Only] A warning data value corresponding to the key. + [Newtonsoft.Json.JsonPropertyAttribute("value")] + public virtual string Value { get; set; } + } + } + } + /// Response to the list request, and contains a list of interconnects. public class InterconnectList : Google.Apis.Requests.IDirectResponseSchema { @@ -122984,6 +125555,233 @@ public class Money : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// Multi-MIG represents a group of managed instance groups. + public class MultiMig : Google.Apis.Requests.IDirectResponseSchema + { + /// [Output only] The creation timestamp of this multi-MIG in RFC3339 text format. + [Newtonsoft.Json.JsonPropertyAttribute("creationTimestamp")] + public virtual string CreationTimestamp { get; set; } + + /// An optional description of this resource. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// + /// [Output only] The unique identifier for this resource type. The server generates this identifier. + /// + [Newtonsoft.Json.JsonPropertyAttribute("id")] + public virtual System.Nullable Id { get; set; } + + /// [Output only] Type of the resource. Always compute#multiMig for multi-MIGs. + [Newtonsoft.Json.JsonPropertyAttribute("kind")] + public virtual string Kind { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("locationPolicy")] + public virtual MultiMigLocationPolicy LocationPolicy { get; set; } + + /// + /// The name of the multi-MIG. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the + /// name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means + /// the first character must be a lowercase letter, and all following characters must be a dash, lowercase + /// letter, or digit, except the last character, which cannot be a dash. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// + /// Map of user-provided names associated with their parts. Keys in the map are arbitrary names chosen by the + /// user for parts. Keys need to be alphanumeric and not longer than 64 characters. + /// + [Newtonsoft.Json.JsonPropertyAttribute("parts")] + public virtual System.Collections.Generic.IDictionary Parts { get; set; } + + /// + /// [Output only] The URL of the region where the resource resides. You must specify this field as part of the + /// HTTP request URL. You cannot set the region as a field in the request body. + /// + [Newtonsoft.Json.JsonPropertyAttribute("region")] + public virtual string Region { get; set; } + + /// Resource policies for this multi-MIG. + [Newtonsoft.Json.JsonPropertyAttribute("resourcePolicies")] + public virtual MultiMigResourcePolicies ResourcePolicies { get; set; } + + /// Policy for handling provisioning and other scheduling-related events. + [Newtonsoft.Json.JsonPropertyAttribute("schedulingPolicy")] + public virtual MultiMigSchedulingPolicy SchedulingPolicy { get; set; } + + /// [Output only] Server-defined URL for the resource. + [Newtonsoft.Json.JsonPropertyAttribute("selfLink")] + public virtual string SelfLink { get; set; } + + /// [Output only] Server-defined URL for this resource with the resource id. + [Newtonsoft.Json.JsonPropertyAttribute("selfLinkWithId")] + public virtual string SelfLinkWithId { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("status")] + public virtual MultiMigStatus Status { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Policy regarding where to create managed instance groups. Initially only zonal managed instance groups in the + /// same zone are supported. + /// + public class MultiMigLocationPolicy : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// List of zones where managed instance groups will be provisioned. Should be valid RFC1035 name. + /// + [Newtonsoft.Json.JsonPropertyAttribute("provisioningZones")] + public virtual System.Collections.Generic.IList ProvisioningZones { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Part represents a single managed instance group, either as a reference to an existing one or as a structure + /// containing properties necessary to create one. A multi-MIG can contain zero or more parts. + /// + public class MultiMigPart : Google.Apis.Requests.IDirectResponseSchema + { + /// The URL of a managed instance group that you want to attach to the multi-MIG. + [Newtonsoft.Json.JsonPropertyAttribute("instanceGroupManager")] + public virtual string InstanceGroupManager { get; set; } + + /// A managed instance group to be created by the multi-MIG. + [Newtonsoft.Json.JsonPropertyAttribute("instanceGroupManagerProperties")] + public virtual InstanceGroupManager InstanceGroupManagerProperties { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Resource policies message for a multi-MIG. Represents low level machine cluster behavior in several dimensions, + /// all of which depend on the machine family and fleet. + /// + public class MultiMigResourcePolicies : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The URL of the workload policy that is specified for this multi-MIG. It can be a full or partial URL. For + /// example, the following are all valid URLs to a workload policy: - + /// https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - + /// projects/project/regions/region/resourcePolicies/resourcePolicy - + /// regions/region/resourcePolicies/resourcePolicy + /// + [Newtonsoft.Json.JsonPropertyAttribute("workloadPolicy")] + public virtual string WorkloadPolicy { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Policy for handling provisioning and other scheduling-related events. + public class MultiMigSchedulingPolicy : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// How provisioning of parts (instance group managers) should be scheduled (coordinated or not). + /// + [Newtonsoft.Json.JsonPropertyAttribute("provisioning")] + public virtual string Provisioning { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class MultiMigStatus : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("memberInstanceGroupManagers")] + public virtual System.Collections.Generic.IList MemberInstanceGroupManagers { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class MultiMigsList : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("etag")] + public virtual string ETag { get; set; } + + /// Unique identifier for the resource; defined by the server. + [Newtonsoft.Json.JsonPropertyAttribute("id")] + public virtual string Id { get; set; } + + /// A list of multi-MIG resources. + [Newtonsoft.Json.JsonPropertyAttribute("items")] + public virtual System.Collections.Generic.IList Items { get; set; } + + /// Type of resource. + [Newtonsoft.Json.JsonPropertyAttribute("kind")] + public virtual string Kind { get; set; } + + /// + /// This token allows you to get the next page of results for maxResults, use the nextPageToken as a value for + /// the query parameter pageToken in the next list request. Subsequent list requests will have their own + /// nextPageToken to continue paging through the results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// [Output only] Server-defined URL for this resource. + [Newtonsoft.Json.JsonPropertyAttribute("selfLink")] + public virtual string SelfLink { get; set; } + + /// [Output only] Unreachable resources. + [Newtonsoft.Json.JsonPropertyAttribute("unreachables")] + public virtual System.Collections.Generic.IList Unreachables { get; set; } + + /// Informational warning message. + [Newtonsoft.Json.JsonPropertyAttribute("warning")] + public virtual WarningData Warning { get; set; } + + /// Informational warning message. + public class WarningData + { + /// + /// [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if + /// there are no results in the response. + /// + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } + + /// + /// [Output Only] Metadata about this warning in key: value format. For example: "data": [ { "key": "scope", + /// "value": "zones/us-east1-d" } + /// + [Newtonsoft.Json.JsonPropertyAttribute("data")] + public virtual System.Collections.Generic.IList Data { get; set; } + + /// [Output Only] A human-readable description of the warning code. + [Newtonsoft.Json.JsonPropertyAttribute("message")] + public virtual string Message { get; set; } + + /// + /// [Output Only] Metadata about this warning in key: value format. For example: "data": [ { "key": "scope", + /// "value": "zones/us-east1-d" } + /// + public class DataData + { + /// + /// [Output Only] A key that provides more detail on the warning being returned. For example, for + /// warnings where there are no results in a list request for a particular zone, this key might be scope + /// and the key value might be the zone name. Other examples might be a key indicating a deprecated + /// resource and a suggested replacement, or a warning about invalid network settings (for example, if + /// an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + /// + [Newtonsoft.Json.JsonPropertyAttribute("key")] + public virtual string Key { get; set; } + + /// [Output Only] A warning data value corresponding to the key. + [Newtonsoft.Json.JsonPropertyAttribute("value")] + public virtual string Value { get; set; } + } + } + } + /// /// [Deprecated] Configuration for the mutual Tls mode for peer authentication. Configuration for the mutual Tls /// mode for peer authentication. @@ -125110,10 +127908,6 @@ public class NetworkProfileNetworkFeatures : Google.Apis.Requests.IDirectRespons [Newtonsoft.Json.JsonPropertyAttribute("interfaceTypes")] public virtual System.Collections.Generic.IList InterfaceTypes { get; set; } - /// Specifies which type of multicast is supported. - [Newtonsoft.Json.JsonPropertyAttribute("multicast")] - public virtual string Multicast { get; set; } - /// Specifies which type of unicast is supported. [Newtonsoft.Json.JsonPropertyAttribute("unicast")] public virtual string Unicast { get; set; } @@ -127042,7 +129836,7 @@ public class Operation : Google.Apis.Requests.IDirectResponseSchema /// /// [Output Only] The URL of the resource that the operation modifies. For operations related to creating a - /// snapshot, this points to the persistent disk that the snapshot was created from. + /// snapshot, this points to the disk that the snapshot was created from. /// [Newtonsoft.Json.JsonPropertyAttribute("targetLink")] public virtual string TargetLink { get; set; } @@ -131429,6 +134223,14 @@ public class ReservationBlock : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } + /// + /// [Output Only] Maintenance information for the group of hosts on this reservation including running VMs and + /// unused hosts. Applicable only to accelerator optimized VM families beyond A3 only. For both DENSE or + /// STANDARD reservation, granular maintenance information can be retried at reservation block level. + /// + [Newtonsoft.Json.JsonPropertyAttribute("reservationMaintenance")] + public virtual GroupMaintenanceInfo ReservationMaintenance { get; set; } + /// [Output Only] Server-defined fully-qualified URL for this resource. [Newtonsoft.Json.JsonPropertyAttribute("selfLink")] public virtual string SelfLink { get; set; } @@ -132387,6 +135189,14 @@ public class ResourcePolicyWorkloadPolicy : Google.Apis.Requests.IDirectResponse /// public class ResourceStatus : Google.Apis.Requests.IDirectResponseSchema { + /// + /// [Output Only] Accelerators status show results of GPU scans. These scans are specialized diagnostic tests + /// designed to uncover latent manufacturing defects or other issues that could potentially lead to data + /// corruption or impede the customer's ability to efficiently execute GPU workloads. + /// + [Newtonsoft.Json.JsonPropertyAttribute("acceleratorStatus")] + public virtual System.Collections.Generic.IList AcceleratorStatus { get; set; } + /// [Output Only] Contains last termination details why the instance was terminated. [Newtonsoft.Json.JsonPropertyAttribute("lastInstanceTerminationDetails")] public virtual ResourceStatusLastInstanceTerminationDetails LastInstanceTerminationDetails { get; set; } @@ -132416,6 +135226,64 @@ public class ResourceStatus : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// The status of an individual accelerator resource. + public class ResourceStatusAcceleratorStatus : Google.Apis.Requests.IDirectResponseSchema + { + /// The details of scans that passed for an accelerator. + [Newtonsoft.Json.JsonPropertyAttribute("passedScans")] + public virtual System.Collections.Generic.IList PassedScans { get; set; } + + /// The details of recommended scans for an accelerator. + [Newtonsoft.Json.JsonPropertyAttribute("recommendedScans")] + public virtual System.Collections.Generic.IList RecommendedScans { get; set; } + + /// The serial number of the accelerator. + [Newtonsoft.Json.JsonPropertyAttribute("serialNumber")] + public virtual string SerialNumber { get; set; } + + /// The UUID of the accelerator. + [Newtonsoft.Json.JsonPropertyAttribute("uuid")] + public virtual string Uuid { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ResourceStatusAcceleratorStatusPassedScan : Google.Apis.Requests.IDirectResponseSchema + { + /// The end time of the passed scan in RFC3339 text format. + [Newtonsoft.Json.JsonPropertyAttribute("endTime")] + public virtual string EndTime { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// The start time of the passed scan in RFC3339 text format. + [Newtonsoft.Json.JsonPropertyAttribute("startTime")] + public virtual string StartTime { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual string Version { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ResourceStatusAcceleratorStatusRecommendedScan : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("estimatedDuration")] + public virtual Duration EstimatedDuration { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual string Version { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + public class ResourceStatusLastInstanceTerminationDetails : Google.Apis.Requests.IDirectResponseSchema { /// Reason for termination @@ -132997,6 +135865,10 @@ public class Router : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("nats")] public virtual System.Collections.Generic.IList Nats { get; set; } + /// URI of the ncc_gateway to which this router associated. + [Newtonsoft.Json.JsonPropertyAttribute("nccGateway")] + public virtual string NccGateway { get; set; } + /// URI of the network to which this router belongs. [Newtonsoft.Json.JsonPropertyAttribute("network")] public virtual string Network { get; set; } @@ -139728,6 +142600,18 @@ public class Subnetwork : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("ipCidrRange")] public virtual string IpCidrRange { get; set; } + /// + /// Reference to the source of IP, like a PublicDelegatedPrefix (PDP) for BYOIP. The PDP must be a sub-PDP in + /// EXTERNAL_IPV6_SUBNETWORK_CREATION mode. Use one of the following formats to specify a sub-PDP when creating + /// a dual stack subnetwork with external access using BYOIP: - Full resource URL, as in + /// https://www.googleapis.com/compute/v1/projects/projectId/regions/region + /// /publicDelegatedPrefixes/sub-pdp-name - Partial URL, as in - + /// projects/projectId/regions/region/publicDelegatedPrefixes/ sub-pdp-name - + /// regions/region/publicDelegatedPrefixes/sub-pdp-name + /// + [Newtonsoft.Json.JsonPropertyAttribute("ipCollection")] + public virtual string IpCollection { get; set; } + /// /// The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation /// or the first time the subnet is updated into IPV4_IPV6 dual stack. @@ -139739,6 +142623,17 @@ public class Subnetwork : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("ipv6CidrRange")] public virtual string Ipv6CidrRange { get; set; } + /// + /// [Output Only] Possible endpoints of this subnetwork. It can be one of the following: - VM_ONLY: The + /// subnetwork can be used for creating instances and IPv6 addresses with VM endpoint type. Such a subnetwork + /// gets external IPv6 ranges from a public delegated prefix and cannot be used to create NetLb. - VM_AND_FR: + /// The subnetwork can be used for creating both VM instances and Forwarding Rules. It can also be used to + /// reserve IPv6 addresses with both VM and FR endpoint types. Such a subnetwork gets its IPv6 range from Google + /// IP Pool directly. + /// + [Newtonsoft.Json.JsonPropertyAttribute("ipv6GceEndpoint")] + public virtual string Ipv6GceEndpoint { get; set; } + /// [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources. [Newtonsoft.Json.JsonPropertyAttribute("kind")] public virtual string Kind { get; set; } @@ -143127,9 +146022,9 @@ public class UpcomingMaintenanceTimeWindow : Google.Apis.Requests.IDirectRespons /// balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic /// Director, see the Traffic Director features: Routing and traffic management table. This resource defines /// mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps - /// resource, the backend service must have a loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To - /// use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For - /// more information, read URL Map Concepts. + /// resource, the backend service must have a loadBalancingScheme of either EXTERNAL, EXTERNAL_MANAGED, or + /// INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of + /// INTERNAL_MANAGED. For more information, read URL Map Concepts. /// public class UrlMap : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.Compute.alpha/Google.Apis.Compute.alpha.csproj b/Src/Generated/Google.Apis.Compute.alpha/Google.Apis.Compute.alpha.csproj index 7f2be8402a..c8d603345b 100644 --- a/Src/Generated/Google.Apis.Compute.alpha/Google.Apis.Compute.alpha.csproj +++ b/Src/Generated/Google.Apis.Compute.alpha/Google.Apis.Compute.alpha.csproj @@ -3,7 +3,7 @@ Google.Apis.Compute.alpha Client Library - 1.68.0.3549 + 1.68.0.3561 Google LLC Copyright 2024 Google LLC Google From 25b7751963814ab2e37a21001644fec89476e570 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:12:03 -0700 Subject: [PATCH 25/78] feat: Generate Google.Apis.Compute.beta version 1.68.0.3561 --- DiscoveryJson/compute.beta.json | 1201 ++++++- .../Google.Apis.Compute.beta.cs | 3078 ++++++++++++----- .../Google.Apis.Compute.beta.csproj | 2 +- 3 files changed, 3343 insertions(+), 938 deletions(-) diff --git a/DiscoveryJson/compute.beta.json b/DiscoveryJson/compute.beta.json index a254e9f7b6..76c03c6e32 100644 --- a/DiscoveryJson/compute.beta.json +++ b/DiscoveryJson/compute.beta.json @@ -18155,6 +18155,100 @@ } } }, + "networkProfiles": { + "methods": { + "get": { + "description": "Returns the specified network profile.", + "flatPath": "projects/{project}/global/networkProfiles/{networkProfile}", + "httpMethod": "GET", + "id": "compute.networkProfiles.get", + "parameterOrder": [ + "project", + "networkProfile" + ], + "parameters": { + "networkProfile": { + "description": "Name of the network profile to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/networkProfiles/{networkProfile}", + "response": { + "$ref": "NetworkProfile" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "list": { + "description": "Retrieves a list of network profiles available to the specified project.", + "flatPath": "projects/{project}/global/networkProfiles", + "httpMethod": "GET", + "id": "compute.networkProfiles.list", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/global/networkProfiles", + "response": { + "$ref": "NetworkProfilesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, "networks": { "methods": { "addPeering": { @@ -27622,6 +27716,204 @@ } } }, + "regionMultiMigs": { + "methods": { + "delete": { + "description": "Deletes a multi-MIG in the specified project.", + "flatPath": "projects/{project}/regions/{region}/multiMigs/{multiMig}", + "httpMethod": "DELETE", + "id": "compute.regionMultiMigs.delete", + "parameterOrder": [ + "project", + "region", + "multiMig" + ], + "parameters": { + "multiMig": { + "description": "Name of the multi-MIG to delete.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/multiMigs/{multiMig}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified multi-MIG resource.", + "flatPath": "projects/{project}/regions/{region}/multiMigs/{multiMig}", + "httpMethod": "GET", + "id": "compute.regionMultiMigs.get", + "parameterOrder": [ + "project", + "region", + "multiMig" + ], + "parameters": { + "multiMig": { + "description": "Name of the multi-MIG resource to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/multiMigs/{multiMig}", + "response": { + "$ref": "MultiMig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a multi-MIG in the specified project.", + "flatPath": "projects/{project}/regions/{region}/multiMigs", + "httpMethod": "POST", + "id": "compute.regionMultiMigs.insert", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/multiMigs", + "request": { + "$ref": "MultiMig" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Retrieves a list of multi-MIGs in a project and region.", + "flatPath": "projects/{project}/regions/{region}/multiMigs", + "httpMethod": "GET", + "id": "compute.regionMultiMigs.list", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/regions/{region}/multiMigs", + "response": { + "$ref": "MultiMigsList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, "regionNetworkEndpointGroups": { "methods": { "attachNetworkEndpoints": { @@ -33625,6 +33917,56 @@ "https://www.googleapis.com/auth/compute" ] }, + "patchRoutePolicy": { + "description": "Patches Route Policy", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/patchRoutePolicy", + "httpMethod": "POST", + "id": "compute.routers.patchRoutePolicy", + "parameterOrder": [ + "project", + "region", + "router" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "router": { + "description": "Name of the Router resource where Route Policy is defined.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/routers/{router}/patchRoutePolicy", + "request": { + "$ref": "RoutePolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "preview": { "description": "Preview fields auto-generated during router create and update operations. Calling this method does NOT create or update the router.", "flatPath": "projects/{project}/regions/{region}/routers/{router}/preview", @@ -42184,7 +42526,7 @@ } } }, - "revision": "20240919", + "revision": "20241001", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -43986,13 +44328,6 @@ }, "type": "array" }, - "exemptedMembers": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "type": "string" - }, - "type": "array" - }, "service": { "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", "type": "string" @@ -44011,10 +44346,6 @@ }, "type": "array" }, - "ignoreChildExemptions": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "boolean" - }, "logType": { "description": "The log type that this config enables.", "enum": [ @@ -44843,11 +45174,13 @@ "description": "Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded. For usage guidelines, see Connection balancing mode. Backends must use compatible balancing modes. For more information, see Supported balancing modes and target capacity settings and Restrictions and guidance for instance groups. Note: Currently, if you use the API to configure incompatible balancing modes, the configuration might be accepted even though it has no impact and is ignored. Specifically, Backend.maxUtilization is ignored when Backend.balancingMode is RATE. In the future, this incompatible combination will be rejected.", "enum": [ "CONNECTION", + "CUSTOM_METRICS", "RATE", "UTILIZATION" ], "enumDescriptions": [ "Balance based on the number of simultaneous connections.", + "Based on custom defined and reported metrics.", "Balance based on requests per second (RPS).", "Balance based on the backend utilization." ], @@ -44858,6 +45191,13 @@ "format": "float", "type": "number" }, + "customMetrics": { + "description": "List of custom metrics that are used for CUSTOM_METRICS BalancingMode.", + "items": { + "$ref": "BackendCustomMetric" + }, + "type": "array" + }, "description": { "description": "An optional description of this resource. Provide this property when you create the resource.", "type": "string" @@ -44979,6 +45319,16 @@ "description": "Type of the resource.", "type": "string" }, + "loadBalancingScheme": { + "description": "The value can only be INTERNAL_MANAGED for cross-region internal layer 7 load balancer. If loadBalancingScheme is not specified, the backend bucket can be used by classic global external load balancers, or global application external load balancers, or both.", + "enum": [ + "INTERNAL_MANAGED" + ], + "enumDescriptions": [ + "Signifies that this will be used for internal Application Load Balancers." + ], + "type": "string" + }, "name": { "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", @@ -45290,6 +45640,26 @@ }, "type": "object" }, + "BackendCustomMetric": { + "description": "Custom Metrics are used for CUSTOM_METRICS balancing_mode.", + "id": "BackendCustomMetric", + "properties": { + "dryRun": { + "description": "If true, the metric data is collected and reported to Cloud Monitoring, but is not used for load balancing.", + "type": "boolean" + }, + "maxUtilization": { + "description": "Optional parameter to define a target utilization for the Custom Metrics balancing mode. The valid range is [0.0, 1.0].", + "format": "float", + "type": "number" + }, + "name": { + "description": "Name of a custom utilization signal. The name must be 1-24 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", + "type": "string" + } + }, + "type": "object" + }, "BackendService": { "description": "Represents a Backend Service resource. A backend service defines how Google Cloud load balancers distribute traffic. The backend service configuration contains a set of values, such as the protocol used to connect to backends, various distribution and session settings, health checks, and timeouts. These settings provide fine-grained control over how your load balancer behaves. Most of the settings have default values that allow for easy configuration if you need to get started quickly. Backend services in Google Compute Engine can be either regionally or globally scoped. * [Global](https://cloud.google.com/compute/docs/reference/rest/beta/backendServices) * [Regional](https://cloud.google.com/compute/docs/reference/rest/beta/regionBackendServices) For more information, see Backend Services.", "id": "BackendService", @@ -45340,6 +45710,13 @@ "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" }, + "customMetrics": { + "description": "List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy.", + "items": { + "$ref": "BackendServiceCustomMetric" + }, + "type": "array" + }, "customRequestHeaders": { "description": "Headers that the load balancer adds to proxied requests. See [Creating custom headers](https://cloud.google.com/load-balancing/docs/custom-headers).", "items": { @@ -45468,7 +45845,8 @@ "RANDOM", "RING_HASH", "ROUND_ROBIN", - "WEIGHTED_MAGLEV" + "WEIGHTED_MAGLEV", + "WEIGHTED_ROUND_ROBIN" ], "enumDescriptions": [ "", @@ -45478,7 +45856,8 @@ "The load balancer selects a random healthy host.", "The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests.", "This is a simple policy in which each healthy backend is selected in round robin order. This is the default.", - "Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing." + "Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.", + "Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields." ], "type": "string" }, @@ -45932,6 +46311,21 @@ }, "type": "object" }, + "BackendServiceCustomMetric": { + "description": "Custom Metrics are used for WEIGHTED_ROUND_ROBIN locality_lb_policy.", + "id": "BackendServiceCustomMetric", + "properties": { + "dryRun": { + "description": "If true, the metric data is not used for load balancing.", + "type": "boolean" + }, + "name": { + "description": "Name of a custom utilization signal. The name must be 1-24 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", + "type": "string" + } + }, + "type": "object" + }, "BackendServiceFailoverPolicy": { "description": "For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). On failover or failback, this field indicates whether connection draining will be honored. Google Cloud has a fixed connection draining timeout of 10 minutes. A setting of true terminates existing TCP connections to the active pool during failover and failback, immediately draining traffic. A setting of false allows existing TCP connections to persist, even on VMs no longer in the active pool, for up to the duration of the connection draining timeout (10 minutes).", "id": "BackendServiceFailoverPolicy", @@ -46365,7 +46759,8 @@ "RANDOM", "RING_HASH", "ROUND_ROBIN", - "WEIGHTED_MAGLEV" + "WEIGHTED_MAGLEV", + "WEIGHTED_ROUND_ROBIN" ], "enumDescriptions": [ "", @@ -46375,7 +46770,8 @@ "The load balancer selects a random healthy host.", "The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests.", "This is a simple policy in which each healthy backend is selected in round robin order. This is the default.", - "Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing." + "Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.", + "Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields." ], "type": "string" } @@ -47171,6 +47567,10 @@ "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" }, + "customEndTimestamp": { + "description": "[Input Only] Optional, specifies the CUD end time requested by the customer in RFC3339 text format. Needed when the customer wants CUD's end date is later than the start date + term duration.", + "type": "string" + }, "description": { "description": "An optional description of this resource. Provide this property when you create the resource.", "type": "string" @@ -47237,6 +47637,10 @@ }, "type": "array" }, + "resourceStatus": { + "$ref": "CommitmentResourceStatus", + "description": "[Output Only] Status information for Commitment resource." + }, "resources": { "description": "A list of commitment amounts for particular resources. Note that VCPU and MEMORY resource commitments must occur together.", "items": { @@ -47640,6 +48044,17 @@ }, "type": "object" }, + "CommitmentResourceStatus": { + "description": "[Output Only] Contains output only fields.", + "id": "CommitmentResourceStatus", + "properties": { + "customTermEligibilityEndTimestamp": { + "description": "[Output Only] Indicates the end time of customer's eligibility to send custom term requests in RFC3339 text format. Term extension requests that (not the end time in the request) after this time will be rejected.", + "type": "string" + } + }, + "type": "object" + }, "CommitmentsScopedList": { "id": "CommitmentsScopedList", "properties": { @@ -56853,6 +57268,10 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "region": { + "description": "[Output Only] The URL of a region where the resize request is located. Populated only for regional resize requests.", + "type": "string" + }, "requestedRunDuration": { "$ref": "Duration", "description": "Requested run duration for instances that will be created by this request. At the end of the run duration instance will be deleted." @@ -64339,6 +64758,218 @@ }, "type": "object" }, + "MultiMig": { + "description": "Multi-MIG represents a group of managed instance groups.", + "id": "MultiMig", + "properties": { + "creationTimestamp": { + "description": "[Output only] The creation timestamp of this multi-MIG in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource.", + "type": "string" + }, + "id": { + "description": "[Output only] The unique identifier for this resource type. The server generates this identifier.", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "compute#multiMig", + "description": "[Output only] Type of the resource. Always compute#multiMig for multi-MIGs.", + "type": "string" + }, + "name": { + "description": "The name of the multi-MIG. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "region": { + "description": "[Output only] The URL of the region where the resource resides. You must specify this field as part of the HTTP request URL. You cannot set the region as a field in the request body.", + "type": "string" + }, + "resourcePolicies": { + "$ref": "MultiMigResourcePolicies", + "description": "Resource policies for this multi-MIG." + }, + "selfLink": { + "description": "[Output only] Server-defined URL for the resource.", + "type": "string" + } + }, + "type": "object" + }, + "MultiMigResourcePolicies": { + "id": "MultiMigResourcePolicies", + "properties": { + "workloadPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "MultiMigsList": { + "id": "MultiMigsList", + "properties": { + "etag": { + "type": "string" + }, + "id": { + "description": "Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of multi-MIG resources.", + "items": { + "$ref": "MultiMig" + }, + "type": "array" + }, + "kind": { + "default": "compute#multiMigList", + "description": "Type of resource.", + "type": "string" + }, + "nextPageToken": { + "description": "This token allows you to get the next page of results for maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output only] Unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" + }, + "warning": { + "description": "Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "NamedPort": { "description": "The named port. For example: <\"http\", 80>.", "id": "NamedPort", @@ -64497,6 +65128,10 @@ ], "type": "string" }, + "networkProfile": { + "description": "A full or partial URL of the network profile to apply to this network. This field can be set only at resource creation time. For example, the following are valid URLs: - https://www.googleapis.com/compute/alpha/projects/{project_id}/global/networkProfiles/{network_profile_name} - projects/{project_id}/global/networkProfiles/{network_profile_name} ", + "type": "string" + }, "peerings": { "description": "[Output Only] A list of network peerings for the resource.", "items": { @@ -66528,11 +67163,13 @@ "description": "The stack type for this network interface. To assign only IPv4 addresses, use IPV4_ONLY. To assign both IPv4 and IPv6 addresses, use IPV4_IPV6. If not specified, IPV4_ONLY is used. This field can be both set at instance creation and update network interface operations.", "enum": [ "IPV4_IPV6", - "IPV4_ONLY" + "IPV4_ONLY", + "IPV6_ONLY" ], "enumDescriptions": [ "The network interface can have both IPv4 and IPv6 addresses.", - "The network interface will be assigned IPv4 address." + "The network interface will only be assigned IPv4 addresses.", + "The network interface will only be assigned IPv6 addresses." ], "type": "string" }, @@ -66784,6 +67421,514 @@ }, "type": "object" }, + "NetworkProfile": { + "description": "NetworkProfile represents a Google managed network profile resource.", + "id": "NetworkProfile", + "properties": { + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "[Output Only] An optional description of this resource.", + "type": "string" + }, + "features": { + "$ref": "NetworkProfileNetworkFeatures", + "description": "[Output Only] Features supported by the network." + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "compute#networkProfile", + "description": "[Output Only] Type of the resource. Always compute#networkProfile for network profiles.", + "type": "string" + }, + "name": { + "description": "[Output Only] Name of the resource.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "type": "string" + }, + "zone": { + "description": "[Output Only] Zone to which the network is restricted.", + "type": "string" + } + }, + "type": "object" + }, + "NetworkProfileNetworkFeatures": { + "id": "NetworkProfileNetworkFeatures", + "properties": { + "addressPurposes": { + "description": "Specifies what address purposes are supported. If empty, all address purposes are supported.", + "items": { + "enum": [ + "DNS_RESOLVER", + "GCE_ENDPOINT", + "IPSEC_INTERCONNECT", + "NAT_AUTO", + "PRIVATE_SERVICE_CONNECT", + "SERVERLESS", + "SHARED_LOADBALANCER_VIP", + "VPC_PEERING" + ], + "enumDescriptions": [ + "DNS resolver address in the subnetwork.", + "VM internal/alias IP, Internal LB service IP, etc.", + "A regional internal IP address range reserved for the VLAN attachment that is used in HA VPN over Cloud Interconnect. This regional internal IP address range must not overlap with any IP address range of subnet/route in the VPC network and its peering networks. After the VLAN attachment is created with the reserved IP address range, when creating a new VPN gateway, its interface IP address is allocated from the associated VLAN attachment\u2019s IP address range.", + "External IP automatically reserved for Cloud NAT.", + "A private network IP address that can be used to configure Private Service Connect. This purpose can be specified only for GLOBAL addresses of Type INTERNAL", + "A regional internal IP address range reserved for Serverless.", + "A private network IP address that can be shared by multiple Internal Load Balancer forwarding rules.", + "IP range for peer networks." + ], + "type": "string" + }, + "type": "array" + }, + "allowAliasIpRanges": { + "description": "Specifies whether alias IP ranges (and secondary address ranges) are allowed.", + "enum": [ + "ALIAS_IP_RANGES_ALLOWED", + "ALIAS_IP_RANGES_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowAutoModeSubnet": { + "description": "Specifies whether auto mode subnet creation is allowed.", + "enum": [ + "AUTO_MODE_SUBNET_ALLOWED", + "AUTO_MODE_SUBNET_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowClassDFirewalls": { + "description": "Specifies whether firewalls for Class D address ranges are supported.", + "enum": [ + "CLASS_D_FIREWALLS_ALLOWED", + "CLASS_D_FIREWALLS_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowCloudNat": { + "description": "Specifies whether cloud NAT creation is allowed.", + "enum": [ + "CLOUD_NAT_ALLOWED", + "CLOUD_NAT_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowCloudRouter": { + "description": "Specifies whether cloud router creation is allowed.", + "enum": [ + "CLOUD_ROUTER_ALLOWED", + "CLOUD_ROUTER_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowExternalIpAccess": { + "description": "Specifies whether VMs are allowed to have external IP access on network interfaces connected to this VPC.", + "enum": [ + "EXTERNAL_IP_ACCESS_ALLOWED", + "EXTERNAL_IP_ACCESS_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowInterconnect": { + "description": "Specifies whether Cloud Interconnect creation is allowed.", + "enum": [ + "INTERCONNECT_ALLOWED", + "INTERCONNECT_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowLoadBalancing": { + "description": "Specifies whether cloud load balancing is allowed.", + "enum": [ + "LOAD_BALANCING_ALLOWED", + "LOAD_BALANCING_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowMultiNicInSameNetwork": { + "description": "Specifies whether multi-nic in the same network is allowed.", + "enum": [ + "MULTI_NIC_IN_SAME_NETWORK_ALLOWED", + "MULTI_NIC_IN_SAME_NETWORK_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowPacketMirroring": { + "description": "Specifies whether Packet Mirroring 1.0 is supported.", + "enum": [ + "PACKET_MIRRORING_ALLOWED", + "PACKET_MIRRORING_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowPrivateGoogleAccess": { + "description": "Specifies whether private Google access is allowed.", + "enum": [ + "PRIVATE_GOOGLE_ACCESS_ALLOWED", + "PRIVATE_GOOGLE_ACCESS_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowPsc": { + "description": "Specifies whether PSC creation is allowed.", + "enum": [ + "PSC_ALLOWED", + "PSC_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowSameNetworkUnicast": { + "description": "Specifies whether unicast within the same network is allowed.", + "enum": [ + "SAME_NETWORK_UNICAST_ALLOWED", + "SAME_NETWORK_UNICAST_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowStaticRoutes": { + "description": "Specifies whether static route creation is allowed.", + "enum": [ + "STATIC_ROUTES_ALLOWED", + "STATIC_ROUTES_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowSubInterfaces": { + "description": "Specifies whether sub interfaces are allowed.", + "enum": [ + "SUBINTERFACES_ALLOWED", + "SUBINTERFACES_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowVpcPeering": { + "description": "Specifies whether VPC peering is allowed.", + "enum": [ + "VPC_PEERING_ALLOWED", + "VPC_PEERING_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowVpn": { + "description": "Specifies whether VPN creation is allowed.", + "enum": [ + "VPN_ALLOWED", + "VPN_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowedSubnetPurposes": { + "description": "Specifies which subnetwork purposes are supported.", + "items": { + "enum": [ + "SUBNET_PURPOSE_CUSTOM_HARDWARE", + "SUBNET_PURPOSE_PRIVATE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "type": "array" + }, + "allowedSubnetStackTypes": { + "description": "Specifies which subnetwork stack types are supported.", + "items": { + "enum": [ + "SUBNET_STACK_TYPE_IPV4_IPV6", + "SUBNET_STACK_TYPE_IPV4_ONLY", + "SUBNET_STACK_TYPE_IPV6_ONLY" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "type": "array" + }, + "interfaceTypes": { + "description": "If set, limits the interface types that the network supports. If empty, all interface types are supported.", + "items": { + "enum": [ + "GVNIC", + "IDPF", + "UNSPECIFIED_NIC_TYPE", + "VIRTIO_NET" + ], + "enumDescriptions": [ + "GVNIC", + "IDPF", + "No type specified.", + "VIRTIO" + ], + "type": "string" + }, + "type": "array" + }, + "unicast": { + "description": "Specifies which type of unicast is supported.", + "enum": [ + "UNICAST_SDN", + "UNICAST_ULL" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "NetworkProfilesListResponse": { + "description": "Contains a list of network profiles.", + "id": "NetworkProfilesListResponse", + "properties": { + "etag": { + "type": "string" + }, + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of NetworkProfile resources.", + "items": { + "$ref": "NetworkProfile" + }, + "type": "array" + }, + "kind": { + "default": "compute#networkProfileList", + "description": "[Output Only] Type of resource. Always compute#networkProfileList for network profiles.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", + "items": { + "type": "string" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "NetworkRoutingConfig": { "description": "A routing configuration attached to a network resource. The message includes the list of routers associated with the network, and a flag indicating the type of routing behavior to enforce network-wide.", "id": "NetworkRoutingConfig", @@ -69324,7 +70469,7 @@ "type": "string" }, "targetLink": { - "description": "[Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from.", + "description": "[Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the disk that the snapshot was created from.", "type": "string" }, "user": { @@ -76575,6 +77720,10 @@ "RoutePolicy": { "id": "RoutePolicy", "properties": { + "description": { + "description": "An optional description of route policy.", + "type": "string" + }, "fingerprint": { "description": "A fingerprint for the Route Policy being applied to this Router, which is essentially a hash of the Route Policy used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update Route Policy. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make a getRoutePolicy() request to retrieve a Route Policy.", "format": "byte", @@ -84885,11 +86034,13 @@ "description": "The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.", "enum": [ "IPV4_IPV6", - "IPV4_ONLY" + "IPV4_ONLY", + "IPV6_ONLY" ], "enumDescriptions": [ "New VMs in this subnet can have both IPv4 and IPv6 addresses.", - "New VMs in this subnet will only be assigned IPv4 addresses." + "New VMs in this subnet will only be assigned IPv4 addresses.", + "New VMs in this subnet will only be assigned IPv6 addresses." ], "type": "string" }, @@ -89466,7 +90617,7 @@ "type": "object" }, "UrlMap": { - "description": "Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/reference/rest/beta/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts.", + "description": "Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/reference/rest/beta/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL, EXTERNAL_MANAGED, or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts.", "id": "UrlMap", "properties": { "creationTimestamp": { @@ -90216,11 +91367,13 @@ "description": "The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.", "enum": [ "IPV4_IPV6", - "IPV4_ONLY" + "IPV4_ONLY", + "IPV6_ONLY" ], "enumDescriptions": [ "New VMs in this subnet can have both IPv4 and IPv6 addresses.", - "New VMs in this subnet will only be assigned IPv4 addresses." + "New VMs in this subnet will only be assigned IPv4 addresses.", + "New VMs in this subnet will only be assigned IPv6 addresses." ], "type": "string" }, diff --git a/Src/Generated/Google.Apis.Compute.beta/Google.Apis.Compute.beta.cs b/Src/Generated/Google.Apis.Compute.beta/Google.Apis.Compute.beta.cs index 388b42bc67..7e4dfa491b 100644 --- a/Src/Generated/Google.Apis.Compute.beta/Google.Apis.Compute.beta.cs +++ b/Src/Generated/Google.Apis.Compute.beta/Google.Apis.Compute.beta.cs @@ -76,6 +76,7 @@ public ComputeService(Google.Apis.Services.BaseClientService.Initializer initial NetworkEdgeSecurityServices = new NetworkEdgeSecurityServicesResource(this); NetworkEndpointGroups = new NetworkEndpointGroupsResource(this); NetworkFirewallPolicies = new NetworkFirewallPoliciesResource(this); + NetworkProfiles = new NetworkProfilesResource(this); Networks = new NetworksResource(this); NodeGroups = new NodeGroupsResource(this); NodeTemplates = new NodeTemplatesResource(this); @@ -98,6 +99,7 @@ public ComputeService(Google.Apis.Services.BaseClientService.Initializer initial RegionInstanceTemplates = new RegionInstanceTemplatesResource(this); RegionInstances = new RegionInstancesResource(this); RegionInstantSnapshots = new RegionInstantSnapshotsResource(this); + RegionMultiMigs = new RegionMultiMigsResource(this); RegionNetworkEndpointGroups = new RegionNetworkEndpointGroupsResource(this); RegionNetworkFirewallPolicies = new RegionNetworkFirewallPoliciesResource(this); RegionNotificationEndpoints = new RegionNotificationEndpointsResource(this); @@ -339,6 +341,9 @@ public static class ScopeConstants /// Gets the NetworkFirewallPolicies resource. public virtual NetworkFirewallPoliciesResource NetworkFirewallPolicies { get; } + /// Gets the NetworkProfiles resource. + public virtual NetworkProfilesResource NetworkProfiles { get; } + /// Gets the Networks resource. public virtual NetworksResource Networks { get; } @@ -405,6 +410,9 @@ public static class ScopeConstants /// Gets the RegionInstantSnapshots resource. public virtual RegionInstantSnapshotsResource RegionInstantSnapshots { get; } + /// Gets the RegionMultiMigs resource. + public virtual RegionMultiMigsResource RegionMultiMigs { get; } + /// Gets the RegionNetworkEndpointGroups resource. public virtual RegionNetworkEndpointGroupsResource RegionNetworkEndpointGroups { get; } @@ -41293,202 +41301,36 @@ protected override void InitParameters() } } - /// The "networks" collection of methods. - public class NetworksResource + /// The "networkProfiles" collection of methods. + public class NetworkProfilesResource { - private const string Resource = "networks"; + private const string Resource = "networkProfiles"; /// The service which this resource belongs to. private readonly Google.Apis.Services.IClientService service; /// Constructs a new resource. - public NetworksResource(Google.Apis.Services.IClientService service) + public NetworkProfilesResource(Google.Apis.Services.IClientService service) { this.service = service; } - /// Adds a peering to the specified network. - /// The body of the request. + /// Returns the specified network profile. /// Project ID for this request. - /// Name of the network resource to add peering to. - public virtual AddPeeringRequest AddPeering(Google.Apis.Compute.beta.Data.NetworksAddPeeringRequest body, string project, string network) + /// Name of the network profile to return. + public virtual GetRequest Get(string project, string networkProfile) { - return new AddPeeringRequest(this.service, body, project, network); + return new GetRequest(this.service, project, networkProfile); } - /// Adds a peering to the specified network. - public class AddPeeringRequest : ComputeBaseServiceRequest - { - /// Constructs a new AddPeering request. - public AddPeeringRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.beta.Data.NetworksAddPeeringRequest body, string project, string network) : base(service) - { - Project = project; - Network = network; - Body = body; - InitParameters(); - } - - /// Project ID for this request. - [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Project { get; private set; } - - /// Name of the network resource to add peering to. - [Google.Apis.Util.RequestParameterAttribute("network", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Network { get; private set; } - - /// - /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your - /// request, the server will know to ignore the request if it has already been completed. For example, - /// consider a situation where you make an initial request and the request times out. If you make the - /// request again with the same request ID, the server can check if original operation with the same request - /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally - /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is - /// not supported ( 00000000-0000-0000-0000-000000000000). - /// - [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.Compute.beta.Data.NetworksAddPeeringRequest Body { get; set; } - - /// Returns the body of the request. - protected override object GetBody() => Body; - - /// Gets the method name. - public override string MethodName => "addPeering"; - - /// Gets the HTTP method. - public override string HttpMethod => "POST"; - - /// Gets the REST path. - public override string RestPath => "projects/{project}/global/networks/{network}/addPeering"; - - /// Initializes AddPeering parameter list. - protected override void InitParameters() - { - base.InitParameters(); - RequestParameters.Add("project", new Google.Apis.Discovery.Parameter - { - Name = "project", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - }); - RequestParameters.Add("network", new Google.Apis.Discovery.Parameter - { - Name = "network", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - }); - RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter - { - Name = "requestId", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - } - } - - /// Deletes the specified network. - /// Project ID for this request. - /// Name of the network to delete. - public virtual DeleteRequest Delete(string project, string network) - { - return new DeleteRequest(this.service, project, network); - } - - /// Deletes the specified network. - public class DeleteRequest : ComputeBaseServiceRequest - { - /// Constructs a new Delete request. - public DeleteRequest(Google.Apis.Services.IClientService service, string project, string network) : base(service) - { - Project = project; - Network = network; - InitParameters(); - } - - /// Project ID for this request. - [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Project { get; private set; } - - /// Name of the network to delete. - [Google.Apis.Util.RequestParameterAttribute("network", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Network { get; private set; } - - /// - /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your - /// request, the server will know to ignore the request if it has already been completed. For example, - /// consider a situation where you make an initial request and the request times out. If you make the - /// request again with the same request ID, the server can check if original operation with the same request - /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally - /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is - /// not supported ( 00000000-0000-0000-0000-000000000000). - /// - [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 => "projects/{project}/global/networks/{network}"; - - /// Initializes Delete parameter list. - protected override void InitParameters() - { - base.InitParameters(); - RequestParameters.Add("project", new Google.Apis.Discovery.Parameter - { - Name = "project", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - }); - RequestParameters.Add("network", new Google.Apis.Discovery.Parameter - { - Name = "network", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - }); - RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter - { - Name = "requestId", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - } - } - - /// Returns the specified network. - /// Project ID for this request. - /// Name of the network to return. - public virtual GetRequest Get(string project, string network) - { - return new GetRequest(this.service, project, network); - } - - /// Returns the specified network. - public class GetRequest : ComputeBaseServiceRequest + /// Returns the specified network profile. + public class GetRequest : ComputeBaseServiceRequest { /// Constructs a new Get request. - public GetRequest(Google.Apis.Services.IClientService service, string project, string network) : base(service) + public GetRequest(Google.Apis.Services.IClientService service, string project, string networkProfile) : base(service) { Project = project; - Network = network; + NetworkProfile = networkProfile; InitParameters(); } @@ -41496,9 +41338,9 @@ public GetRequest(Google.Apis.Services.IClientService service, string project, s [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] public virtual string Project { get; private set; } - /// Name of the network to return. - [Google.Apis.Util.RequestParameterAttribute("network", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Network { get; private set; } + /// Name of the network profile to return. + [Google.Apis.Util.RequestParameterAttribute("networkProfile", Google.Apis.Util.RequestParameterType.Path)] + public virtual string NetworkProfile { get; private set; } /// Gets the method name. public override string MethodName => "get"; @@ -41507,7 +41349,7 @@ public GetRequest(Google.Apis.Services.IClientService service, string project, s public override string HttpMethod => "GET"; /// Gets the REST path. - public override string RestPath => "projects/{project}/global/networks/{network}"; + public override string RestPath => "projects/{project}/global/networkProfiles/{networkProfile}"; /// Initializes Get parameter list. protected override void InitParameters() @@ -41521,9 +41363,9 @@ protected override void InitParameters() DefaultValue = null, Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", }); - RequestParameters.Add("network", new Google.Apis.Discovery.Parameter + RequestParameters.Add("networkProfile", new Google.Apis.Discovery.Parameter { - Name = "network", + Name = "networkProfile", IsRequired = true, ParameterType = "path", DefaultValue = null, @@ -41532,147 +41374,544 @@ protected override void InitParameters() } } - /// Returns the effective firewalls on a given network. - /// Project ID for this request. - /// Name of the network for this request. - public virtual GetEffectiveFirewallsRequest GetEffectiveFirewalls(string project, string network) - { - return new GetEffectiveFirewallsRequest(this.service, project, network); - } - - /// Returns the effective firewalls on a given network. - public class GetEffectiveFirewallsRequest : ComputeBaseServiceRequest - { - /// Constructs a new GetEffectiveFirewalls request. - public GetEffectiveFirewallsRequest(Google.Apis.Services.IClientService service, string project, string network) : base(service) - { - Project = project; - Network = network; - InitParameters(); - } - - /// Project ID for this request. - [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Project { get; private set; } - - /// Name of the network for this request. - [Google.Apis.Util.RequestParameterAttribute("network", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Network { get; private set; } - - /// Gets the method name. - public override string MethodName => "getEffectiveFirewalls"; - - /// Gets the HTTP method. - public override string HttpMethod => "GET"; - - /// Gets the REST path. - public override string RestPath => "projects/{project}/global/networks/{network}/getEffectiveFirewalls"; - - /// Initializes GetEffectiveFirewalls parameter list. - protected override void InitParameters() - { - base.InitParameters(); - RequestParameters.Add("project", new Google.Apis.Discovery.Parameter - { - Name = "project", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - }); - RequestParameters.Add("network", new Google.Apis.Discovery.Parameter - { - Name = "network", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - }); - } - } - - /// Creates a network in the specified project using the data included in the request. - /// The body of the request. - /// Project ID for this request. - public virtual InsertRequest Insert(Google.Apis.Compute.beta.Data.Network body, string project) - { - return new InsertRequest(this.service, body, project); - } - - /// Creates a network in the specified project using the data included in the request. - public class InsertRequest : ComputeBaseServiceRequest - { - /// Constructs a new Insert request. - public InsertRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.beta.Data.Network body, string project) : base(service) - { - Project = project; - Body = body; - InitParameters(); - } - - /// Project ID for this request. - [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Project { get; private set; } - - /// - /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your - /// request, the server will know to ignore the request if it has already been completed. For example, - /// consider a situation where you make an initial request and the request times out. If you make the - /// request again with the same request ID, the server can check if original operation with the same request - /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally - /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is - /// not supported ( 00000000-0000-0000-0000-000000000000). - /// - [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.Compute.beta.Data.Network Body { get; set; } - - /// Returns the body of the request. - protected override object GetBody() => Body; - - /// Gets the method name. - public override string MethodName => "insert"; - - /// Gets the HTTP method. - public override string HttpMethod => "POST"; - - /// Gets the REST path. - public override string RestPath => "projects/{project}/global/networks"; - - /// Initializes Insert parameter list. - protected override void InitParameters() - { - base.InitParameters(); - RequestParameters.Add("project", new Google.Apis.Discovery.Parameter - { - Name = "project", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - }); - RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter - { - Name = "requestId", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - } - } - - /// Retrieves the list of networks available to the specified project. + /// Retrieves a list of network profiles available to the specified project. /// Project ID for this request. public virtual ListRequest List(string project) { return new ListRequest(this.service, project); } - /// Retrieves the list of networks available to the specified project. - public class ListRequest : ComputeBaseServiceRequest + /// Retrieves a list of network profiles available to the specified project. + public class ListRequest : ComputeBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string project) : base(service) + { + Project = project; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// + /// A filter expression that filters resources listed in the response. Most Compute resources support two + /// types of filter expressions: expressions that support regular expressions and expressions that follow + /// API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. + /// If you want to use AIP-160, your expression must specify the field name, an operator, and the value that + /// you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be + /// either `=`, `!=`, `&gt;`, `&lt;`, `&lt;=`, `&gt;=` or `:`. For example, if you are + /// filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying + /// `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For + /// example, to find all objects with `owner` label use: + /// ``` + /// labels.owner:* + /// ``` + /// You can also filter nested + /// fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only + /// if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based + /// on resource labels. To filter on multiple expressions, provide each separate expression within + /// parentheses. For example: + /// ``` + /// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") + /// ``` + /// By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions + /// explicitly. For example: + /// ``` + /// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND + /// (scheduling.automaticRestart = true) + /// ``` + /// If you want to use a regular expression, use the `eq` (equal) + /// or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or + /// against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq + /// 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne + /// "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. + /// The literal value must match the entire field. For example, to filter for instances that do not end with + /// name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields + /// using regular expressions. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// The maximum number of results per page that should be returned. If the number of available results is + /// larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page + /// of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + /// + [Google.Apis.Util.RequestParameterAttribute("maxResults", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable MaxResults { get; set; } + + /// + /// Sorts list results by a certain order. By default, results are returned in alphanumerical order based on + /// the resource name. You can also sort results in descending order based on the creation timestamp using + /// `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse + /// chronological order (newest result first). Use this to sort resources like operations so that the newest + /// operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list + /// request to get the next page of results. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// + /// Opt-in for partial success behavior which provides partial results in case of failure. The default value + /// is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope + /// either returns all resources in the zone or no resources, with an error code. + /// + [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"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "projects/{project}/global/networkProfiles"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("maxResults", new Google.Apis.Discovery.Parameter + { + Name = "maxResults", + IsRequired = false, + ParameterType = "query", + DefaultValue = "500", + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + 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, + }); + RequestParameters.Add("returnPartialSuccess", new Google.Apis.Discovery.Parameter + { + Name = "returnPartialSuccess", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// The "networks" collection of methods. + public class NetworksResource + { + private const string Resource = "networks"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public NetworksResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Adds a peering to the specified network. + /// The body of the request. + /// Project ID for this request. + /// Name of the network resource to add peering to. + public virtual AddPeeringRequest AddPeering(Google.Apis.Compute.beta.Data.NetworksAddPeeringRequest body, string project, string network) + { + return new AddPeeringRequest(this.service, body, project, network); + } + + /// Adds a peering to the specified network. + public class AddPeeringRequest : ComputeBaseServiceRequest + { + /// Constructs a new AddPeering request. + public AddPeeringRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.beta.Data.NetworksAddPeeringRequest body, string project, string network) : base(service) + { + Project = project; + Network = network; + Body = body; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name of the network resource to add peering to. + [Google.Apis.Util.RequestParameterAttribute("network", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Network { get; private set; } + + /// + /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your + /// request, the server will know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request times out. If you make the + /// request again with the same request ID, the server can check if original operation with the same request + /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is + /// not supported ( 00000000-0000-0000-0000-000000000000). + /// + [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.Compute.beta.Data.NetworksAddPeeringRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "addPeering"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "projects/{project}/global/networks/{network}/addPeering"; + + /// Initializes AddPeering parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("network", new Google.Apis.Discovery.Parameter + { + Name = "network", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + }); + RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter + { + Name = "requestId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Deletes the specified network. + /// Project ID for this request. + /// Name of the network to delete. + public virtual DeleteRequest Delete(string project, string network) + { + return new DeleteRequest(this.service, project, network); + } + + /// Deletes the specified network. + public class DeleteRequest : ComputeBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string project, string network) : base(service) + { + Project = project; + Network = network; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name of the network to delete. + [Google.Apis.Util.RequestParameterAttribute("network", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Network { get; private set; } + + /// + /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your + /// request, the server will know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request times out. If you make the + /// request again with the same request ID, the server can check if original operation with the same request + /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is + /// not supported ( 00000000-0000-0000-0000-000000000000). + /// + [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 => "projects/{project}/global/networks/{network}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("network", new Google.Apis.Discovery.Parameter + { + Name = "network", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + }); + RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter + { + Name = "requestId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Returns the specified network. + /// Project ID for this request. + /// Name of the network to return. + public virtual GetRequest Get(string project, string network) + { + return new GetRequest(this.service, project, network); + } + + /// Returns the specified network. + public class GetRequest : ComputeBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string project, string network) : base(service) + { + Project = project; + Network = network; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name of the network to return. + [Google.Apis.Util.RequestParameterAttribute("network", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Network { 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 => "projects/{project}/global/networks/{network}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("network", new Google.Apis.Discovery.Parameter + { + Name = "network", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + }); + } + } + + /// Returns the effective firewalls on a given network. + /// Project ID for this request. + /// Name of the network for this request. + public virtual GetEffectiveFirewallsRequest GetEffectiveFirewalls(string project, string network) + { + return new GetEffectiveFirewallsRequest(this.service, project, network); + } + + /// Returns the effective firewalls on a given network. + public class GetEffectiveFirewallsRequest : ComputeBaseServiceRequest + { + /// Constructs a new GetEffectiveFirewalls request. + public GetEffectiveFirewallsRequest(Google.Apis.Services.IClientService service, string project, string network) : base(service) + { + Project = project; + Network = network; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name of the network for this request. + [Google.Apis.Util.RequestParameterAttribute("network", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Network { get; private set; } + + /// Gets the method name. + public override string MethodName => "getEffectiveFirewalls"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "projects/{project}/global/networks/{network}/getEffectiveFirewalls"; + + /// Initializes GetEffectiveFirewalls parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("network", new Google.Apis.Discovery.Parameter + { + Name = "network", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + }); + } + } + + /// Creates a network in the specified project using the data included in the request. + /// The body of the request. + /// Project ID for this request. + public virtual InsertRequest Insert(Google.Apis.Compute.beta.Data.Network body, string project) + { + return new InsertRequest(this.service, body, project); + } + + /// Creates a network in the specified project using the data included in the request. + public class InsertRequest : ComputeBaseServiceRequest + { + /// Constructs a new Insert request. + public InsertRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.beta.Data.Network body, string project) : base(service) + { + Project = project; + Body = body; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// + /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your + /// request, the server will know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request times out. If you make the + /// request again with the same request ID, the server can check if original operation with the same request + /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is + /// not supported ( 00000000-0000-0000-0000-000000000000). + /// + [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.Compute.beta.Data.Network Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "insert"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "projects/{project}/global/networks"; + + /// Initializes Insert parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter + { + Name = "requestId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Retrieves the list of networks available to the specified project. + /// Project ID for this request. + public virtual ListRequest List(string project) + { + return new ListRequest(this.service, project); + } + + /// Retrieves the list of networks available to the specified project. + public class ListRequest : ComputeBaseServiceRequest { /// Constructs a new List request. public ListRequest(Google.Apis.Services.IClientService service, string project) : base(service) @@ -61696,53 +61935,680 @@ protected override void InitParameters() DefaultValue = null, Pattern = null, }); - RequestParameters.Add("view", new Google.Apis.Discovery.Parameter - { - Name = "view", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); + RequestParameters.Add("view", new Google.Apis.Discovery.Parameter + { + Name = "view", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// The "regionInstances" collection of methods. + public class RegionInstancesResource + { + private const string Resource = "regionInstances"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public RegionInstancesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// Creates multiple instances in a given region. Count specifies the number of instances to create. + /// + /// The body of the request. + /// Project ID for this request. + /// The name of the region for this request. + public virtual BulkInsertRequest BulkInsert(Google.Apis.Compute.beta.Data.BulkInsertInstanceResource body, string project, string region) + { + return new BulkInsertRequest(this.service, body, project, region); + } + + /// + /// Creates multiple instances in a given region. Count specifies the number of instances to create. + /// + public class BulkInsertRequest : ComputeBaseServiceRequest + { + /// Constructs a new BulkInsert request. + public BulkInsertRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.beta.Data.BulkInsertInstanceResource body, string project, string region) : base(service) + { + Project = project; + Region = region; + Body = body; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// The name of the region for this request. + [Google.Apis.Util.RequestParameterAttribute("region", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Region { get; private set; } + + /// + /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your + /// request, the server will know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request times out. If you make the + /// request again with the same request ID, the server can check if original operation with the same request + /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is + /// not supported ( 00000000-0000-0000-0000-000000000000). + /// + [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.Compute.beta.Data.BulkInsertInstanceResource Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "bulkInsert"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "projects/{project}/regions/{region}/instances/bulkInsert"; + + /// Initializes BulkInsert parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("region", new Google.Apis.Discovery.Parameter + { + Name = "region", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + }); + RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter + { + Name = "requestId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// The "regionInstantSnapshots" collection of methods. + public class RegionInstantSnapshotsResource + { + private const string Resource = "regionInstantSnapshots"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public RegionInstantSnapshotsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// Deletes the specified InstantSnapshot resource. Keep in mind that deleting a single instantSnapshot might + /// not necessarily delete all the data on that instantSnapshot. If any data on the instantSnapshot that is + /// marked for deletion is needed for subsequent instantSnapshots, the data will be moved to the next + /// corresponding instantSnapshot. For more information, see Deleting instantSnapshots. + /// + /// Project ID for this request. + /// The name of the region for this request. + /// Name of the InstantSnapshot resource to delete. + public virtual DeleteRequest Delete(string project, string region, string instantSnapshot) + { + return new DeleteRequest(this.service, project, region, instantSnapshot); + } + + /// + /// Deletes the specified InstantSnapshot resource. Keep in mind that deleting a single instantSnapshot might + /// not necessarily delete all the data on that instantSnapshot. If any data on the instantSnapshot that is + /// marked for deletion is needed for subsequent instantSnapshots, the data will be moved to the next + /// corresponding instantSnapshot. For more information, see Deleting instantSnapshots. + /// + public class DeleteRequest : ComputeBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string project, string region, string instantSnapshot) : base(service) + { + Project = project; + Region = region; + InstantSnapshot = instantSnapshot; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// The name of the region for this request. + [Google.Apis.Util.RequestParameterAttribute("region", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Region { get; private set; } + + /// Name of the InstantSnapshot resource to delete. + [Google.Apis.Util.RequestParameterAttribute("instantSnapshot", Google.Apis.Util.RequestParameterType.Path)] + public virtual string InstantSnapshot { get; private set; } + + /// + /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your + /// request, the server will know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request times out. If you make the + /// request again with the same request ID, the server can check if original operation with the same request + /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is + /// not supported ( 00000000-0000-0000-0000-000000000000). + /// + [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 => "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("region", new Google.Apis.Discovery.Parameter + { + Name = "region", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + }); + RequestParameters.Add("instantSnapshot", new Google.Apis.Discovery.Parameter + { + Name = "instantSnapshot", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + }); + RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter + { + Name = "requestId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Returns the specified InstantSnapshot resource in the specified region. + /// Project ID for this request. + /// The name of the region for this request. + /// Name of the InstantSnapshot resource to return. + public virtual GetRequest Get(string project, string region, string instantSnapshot) + { + return new GetRequest(this.service, project, region, instantSnapshot); + } + + /// Returns the specified InstantSnapshot resource in the specified region. + public class GetRequest : ComputeBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string project, string region, string instantSnapshot) : base(service) + { + Project = project; + Region = region; + InstantSnapshot = instantSnapshot; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// The name of the region for this request. + [Google.Apis.Util.RequestParameterAttribute("region", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Region { get; private set; } + + /// Name of the InstantSnapshot resource to return. + [Google.Apis.Util.RequestParameterAttribute("instantSnapshot", Google.Apis.Util.RequestParameterType.Path)] + public virtual string InstantSnapshot { 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 => "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("region", new Google.Apis.Discovery.Parameter + { + Name = "region", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + }); + RequestParameters.Add("instantSnapshot", new Google.Apis.Discovery.Parameter + { + Name = "instantSnapshot", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + }); + } + } + + /// + /// Gets the access control policy for a resource. May be empty if no such policy or resource exists. + /// + /// Project ID for this request. + /// The name of the region for this request. + /// Name or id of the resource for this request. + public virtual GetIamPolicyRequest GetIamPolicy(string project, string region, string resource) + { + return new GetIamPolicyRequest(this.service, project, region, resource); + } + + /// + /// Gets the access control policy for a resource. May be empty if no such policy or resource exists. + /// + public class GetIamPolicyRequest : ComputeBaseServiceRequest + { + /// Constructs a new GetIamPolicy request. + public GetIamPolicyRequest(Google.Apis.Services.IClientService service, string project, string region, string resource) : base(service) + { + Project = project; + Region = region; + Resource = resource; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// The name of the region for this request. + [Google.Apis.Util.RequestParameterAttribute("region", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Region { get; private set; } + + /// Name or id of the resource for this request. + [Google.Apis.Util.RequestParameterAttribute("resource", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Resource { get; private set; } + + /// Requested IAM Policy version. + [Google.Apis.Util.RequestParameterAttribute("optionsRequestedPolicyVersion", 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 => "GET"; + + /// Gets the REST path. + public override string RestPath => "projects/{project}/regions/{region}/instantSnapshots/{resource}/getIamPolicy"; + + /// Initializes GetIamPolicy parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("region", new Google.Apis.Discovery.Parameter + { + Name = "region", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + }); + RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter + { + Name = "resource", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + }); + RequestParameters.Add("optionsRequestedPolicyVersion", new Google.Apis.Discovery.Parameter + { + Name = "optionsRequestedPolicyVersion", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Creates an instant snapshot in the specified region. + /// The body of the request. + /// Project ID for this request. + /// Name of the region for this request. + public virtual InsertRequest Insert(Google.Apis.Compute.beta.Data.InstantSnapshot body, string project, string region) + { + return new InsertRequest(this.service, body, project, region); + } + + /// Creates an instant snapshot in the specified region. + public class InsertRequest : ComputeBaseServiceRequest + { + /// Constructs a new Insert request. + public InsertRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.beta.Data.InstantSnapshot body, string project, string region) : base(service) + { + Project = project; + Region = region; + Body = body; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name of the region for this request. + [Google.Apis.Util.RequestParameterAttribute("region", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Region { get; private set; } + + /// + /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your + /// request, the server will know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request times out. If you make the + /// request again with the same request ID, the server can check if original operation with the same request + /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is + /// not supported ( 00000000-0000-0000-0000-000000000000). + /// + [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.Compute.beta.Data.InstantSnapshot Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "insert"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "projects/{project}/regions/{region}/instantSnapshots"; + + /// Initializes Insert parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("region", new Google.Apis.Discovery.Parameter + { + Name = "region", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + }); + RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter + { + Name = "requestId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Retrieves the list of InstantSnapshot resources contained within the specified region. + /// Project ID for this request. + /// The name of the region for this request. + public virtual ListRequest List(string project, string region) + { + return new ListRequest(this.service, project, region); + } + + /// Retrieves the list of InstantSnapshot resources contained within the specified region. + public class ListRequest : ComputeBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string project, string region) : base(service) + { + Project = project; + Region = region; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// The name of the region for this request. + [Google.Apis.Util.RequestParameterAttribute("region", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Region { get; private set; } + + /// + /// A filter expression that filters resources listed in the response. Most Compute resources support two + /// types of filter expressions: expressions that support regular expressions and expressions that follow + /// API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. + /// If you want to use AIP-160, your expression must specify the field name, an operator, and the value that + /// you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be + /// either `=`, `!=`, `&gt;`, `&lt;`, `&lt;=`, `&gt;=` or `:`. For example, if you are + /// filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying + /// `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For + /// example, to find all objects with `owner` label use: + /// ``` + /// labels.owner:* + /// ``` + /// You can also filter nested + /// fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only + /// if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based + /// on resource labels. To filter on multiple expressions, provide each separate expression within + /// parentheses. For example: + /// ``` + /// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") + /// ``` + /// By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions + /// explicitly. For example: + /// ``` + /// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND + /// (scheduling.automaticRestart = true) + /// ``` + /// If you want to use a regular expression, use the `eq` (equal) + /// or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or + /// against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq + /// 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne + /// "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. + /// The literal value must match the entire field. For example, to filter for instances that do not end with + /// name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields + /// using regular expressions. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// The maximum number of results per page that should be returned. If the number of available results is + /// larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page + /// of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + /// + [Google.Apis.Util.RequestParameterAttribute("maxResults", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable MaxResults { get; set; } + + /// + /// Sorts list results by a certain order. By default, results are returned in alphanumerical order based on + /// the resource name. You can also sort results in descending order based on the creation timestamp using + /// `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse + /// chronological order (newest result first). Use this to sort resources like operations so that the newest + /// operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list + /// request to get the next page of results. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// + /// Opt-in for partial success behavior which provides partial results in case of failure. The default value + /// is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope + /// either returns all resources in the zone or no resources, with an error code. + /// + [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"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "projects/{project}/regions/{region}/instantSnapshots"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("region", new Google.Apis.Discovery.Parameter + { + Name = "region", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("maxResults", new Google.Apis.Discovery.Parameter + { + Name = "maxResults", + IsRequired = false, + ParameterType = "query", + DefaultValue = "500", + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + 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, + }); + RequestParameters.Add("returnPartialSuccess", new Google.Apis.Discovery.Parameter + { + Name = "returnPartialSuccess", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); } } - } - /// The "regionInstances" collection of methods. - public class RegionInstancesResource - { - private const string Resource = "regionInstances"; - - /// The service which this resource belongs to. - private readonly Google.Apis.Services.IClientService service; - - /// Constructs a new resource. - public RegionInstancesResource(Google.Apis.Services.IClientService service) - { - this.service = service; - } - - /// - /// Creates multiple instances in a given region. Count specifies the number of instances to create. - /// + /// Sets the access control policy on the specified resource. Replaces any existing policy. /// The body of the request. /// Project ID for this request. /// The name of the region for this request. - public virtual BulkInsertRequest BulkInsert(Google.Apis.Compute.beta.Data.BulkInsertInstanceResource body, string project, string region) + /// Name or id of the resource for this request. + public virtual SetIamPolicyRequest SetIamPolicy(Google.Apis.Compute.beta.Data.RegionSetPolicyRequest body, string project, string region, string resource) { - return new BulkInsertRequest(this.service, body, project, region); + return new SetIamPolicyRequest(this.service, body, project, region, resource); } - /// - /// Creates multiple instances in a given region. Count specifies the number of instances to create. - /// - public class BulkInsertRequest : ComputeBaseServiceRequest + /// Sets the access control policy on the specified resource. Replaces any existing policy. + public class SetIamPolicyRequest : ComputeBaseServiceRequest { - /// Constructs a new BulkInsert request. - public BulkInsertRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.beta.Data.BulkInsertInstanceResource body, string project, string region) : base(service) + /// Constructs a new SetIamPolicy request. + public SetIamPolicyRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.beta.Data.RegionSetPolicyRequest body, string project, string region, string resource) : base(service) { Project = project; Region = region; + Resource = resource; Body = body; InitParameters(); } @@ -61755,34 +62621,26 @@ public BulkInsertRequest(Google.Apis.Services.IClientService service, Google.Api [Google.Apis.Util.RequestParameterAttribute("region", Google.Apis.Util.RequestParameterType.Path)] public virtual string Region { get; private set; } - /// - /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your - /// request, the server will know to ignore the request if it has already been completed. For example, - /// consider a situation where you make an initial request and the request times out. If you make the - /// request again with the same request ID, the server can check if original operation with the same request - /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally - /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is - /// not supported ( 00000000-0000-0000-0000-000000000000). - /// - [Google.Apis.Util.RequestParameterAttribute("requestId", Google.Apis.Util.RequestParameterType.Query)] - public virtual string RequestId { get; set; } + /// Name or id of the resource for this request. + [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.Compute.beta.Data.BulkInsertInstanceResource Body { get; set; } + Google.Apis.Compute.beta.Data.RegionSetPolicyRequest Body { get; set; } /// Returns the body of the request. protected override object GetBody() => Body; /// Gets the method name. - public override string MethodName => "bulkInsert"; + public override string MethodName => "setIamPolicy"; /// Gets the HTTP method. public override string HttpMethod => "POST"; /// Gets the REST path. - public override string RestPath => "projects/{project}/regions/{region}/instances/bulkInsert"; + public override string RestPath => "projects/{project}/regions/{region}/instantSnapshots/{resource}/setIamPolicy"; - /// Initializes BulkInsert parameter list. + /// Initializes SetIamPolicy parameter list. protected override void InitParameters() { base.InitParameters(); @@ -61802,60 +62660,43 @@ protected override void InitParameters() DefaultValue = null, Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", }); - RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter + RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter { - Name = "requestId", - IsRequired = false, - ParameterType = "query", + Name = "resource", + IsRequired = true, + ParameterType = "path", DefaultValue = null, - Pattern = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", }); } } - } - - /// The "regionInstantSnapshots" collection of methods. - public class RegionInstantSnapshotsResource - { - private const string Resource = "regionInstantSnapshots"; - - /// The service which this resource belongs to. - private readonly Google.Apis.Services.IClientService service; - - /// Constructs a new resource. - public RegionInstantSnapshotsResource(Google.Apis.Services.IClientService service) - { - this.service = service; - } /// - /// Deletes the specified InstantSnapshot resource. Keep in mind that deleting a single instantSnapshot might - /// not necessarily delete all the data on that instantSnapshot. If any data on the instantSnapshot that is - /// marked for deletion is needed for subsequent instantSnapshots, the data will be moved to the next - /// corresponding instantSnapshot. For more information, see Deleting instantSnapshots. + /// Sets the labels on a instantSnapshot in the given region. To learn more about labels, read the Labeling + /// Resources documentation. /// + /// The body of the request. /// Project ID for this request. - /// The name of the region for this request. - /// Name of the InstantSnapshot resource to delete. - public virtual DeleteRequest Delete(string project, string region, string instantSnapshot) + /// The region for this request. + /// Name or id of the resource for this request. + public virtual SetLabelsRequest SetLabels(Google.Apis.Compute.beta.Data.RegionSetLabelsRequest body, string project, string region, string resource) { - return new DeleteRequest(this.service, project, region, instantSnapshot); + return new SetLabelsRequest(this.service, body, project, region, resource); } /// - /// Deletes the specified InstantSnapshot resource. Keep in mind that deleting a single instantSnapshot might - /// not necessarily delete all the data on that instantSnapshot. If any data on the instantSnapshot that is - /// marked for deletion is needed for subsequent instantSnapshots, the data will be moved to the next - /// corresponding instantSnapshot. For more information, see Deleting instantSnapshots. + /// Sets the labels on a instantSnapshot in the given region. To learn more about labels, read the Labeling + /// Resources documentation. /// - public class DeleteRequest : ComputeBaseServiceRequest + public class SetLabelsRequest : ComputeBaseServiceRequest { - /// Constructs a new Delete request. - public DeleteRequest(Google.Apis.Services.IClientService service, string project, string region, string instantSnapshot) : base(service) + /// Constructs a new SetLabels request. + public SetLabelsRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.beta.Data.RegionSetLabelsRequest body, string project, string region, string resource) : base(service) { Project = project; Region = region; - InstantSnapshot = instantSnapshot; + Resource = resource; + Body = body; InitParameters(); } @@ -61863,13 +62704,13 @@ public DeleteRequest(Google.Apis.Services.IClientService service, string project [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] public virtual string Project { get; private set; } - /// The name of the region for this request. + /// The region for this request. [Google.Apis.Util.RequestParameterAttribute("region", Google.Apis.Util.RequestParameterType.Path)] public virtual string Region { get; private set; } - /// Name of the InstantSnapshot resource to delete. - [Google.Apis.Util.RequestParameterAttribute("instantSnapshot", Google.Apis.Util.RequestParameterType.Path)] - public virtual string InstantSnapshot { get; private set; } + /// Name or id of the resource for this request. + [Google.Apis.Util.RequestParameterAttribute("resource", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Resource { get; private set; } /// /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your @@ -61883,16 +62724,22 @@ public DeleteRequest(Google.Apis.Services.IClientService service, string project [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.Compute.beta.Data.RegionSetLabelsRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + /// Gets the method name. - public override string MethodName => "delete"; + public override string MethodName => "setLabels"; /// Gets the HTTP method. - public override string HttpMethod => "DELETE"; + public override string HttpMethod => "POST"; /// Gets the REST path. - public override string RestPath => "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}"; + public override string RestPath => "projects/{project}/regions/{region}/instantSnapshots/{resource}/setLabels"; - /// Initializes Delete parameter list. + /// Initializes SetLabels parameter list. protected override void InitParameters() { base.InitParameters(); @@ -61912,9 +62759,9 @@ protected override void InitParameters() DefaultValue = null, Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", }); - RequestParameters.Add("instantSnapshot", new Google.Apis.Discovery.Parameter + RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter { - Name = "instantSnapshot", + Name = "resource", IsRequired = true, ParameterType = "path", DefaultValue = null, @@ -61931,24 +62778,26 @@ protected override void InitParameters() } } - /// Returns the specified InstantSnapshot resource in the specified region. + /// Returns permissions that a caller has on the specified resource. + /// The body of the request. /// Project ID for this request. /// The name of the region for this request. - /// Name of the InstantSnapshot resource to return. - public virtual GetRequest Get(string project, string region, string instantSnapshot) + /// Name or id of the resource for this request. + public virtual TestIamPermissionsRequest TestIamPermissions(Google.Apis.Compute.beta.Data.TestPermissionsRequest body, string project, string region, string resource) { - return new GetRequest(this.service, project, region, instantSnapshot); + return new TestIamPermissionsRequest(this.service, body, project, region, resource); } - /// Returns the specified InstantSnapshot resource in the specified region. - public class GetRequest : ComputeBaseServiceRequest + /// Returns permissions that a caller has on the specified resource. + public class TestIamPermissionsRequest : ComputeBaseServiceRequest { - /// Constructs a new Get request. - public GetRequest(Google.Apis.Services.IClientService service, string project, string region, string instantSnapshot) : base(service) + /// Constructs a new TestIamPermissions request. + public TestIamPermissionsRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.beta.Data.TestPermissionsRequest body, string project, string region, string resource) : base(service) { Project = project; Region = region; - InstantSnapshot = instantSnapshot; + Resource = resource; + Body = body; InitParameters(); } @@ -61960,20 +62809,26 @@ public GetRequest(Google.Apis.Services.IClientService service, string project, s [Google.Apis.Util.RequestParameterAttribute("region", Google.Apis.Util.RequestParameterType.Path)] public virtual string Region { get; private set; } - /// Name of the InstantSnapshot resource to return. - [Google.Apis.Util.RequestParameterAttribute("instantSnapshot", Google.Apis.Util.RequestParameterType.Path)] - public virtual string InstantSnapshot { get; private set; } + /// Name or id of the resource for this request. + [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.Compute.beta.Data.TestPermissionsRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; /// Gets the method name. - public override string MethodName => "get"; + public override string MethodName => "testIamPermissions"; /// Gets the HTTP method. - public override string HttpMethod => "GET"; + public override string HttpMethod => "POST"; /// Gets the REST path. - public override string RestPath => "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}"; + public override string RestPath => "projects/{project}/regions/{region}/instantSnapshots/{resource}/testIamPermissions"; - /// Initializes Get parameter list. + /// Initializes TestIamPermissions parameter list. protected override void InitParameters() { base.InitParameters(); @@ -61993,9 +62848,9 @@ protected override void InitParameters() DefaultValue = null, Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", }); - RequestParameters.Add("instantSnapshot", new Google.Apis.Discovery.Parameter + RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter { - Name = "instantSnapshot", + Name = "resource", IsRequired = true, ParameterType = "path", DefaultValue = null, @@ -62003,29 +62858,40 @@ protected override void InitParameters() }); } } + } - /// - /// Gets the access control policy for a resource. May be empty if no such policy or resource exists. - /// + /// The "regionMultiMigs" collection of methods. + public class RegionMultiMigsResource + { + private const string Resource = "regionMultiMigs"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public RegionMultiMigsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Deletes a multi-MIG in the specified project. /// Project ID for this request. - /// The name of the region for this request. - /// Name or id of the resource for this request. - public virtual GetIamPolicyRequest GetIamPolicy(string project, string region, string resource) + /// Name of the region for this request. + /// Name of the multi-MIG to delete. + public virtual DeleteRequest Delete(string project, string region, string multiMig) { - return new GetIamPolicyRequest(this.service, project, region, resource); + return new DeleteRequest(this.service, project, region, multiMig); } - /// - /// Gets the access control policy for a resource. May be empty if no such policy or resource exists. - /// - public class GetIamPolicyRequest : ComputeBaseServiceRequest + /// Deletes a multi-MIG in the specified project. + public class DeleteRequest : ComputeBaseServiceRequest { - /// Constructs a new GetIamPolicy request. - public GetIamPolicyRequest(Google.Apis.Services.IClientService service, string project, string region, string resource) : base(service) + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string project, string region, string multiMig) : base(service) { Project = project; Region = region; - Resource = resource; + MultiMig = multiMig; InitParameters(); } @@ -62033,28 +62899,36 @@ public GetIamPolicyRequest(Google.Apis.Services.IClientService service, string p [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] public virtual string Project { get; private set; } - /// The name of the region for this request. + /// Name of the region for this request. [Google.Apis.Util.RequestParameterAttribute("region", Google.Apis.Util.RequestParameterType.Path)] public virtual string Region { get; private set; } - /// Name or id of the resource for this request. - [Google.Apis.Util.RequestParameterAttribute("resource", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Resource { get; private set; } + /// Name of the multi-MIG to delete. + [Google.Apis.Util.RequestParameterAttribute("multiMig", Google.Apis.Util.RequestParameterType.Path)] + public virtual string MultiMig { get; private set; } - /// Requested IAM Policy version. - [Google.Apis.Util.RequestParameterAttribute("optionsRequestedPolicyVersion", Google.Apis.Util.RequestParameterType.Query)] - public virtual System.Nullable OptionsRequestedPolicyVersion { get; set; } + /// + /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your + /// request, the server will know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request times out. If you make the + /// request again with the same request ID, the server can check if original operation with the same request + /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is + /// not supported ( 00000000-0000-0000-0000-000000000000). + /// + [Google.Apis.Util.RequestParameterAttribute("requestId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string RequestId { get; set; } /// Gets the method name. - public override string MethodName => "getIamPolicy"; + 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 => "projects/{project}/regions/{region}/instantSnapshots/{resource}/getIamPolicy"; + public override string RestPath => "projects/{project}/regions/{region}/multiMigs/{multiMig}"; - /// Initializes GetIamPolicy parameter list. + /// Initializes Delete parameter list. protected override void InitParameters() { base.InitParameters(); @@ -62074,17 +62948,17 @@ protected override void InitParameters() DefaultValue = null, Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", }); - RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter + RequestParameters.Add("multiMig", new Google.Apis.Discovery.Parameter { - Name = "resource", + Name = "multiMig", IsRequired = true, ParameterType = "path", DefaultValue = null, - Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + Pattern = null, }); - RequestParameters.Add("optionsRequestedPolicyVersion", new Google.Apis.Discovery.Parameter + RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter { - Name = "optionsRequestedPolicyVersion", + Name = "requestId", IsRequired = false, ParameterType = "query", DefaultValue = null, @@ -62093,20 +62967,93 @@ protected override void InitParameters() } } - /// Creates an instant snapshot in the specified region. + /// Returns the specified multi-MIG resource. + /// Project ID for this request. + /// Name of the region for this request. + /// Name of the multi-MIG resource to return. + public virtual GetRequest Get(string project, string region, string multiMig) + { + return new GetRequest(this.service, project, region, multiMig); + } + + /// Returns the specified multi-MIG resource. + public class GetRequest : ComputeBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string project, string region, string multiMig) : base(service) + { + Project = project; + Region = region; + MultiMig = multiMig; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name of the region for this request. + [Google.Apis.Util.RequestParameterAttribute("region", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Region { get; private set; } + + /// Name of the multi-MIG resource to return. + [Google.Apis.Util.RequestParameterAttribute("multiMig", Google.Apis.Util.RequestParameterType.Path)] + public virtual string MultiMig { 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 => "projects/{project}/regions/{region}/multiMigs/{multiMig}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("region", new Google.Apis.Discovery.Parameter + { + Name = "region", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + }); + RequestParameters.Add("multiMig", new Google.Apis.Discovery.Parameter + { + Name = "multiMig", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + }); + } + } + + /// Creates a multi-MIG in the specified project. /// The body of the request. /// Project ID for this request. /// Name of the region for this request. - public virtual InsertRequest Insert(Google.Apis.Compute.beta.Data.InstantSnapshot body, string project, string region) + public virtual InsertRequest Insert(Google.Apis.Compute.beta.Data.MultiMig body, string project, string region) { return new InsertRequest(this.service, body, project, region); } - /// Creates an instant snapshot in the specified region. + /// Creates a multi-MIG in the specified project. public class InsertRequest : ComputeBaseServiceRequest { /// Constructs a new Insert request. - public InsertRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.beta.Data.InstantSnapshot body, string project, string region) : base(service) + public InsertRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.beta.Data.MultiMig body, string project, string region) : base(service) { Project = project; Region = region; @@ -62135,7 +63082,7 @@ public InsertRequest(Google.Apis.Services.IClientService service, Google.Apis.Co public virtual string RequestId { get; set; } /// Gets or sets the body of this request. - Google.Apis.Compute.beta.Data.InstantSnapshot Body { get; set; } + Google.Apis.Compute.beta.Data.MultiMig Body { get; set; } /// Returns the body of the request. protected override object GetBody() => Body; @@ -62147,7 +63094,7 @@ public InsertRequest(Google.Apis.Services.IClientService service, Google.Apis.Co public override string HttpMethod => "POST"; /// Gets the REST path. - public override string RestPath => "projects/{project}/regions/{region}/instantSnapshots"; + public override string RestPath => "projects/{project}/regions/{region}/multiMigs"; /// Initializes Insert parameter list. protected override void InitParameters() @@ -62180,16 +63127,16 @@ protected override void InitParameters() } } - /// Retrieves the list of InstantSnapshot resources contained within the specified region. + /// Retrieves a list of multi-MIGs in a project and region. /// Project ID for this request. - /// The name of the region for this request. + /// Name of the region for this request. public virtual ListRequest List(string project, string region) { return new ListRequest(this.service, project, region); } - /// Retrieves the list of InstantSnapshot resources contained within the specified region. - public class ListRequest : ComputeBaseServiceRequest + /// Retrieves a list of multi-MIGs in a project and region. + public class ListRequest : ComputeBaseServiceRequest { /// Constructs a new List request. public ListRequest(Google.Apis.Services.IClientService service, string project, string region) : base(service) @@ -62203,7 +63150,7 @@ public ListRequest(Google.Apis.Services.IClientService service, string project, [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] public virtual string Project { get; private set; } - /// The name of the region for this request. + /// Name of the region for this request. [Google.Apis.Util.RequestParameterAttribute("region", Google.Apis.Util.RequestParameterType.Path)] public virtual string Region { get; private set; } @@ -62286,7 +63233,7 @@ public ListRequest(Google.Apis.Services.IClientService service, string project, public override string HttpMethod => "GET"; /// Gets the REST path. - public override string RestPath => "projects/{project}/regions/{region}/instantSnapshots"; + public override string RestPath => "projects/{project}/regions/{region}/multiMigs"; /// Initializes List parameter list. protected override void InitParameters() @@ -62350,275 +63297,6 @@ protected override void InitParameters() }); } } - - /// Sets the access control policy on the specified resource. Replaces any existing policy. - /// The body of the request. - /// Project ID for this request. - /// The name of the region for this request. - /// Name or id of the resource for this request. - public virtual SetIamPolicyRequest SetIamPolicy(Google.Apis.Compute.beta.Data.RegionSetPolicyRequest body, string project, string region, string resource) - { - return new SetIamPolicyRequest(this.service, body, project, region, resource); - } - - /// Sets the access control policy on the specified resource. Replaces any existing policy. - public class SetIamPolicyRequest : ComputeBaseServiceRequest - { - /// Constructs a new SetIamPolicy request. - public SetIamPolicyRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.beta.Data.RegionSetPolicyRequest body, string project, string region, string resource) : base(service) - { - Project = project; - Region = region; - Resource = resource; - Body = body; - InitParameters(); - } - - /// Project ID for this request. - [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Project { get; private set; } - - /// The name of the region for this request. - [Google.Apis.Util.RequestParameterAttribute("region", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Region { get; private set; } - - /// Name or id of the resource for this request. - [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.Compute.beta.Data.RegionSetPolicyRequest 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 => "projects/{project}/regions/{region}/instantSnapshots/{resource}/setIamPolicy"; - - /// Initializes SetIamPolicy parameter list. - protected override void InitParameters() - { - base.InitParameters(); - RequestParameters.Add("project", new Google.Apis.Discovery.Parameter - { - Name = "project", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - }); - RequestParameters.Add("region", new Google.Apis.Discovery.Parameter - { - Name = "region", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - }); - RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter - { - Name = "resource", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - }); - } - } - - /// - /// Sets the labels on a instantSnapshot in the given region. To learn more about labels, read the Labeling - /// Resources documentation. - /// - /// The body of the request. - /// Project ID for this request. - /// The region for this request. - /// Name or id of the resource for this request. - public virtual SetLabelsRequest SetLabels(Google.Apis.Compute.beta.Data.RegionSetLabelsRequest body, string project, string region, string resource) - { - return new SetLabelsRequest(this.service, body, project, region, resource); - } - - /// - /// Sets the labels on a instantSnapshot in the given region. To learn more about labels, read the Labeling - /// Resources documentation. - /// - public class SetLabelsRequest : ComputeBaseServiceRequest - { - /// Constructs a new SetLabels request. - public SetLabelsRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.beta.Data.RegionSetLabelsRequest body, string project, string region, string resource) : base(service) - { - Project = project; - Region = region; - Resource = resource; - Body = body; - InitParameters(); - } - - /// Project ID for this request. - [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Project { get; private set; } - - /// The region for this request. - [Google.Apis.Util.RequestParameterAttribute("region", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Region { get; private set; } - - /// Name or id of the resource for this request. - [Google.Apis.Util.RequestParameterAttribute("resource", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Resource { get; private set; } - - /// - /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your - /// request, the server will know to ignore the request if it has already been completed. For example, - /// consider a situation where you make an initial request and the request times out. If you make the - /// request again with the same request ID, the server can check if original operation with the same request - /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally - /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is - /// not supported ( 00000000-0000-0000-0000-000000000000). - /// - [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.Compute.beta.Data.RegionSetLabelsRequest Body { get; set; } - - /// Returns the body of the request. - protected override object GetBody() => Body; - - /// Gets the method name. - public override string MethodName => "setLabels"; - - /// Gets the HTTP method. - public override string HttpMethod => "POST"; - - /// Gets the REST path. - public override string RestPath => "projects/{project}/regions/{region}/instantSnapshots/{resource}/setLabels"; - - /// Initializes SetLabels parameter list. - protected override void InitParameters() - { - base.InitParameters(); - RequestParameters.Add("project", new Google.Apis.Discovery.Parameter - { - Name = "project", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - }); - RequestParameters.Add("region", new Google.Apis.Discovery.Parameter - { - Name = "region", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - }); - RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter - { - Name = "resource", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - }); - RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter - { - Name = "requestId", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - } - } - - /// Returns permissions that a caller has on the specified resource. - /// The body of the request. - /// Project ID for this request. - /// The name of the region for this request. - /// Name or id of the resource for this request. - public virtual TestIamPermissionsRequest TestIamPermissions(Google.Apis.Compute.beta.Data.TestPermissionsRequest body, string project, string region, string resource) - { - return new TestIamPermissionsRequest(this.service, body, project, region, resource); - } - - /// Returns permissions that a caller has on the specified resource. - public class TestIamPermissionsRequest : ComputeBaseServiceRequest - { - /// Constructs a new TestIamPermissions request. - public TestIamPermissionsRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.beta.Data.TestPermissionsRequest body, string project, string region, string resource) : base(service) - { - Project = project; - Region = region; - Resource = resource; - Body = body; - InitParameters(); - } - - /// Project ID for this request. - [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Project { get; private set; } - - /// The name of the region for this request. - [Google.Apis.Util.RequestParameterAttribute("region", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Region { get; private set; } - - /// Name or id of the resource for this request. - [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.Compute.beta.Data.TestPermissionsRequest 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 => "projects/{project}/regions/{region}/instantSnapshots/{resource}/testIamPermissions"; - - /// Initializes TestIamPermissions parameter list. - protected override void InitParameters() - { - base.InitParameters(); - RequestParameters.Add("project", new Google.Apis.Discovery.Parameter - { - Name = "project", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - }); - RequestParameters.Add("region", new Google.Apis.Discovery.Parameter - { - Name = "region", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - }); - RequestParameters.Add("resource", new Google.Apis.Discovery.Parameter - { - Name = "resource", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - }); - } - } } /// The "regionNetworkEndpointGroups" collection of methods. @@ -75417,22 +76095,215 @@ protected override void InitParameters() DefaultValue = null, Pattern = null, }); - RequestParameters.Add("peer", new Google.Apis.Discovery.Parameter - { - Name = "peer", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("policyApplied", new Google.Apis.Discovery.Parameter - { - Name = "policyApplied", - IsRequired = false, - ParameterType = "query", - DefaultValue = "true", - Pattern = null, - }); + RequestParameters.Add("peer", new Google.Apis.Discovery.Parameter + { + Name = "peer", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("policyApplied", new Google.Apis.Discovery.Parameter + { + Name = "policyApplied", + IsRequired = false, + ParameterType = "query", + DefaultValue = "true", + Pattern = null, + }); + RequestParameters.Add("returnPartialSuccess", new Google.Apis.Discovery.Parameter + { + Name = "returnPartialSuccess", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("routeType", new Google.Apis.Discovery.Parameter + { + Name = "routeType", + IsRequired = false, + ParameterType = "query", + DefaultValue = "UNSPECIFIED_ROUTE_TYPE", + Pattern = null, + }); + } + } + + /// Retrieves a list of router route policy subresources available to the specified project. + /// Project ID for this request. + /// Name of the region for this request. + /// Name or id of the resource for this request. Name should conform to RFC1035. + public virtual ListRoutePoliciesRequest ListRoutePolicies(string project, string region, string router) + { + return new ListRoutePoliciesRequest(this.service, project, region, router); + } + + /// Retrieves a list of router route policy subresources available to the specified project. + public class ListRoutePoliciesRequest : ComputeBaseServiceRequest + { + /// Constructs a new ListRoutePolicies request. + public ListRoutePoliciesRequest(Google.Apis.Services.IClientService service, string project, string region, string router) : base(service) + { + Project = project; + Region = region; + Router = router; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name of the region for this request. + [Google.Apis.Util.RequestParameterAttribute("region", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Region { get; private set; } + + /// Name or id of the resource for this request. Name should conform to RFC1035. + [Google.Apis.Util.RequestParameterAttribute("router", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Router { get; private set; } + + /// + /// A filter expression that filters resources listed in the response. Most Compute resources support two + /// types of filter expressions: expressions that support regular expressions and expressions that follow + /// API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. + /// If you want to use AIP-160, your expression must specify the field name, an operator, and the value that + /// you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be + /// either `=`, `!=`, `&gt;`, `&lt;`, `&lt;=`, `&gt;=` or `:`. For example, if you are + /// filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying + /// `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For + /// example, to find all objects with `owner` label use: + /// ``` + /// labels.owner:* + /// ``` + /// You can also filter nested + /// fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only + /// if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based + /// on resource labels. To filter on multiple expressions, provide each separate expression within + /// parentheses. For example: + /// ``` + /// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") + /// ``` + /// By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions + /// explicitly. For example: + /// ``` + /// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND + /// (scheduling.automaticRestart = true) + /// ``` + /// If you want to use a regular expression, use the `eq` (equal) + /// or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or + /// against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq + /// 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne + /// "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. + /// The literal value must match the entire field. For example, to filter for instances that do not end with + /// name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields + /// using regular expressions. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// The maximum number of results per page that should be returned. If the number of available results is + /// larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page + /// of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + /// + [Google.Apis.Util.RequestParameterAttribute("maxResults", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable MaxResults { get; set; } + + /// + /// Sorts list results by a certain order. By default, results are returned in alphanumerical order based on + /// the resource name. You can also sort results in descending order based on the creation timestamp using + /// `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse + /// chronological order (newest result first). Use this to sort resources like operations so that the newest + /// operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list + /// request to get the next page of results. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// + /// Opt-in for partial success behavior which provides partial results in case of failure. The default value + /// is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope + /// either returns all resources in the zone or no resources, with an error code. + /// + [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 => "listRoutePolicies"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "projects/{project}/regions/{region}/routers/{router}/listRoutePolicies"; + + /// Initializes ListRoutePolicies parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("region", new Google.Apis.Discovery.Parameter + { + Name = "region", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + }); + RequestParameters.Add("router", new Google.Apis.Discovery.Parameter + { + Name = "router", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("maxResults", new Google.Apis.Discovery.Parameter + { + Name = "maxResults", + IsRequired = false, + ParameterType = "query", + DefaultValue = "500", + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + 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, + }); RequestParameters.Add("returnPartialSuccess", new Google.Apis.Discovery.Parameter { Name = "returnPartialSuccess", @@ -75441,35 +76312,35 @@ protected override void InitParameters() DefaultValue = null, Pattern = null, }); - RequestParameters.Add("routeType", new Google.Apis.Discovery.Parameter - { - Name = "routeType", - IsRequired = false, - ParameterType = "query", - DefaultValue = "UNSPECIFIED_ROUTE_TYPE", - Pattern = null, - }); } } - /// Retrieves a list of router route policy subresources available to the specified project. + /// + /// Patches the specified Router resource with the data included in the request. This method supports PATCH + /// semantics and uses JSON merge patch format and processing rules. + /// + /// The body of the request. /// Project ID for this request. /// Name of the region for this request. - /// Name or id of the resource for this request. Name should conform to RFC1035. - public virtual ListRoutePoliciesRequest ListRoutePolicies(string project, string region, string router) + /// Name of the Router resource to patch. + public virtual PatchRequest Patch(Google.Apis.Compute.beta.Data.Router body, string project, string region, string router) { - return new ListRoutePoliciesRequest(this.service, project, region, router); + return new PatchRequest(this.service, body, project, region, router); } - /// Retrieves a list of router route policy subresources available to the specified project. - public class ListRoutePoliciesRequest : ComputeBaseServiceRequest + /// + /// Patches the specified Router resource with the data included in the request. This method supports PATCH + /// semantics and uses JSON merge patch format and processing rules. + /// + public class PatchRequest : ComputeBaseServiceRequest { - /// Constructs a new ListRoutePolicies request. - public ListRoutePoliciesRequest(Google.Apis.Services.IClientService service, string project, string region, string router) : base(service) + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.beta.Data.Router body, string project, string region, string router) : base(service) { Project = project; Region = region; Router = router; + Body = body; InitParameters(); } @@ -75481,92 +76352,38 @@ public ListRoutePoliciesRequest(Google.Apis.Services.IClientService service, str [Google.Apis.Util.RequestParameterAttribute("region", Google.Apis.Util.RequestParameterType.Path)] public virtual string Region { get; private set; } - /// Name or id of the resource for this request. Name should conform to RFC1035. + /// Name of the Router resource to patch. [Google.Apis.Util.RequestParameterAttribute("router", Google.Apis.Util.RequestParameterType.Path)] public virtual string Router { get; private set; } /// - /// A filter expression that filters resources listed in the response. Most Compute resources support two - /// types of filter expressions: expressions that support regular expressions and expressions that follow - /// API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. - /// If you want to use AIP-160, your expression must specify the field name, an operator, and the value that - /// you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be - /// either `=`, `!=`, `&gt;`, `&lt;`, `&lt;=`, `&gt;=` or `:`. For example, if you are - /// filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying - /// `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For - /// example, to find all objects with `owner` label use: - /// ``` - /// labels.owner:* - /// ``` - /// You can also filter nested - /// fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only - /// if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based - /// on resource labels. To filter on multiple expressions, provide each separate expression within - /// parentheses. For example: - /// ``` - /// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") - /// ``` - /// By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions - /// explicitly. For example: - /// ``` - /// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND - /// (scheduling.automaticRestart = true) - /// ``` - /// If you want to use a regular expression, use the `eq` (equal) - /// or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or - /// against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq - /// 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne - /// "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. - /// The literal value must match the entire field. For example, to filter for instances that do not end with - /// name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields - /// using regular expressions. - /// - [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] - public virtual string Filter { get; set; } - - /// - /// The maximum number of results per page that should be returned. If the number of available results is - /// larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page - /// of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) - /// - [Google.Apis.Util.RequestParameterAttribute("maxResults", Google.Apis.Util.RequestParameterType.Query)] - public virtual System.Nullable MaxResults { get; set; } - - /// - /// Sorts list results by a certain order. By default, results are returned in alphanumerical order based on - /// the resource name. You can also sort results in descending order based on the creation timestamp using - /// `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse - /// chronological order (newest result first). Use this to sort resources like operations so that the newest - /// operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your + /// request, the server will know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request times out. If you make the + /// request again with the same request ID, the server can check if original operation with the same request + /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is + /// not supported ( 00000000-0000-0000-0000-000000000000). /// - [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] - public virtual string OrderBy { get; set; } + [Google.Apis.Util.RequestParameterAttribute("requestId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string RequestId { get; set; } - /// - /// Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list - /// request to get the next page of results. - /// - [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] - public virtual string PageToken { get; set; } + /// Gets or sets the body of this request. + Google.Apis.Compute.beta.Data.Router Body { get; set; } - /// - /// Opt-in for partial success behavior which provides partial results in case of failure. The default value - /// is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope - /// either returns all resources in the zone or no resources, with an error code. - /// - [Google.Apis.Util.RequestParameterAttribute("returnPartialSuccess", Google.Apis.Util.RequestParameterType.Query)] - public virtual System.Nullable ReturnPartialSuccess { get; set; } + /// Returns the body of the request. + protected override object GetBody() => Body; /// Gets the method name. - public override string MethodName => "listRoutePolicies"; + public override string MethodName => "patch"; /// Gets the HTTP method. - public override string HttpMethod => "GET"; + public override string HttpMethod => "PATCH"; /// Gets the REST path. - public override string RestPath => "projects/{project}/regions/{region}/routers/{router}/listRoutePolicies"; + public override string RestPath => "projects/{project}/regions/{region}/routers/{router}"; - /// Initializes ListRoutePolicies parameter list. + /// Initializes Patch parameter list. protected override void InitParameters() { base.InitParameters(); @@ -75594,41 +76411,9 @@ protected override void InitParameters() DefaultValue = null, Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", }); - RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter - { - Name = "filter", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("maxResults", new Google.Apis.Discovery.Parameter - { - Name = "maxResults", - IsRequired = false, - ParameterType = "query", - DefaultValue = "500", - Pattern = null, - }); - RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter - { - Name = "orderBy", - 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, - }); - RequestParameters.Add("returnPartialSuccess", new Google.Apis.Discovery.Parameter + RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter { - Name = "returnPartialSuccess", + Name = "requestId", IsRequired = false, ParameterType = "query", DefaultValue = null, @@ -75637,27 +76422,21 @@ protected override void InitParameters() } } - /// - /// Patches the specified Router resource with the data included in the request. This method supports PATCH - /// semantics and uses JSON merge patch format and processing rules. - /// + /// Patches Route Policy /// The body of the request. /// Project ID for this request. /// Name of the region for this request. - /// Name of the Router resource to patch. - public virtual PatchRequest Patch(Google.Apis.Compute.beta.Data.Router body, string project, string region, string router) + /// Name of the Router resource where Route Policy is defined. + public virtual PatchRoutePolicyRequest PatchRoutePolicy(Google.Apis.Compute.beta.Data.RoutePolicy body, string project, string region, string router) { - return new PatchRequest(this.service, body, project, region, router); + return new PatchRoutePolicyRequest(this.service, body, project, region, router); } - /// - /// Patches the specified Router resource with the data included in the request. This method supports PATCH - /// semantics and uses JSON merge patch format and processing rules. - /// - public class PatchRequest : ComputeBaseServiceRequest + /// Patches Route Policy + public class PatchRoutePolicyRequest : ComputeBaseServiceRequest { - /// Constructs a new Patch request. - public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.beta.Data.Router body, string project, string region, string router) : base(service) + /// Constructs a new PatchRoutePolicy request. + public PatchRoutePolicyRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.beta.Data.RoutePolicy body, string project, string region, string router) : base(service) { Project = project; Region = region; @@ -75674,7 +76453,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Com [Google.Apis.Util.RequestParameterAttribute("region", Google.Apis.Util.RequestParameterType.Path)] public virtual string Region { get; private set; } - /// Name of the Router resource to patch. + /// Name of the Router resource where Route Policy is defined. [Google.Apis.Util.RequestParameterAttribute("router", Google.Apis.Util.RequestParameterType.Path)] public virtual string Router { get; private set; } @@ -75691,21 +76470,21 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Com public virtual string RequestId { get; set; } /// Gets or sets the body of this request. - Google.Apis.Compute.beta.Data.Router Body { get; set; } + Google.Apis.Compute.beta.Data.RoutePolicy Body { get; set; } /// Returns the body of the request. protected override object GetBody() => Body; /// Gets the method name. - public override string MethodName => "patch"; + public override string MethodName => "patchRoutePolicy"; /// Gets the HTTP method. - public override string HttpMethod => "PATCH"; + public override string HttpMethod => "POST"; /// Gets the REST path. - public override string RestPath => "projects/{project}/regions/{region}/routers/{router}"; + public override string RestPath => "projects/{project}/regions/{region}/routers/{router}/patchRoutePolicy"; - /// Initializes Patch parameter list. + /// Initializes PatchRoutePolicy parameter list. protected override void InitParameters() { base.InitParameters(); @@ -96524,10 +97303,6 @@ public class AuditConfig : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("auditLogConfigs")] public virtual System.Collections.Generic.IList AuditLogConfigs { get; set; } - /// This is deprecated and has no effect. Do not use. - [Newtonsoft.Json.JsonPropertyAttribute("exemptedMembers")] - public virtual System.Collections.Generic.IList ExemptedMembers { 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. @@ -96553,10 +97328,6 @@ public class AuditLogConfig : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("exemptedMembers")] public virtual System.Collections.Generic.IList ExemptedMembers { get; set; } - /// This is deprecated and has no effect. Do not use. - [Newtonsoft.Json.JsonPropertyAttribute("ignoreChildExemptions")] - public virtual System.Nullable IgnoreChildExemptions { get; set; } - /// The log type that this config enables. [Newtonsoft.Json.JsonPropertyAttribute("logType")] public virtual string LogType { get; set; } @@ -97239,6 +98010,10 @@ public class Backend : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("capacityScaler")] public virtual System.Nullable CapacityScaler { get; set; } + /// List of custom metrics that are used for CUSTOM_METRICS BalancingMode. + [Newtonsoft.Json.JsonPropertyAttribute("customMetrics")] + public virtual System.Collections.Generic.IList CustomMetrics { get; set; } + /// /// An optional description of this resource. Provide this property when you create the resource. /// @@ -97377,6 +98152,14 @@ public class BackendBucket : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("kind")] public virtual string Kind { get; set; } + /// + /// The value can only be INTERNAL_MANAGED for cross-region internal layer 7 load balancer. If + /// loadBalancingScheme is not specified, the backend bucket can be used by classic global external load + /// balancers, or global application external load balancers, or both. + /// + [Newtonsoft.Json.JsonPropertyAttribute("loadBalancingScheme")] + public virtual string LoadBalancingScheme { get; set; } + /// /// Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters /// long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular @@ -97665,6 +98448,37 @@ public class BackendBucketUsedBy : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// Custom Metrics are used for CUSTOM_METRICS balancing_mode. + public class BackendCustomMetric : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// If true, the metric data is collected and reported to Cloud Monitoring, but is not used for load balancing. + /// + [Newtonsoft.Json.JsonPropertyAttribute("dryRun")] + public virtual System.Nullable DryRun { get; set; } + + /// + /// Optional parameter to define a target utilization for the Custom Metrics balancing mode. The valid range is + /// [0.0, 1.0]. + /// + [Newtonsoft.Json.JsonPropertyAttribute("maxUtilization")] + public virtual System.Nullable MaxUtilization { get; set; } + + /// + /// Name of a custom utilization signal. The name must be 1-24 characters long and match the regular expression + /// [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following + /// characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which + /// cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field + /// can only be used for a global or regional backend service with the loadBalancingScheme set to + /// EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// /// Represents a Backend Service resource. A backend service defines how Google Cloud load balancers distribute /// traffic. The backend service configuration contains a set of values, such as the protocol used to connect to @@ -97734,6 +98548,10 @@ public class BackendService : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("creationTimestamp")] public virtual string CreationTimestamp { get; set; } + /// List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy. + [Newtonsoft.Json.JsonPropertyAttribute("customMetrics")] + public virtual System.Collections.Generic.IList CustomMetrics { get; set; } + /// /// Headers that the load balancer adds to proxied requests. See [Creating custom /// headers](https://cloud.google.com/load-balancing/docs/custom-headers). @@ -98356,6 +99174,28 @@ public class BackendServiceConnectionTrackingPolicy : Google.Apis.Requests.IDire public virtual string ETag { get; set; } } + /// Custom Metrics are used for WEIGHTED_ROUND_ROBIN locality_lb_policy. + public class BackendServiceCustomMetric : Google.Apis.Requests.IDirectResponseSchema + { + /// If true, the metric data is not used for load balancing. + [Newtonsoft.Json.JsonPropertyAttribute("dryRun")] + public virtual System.Nullable DryRun { get; set; } + + /// + /// Name of a custom utilization signal. The name must be 1-24 characters long and match the regular expression + /// [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following + /// characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which + /// cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field + /// can only be used for a global or regional backend service with the loadBalancingScheme set to + /// EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// /// For load balancers that have configurable failover: [Internal passthrough Network Load /// Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough @@ -99404,6 +100244,13 @@ public class Commitment : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("creationTimestamp")] public virtual string CreationTimestamp { get; set; } + /// + /// [Input Only] Optional, specifies the CUD end time requested by the customer in RFC3339 text format. Needed + /// when the customer wants CUD's end date is later than the start date + term duration. + /// + [Newtonsoft.Json.JsonPropertyAttribute("customEndTimestamp")] + public virtual string CustomEndTimestamp { get; set; } + /// /// An optional description of this resource. Provide this property when you create the resource. /// @@ -99466,6 +100313,10 @@ public class Commitment : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("reservations")] public virtual System.Collections.Generic.IList Reservations { get; set; } + /// [Output Only] Status information for Commitment resource. + [Newtonsoft.Json.JsonPropertyAttribute("resourceStatus")] + public virtual CommitmentResourceStatus ResourceStatus { get; set; } + /// /// A list of commitment amounts for particular resources. Note that VCPU and MEMORY resource commitments must /// occur together. @@ -99671,6 +100522,20 @@ public class DataData } } + /// [Output Only] Contains output only fields. + public class CommitmentResourceStatus : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// [Output Only] Indicates the end time of customer's eligibility to send custom term requests in RFC3339 text + /// format. Term extension requests that (not the end time in the request) after this time will be rejected. + /// + [Newtonsoft.Json.JsonPropertyAttribute("customTermEligibilityEndTimestamp")] + public virtual string CustomTermEligibilityEndTimestamp { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + public class CommitmentsScopedList : Google.Apis.Requests.IDirectResponseSchema { /// [Output Only] A list of commitments contained in this scope. @@ -107507,6 +108372,13 @@ public class InstanceGroupManagerResizeRequest : Google.Apis.Requests.IDirectRes [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } + /// + /// [Output Only] The URL of a region where the resize request is located. Populated only for regional resize + /// requests. + /// + [Newtonsoft.Json.JsonPropertyAttribute("region")] + public virtual string Region { get; set; } + /// /// Requested run duration for instances that will be created by this request. At the end of the run duration /// instance will be deleted. @@ -113177,6 +114049,145 @@ public class MetadataFilterLabelMatch : Google.Apis.Requests.IDirectResponseSche public virtual string ETag { get; set; } } + /// Multi-MIG represents a group of managed instance groups. + public class MultiMig : Google.Apis.Requests.IDirectResponseSchema + { + /// [Output only] The creation timestamp of this multi-MIG in RFC3339 text format. + [Newtonsoft.Json.JsonPropertyAttribute("creationTimestamp")] + public virtual string CreationTimestamp { get; set; } + + /// An optional description of this resource. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// + /// [Output only] The unique identifier for this resource type. The server generates this identifier. + /// + [Newtonsoft.Json.JsonPropertyAttribute("id")] + public virtual System.Nullable Id { get; set; } + + /// [Output only] Type of the resource. Always compute#multiMig for multi-MIGs. + [Newtonsoft.Json.JsonPropertyAttribute("kind")] + public virtual string Kind { get; set; } + + /// + /// The name of the multi-MIG. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the + /// name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means + /// the first character must be a lowercase letter, and all following characters must be a dash, lowercase + /// letter, or digit, except the last character, which cannot be a dash. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// + /// [Output only] The URL of the region where the resource resides. You must specify this field as part of the + /// HTTP request URL. You cannot set the region as a field in the request body. + /// + [Newtonsoft.Json.JsonPropertyAttribute("region")] + public virtual string Region { get; set; } + + /// Resource policies for this multi-MIG. + [Newtonsoft.Json.JsonPropertyAttribute("resourcePolicies")] + public virtual MultiMigResourcePolicies ResourcePolicies { get; set; } + + /// [Output only] Server-defined URL for the resource. + [Newtonsoft.Json.JsonPropertyAttribute("selfLink")] + public virtual string SelfLink { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class MultiMigResourcePolicies : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("workloadPolicy")] + public virtual string WorkloadPolicy { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class MultiMigsList : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("etag")] + public virtual string ETag { get; set; } + + /// Unique identifier for the resource; defined by the server. + [Newtonsoft.Json.JsonPropertyAttribute("id")] + public virtual string Id { get; set; } + + /// A list of multi-MIG resources. + [Newtonsoft.Json.JsonPropertyAttribute("items")] + public virtual System.Collections.Generic.IList Items { get; set; } + + /// Type of resource. + [Newtonsoft.Json.JsonPropertyAttribute("kind")] + public virtual string Kind { get; set; } + + /// + /// This token allows you to get the next page of results for maxResults, use the nextPageToken as a value for + /// the query parameter pageToken in the next list request. Subsequent list requests will have their own + /// nextPageToken to continue paging through the results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// [Output only] Server-defined URL for this resource. + [Newtonsoft.Json.JsonPropertyAttribute("selfLink")] + public virtual string SelfLink { get; set; } + + /// [Output only] Unreachable resources. + [Newtonsoft.Json.JsonPropertyAttribute("unreachables")] + public virtual System.Collections.Generic.IList Unreachables { get; set; } + + /// Informational warning message. + [Newtonsoft.Json.JsonPropertyAttribute("warning")] + public virtual WarningData Warning { get; set; } + + /// Informational warning message. + public class WarningData + { + /// + /// [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if + /// there are no results in the response. + /// + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } + + /// + /// [Output Only] Metadata about this warning in key: value format. For example: "data": [ { "key": "scope", + /// "value": "zones/us-east1-d" } + /// + [Newtonsoft.Json.JsonPropertyAttribute("data")] + public virtual System.Collections.Generic.IList Data { get; set; } + + /// [Output Only] A human-readable description of the warning code. + [Newtonsoft.Json.JsonPropertyAttribute("message")] + public virtual string Message { get; set; } + + /// + /// [Output Only] Metadata about this warning in key: value format. For example: "data": [ { "key": "scope", + /// "value": "zones/us-east1-d" } + /// + public class DataData + { + /// + /// [Output Only] A key that provides more detail on the warning being returned. For example, for + /// warnings where there are no results in a list request for a particular zone, this key might be scope + /// and the key value might be the zone name. Other examples might be a key indicating a deprecated + /// resource and a suggested replacement, or a warning about invalid network settings (for example, if + /// an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + /// + [Newtonsoft.Json.JsonPropertyAttribute("key")] + public virtual string Key { get; set; } + + /// [Output Only] A warning data value corresponding to the key. + [Newtonsoft.Json.JsonPropertyAttribute("value")] + public virtual string Value { get; set; } + } + } + } + /// The named port. For example: <"http", 80>. public class NamedPort : Google.Apis.Requests.IDirectResponseSchema { @@ -113333,6 +114344,15 @@ public class Network : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("networkFirewallPolicyEnforcementOrder")] public virtual string NetworkFirewallPolicyEnforcementOrder { get; set; } + /// + /// A full or partial URL of the network profile to apply to this network. This field can be set only at + /// resource creation time. For example, the following are valid URLs: - + /// https://www.googleapis.com/compute/alpha/projects/{project_id}/global/networkProfiles/{network_profile_name} + /// - projects/{project_id}/global/networkProfiles/{network_profile_name} + /// + [Newtonsoft.Json.JsonPropertyAttribute("networkProfile")] + public virtual string NetworkProfile { get; set; } + /// [Output Only] A list of network peerings for the resource. [Newtonsoft.Json.JsonPropertyAttribute("peerings")] public virtual System.Collections.Generic.IList Peerings { get; set; } @@ -115013,6 +116033,234 @@ public class NetworkPerformanceConfig : Google.Apis.Requests.IDirectResponseSche public virtual string ETag { get; set; } } + /// NetworkProfile represents a Google managed network profile resource. + public class NetworkProfile : Google.Apis.Requests.IDirectResponseSchema + { + /// [Output Only] Creation timestamp in RFC3339 text format. + [Newtonsoft.Json.JsonPropertyAttribute("creationTimestamp")] + public virtual string CreationTimestamp { get; set; } + + /// [Output Only] An optional description of this resource. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// [Output Only] Features supported by the network. + [Newtonsoft.Json.JsonPropertyAttribute("features")] + public virtual NetworkProfileNetworkFeatures Features { get; set; } + + /// + /// [Output Only] The unique identifier for the resource. This identifier is defined by the server. + /// + [Newtonsoft.Json.JsonPropertyAttribute("id")] + public virtual System.Nullable Id { get; set; } + + /// [Output Only] Type of the resource. Always compute#networkProfile for network profiles. + [Newtonsoft.Json.JsonPropertyAttribute("kind")] + public virtual string Kind { get; set; } + + /// [Output Only] Name of the resource. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// [Output Only] Server-defined URL for the resource. + [Newtonsoft.Json.JsonPropertyAttribute("selfLink")] + public virtual string SelfLink { get; set; } + + /// [Output Only] Server-defined URL for this resource with the resource id. + [Newtonsoft.Json.JsonPropertyAttribute("selfLinkWithId")] + public virtual string SelfLinkWithId { get; set; } + + /// [Output Only] Zone to which the network is restricted. + [Newtonsoft.Json.JsonPropertyAttribute("zone")] + public virtual string Zone { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class NetworkProfileNetworkFeatures : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Specifies what address purposes are supported. If empty, all address purposes are supported. + /// + [Newtonsoft.Json.JsonPropertyAttribute("addressPurposes")] + public virtual System.Collections.Generic.IList AddressPurposes { get; set; } + + /// Specifies whether alias IP ranges (and secondary address ranges) are allowed. + [Newtonsoft.Json.JsonPropertyAttribute("allowAliasIpRanges")] + public virtual string AllowAliasIpRanges { get; set; } + + /// Specifies whether auto mode subnet creation is allowed. + [Newtonsoft.Json.JsonPropertyAttribute("allowAutoModeSubnet")] + public virtual string AllowAutoModeSubnet { get; set; } + + /// Specifies whether firewalls for Class D address ranges are supported. + [Newtonsoft.Json.JsonPropertyAttribute("allowClassDFirewalls")] + public virtual string AllowClassDFirewalls { get; set; } + + /// Specifies whether cloud NAT creation is allowed. + [Newtonsoft.Json.JsonPropertyAttribute("allowCloudNat")] + public virtual string AllowCloudNat { get; set; } + + /// Specifies whether cloud router creation is allowed. + [Newtonsoft.Json.JsonPropertyAttribute("allowCloudRouter")] + public virtual string AllowCloudRouter { get; set; } + + /// + /// Specifies whether VMs are allowed to have external IP access on network interfaces connected to this VPC. + /// + [Newtonsoft.Json.JsonPropertyAttribute("allowExternalIpAccess")] + public virtual string AllowExternalIpAccess { get; set; } + + /// Specifies whether Cloud Interconnect creation is allowed. + [Newtonsoft.Json.JsonPropertyAttribute("allowInterconnect")] + public virtual string AllowInterconnect { get; set; } + + /// Specifies whether cloud load balancing is allowed. + [Newtonsoft.Json.JsonPropertyAttribute("allowLoadBalancing")] + public virtual string AllowLoadBalancing { get; set; } + + /// Specifies whether multi-nic in the same network is allowed. + [Newtonsoft.Json.JsonPropertyAttribute("allowMultiNicInSameNetwork")] + public virtual string AllowMultiNicInSameNetwork { get; set; } + + /// Specifies whether Packet Mirroring 1.0 is supported. + [Newtonsoft.Json.JsonPropertyAttribute("allowPacketMirroring")] + public virtual string AllowPacketMirroring { get; set; } + + /// Specifies whether private Google access is allowed. + [Newtonsoft.Json.JsonPropertyAttribute("allowPrivateGoogleAccess")] + public virtual string AllowPrivateGoogleAccess { get; set; } + + /// Specifies whether PSC creation is allowed. + [Newtonsoft.Json.JsonPropertyAttribute("allowPsc")] + public virtual string AllowPsc { get; set; } + + /// Specifies whether unicast within the same network is allowed. + [Newtonsoft.Json.JsonPropertyAttribute("allowSameNetworkUnicast")] + public virtual string AllowSameNetworkUnicast { get; set; } + + /// Specifies whether static route creation is allowed. + [Newtonsoft.Json.JsonPropertyAttribute("allowStaticRoutes")] + public virtual string AllowStaticRoutes { get; set; } + + /// Specifies whether sub interfaces are allowed. + [Newtonsoft.Json.JsonPropertyAttribute("allowSubInterfaces")] + public virtual string AllowSubInterfaces { get; set; } + + /// Specifies whether VPC peering is allowed. + [Newtonsoft.Json.JsonPropertyAttribute("allowVpcPeering")] + public virtual string AllowVpcPeering { get; set; } + + /// Specifies whether VPN creation is allowed. + [Newtonsoft.Json.JsonPropertyAttribute("allowVpn")] + public virtual string AllowVpn { get; set; } + + /// Specifies which subnetwork purposes are supported. + [Newtonsoft.Json.JsonPropertyAttribute("allowedSubnetPurposes")] + public virtual System.Collections.Generic.IList AllowedSubnetPurposes { get; set; } + + /// Specifies which subnetwork stack types are supported. + [Newtonsoft.Json.JsonPropertyAttribute("allowedSubnetStackTypes")] + public virtual System.Collections.Generic.IList AllowedSubnetStackTypes { get; set; } + + /// + /// If set, limits the interface types that the network supports. If empty, all interface types are supported. + /// + [Newtonsoft.Json.JsonPropertyAttribute("interfaceTypes")] + public virtual System.Collections.Generic.IList InterfaceTypes { get; set; } + + /// Specifies which type of unicast is supported. + [Newtonsoft.Json.JsonPropertyAttribute("unicast")] + public virtual string Unicast { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Contains a list of network profiles. + public class NetworkProfilesListResponse : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("etag")] + public virtual string ETag { get; set; } + + /// [Output Only] Unique identifier for the resource; defined by the server. + [Newtonsoft.Json.JsonPropertyAttribute("id")] + public virtual string Id { get; set; } + + /// A list of NetworkProfile resources. + [Newtonsoft.Json.JsonPropertyAttribute("items")] + public virtual System.Collections.Generic.IList Items { get; set; } + + /// [Output Only] Type of resource. Always compute#networkProfileList for network profiles. + [Newtonsoft.Json.JsonPropertyAttribute("kind")] + public virtual string Kind { get; set; } + + /// + /// [Output Only] This token allows you to get the next page of results for list requests. If the number of + /// results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the + /// next list request. Subsequent list requests will have their own nextPageToken to continue paging through the + /// results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// [Output Only] Server-defined URL for this resource. + [Newtonsoft.Json.JsonPropertyAttribute("selfLink")] + public virtual string SelfLink { get; set; } + + /// [Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder + [Newtonsoft.Json.JsonPropertyAttribute("unreachables")] + public virtual System.Collections.Generic.IList Unreachables { get; set; } + + /// [Output Only] Informational warning message. + [Newtonsoft.Json.JsonPropertyAttribute("warning")] + public virtual WarningData Warning { get; set; } + + /// [Output Only] Informational warning message. + public class WarningData + { + /// + /// [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if + /// there are no results in the response. + /// + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } + + /// + /// [Output Only] Metadata about this warning in key: value format. For example: "data": [ { "key": "scope", + /// "value": "zones/us-east1-d" } + /// + [Newtonsoft.Json.JsonPropertyAttribute("data")] + public virtual System.Collections.Generic.IList Data { get; set; } + + /// [Output Only] A human-readable description of the warning code. + [Newtonsoft.Json.JsonPropertyAttribute("message")] + public virtual string Message { get; set; } + + /// + /// [Output Only] Metadata about this warning in key: value format. For example: "data": [ { "key": "scope", + /// "value": "zones/us-east1-d" } + /// + public class DataData + { + /// + /// [Output Only] A key that provides more detail on the warning being returned. For example, for + /// warnings where there are no results in a list request for a particular zone, this key might be scope + /// and the key value might be the zone name. Other examples might be a key indicating a deprecated + /// resource and a suggested replacement, or a warning about invalid network settings (for example, if + /// an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + /// + [Newtonsoft.Json.JsonPropertyAttribute("key")] + public virtual string Key { get; set; } + + /// [Output Only] A warning data value corresponding to the key. + [Newtonsoft.Json.JsonPropertyAttribute("value")] + public virtual string Value { get; set; } + } + } + } + /// /// A routing configuration attached to a network resource. The message includes the list of routers associated with /// the network, and a flag indicating the type of routing behavior to enforce network-wide. @@ -116669,7 +117917,7 @@ public class Operation : Google.Apis.Requests.IDirectResponseSchema /// /// [Output Only] The URL of the resource that the operation modifies. For operations related to creating a - /// snapshot, this points to the persistent disk that the snapshot was created from. + /// snapshot, this points to the disk that the snapshot was created from. /// [Newtonsoft.Json.JsonPropertyAttribute("targetLink")] public virtual string TargetLink { get; set; } @@ -121587,6 +122835,10 @@ public class DataData public class RoutePolicy : Google.Apis.Requests.IDirectResponseSchema { + /// An optional description of route policy. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + /// /// A fingerprint for the Route Policy being applied to this Router, which is essentially a hash of the Route /// Policy used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes @@ -130864,9 +132116,9 @@ public class UpcomingMaintenance : Google.Apis.Requests.IDirectResponseSchema /// balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic /// Director, see the Traffic Director features: Routing and traffic management table. This resource defines /// mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps - /// resource, the backend service must have a loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To - /// use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For - /// more information, read URL Map Concepts. + /// resource, the backend service must have a loadBalancingScheme of either EXTERNAL, EXTERNAL_MANAGED, or + /// INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of + /// INTERNAL_MANAGED. For more information, read URL Map Concepts. /// public class UrlMap : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.Compute.beta/Google.Apis.Compute.beta.csproj b/Src/Generated/Google.Apis.Compute.beta/Google.Apis.Compute.beta.csproj index b714426842..c0eb29d020 100644 --- a/Src/Generated/Google.Apis.Compute.beta/Google.Apis.Compute.beta.csproj +++ b/Src/Generated/Google.Apis.Compute.beta/Google.Apis.Compute.beta.csproj @@ -3,7 +3,7 @@ Google.Apis.Compute.beta Client Library - 1.68.0.3549 + 1.68.0.3561 Google LLC Copyright 2024 Google LLC Google From 100f8b46d0923410e4da241f98b7ca05cd47aec1 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:12:07 -0700 Subject: [PATCH 26/78] feat: Generate Google.Apis.Compute.v1 version 1.68.0.3561 --- DiscoveryJson/compute.v1.json | 1228 +--------- .../Google.Apis.Compute.v1.cs | 1970 +++-------------- .../Google.Apis.Compute.v1.csproj | 2 +- 3 files changed, 413 insertions(+), 2787 deletions(-) diff --git a/DiscoveryJson/compute.v1.json b/DiscoveryJson/compute.v1.json index dcd024970f..ffdf45a8f1 100644 --- a/DiscoveryJson/compute.v1.json +++ b/DiscoveryJson/compute.v1.json @@ -4814,364 +4814,6 @@ } } }, - "futureReservations": { - "methods": { - "aggregatedList": { - "description": "Retrieves an aggregated list of future reservations. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/futureReservations", - "httpMethod": "GET", - "id": "compute.futureReservations.aggregatedList", - "parameterOrder": [ - "project" - ], - "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - "location": "query", - "type": "boolean" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" - }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", - "location": "query", - "type": "string" - } - }, - "path": "projects/{project}/aggregated/futureReservations", - "response": { - "$ref": "FutureReservationsAggregatedListResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "cancel": { - "description": "Cancel the specified future reservation.", - "flatPath": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}/cancel", - "httpMethod": "POST", - "id": "compute.futureReservations.cancel", - "parameterOrder": [ - "project", - "zone", - "futureReservation" - ], - "parameters": { - "futureReservation": { - "description": "Name of the future reservation to retrieve. Name should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "zone": { - "description": "Name of the zone for this request. Name should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}/cancel", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "delete": { - "description": "Deletes the specified future reservation.", - "flatPath": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}", - "httpMethod": "DELETE", - "id": "compute.futureReservations.delete", - "parameterOrder": [ - "project", - "zone", - "futureReservation" - ], - "parameters": { - "futureReservation": { - "description": "Name of the future reservation to retrieve. Name should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "zone": { - "description": "Name of the zone for this request. Name should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "get": { - "description": "Retrieves information about the specified future reservation.", - "flatPath": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}", - "httpMethod": "GET", - "id": "compute.futureReservations.get", - "parameterOrder": [ - "project", - "zone", - "futureReservation" - ], - "parameters": { - "futureReservation": { - "description": "Name of the future reservation to retrieve. Name should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "zone": { - "description": "Name of the zone for this request. Name should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}", - "response": { - "$ref": "FutureReservation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "insert": { - "description": "Creates a new Future Reservation.", - "flatPath": "projects/{project}/zones/{zone}/futureReservations", - "httpMethod": "POST", - "id": "compute.futureReservations.insert", - "parameterOrder": [ - "project", - "zone" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "zone": { - "description": "Name of the zone for this request. Name should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/zones/{zone}/futureReservations", - "request": { - "$ref": "FutureReservation" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "list": { - "description": "A list of all the future reservations that have been configured for the specified project in specified zone.", - "flatPath": "projects/{project}/zones/{zone}/futureReservations", - "httpMethod": "GET", - "id": "compute.futureReservations.list", - "parameterOrder": [ - "project", - "zone" - ], - "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" - }, - "zone": { - "description": "Name of the zone for this request. Name should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/zones/{zone}/futureReservations", - "response": { - "$ref": "FutureReservationsListResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "update": { - "description": "Updates the specified future reservation.", - "flatPath": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}", - "httpMethod": "PATCH", - "id": "compute.futureReservations.update", - "parameterOrder": [ - "project", - "zone", - "futureReservation" - ], - "parameters": { - "futureReservation": { - "description": "Name of the reservation to update. Name should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "updateMask": { - "description": "update_mask indicates fields to be updated as part of this request.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - }, - "zone": { - "description": "Name of the zone for this request. Name should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}", - "request": { - "$ref": "FutureReservation" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - } - } - }, "globalAddresses": { "methods": { "delete": { @@ -37779,7 +37421,7 @@ } } }, - "revision": "20240919", + "revision": "20241001", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -39508,13 +39150,6 @@ }, "type": "array" }, - "exemptedMembers": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "type": "string" - }, - "type": "array" - }, "service": { "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", "type": "string" @@ -39533,10 +39168,6 @@ }, "type": "array" }, - "ignoreChildExemptions": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "boolean" - }, "logType": { "description": "The log type that this config enables.", "enum": [ @@ -40892,6 +40523,22 @@ "format": "uint64", "type": "string" }, + "ipAddressSelectionPolicy": { + "description": "Specifies a preference for traffic sent from the proxy to the backend (or from the client to the backend for proxyless gRPC). The possible values are: - IPV4_ONLY: Only send IPv4 traffic to the backends of the backend service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic from the client to the proxy. Only IPv4 health checks are used to check the health of the backends. This is the default setting. - PREFER_IPV6: Prioritize the connection to the endpoint's IPv6 address over its IPv4 address (provided there is a healthy IPv6 address). - IPV6_ONLY: Only send IPv6 traffic to the backends of the backend service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic from the client to the proxy. Only IPv6 health checks are used to check the health of the backends. This field is applicable to either: - Advanced global external Application Load Balancer (load balancing scheme EXTERNAL_MANAGED), - Regional external Application Load Balancer, - Internal proxy Network Load Balancer (load balancing scheme INTERNAL_MANAGED), - Regional internal Application Load Balancer (load balancing scheme INTERNAL_MANAGED), - Traffic Director with Envoy proxies and proxyless gRPC (load balancing scheme INTERNAL_SELF_MANAGED). ", + "enum": [ + "IPV4_ONLY", + "IPV6_ONLY", + "IP_ADDRESS_SELECTION_POLICY_UNSPECIFIED", + "PREFER_IPV6" + ], + "enumDescriptions": [ + "Only send IPv4 traffic to the backends of the Backend Service (Instance Group, Managed Instance Group, Network Endpoint Group) regardless of traffic from the client to the proxy. Only IPv4 health-checks are used to check the health of the backends. This is the default setting.", + "Only send IPv6 traffic to the backends of the Backend Service (Instance Group, Managed Instance Group, Network Endpoint Group) regardless of traffic from the client to the proxy. Only IPv6 health-checks are used to check the health of the backends.", + "Unspecified IP address selection policy.", + "Prioritize the connection to the endpoints IPv6 address over its IPv4 address (provided there is a healthy IPv6 address)." + ], + "type": "string" + }, "kind": { "default": "compute#backendService", "description": "[Output Only] Type of resource. Always compute#backendService for backend services.", @@ -42508,6 +42155,10 @@ "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" }, + "customEndTimestamp": { + "description": "[Input Only] Optional, specifies the CUD end time requested by the customer in RFC3339 text format. Needed when the customer wants CUD's end date is later than the start date + term duration.", + "type": "string" + }, "description": { "description": "An optional description of this resource. Provide this property when you create the resource.", "type": "string" @@ -42574,6 +42225,10 @@ }, "type": "array" }, + "resourceStatus": { + "$ref": "CommitmentResourceStatus", + "description": "[Output Only] Status information for Commitment resource." + }, "resources": { "description": "A list of commitment amounts for particular resources. Note that VCPU and MEMORY resource commitments must occur together.", "items": { @@ -42977,6 +42632,17 @@ }, "type": "object" }, + "CommitmentResourceStatus": { + "description": "[Output Only] Contains output only fields.", + "id": "CommitmentResourceStatus", + "properties": { + "customTermEligibilityEndTimestamp": { + "description": "[Output Only] Indicates the end time of customer's eligibility to send custom term requests in RFC3339 text format. Term extension requests that (not the end time in the request) after this time will be rejected.", + "type": "string" + } + }, + "type": "object" + }, "CommitmentsScopedList": { "id": "CommitmentsScopedList", "properties": { @@ -46998,781 +46664,6 @@ }, "type": "object" }, - "FutureReservation": { - "id": "FutureReservation", - "properties": { - "autoCreatedReservationsDeleteTime": { - "description": "Future timestamp when the FR auto-created reservations will be deleted by Compute Engine. Format of this field must be a valid href=\"https://www.ietf.org/rfc/rfc3339.txt\">RFC3339 value.", - "type": "string" - }, - "autoCreatedReservationsDuration": { - "$ref": "Duration", - "description": "Specifies the duration of auto-created reservations. It represents relative time to future reservation start_time when auto-created reservations will be automatically deleted by Compute Engine. Duration time unit is represented as a count of seconds and fractions of seconds at nanosecond resolution." - }, - "autoDeleteAutoCreatedReservations": { - "description": "Setting for enabling or disabling automatic deletion for auto-created reservation. If set to true, auto-created reservations will be deleted at Future Reservation's end time (default) or at user's defined timestamp if any of the [auto_created_reservations_delete_time, auto_created_reservations_duration] values is specified. For keeping auto-created reservation indefinitely, this value should be set to false.", - "type": "boolean" - }, - "creationTimestamp": { - "description": "[Output Only] The creation timestamp for this future reservation in RFC3339 text format.", - "type": "string" - }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the future reservation.", - "type": "string" - }, - "id": { - "description": "[Output Only] A unique identifier for this future reservation. The server defines this identifier.", - "format": "uint64", - "type": "string" - }, - "kind": { - "default": "compute#futureReservation", - "description": "[Output Only] Type of the resource. Always compute#futureReservation for future reservations.", - "type": "string" - }, - "name": { - "annotations": { - "required": [ - "compute.instances.insert" - ] - }, - "description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "namePrefix": { - "description": "Name prefix for the reservations to be created at the time of delivery. The name prefix must comply with RFC1035. Maximum allowed length for name prefix is 20. Automatically created reservations name format will be -date-####.", - "type": "string" - }, - "planningStatus": { - "description": "Planning state before being submitted for evaluation", - "enum": [ - "DRAFT", - "PLANNING_STATUS_UNSPECIFIED", - "SUBMITTED" - ], - "enumDescriptions": [ - "Future Reservation is being drafted.", - "", - "Future Reservation has been submitted for evaluation by GCP." - ], - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined fully-qualified URL for this resource.", - "type": "string" - }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource with the resource id.", - "type": "string" - }, - "shareSettings": { - "$ref": "ShareSettings", - "description": "List of Projects/Folders to share with." - }, - "specificSkuProperties": { - "$ref": "FutureReservationSpecificSKUProperties", - "description": "Future Reservation configuration to indicate instance properties and total count." - }, - "status": { - "$ref": "FutureReservationStatus", - "description": "[Output only] Status of the Future Reservation" - }, - "timeWindow": { - "$ref": "FutureReservationTimeWindow", - "description": "Time window for this Future Reservation." - }, - "zone": { - "description": "[Output Only] URL of the Zone where this future reservation resides.", - "type": "string" - } - }, - "type": "object" - }, - "FutureReservationSpecificSKUProperties": { - "id": "FutureReservationSpecificSKUProperties", - "properties": { - "instanceProperties": { - "$ref": "AllocationSpecificSKUAllocationReservedInstanceProperties", - "description": "Properties of the SKU instances being reserved." - }, - "sourceInstanceTemplate": { - "description": "The instance template that will be used to populate the ReservedInstanceProperties of the future reservation", - "type": "string" - }, - "totalCount": { - "description": "Total number of instances for which capacity assurance is requested at a future time period.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "FutureReservationStatus": { - "description": "[Output only] Represents status related to the future reservation.", - "id": "FutureReservationStatus", - "properties": { - "amendmentStatus": { - "description": "[Output Only] The current status of the requested amendment.", - "enum": [ - "AMENDMENT_APPROVED", - "AMENDMENT_DECLINED", - "AMENDMENT_IN_REVIEW", - "AMENDMENT_STATUS_UNSPECIFIED" - ], - "enumDescriptions": [ - "The requested amendment to the Future Resevation has been approved and applied by GCP.", - "The requested amendment to the Future Reservation has been declined by GCP and the original state was restored.", - "The requested amendment to the Future Reservation is currently being reviewd by GCP.", - "" - ], - "type": "string" - }, - "autoCreatedReservations": { - "description": "Fully qualified urls of the automatically created reservations at start_time.", - "items": { - "type": "string" - }, - "type": "array" - }, - "existingMatchingUsageInfo": { - "$ref": "FutureReservationStatusExistingMatchingUsageInfo", - "description": "[Output Only] Represents the existing matching usage for the future reservation." - }, - "fulfilledCount": { - "description": "This count indicates the fulfilled capacity so far. This is set during \"PROVISIONING\" state. This count also includes capacity delivered as part of existing matching reservations.", - "format": "int64", - "type": "string" - }, - "lastKnownGoodState": { - "$ref": "FutureReservationStatusLastKnownGoodState", - "description": "[Output Only] This field represents the future reservation before an amendment was requested. If the amendment is declined, the Future Reservation will be reverted to the last known good state. The last known good state is not set when updating a future reservation whose Procurement Status is DRAFTING." - }, - "lockTime": { - "description": "Time when Future Reservation would become LOCKED, after which no modifications to Future Reservation will be allowed. Applicable only after the Future Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The procurement_status will transition to PROCURING state at this time.", - "type": "string" - }, - "procurementStatus": { - "description": "Current state of this Future Reservation", - "enum": [ - "APPROVED", - "CANCELLED", - "COMMITTED", - "DECLINED", - "DRAFTING", - "FAILED", - "FAILED_PARTIALLY_FULFILLED", - "FULFILLED", - "PENDING_AMENDMENT_APPROVAL", - "PENDING_APPROVAL", - "PROCUREMENT_STATUS_UNSPECIFIED", - "PROCURING", - "PROVISIONING" - ], - "enumDescriptions": [ - "Future reservation is approved by GCP.", - "Future reservation is cancelled by the customer.", - "Future reservation is committed by the customer.", - "Future reservation is rejected by GCP.", - "Related status for PlanningStatus.Draft. Transitions to PENDING_APPROVAL upon user submitting FR.", - "Future reservation failed. No additional reservations were provided.", - "Future reservation is partially fulfilled. Additional reservations were provided but did not reach total_count reserved instance slots.", - "Future reservation is fulfilled completely.", - "An Amendment to the Future Reservation has been requested. If the Amendment is declined, the Future Reservation will be restored to the last known good state.", - "Future reservation is pending approval by GCP.", - "", - "Future reservation is being procured by GCP. Beyond this point, Future reservation is locked and no further modifications are allowed.", - "Future reservation capacity is being provisioned. This state will be entered after start_time, while reservations are being created to provide total_count reserved instance slots. This state will not persist past start_time + 24h." - ], - "type": "string" - }, - "specificSkuProperties": { - "$ref": "FutureReservationStatusSpecificSKUProperties" - } - }, - "type": "object" - }, - "FutureReservationStatusExistingMatchingUsageInfo": { - "description": "[Output Only] Represents the existing matching usage for the future reservation.", - "id": "FutureReservationStatusExistingMatchingUsageInfo", - "properties": { - "count": { - "description": "Count to represent min(FR total_count, matching_reserved_capacity+matching_unreserved_instances)", - "format": "int64", - "type": "string" - }, - "timestamp": { - "description": "Timestamp when the matching usage was calculated", - "type": "string" - } - }, - "type": "object" - }, - "FutureReservationStatusLastKnownGoodState": { - "description": "The state that the future reservation will be reverted to should the amendment be declined.", - "id": "FutureReservationStatusLastKnownGoodState", - "properties": { - "description": { - "description": "[Output Only] The description of the FutureReservation before an amendment was requested.", - "type": "string" - }, - "existingMatchingUsageInfo": { - "$ref": "FutureReservationStatusExistingMatchingUsageInfo", - "description": "[Output Only] Represents the matching usage for the future reservation before an amendment was requested." - }, - "futureReservationSpecs": { - "$ref": "FutureReservationStatusLastKnownGoodStateFutureReservationSpecs" - }, - "lockTime": { - "description": "[Output Only] The lock time of the FutureReservation before an amendment was requested.", - "type": "string" - }, - "namePrefix": { - "description": "[Output Only] The name prefix of the Future Reservation before an amendment was requested.", - "type": "string" - }, - "procurementStatus": { - "description": "[Output Only] The status of the last known good state for the Future Reservation.", - "enum": [ - "APPROVED", - "CANCELLED", - "COMMITTED", - "DECLINED", - "DRAFTING", - "FAILED", - "FAILED_PARTIALLY_FULFILLED", - "FULFILLED", - "PENDING_AMENDMENT_APPROVAL", - "PENDING_APPROVAL", - "PROCUREMENT_STATUS_UNSPECIFIED", - "PROCURING", - "PROVISIONING" - ], - "enumDescriptions": [ - "Future reservation is approved by GCP.", - "Future reservation is cancelled by the customer.", - "Future reservation is committed by the customer.", - "Future reservation is rejected by GCP.", - "Related status for PlanningStatus.Draft. Transitions to PENDING_APPROVAL upon user submitting FR.", - "Future reservation failed. No additional reservations were provided.", - "Future reservation is partially fulfilled. Additional reservations were provided but did not reach total_count reserved instance slots.", - "Future reservation is fulfilled completely.", - "An Amendment to the Future Reservation has been requested. If the Amendment is declined, the Future Reservation will be restored to the last known good state.", - "Future reservation is pending approval by GCP.", - "", - "Future reservation is being procured by GCP. Beyond this point, Future reservation is locked and no further modifications are allowed.", - "Future reservation capacity is being provisioned. This state will be entered after start_time, while reservations are being created to provide total_count reserved instance slots. This state will not persist past start_time + 24h." - ], - "type": "string" - } - }, - "type": "object" - }, - "FutureReservationStatusLastKnownGoodStateFutureReservationSpecs": { - "description": "The properties of the last known good state for the Future Reservation.", - "id": "FutureReservationStatusLastKnownGoodStateFutureReservationSpecs", - "properties": { - "shareSettings": { - "$ref": "ShareSettings", - "description": "[Output Only] The previous share settings of the Future Reservation." - }, - "specificSkuProperties": { - "$ref": "FutureReservationSpecificSKUProperties", - "description": "[Output Only] The previous instance related properties of the Future Reservation." - }, - "timeWindow": { - "$ref": "FutureReservationTimeWindow", - "description": "[Output Only] The previous time window of the Future Reservation." - } - }, - "type": "object" - }, - "FutureReservationStatusSpecificSKUProperties": { - "description": "Properties to be set for the Future Reservation.", - "id": "FutureReservationStatusSpecificSKUProperties", - "properties": { - "sourceInstanceTemplateId": { - "description": "ID of the instance template used to populate the Future Reservation properties.", - "type": "string" - } - }, - "type": "object" - }, - "FutureReservationTimeWindow": { - "id": "FutureReservationTimeWindow", - "properties": { - "duration": { - "$ref": "Duration" - }, - "endTime": { - "type": "string" - }, - "startTime": { - "description": "Start time of the Future Reservation. The start_time is an RFC3339 string.", - "type": "string" - } - }, - "type": "object" - }, - "FutureReservationsAggregatedListResponse": { - "description": "Contains a list of future reservations.", - "id": "FutureReservationsAggregatedListResponse", - "properties": { - "etag": { - "type": "string" - }, - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "additionalProperties": { - "$ref": "FutureReservationsScopedList", - "description": "Name of the scope containing this set of future reservations." - }, - "description": "A list of Future reservation resources.", - "type": "object" - }, - "kind": { - "default": "compute#futureReservationsAggregatedListResponse", - "description": "[Output Only] Type of resource. Always compute#futureReservationsAggregatedListResponse for future resevation aggregated list response.", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" - }, - "unreachables": { - "description": "[Output Only] Unreachable resources.", - "items": { - "type": "string" - }, - "type": "array" - }, - "warning": { - "description": "[Output Only] Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "FutureReservationsListResponse": { - "id": "FutureReservationsListResponse", - "properties": { - "etag": { - "type": "string" - }, - "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", - "type": "string" - }, - "items": { - "description": "[Output Only] A list of future reservation resources.", - "items": { - "$ref": "FutureReservation" - }, - "type": "array" - }, - "kind": { - "default": "compute#futureReservationsListResponse", - "description": "[Output Only] Type of resource.Always compute#FutureReservationsListResponse for lists of reservations", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" - }, - "unreachables": { - "description": "[Output Only] Unreachable resources.", - "items": { - "type": "string" - }, - "type": "array" - }, - "warning": { - "description": "[Output Only] Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "FutureReservationsScopedList": { - "id": "FutureReservationsScopedList", - "properties": { - "futureReservations": { - "description": "A list of future reservations contained in this scope.", - "items": { - "$ref": "FutureReservation" - }, - "type": "array" - }, - "warning": { - "description": "Informational warning which replaces the list of future reservations when the list is empty.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, "GRPCHealthCheck": { "id": "GRPCHealthCheck", "properties": { @@ -49022,6 +47913,21 @@ "description": "For target pool based Network Load Balancing, it indicates the forwarding rule's IP address assigned to this instance. For other types of load balancing, the field indicates VM internal ip.", "type": "string" }, + "ipv6Address": { + "type": "string" + }, + "ipv6HealthState": { + "description": "Health state of the IPv6 address of the instance.", + "enum": [ + "HEALTHY", + "UNHEALTHY" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, "port": { "description": "The named port of the instance group, not necessarily the port that is health-checked.", "format": "int32", @@ -61156,11 +60062,13 @@ "description": "The stack type for this network interface. To assign only IPv4 addresses, use IPV4_ONLY. To assign both IPv4 and IPv6 addresses, use IPV4_IPV6. If not specified, IPV4_ONLY is used. This field can be both set at instance creation and update network interface operations.", "enum": [ "IPV4_IPV6", - "IPV4_ONLY" + "IPV4_ONLY", + "IPV6_ONLY" ], "enumDescriptions": [ "The network interface can have both IPv4 and IPv6 addresses.", - "The network interface will be assigned IPv4 address." + "The network interface will only be assigned IPv4 addresses.", + "The network interface will only be assigned IPv6 addresses." ], "type": "string" }, @@ -63896,7 +62804,7 @@ "type": "string" }, "targetLink": { - "description": "[Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from.", + "description": "[Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the disk that the snapshot was created from.", "type": "string" }, "user": { @@ -74041,6 +72949,11 @@ "description": "The URL of a forwarding rule with loadBalancingScheme INTERNAL* that is serving the endpoint identified by this service attachment.", "type": "string" }, + "propagatedConnectionLimit": { + "description": "The number of consumer spokes that connected Private Service Connect endpoints can be propagated to through Network Connectivity Center. This limit lets the service producer limit how many propagated Private Service Connect connections can be established to this service attachment from a single consumer. If the connection preference of the service attachment is ACCEPT_MANUAL, the limit applies to each project or network that is listed in the consumer accept list. If the connection preference of the service attachment is ACCEPT_AUTOMATIC, the limit applies to each project that contains a connected endpoint. If unspecified, the default propagated connection limit is 250.", + "format": "uint32", + "type": "integer" + }, "pscServiceAttachmentId": { "$ref": "Uint128", "description": "[Output Only] An 128-bit global unique ID of the PSC service attachment." @@ -74236,6 +73149,11 @@ "description": "The url of a connected endpoint.", "type": "string" }, + "propagatedConnectionCount": { + "description": "The number of consumer Network Connectivity Center spokes that the connected Private Service Connect endpoint has propagated to.", + "format": "uint32", + "type": "integer" + }, "pscConnectionId": { "description": "The PSC connection id of the connected endpoint.", "format": "uint64", @@ -78217,11 +77135,13 @@ "description": "The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.", "enum": [ "IPV4_IPV6", - "IPV4_ONLY" + "IPV4_ONLY", + "IPV6_ONLY" ], "enumDescriptions": [ "New VMs in this subnet can have both IPv4 and IPv6 addresses.", - "New VMs in this subnet will only be assigned IPv4 addresses." + "New VMs in this subnet will only be assigned IPv4 addresses.", + "New VMs in this subnet will only be assigned IPv6 addresses." ], "type": "string" }, @@ -82646,7 +81566,7 @@ "type": "object" }, "UrlMap": { - "description": "Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts.", + "description": "Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL, EXTERNAL_MANAGED, or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts.", "id": "UrlMap", "properties": { "creationTimestamp": { @@ -83396,11 +82316,13 @@ "description": "The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.", "enum": [ "IPV4_IPV6", - "IPV4_ONLY" + "IPV4_ONLY", + "IPV6_ONLY" ], "enumDescriptions": [ "New VMs in this subnet can have both IPv4 and IPv6 addresses.", - "New VMs in this subnet will only be assigned IPv4 addresses." + "New VMs in this subnet will only be assigned IPv4 addresses.", + "New VMs in this subnet will only be assigned IPv6 addresses." ], "type": "string" }, diff --git a/Src/Generated/Google.Apis.Compute.v1/Google.Apis.Compute.v1.cs b/Src/Generated/Google.Apis.Compute.v1/Google.Apis.Compute.v1.cs index f359260309..bc3ce4711f 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 @@ -45,7 +45,6 @@ public ComputeService(Google.Apis.Services.BaseClientService.Initializer initial FirewallPolicies = new FirewallPoliciesResource(this); Firewalls = new FirewallsResource(this); ForwardingRules = new ForwardingRulesResource(this); - FutureReservations = new FutureReservationsResource(this); GlobalAddresses = new GlobalAddressesResource(this); GlobalForwardingRules = new GlobalForwardingRulesResource(this); GlobalNetworkEndpointGroups = new GlobalNetworkEndpointGroupsResource(this); @@ -244,9 +243,6 @@ public static class ScopeConstants /// Gets the ForwardingRules resource. public virtual ForwardingRulesResource ForwardingRules { get; } - /// Gets the FutureReservations resource. - public virtual FutureReservationsResource FutureReservations { get; } - /// Gets the GlobalAddresses resource. public virtual GlobalAddressesResource GlobalAddresses { get; } @@ -11313,38 +11309,247 @@ protected override void InitParameters() } } - /// The "futureReservations" collection of methods. - public class FutureReservationsResource + /// The "globalAddresses" collection of methods. + public class GlobalAddressesResource { - private const string Resource = "futureReservations"; + private const string Resource = "globalAddresses"; /// The service which this resource belongs to. private readonly Google.Apis.Services.IClientService service; /// Constructs a new resource. - public FutureReservationsResource(Google.Apis.Services.IClientService service) + public GlobalAddressesResource(Google.Apis.Services.IClientService service) { this.service = service; } + /// Deletes the specified address resource. + /// Project ID for this request. + /// Name of the address resource to delete. + public virtual DeleteRequest Delete(string project, string address) + { + return new DeleteRequest(this.service, project, address); + } + + /// Deletes the specified address resource. + public class DeleteRequest : ComputeBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string project, string address) : base(service) + { + Project = project; + Address = address; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name of the address resource to delete. + [Google.Apis.Util.RequestParameterAttribute("address", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Address { get; private set; } + + /// + /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your + /// request, the server will know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request times out. If you make the + /// request again with the same request ID, the server can check if original operation with the same request + /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is + /// not supported ( 00000000-0000-0000-0000-000000000000). + /// + [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 => "projects/{project}/global/addresses/{address}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("address", new Google.Apis.Discovery.Parameter + { + Name = "address", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + }); + RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter + { + Name = "requestId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Returns the specified address resource. + /// Project ID for this request. + /// Name of the address resource to return. + public virtual GetRequest Get(string project, string address) + { + return new GetRequest(this.service, project, address); + } + + /// Returns the specified address resource. + public class GetRequest : ComputeBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string project, string address) : base(service) + { + Project = project; + Address = address; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Name of the address resource to return. + [Google.Apis.Util.RequestParameterAttribute("address", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Address { 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 => "projects/{project}/global/addresses/{address}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("address", new Google.Apis.Discovery.Parameter + { + Name = "address", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + }); + } + } + /// - /// Retrieves an aggregated list of future reservations. To prevent failure, Google recommends that you set the - /// `returnPartialSuccess` parameter to `true`. + /// Creates an address resource in the specified project by using the data included in the request. /// + /// The body of the request. /// Project ID for this request. - public virtual AggregatedListRequest AggregatedList(string project) + public virtual InsertRequest Insert(Google.Apis.Compute.v1.Data.Address body, string project) { - return new AggregatedListRequest(this.service, project); + return new InsertRequest(this.service, body, project); } /// - /// Retrieves an aggregated list of future reservations. To prevent failure, Google recommends that you set the - /// `returnPartialSuccess` parameter to `true`. + /// Creates an address resource in the specified project by using the data included in the request. /// - public class AggregatedListRequest : ComputeBaseServiceRequest + public class InsertRequest : ComputeBaseServiceRequest { - /// Constructs a new AggregatedList request. - public AggregatedListRequest(Google.Apis.Services.IClientService service, string project) : base(service) + /// Constructs a new Insert request. + public InsertRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.v1.Data.Address body, string project) : base(service) + { + Project = project; + Body = body; + InitParameters(); + } + + /// Project ID for this request. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// + /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your + /// request, the server will know to ignore the request if it has already been completed. For example, + /// consider a situation where you make an initial request and the request times out. If you make the + /// request again with the same request ID, the server can check if original operation with the same request + /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally + /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is + /// not supported ( 00000000-0000-0000-0000-000000000000). + /// + [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.Compute.v1.Data.Address Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "insert"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "projects/{project}/global/addresses"; + + /// Initializes Insert parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + }); + RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter + { + Name = "requestId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Retrieves a list of global addresses. + /// Project ID for this request. + public virtual ListRequest List(string project) + { + return new ListRequest(this.service, project); + } + + /// Retrieves a list of global addresses. + public class ListRequest : ComputeBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string project) : base(service) { Project = project; InitParameters(); @@ -11393,16 +11598,6 @@ public AggregatedListRequest(Google.Apis.Services.IClientService service, string [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] public virtual string Filter { get; set; } - /// - /// Indicates whether every visible scope for each scope type (zone, region, global) should be included in - /// the response. For new resource types added after this field, the flag has no effect as new resource - /// types will always include every visible scope for each scope type in response. For resource types which - /// predate this field, if this flag is omitted or false, only scopes of the scope types where the resource - /// type is expected to be found will be included. - /// - [Google.Apis.Util.RequestParameterAttribute("includeAllScopes", Google.Apis.Util.RequestParameterType.Query)] - public virtual System.Nullable IncludeAllScopes { get; set; } - /// /// The maximum number of results per page that should be returned. If the number of available results is /// larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page @@ -11436,1066 +11631,16 @@ public AggregatedListRequest(Google.Apis.Services.IClientService service, string [Google.Apis.Util.RequestParameterAttribute("returnPartialSuccess", Google.Apis.Util.RequestParameterType.Query)] public virtual System.Nullable ReturnPartialSuccess { get; set; } - /// - /// The Shared VPC service project id or service project number for which aggregated list request is invoked - /// for subnetworks list-usable api. - /// - [Google.Apis.Util.RequestParameterAttribute("serviceProjectNumber", Google.Apis.Util.RequestParameterType.Query)] - public virtual System.Nullable ServiceProjectNumber { get; set; } - /// Gets the method name. - public override string MethodName => "aggregatedList"; + public override string MethodName => "list"; /// Gets the HTTP method. public override string HttpMethod => "GET"; /// Gets the REST path. - public override string RestPath => "projects/{project}/aggregated/futureReservations"; + public override string RestPath => "projects/{project}/global/addresses"; - /// Initializes AggregatedList parameter list. - protected override void InitParameters() - { - base.InitParameters(); - RequestParameters.Add("project", new Google.Apis.Discovery.Parameter - { - Name = "project", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - }); - RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter - { - Name = "filter", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("includeAllScopes", new Google.Apis.Discovery.Parameter - { - Name = "includeAllScopes", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("maxResults", new Google.Apis.Discovery.Parameter - { - Name = "maxResults", - IsRequired = false, - ParameterType = "query", - DefaultValue = "500", - Pattern = null, - }); - RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter - { - Name = "orderBy", - 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, - }); - RequestParameters.Add("returnPartialSuccess", new Google.Apis.Discovery.Parameter - { - Name = "returnPartialSuccess", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("serviceProjectNumber", new Google.Apis.Discovery.Parameter - { - Name = "serviceProjectNumber", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - } - } - - /// Cancel the specified future reservation. - /// Project ID for this request. - /// Name of the zone for this request. Name should conform to RFC1035. - /// - /// Name of the future reservation to retrieve. Name should conform to RFC1035. - /// - public virtual CancelRequest Cancel(string project, string zone, string futureReservation) - { - return new CancelRequest(this.service, project, zone, futureReservation); - } - - /// Cancel the specified future reservation. - public class CancelRequest : ComputeBaseServiceRequest - { - /// Constructs a new Cancel request. - public CancelRequest(Google.Apis.Services.IClientService service, string project, string zone, string futureReservation) : base(service) - { - Project = project; - Zone = zone; - FutureReservation = futureReservation; - InitParameters(); - } - - /// Project ID for this request. - [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Project { get; private set; } - - /// Name of the zone for this request. Name should conform to RFC1035. - [Google.Apis.Util.RequestParameterAttribute("zone", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Zone { get; private set; } - - /// Name of the future reservation to retrieve. Name should conform to RFC1035. - [Google.Apis.Util.RequestParameterAttribute("futureReservation", Google.Apis.Util.RequestParameterType.Path)] - public virtual string FutureReservation { get; private set; } - - /// - /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your - /// request, the server will know to ignore the request if it has already been completed. For example, - /// consider a situation where you make an initial request and the request times out. If you make the - /// request again with the same request ID, the server can check if original operation with the same request - /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally - /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is - /// not supported ( 00000000-0000-0000-0000-000000000000). - /// - [Google.Apis.Util.RequestParameterAttribute("requestId", Google.Apis.Util.RequestParameterType.Query)] - public virtual string RequestId { get; set; } - - /// 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 => "projects/{project}/zones/{zone}/futureReservations/{futureReservation}/cancel"; - - /// Initializes Cancel parameter list. - protected override void InitParameters() - { - base.InitParameters(); - RequestParameters.Add("project", new Google.Apis.Discovery.Parameter - { - Name = "project", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - }); - RequestParameters.Add("zone", new Google.Apis.Discovery.Parameter - { - Name = "zone", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("futureReservation", new Google.Apis.Discovery.Parameter - { - Name = "futureReservation", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter - { - Name = "requestId", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - } - } - - /// Deletes the specified future reservation. - /// Project ID for this request. - /// Name of the zone for this request. Name should conform to RFC1035. - /// - /// Name of the future reservation to retrieve. Name should conform to RFC1035. - /// - public virtual DeleteRequest Delete(string project, string zone, string futureReservation) - { - return new DeleteRequest(this.service, project, zone, futureReservation); - } - - /// Deletes the specified future reservation. - public class DeleteRequest : ComputeBaseServiceRequest - { - /// Constructs a new Delete request. - public DeleteRequest(Google.Apis.Services.IClientService service, string project, string zone, string futureReservation) : base(service) - { - Project = project; - Zone = zone; - FutureReservation = futureReservation; - InitParameters(); - } - - /// Project ID for this request. - [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Project { get; private set; } - - /// Name of the zone for this request. Name should conform to RFC1035. - [Google.Apis.Util.RequestParameterAttribute("zone", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Zone { get; private set; } - - /// Name of the future reservation to retrieve. Name should conform to RFC1035. - [Google.Apis.Util.RequestParameterAttribute("futureReservation", Google.Apis.Util.RequestParameterType.Path)] - public virtual string FutureReservation { get; private set; } - - /// - /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your - /// request, the server will know to ignore the request if it has already been completed. For example, - /// consider a situation where you make an initial request and the request times out. If you make the - /// request again with the same request ID, the server can check if original operation with the same request - /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally - /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is - /// not supported ( 00000000-0000-0000-0000-000000000000). - /// - [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 => "projects/{project}/zones/{zone}/futureReservations/{futureReservation}"; - - /// Initializes Delete parameter list. - protected override void InitParameters() - { - base.InitParameters(); - RequestParameters.Add("project", new Google.Apis.Discovery.Parameter - { - Name = "project", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - }); - RequestParameters.Add("zone", new Google.Apis.Discovery.Parameter - { - Name = "zone", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("futureReservation", new Google.Apis.Discovery.Parameter - { - Name = "futureReservation", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter - { - Name = "requestId", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - } - } - - /// Retrieves information about the specified future reservation. - /// Project ID for this request. - /// Name of the zone for this request. Name should conform to RFC1035. - /// - /// Name of the future reservation to retrieve. Name should conform to RFC1035. - /// - public virtual GetRequest Get(string project, string zone, string futureReservation) - { - return new GetRequest(this.service, project, zone, futureReservation); - } - - /// Retrieves information about the specified future reservation. - public class GetRequest : ComputeBaseServiceRequest - { - /// Constructs a new Get request. - public GetRequest(Google.Apis.Services.IClientService service, string project, string zone, string futureReservation) : base(service) - { - Project = project; - Zone = zone; - FutureReservation = futureReservation; - InitParameters(); - } - - /// Project ID for this request. - [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Project { get; private set; } - - /// Name of the zone for this request. Name should conform to RFC1035. - [Google.Apis.Util.RequestParameterAttribute("zone", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Zone { get; private set; } - - /// Name of the future reservation to retrieve. Name should conform to RFC1035. - [Google.Apis.Util.RequestParameterAttribute("futureReservation", Google.Apis.Util.RequestParameterType.Path)] - public virtual string FutureReservation { 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 => "projects/{project}/zones/{zone}/futureReservations/{futureReservation}"; - - /// Initializes Get parameter list. - protected override void InitParameters() - { - base.InitParameters(); - RequestParameters.Add("project", new Google.Apis.Discovery.Parameter - { - Name = "project", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - }); - RequestParameters.Add("zone", new Google.Apis.Discovery.Parameter - { - Name = "zone", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("futureReservation", new Google.Apis.Discovery.Parameter - { - Name = "futureReservation", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = null, - }); - } - } - - /// Creates a new Future Reservation. - /// The body of the request. - /// Project ID for this request. - /// Name of the zone for this request. Name should conform to RFC1035. - public virtual InsertRequest Insert(Google.Apis.Compute.v1.Data.FutureReservation body, string project, string zone) - { - return new InsertRequest(this.service, body, project, zone); - } - - /// Creates a new Future Reservation. - public class InsertRequest : ComputeBaseServiceRequest - { - /// Constructs a new Insert request. - public InsertRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.v1.Data.FutureReservation body, string project, string zone) : base(service) - { - Project = project; - Zone = zone; - Body = body; - InitParameters(); - } - - /// Project ID for this request. - [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Project { get; private set; } - - /// Name of the zone for this request. Name should conform to RFC1035. - [Google.Apis.Util.RequestParameterAttribute("zone", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Zone { get; private set; } - - /// - /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your - /// request, the server will know to ignore the request if it has already been completed. For example, - /// consider a situation where you make an initial request and the request times out. If you make the - /// request again with the same request ID, the server can check if original operation with the same request - /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally - /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is - /// not supported ( 00000000-0000-0000-0000-000000000000). - /// - [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.Compute.v1.Data.FutureReservation Body { get; set; } - - /// Returns the body of the request. - protected override object GetBody() => Body; - - /// Gets the method name. - public override string MethodName => "insert"; - - /// Gets the HTTP method. - public override string HttpMethod => "POST"; - - /// Gets the REST path. - public override string RestPath => "projects/{project}/zones/{zone}/futureReservations"; - - /// Initializes Insert parameter list. - protected override void InitParameters() - { - base.InitParameters(); - RequestParameters.Add("project", new Google.Apis.Discovery.Parameter - { - Name = "project", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - }); - RequestParameters.Add("zone", new Google.Apis.Discovery.Parameter - { - Name = "zone", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter - { - Name = "requestId", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - } - } - - /// - /// A list of all the future reservations that have been configured for the specified project in specified zone. - /// - /// Project ID for this request. - /// Name of the zone for this request. Name should conform to RFC1035. - public virtual ListRequest List(string project, string zone) - { - return new ListRequest(this.service, project, zone); - } - - /// - /// A list of all the future reservations that have been configured for the specified project in specified zone. - /// - public class ListRequest : ComputeBaseServiceRequest - { - /// Constructs a new List request. - public ListRequest(Google.Apis.Services.IClientService service, string project, string zone) : base(service) - { - Project = project; - Zone = zone; - InitParameters(); - } - - /// Project ID for this request. - [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Project { get; private set; } - - /// Name of the zone for this request. Name should conform to RFC1035. - [Google.Apis.Util.RequestParameterAttribute("zone", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Zone { get; private set; } - - /// - /// A filter expression that filters resources listed in the response. Most Compute resources support two - /// types of filter expressions: expressions that support regular expressions and expressions that follow - /// API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. - /// If you want to use AIP-160, your expression must specify the field name, an operator, and the value that - /// you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be - /// either `=`, `!=`, `&gt;`, `&lt;`, `&lt;=`, `&gt;=` or `:`. For example, if you are - /// filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying - /// `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For - /// example, to find all objects with `owner` label use: - /// ``` - /// labels.owner:* - /// ``` - /// You can also filter nested - /// fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only - /// if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based - /// on resource labels. To filter on multiple expressions, provide each separate expression within - /// parentheses. For example: - /// ``` - /// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") - /// ``` - /// By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions - /// explicitly. For example: - /// ``` - /// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND - /// (scheduling.automaticRestart = true) - /// ``` - /// If you want to use a regular expression, use the `eq` (equal) - /// or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or - /// against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq - /// 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne - /// "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. - /// The literal value must match the entire field. For example, to filter for instances that do not end with - /// name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields - /// using regular expressions. - /// - [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] - public virtual string Filter { get; set; } - - /// - /// The maximum number of results per page that should be returned. If the number of available results is - /// larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page - /// of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) - /// - [Google.Apis.Util.RequestParameterAttribute("maxResults", Google.Apis.Util.RequestParameterType.Query)] - public virtual System.Nullable MaxResults { get; set; } - - /// - /// Sorts list results by a certain order. By default, results are returned in alphanumerical order based on - /// the resource name. You can also sort results in descending order based on the creation timestamp using - /// `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse - /// chronological order (newest result first). Use this to sort resources like operations so that the newest - /// operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. - /// - [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] - public virtual string OrderBy { get; set; } - - /// - /// Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list - /// request to get the next page of results. - /// - [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] - public virtual string PageToken { get; set; } - - /// - /// Opt-in for partial success behavior which provides partial results in case of failure. The default value - /// is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope - /// either returns all resources in the zone or no resources, with an error code. - /// - [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"; - - /// Gets the HTTP method. - public override string HttpMethod => "GET"; - - /// Gets the REST path. - public override string RestPath => "projects/{project}/zones/{zone}/futureReservations"; - - /// Initializes List parameter list. - protected override void InitParameters() - { - base.InitParameters(); - RequestParameters.Add("project", new Google.Apis.Discovery.Parameter - { - Name = "project", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - }); - RequestParameters.Add("zone", new Google.Apis.Discovery.Parameter - { - Name = "zone", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter - { - Name = "filter", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("maxResults", new Google.Apis.Discovery.Parameter - { - Name = "maxResults", - IsRequired = false, - ParameterType = "query", - DefaultValue = "500", - Pattern = null, - }); - RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter - { - Name = "orderBy", - 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, - }); - RequestParameters.Add("returnPartialSuccess", new Google.Apis.Discovery.Parameter - { - Name = "returnPartialSuccess", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - } - } - - /// Updates the specified future reservation. - /// The body of the request. - /// Project ID for this request. - /// Name of the zone for this request. Name should conform to RFC1035. - /// Name of the reservation to update. Name should conform to RFC1035. - public virtual UpdateRequest Update(Google.Apis.Compute.v1.Data.FutureReservation body, string project, string zone, string futureReservation) - { - return new UpdateRequest(this.service, body, project, zone, futureReservation); - } - - /// Updates the specified future reservation. - public class UpdateRequest : ComputeBaseServiceRequest - { - /// Constructs a new Update request. - public UpdateRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.v1.Data.FutureReservation body, string project, string zone, string futureReservation) : base(service) - { - Project = project; - Zone = zone; - FutureReservation = futureReservation; - Body = body; - InitParameters(); - } - - /// Project ID for this request. - [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Project { get; private set; } - - /// Name of the zone for this request. Name should conform to RFC1035. - [Google.Apis.Util.RequestParameterAttribute("zone", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Zone { get; private set; } - - /// Name of the reservation to update. Name should conform to RFC1035. - [Google.Apis.Util.RequestParameterAttribute("futureReservation", Google.Apis.Util.RequestParameterType.Path)] - public virtual string FutureReservation { get; private set; } - - /// - /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your - /// request, the server will know to ignore the request if it has already been completed. For example, - /// consider a situation where you make an initial request and the request times out. If you make the - /// request again with the same request ID, the server can check if original operation with the same request - /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally - /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is - /// not supported ( 00000000-0000-0000-0000-000000000000). - /// - [Google.Apis.Util.RequestParameterAttribute("requestId", Google.Apis.Util.RequestParameterType.Query)] - public virtual string RequestId { get; set; } - - /// update_mask indicates fields to be updated as part of this request. - [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.Compute.v1.Data.FutureReservation Body { get; set; } - - /// Returns the body of the request. - protected override object GetBody() => Body; - - /// Gets the method name. - public override string MethodName => "update"; - - /// Gets the HTTP method. - public override string HttpMethod => "PATCH"; - - /// Gets the REST path. - public override string RestPath => "projects/{project}/zones/{zone}/futureReservations/{futureReservation}"; - - /// Initializes Update parameter list. - protected override void InitParameters() - { - base.InitParameters(); - RequestParameters.Add("project", new Google.Apis.Discovery.Parameter - { - Name = "project", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - }); - RequestParameters.Add("zone", new Google.Apis.Discovery.Parameter - { - Name = "zone", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("futureReservation", new Google.Apis.Discovery.Parameter - { - Name = "futureReservation", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter - { - Name = "requestId", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter - { - Name = "updateMask", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - } - } - } - - /// The "globalAddresses" collection of methods. - public class GlobalAddressesResource - { - private const string Resource = "globalAddresses"; - - /// The service which this resource belongs to. - private readonly Google.Apis.Services.IClientService service; - - /// Constructs a new resource. - public GlobalAddressesResource(Google.Apis.Services.IClientService service) - { - this.service = service; - } - - /// Deletes the specified address resource. - /// Project ID for this request. - /// Name of the address resource to delete. - public virtual DeleteRequest Delete(string project, string address) - { - return new DeleteRequest(this.service, project, address); - } - - /// Deletes the specified address resource. - public class DeleteRequest : ComputeBaseServiceRequest - { - /// Constructs a new Delete request. - public DeleteRequest(Google.Apis.Services.IClientService service, string project, string address) : base(service) - { - Project = project; - Address = address; - InitParameters(); - } - - /// Project ID for this request. - [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Project { get; private set; } - - /// Name of the address resource to delete. - [Google.Apis.Util.RequestParameterAttribute("address", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Address { get; private set; } - - /// - /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your - /// request, the server will know to ignore the request if it has already been completed. For example, - /// consider a situation where you make an initial request and the request times out. If you make the - /// request again with the same request ID, the server can check if original operation with the same request - /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally - /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is - /// not supported ( 00000000-0000-0000-0000-000000000000). - /// - [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 => "projects/{project}/global/addresses/{address}"; - - /// Initializes Delete parameter list. - protected override void InitParameters() - { - base.InitParameters(); - RequestParameters.Add("project", new Google.Apis.Discovery.Parameter - { - Name = "project", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - }); - RequestParameters.Add("address", new Google.Apis.Discovery.Parameter - { - Name = "address", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - }); - RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter - { - Name = "requestId", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - } - } - - /// Returns the specified address resource. - /// Project ID for this request. - /// Name of the address resource to return. - public virtual GetRequest Get(string project, string address) - { - return new GetRequest(this.service, project, address); - } - - /// Returns the specified address resource. - public class GetRequest : ComputeBaseServiceRequest - { - /// Constructs a new Get request. - public GetRequest(Google.Apis.Services.IClientService service, string project, string address) : base(service) - { - Project = project; - Address = address; - InitParameters(); - } - - /// Project ID for this request. - [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Project { get; private set; } - - /// Name of the address resource to return. - [Google.Apis.Util.RequestParameterAttribute("address", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Address { 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 => "projects/{project}/global/addresses/{address}"; - - /// Initializes Get parameter list. - protected override void InitParameters() - { - base.InitParameters(); - RequestParameters.Add("project", new Google.Apis.Discovery.Parameter - { - Name = "project", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - }); - RequestParameters.Add("address", new Google.Apis.Discovery.Parameter - { - Name = "address", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - }); - } - } - - /// - /// Creates an address resource in the specified project by using the data included in the request. - /// - /// The body of the request. - /// Project ID for this request. - public virtual InsertRequest Insert(Google.Apis.Compute.v1.Data.Address body, string project) - { - return new InsertRequest(this.service, body, project); - } - - /// - /// Creates an address resource in the specified project by using the data included in the request. - /// - public class InsertRequest : ComputeBaseServiceRequest - { - /// Constructs a new Insert request. - public InsertRequest(Google.Apis.Services.IClientService service, Google.Apis.Compute.v1.Data.Address body, string project) : base(service) - { - Project = project; - Body = body; - InitParameters(); - } - - /// Project ID for this request. - [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Project { get; private set; } - - /// - /// An optional request ID to identify requests. Specify a unique request ID so that if you must retry your - /// request, the server will know to ignore the request if it has already been completed. For example, - /// consider a situation where you make an initial request and the request times out. If you make the - /// request again with the same request ID, the server can check if original operation with the same request - /// ID was received, and if so, will ignore the second request. This prevents clients from accidentally - /// creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is - /// not supported ( 00000000-0000-0000-0000-000000000000). - /// - [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.Compute.v1.Data.Address Body { get; set; } - - /// Returns the body of the request. - protected override object GetBody() => Body; - - /// Gets the method name. - public override string MethodName => "insert"; - - /// Gets the HTTP method. - public override string HttpMethod => "POST"; - - /// Gets the REST path. - public override string RestPath => "projects/{project}/global/addresses"; - - /// Initializes Insert parameter list. - protected override void InitParameters() - { - base.InitParameters(); - RequestParameters.Add("project", new Google.Apis.Discovery.Parameter - { - Name = "project", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = @"(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - }); - RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter - { - Name = "requestId", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - } - } - - /// Retrieves a list of global addresses. - /// Project ID for this request. - public virtual ListRequest List(string project) - { - return new ListRequest(this.service, project); - } - - /// Retrieves a list of global addresses. - public class ListRequest : ComputeBaseServiceRequest - { - /// Constructs a new List request. - public ListRequest(Google.Apis.Services.IClientService service, string project) : base(service) - { - Project = project; - InitParameters(); - } - - /// Project ID for this request. - [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] - public virtual string Project { get; private set; } - - /// - /// A filter expression that filters resources listed in the response. Most Compute resources support two - /// types of filter expressions: expressions that support regular expressions and expressions that follow - /// API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. - /// If you want to use AIP-160, your expression must specify the field name, an operator, and the value that - /// you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be - /// either `=`, `!=`, `&gt;`, `&lt;`, `&lt;=`, `&gt;=` or `:`. For example, if you are - /// filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying - /// `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For - /// example, to find all objects with `owner` label use: - /// ``` - /// labels.owner:* - /// ``` - /// You can also filter nested - /// fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only - /// if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based - /// on resource labels. To filter on multiple expressions, provide each separate expression within - /// parentheses. For example: - /// ``` - /// (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") - /// ``` - /// By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions - /// explicitly. For example: - /// ``` - /// (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND - /// (scheduling.automaticRestart = true) - /// ``` - /// If you want to use a regular expression, use the `eq` (equal) - /// or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or - /// against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq - /// 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne - /// "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. - /// The literal value must match the entire field. For example, to filter for instances that do not end with - /// name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields - /// using regular expressions. - /// - [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] - public virtual string Filter { get; set; } - - /// - /// The maximum number of results per page that should be returned. If the number of available results is - /// larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page - /// of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) - /// - [Google.Apis.Util.RequestParameterAttribute("maxResults", Google.Apis.Util.RequestParameterType.Query)] - public virtual System.Nullable MaxResults { get; set; } - - /// - /// Sorts list results by a certain order. By default, results are returned in alphanumerical order based on - /// the resource name. You can also sort results in descending order based on the creation timestamp using - /// `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse - /// chronological order (newest result first). Use this to sort resources like operations so that the newest - /// operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. - /// - [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] - public virtual string OrderBy { get; set; } - - /// - /// Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list - /// request to get the next page of results. - /// - [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] - public virtual string PageToken { get; set; } - - /// - /// Opt-in for partial success behavior which provides partial results in case of failure. The default value - /// is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope - /// either returns all resources in the zone or no resources, with an error code. - /// - [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"; - - /// Gets the HTTP method. - public override string HttpMethod => "GET"; - - /// Gets the REST path. - public override string RestPath => "projects/{project}/global/addresses"; - - /// Initializes List parameter list. + /// Initializes List parameter list. protected override void InitParameters() { base.InitParameters(); @@ -87436,10 +86581,6 @@ public class AuditConfig : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("auditLogConfigs")] public virtual System.Collections.Generic.IList AuditLogConfigs { get; set; } - /// This is deprecated and has no effect. Do not use. - [Newtonsoft.Json.JsonPropertyAttribute("exemptedMembers")] - public virtual System.Collections.Generic.IList ExemptedMembers { 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. @@ -87465,10 +86606,6 @@ public class AuditLogConfig : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("exemptedMembers")] public virtual System.Collections.Generic.IList ExemptedMembers { get; set; } - /// This is deprecated and has no effect. Do not use. - [Newtonsoft.Json.JsonPropertyAttribute("ignoreChildExemptions")] - public virtual System.Nullable IgnoreChildExemptions { get; set; } - /// The log type that this config enables. [Newtonsoft.Json.JsonPropertyAttribute("logType")] public virtual string LogType { get; set; } @@ -88692,6 +87829,24 @@ public class BackendService : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("id")] public virtual System.Nullable Id { get; set; } + /// + /// Specifies a preference for traffic sent from the proxy to the backend (or from the client to the backend for + /// proxyless gRPC). The possible values are: - IPV4_ONLY: Only send IPv4 traffic to the backends of the backend + /// service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic from the + /// client to the proxy. Only IPv4 health checks are used to check the health of the backends. This is the + /// default setting. - PREFER_IPV6: Prioritize the connection to the endpoint's IPv6 address over its IPv4 + /// address (provided there is a healthy IPv6 address). - IPV6_ONLY: Only send IPv6 traffic to the backends of + /// the backend service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic + /// from the client to the proxy. Only IPv6 health checks are used to check the health of the backends. This + /// field is applicable to either: - Advanced global external Application Load Balancer (load balancing scheme + /// EXTERNAL_MANAGED), - Regional external Application Load Balancer, - Internal proxy Network Load Balancer + /// (load balancing scheme INTERNAL_MANAGED), - Regional internal Application Load Balancer (load balancing + /// scheme INTERNAL_MANAGED), - Traffic Director with Envoy proxies and proxyless gRPC (load balancing scheme + /// INTERNAL_SELF_MANAGED). + /// + [Newtonsoft.Json.JsonPropertyAttribute("ipAddressSelectionPolicy")] + public virtual string IpAddressSelectionPolicy { get; set; } + /// [Output Only] Type of resource. Always compute#backendService for backend services. [Newtonsoft.Json.JsonPropertyAttribute("kind")] public virtual string Kind { get; set; } @@ -90146,6 +89301,13 @@ public class Commitment : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("creationTimestamp")] public virtual string CreationTimestamp { get; set; } + /// + /// [Input Only] Optional, specifies the CUD end time requested by the customer in RFC3339 text format. Needed + /// when the customer wants CUD's end date is later than the start date + term duration. + /// + [Newtonsoft.Json.JsonPropertyAttribute("customEndTimestamp")] + public virtual string CustomEndTimestamp { get; set; } + /// /// An optional description of this resource. Provide this property when you create the resource. /// @@ -90208,6 +89370,10 @@ public class Commitment : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("reservations")] public virtual System.Collections.Generic.IList Reservations { get; set; } + /// [Output Only] Status information for Commitment resource. + [Newtonsoft.Json.JsonPropertyAttribute("resourceStatus")] + public virtual CommitmentResourceStatus ResourceStatus { get; set; } + /// /// A list of commitment amounts for particular resources. Note that VCPU and MEMORY resource commitments must /// occur together. @@ -90413,6 +89579,20 @@ public class DataData } } + /// [Output Only] Contains output only fields. + public class CommitmentResourceStatus : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// [Output Only] Indicates the end time of customer's eligibility to send custom term requests in RFC3339 text + /// format. Term extension requests that (not the end time in the request) after this time will be rejected. + /// + [Newtonsoft.Json.JsonPropertyAttribute("customTermEligibilityEndTimestamp")] + public virtual string CustomTermEligibilityEndTimestamp { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + public class CommitmentsScopedList : Google.Apis.Requests.IDirectResponseSchema { /// [Output Only] A list of commitments contained in this scope. @@ -93590,465 +92770,18 @@ public class DataData } } - /// Contains a list of ForwardingRule resources. - public class ForwardingRuleList : Google.Apis.Requests.IDirectResponseSchema - { - /// [Output Only] Unique identifier for the resource; defined by the server. - [Newtonsoft.Json.JsonPropertyAttribute("id")] - public virtual string Id { get; set; } - - /// A list of ForwardingRule resources. - [Newtonsoft.Json.JsonPropertyAttribute("items")] - public virtual System.Collections.Generic.IList Items { get; set; } - - /// Type of resource. - [Newtonsoft.Json.JsonPropertyAttribute("kind")] - public virtual string Kind { get; set; } - - /// - /// [Output Only] This token allows you to get the next page of results for list requests. If the number of - /// results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the - /// next list request. Subsequent list requests will have their own nextPageToken to continue paging through the - /// results. - /// - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } - - /// [Output Only] Server-defined URL for this resource. - [Newtonsoft.Json.JsonPropertyAttribute("selfLink")] - public virtual string SelfLink { get; set; } - - /// [Output Only] Informational warning message. - [Newtonsoft.Json.JsonPropertyAttribute("warning")] - public virtual WarningData Warning { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - - /// [Output Only] Informational warning message. - public class WarningData - { - /// - /// [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if - /// there are no results in the response. - /// - [Newtonsoft.Json.JsonPropertyAttribute("code")] - public virtual string Code { get; set; } - - /// - /// [Output Only] Metadata about this warning in key: value format. For example: "data": [ { "key": "scope", - /// "value": "zones/us-east1-d" } - /// - [Newtonsoft.Json.JsonPropertyAttribute("data")] - public virtual System.Collections.Generic.IList Data { get; set; } - - /// [Output Only] A human-readable description of the warning code. - [Newtonsoft.Json.JsonPropertyAttribute("message")] - public virtual string Message { get; set; } - - /// - /// [Output Only] Metadata about this warning in key: value format. For example: "data": [ { "key": "scope", - /// "value": "zones/us-east1-d" } - /// - public class DataData - { - /// - /// [Output Only] A key that provides more detail on the warning being returned. For example, for - /// warnings where there are no results in a list request for a particular zone, this key might be scope - /// and the key value might be the zone name. Other examples might be a key indicating a deprecated - /// resource and a suggested replacement, or a warning about invalid network settings (for example, if - /// an instance attempts to perform IP forwarding but is not enabled for IP forwarding). - /// - [Newtonsoft.Json.JsonPropertyAttribute("key")] - public virtual string Key { get; set; } - - /// [Output Only] A warning data value corresponding to the key. - [Newtonsoft.Json.JsonPropertyAttribute("value")] - public virtual string Value { get; set; } - } - } - } - - public class ForwardingRuleReference : Google.Apis.Requests.IDirectResponseSchema - { - [Newtonsoft.Json.JsonPropertyAttribute("forwardingRule")] - public virtual string ForwardingRule { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// - /// Describes the auto-registration of the forwarding rule to Service Directory. The region and project of the - /// Service Directory resource generated from this registration will be the same as this forwarding rule. - /// - public class ForwardingRuleServiceDirectoryRegistration : Google.Apis.Requests.IDirectResponseSchema - { - /// Service Directory namespace to register the forwarding rule under. - [Newtonsoft.Json.JsonPropertyAttribute("namespace")] - public virtual string Namespace__ { get; set; } - - /// Service Directory service to register the forwarding rule under. - [Newtonsoft.Json.JsonPropertyAttribute("service")] - public virtual string Service { get; set; } - - /// - /// [Optional] Service Directory region to register this global forwarding rule under. Default to "us-central1". - /// Only used for PSC for Google APIs. All PSC for Google APIs forwarding rules on the same network should use - /// the same Service Directory region. - /// - [Newtonsoft.Json.JsonPropertyAttribute("serviceDirectoryRegion")] - public virtual string ServiceDirectoryRegion { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - public class ForwardingRulesScopedList : Google.Apis.Requests.IDirectResponseSchema - { - /// A list of forwarding rules contained in this scope. - [Newtonsoft.Json.JsonPropertyAttribute("forwardingRules")] - public virtual System.Collections.Generic.IList ForwardingRules { get; set; } - - /// Informational warning which replaces the list of forwarding rules when the list is empty. - [Newtonsoft.Json.JsonPropertyAttribute("warning")] - public virtual WarningData Warning { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - - /// Informational warning which replaces the list of forwarding rules when the list is empty. - public class WarningData - { - /// - /// [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if - /// there are no results in the response. - /// - [Newtonsoft.Json.JsonPropertyAttribute("code")] - public virtual string Code { get; set; } - - /// - /// [Output Only] Metadata about this warning in key: value format. For example: "data": [ { "key": "scope", - /// "value": "zones/us-east1-d" } - /// - [Newtonsoft.Json.JsonPropertyAttribute("data")] - public virtual System.Collections.Generic.IList Data { get; set; } - - /// [Output Only] A human-readable description of the warning code. - [Newtonsoft.Json.JsonPropertyAttribute("message")] - public virtual string Message { get; set; } - - /// - /// [Output Only] Metadata about this warning in key: value format. For example: "data": [ { "key": "scope", - /// "value": "zones/us-east1-d" } - /// - public class DataData - { - /// - /// [Output Only] A key that provides more detail on the warning being returned. For example, for - /// warnings where there are no results in a list request for a particular zone, this key might be scope - /// and the key value might be the zone name. Other examples might be a key indicating a deprecated - /// resource and a suggested replacement, or a warning about invalid network settings (for example, if - /// an instance attempts to perform IP forwarding but is not enabled for IP forwarding). - /// - [Newtonsoft.Json.JsonPropertyAttribute("key")] - public virtual string Key { get; set; } - - /// [Output Only] A warning data value corresponding to the key. - [Newtonsoft.Json.JsonPropertyAttribute("value")] - public virtual string Value { get; set; } - } - } - } - - public class FutureReservation : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// Future timestamp when the FR auto-created reservations will be deleted by Compute Engine. Format of this - /// field must be a valid href="https://www.ietf.org/rfc/rfc3339.txt"&gt;RFC3339 value. - /// - [Newtonsoft.Json.JsonPropertyAttribute("autoCreatedReservationsDeleteTime")] - public virtual string AutoCreatedReservationsDeleteTime { get; set; } - - /// - /// Specifies the duration of auto-created reservations. It represents relative time to future reservation - /// start_time when auto-created reservations will be automatically deleted by Compute Engine. Duration time - /// unit is represented as a count of seconds and fractions of seconds at nanosecond resolution. - /// - [Newtonsoft.Json.JsonPropertyAttribute("autoCreatedReservationsDuration")] - public virtual Duration AutoCreatedReservationsDuration { get; set; } - - /// - /// Setting for enabling or disabling automatic deletion for auto-created reservation. If set to true, - /// auto-created reservations will be deleted at Future Reservation's end time (default) or at user's defined - /// timestamp if any of the [auto_created_reservations_delete_time, auto_created_reservations_duration] values - /// is specified. For keeping auto-created reservation indefinitely, this value should be set to false. - /// - [Newtonsoft.Json.JsonPropertyAttribute("autoDeleteAutoCreatedReservations")] - public virtual System.Nullable AutoDeleteAutoCreatedReservations { get; set; } - - /// [Output Only] The creation timestamp for this future reservation in RFC3339 text format. - [Newtonsoft.Json.JsonPropertyAttribute("creationTimestamp")] - public virtual string CreationTimestamp { get; set; } - - /// - /// An optional description of this resource. Provide this property when you create the future reservation. - /// - [Newtonsoft.Json.JsonPropertyAttribute("description")] - public virtual string Description { get; set; } - - /// - /// [Output Only] A unique identifier for this future reservation. The server defines this identifier. - /// - [Newtonsoft.Json.JsonPropertyAttribute("id")] - public virtual System.Nullable Id { get; set; } - - /// - /// [Output Only] Type of the resource. Always compute#futureReservation for future reservations. - /// - [Newtonsoft.Json.JsonPropertyAttribute("kind")] - public virtual string Kind { get; set; } - - /// - /// The name of the resource, provided by the client when initially creating the resource. The resource name - /// must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long - /// and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a - /// lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last - /// character, which cannot be a dash. - /// - [Newtonsoft.Json.JsonPropertyAttribute("name")] - public virtual string Name { get; set; } - - /// - /// Name prefix for the reservations to be created at the time of delivery. The name prefix must comply with - /// RFC1035. Maximum allowed length for name prefix is 20. Automatically created reservations name format will - /// be -date-####. - /// - [Newtonsoft.Json.JsonPropertyAttribute("namePrefix")] - public virtual string NamePrefix { get; set; } - - /// Planning state before being submitted for evaluation - [Newtonsoft.Json.JsonPropertyAttribute("planningStatus")] - public virtual string PlanningStatus { get; set; } - - /// [Output Only] Server-defined fully-qualified URL for this resource. - [Newtonsoft.Json.JsonPropertyAttribute("selfLink")] - public virtual string SelfLink { get; set; } - - /// [Output Only] Server-defined URL for this resource with the resource id. - [Newtonsoft.Json.JsonPropertyAttribute("selfLinkWithId")] - public virtual string SelfLinkWithId { get; set; } - - /// List of Projects/Folders to share with. - [Newtonsoft.Json.JsonPropertyAttribute("shareSettings")] - public virtual ShareSettings ShareSettings { get; set; } - - /// Future Reservation configuration to indicate instance properties and total count. - [Newtonsoft.Json.JsonPropertyAttribute("specificSkuProperties")] - public virtual FutureReservationSpecificSKUProperties SpecificSkuProperties { get; set; } - - /// [Output only] Status of the Future Reservation - [Newtonsoft.Json.JsonPropertyAttribute("status")] - public virtual FutureReservationStatus Status { get; set; } - - /// Time window for this Future Reservation. - [Newtonsoft.Json.JsonPropertyAttribute("timeWindow")] - public virtual FutureReservationTimeWindow TimeWindow { get; set; } - - /// [Output Only] URL of the Zone where this future reservation resides. - [Newtonsoft.Json.JsonPropertyAttribute("zone")] - public virtual string Zone { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - public class FutureReservationSpecificSKUProperties : Google.Apis.Requests.IDirectResponseSchema - { - /// Properties of the SKU instances being reserved. - [Newtonsoft.Json.JsonPropertyAttribute("instanceProperties")] - public virtual AllocationSpecificSKUAllocationReservedInstanceProperties InstanceProperties { get; set; } - - /// - /// The instance template that will be used to populate the ReservedInstanceProperties of the future reservation - /// - [Newtonsoft.Json.JsonPropertyAttribute("sourceInstanceTemplate")] - public virtual string SourceInstanceTemplate { get; set; } - - /// - /// Total number of instances for which capacity assurance is requested at a future time period. - /// - [Newtonsoft.Json.JsonPropertyAttribute("totalCount")] - public virtual System.Nullable TotalCount { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// [Output only] Represents status related to the future reservation. - public class FutureReservationStatus : Google.Apis.Requests.IDirectResponseSchema - { - /// [Output Only] The current status of the requested amendment. - [Newtonsoft.Json.JsonPropertyAttribute("amendmentStatus")] - public virtual string AmendmentStatus { get; set; } - - /// Fully qualified urls of the automatically created reservations at start_time. - [Newtonsoft.Json.JsonPropertyAttribute("autoCreatedReservations")] - public virtual System.Collections.Generic.IList AutoCreatedReservations { get; set; } - - /// [Output Only] Represents the existing matching usage for the future reservation. - [Newtonsoft.Json.JsonPropertyAttribute("existingMatchingUsageInfo")] - public virtual FutureReservationStatusExistingMatchingUsageInfo ExistingMatchingUsageInfo { get; set; } - - /// - /// This count indicates the fulfilled capacity so far. This is set during "PROVISIONING" state. This count also - /// includes capacity delivered as part of existing matching reservations. - /// - [Newtonsoft.Json.JsonPropertyAttribute("fulfilledCount")] - public virtual System.Nullable FulfilledCount { get; set; } - - /// - /// [Output Only] This field represents the future reservation before an amendment was requested. If the - /// amendment is declined, the Future Reservation will be reverted to the last known good state. The last known - /// good state is not set when updating a future reservation whose Procurement Status is DRAFTING. - /// - [Newtonsoft.Json.JsonPropertyAttribute("lastKnownGoodState")] - public virtual FutureReservationStatusLastKnownGoodState LastKnownGoodState { get; set; } - - /// - /// Time when Future Reservation would become LOCKED, after which no modifications to Future Reservation will be - /// allowed. Applicable only after the Future Reservation is in the APPROVED state. The lock_time is an RFC3339 - /// string. The procurement_status will transition to PROCURING state at this time. - /// - [Newtonsoft.Json.JsonPropertyAttribute("lockTime")] - public virtual string LockTime { get; set; } - - /// Current state of this Future Reservation - [Newtonsoft.Json.JsonPropertyAttribute("procurementStatus")] - public virtual string ProcurementStatus { get; set; } - - [Newtonsoft.Json.JsonPropertyAttribute("specificSkuProperties")] - public virtual FutureReservationStatusSpecificSKUProperties SpecificSkuProperties { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// [Output Only] Represents the existing matching usage for the future reservation. - public class FutureReservationStatusExistingMatchingUsageInfo : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// Count to represent min(FR total_count, matching_reserved_capacity+matching_unreserved_instances) - /// - [Newtonsoft.Json.JsonPropertyAttribute("count")] - public virtual System.Nullable Count { get; set; } - - /// Timestamp when the matching usage was calculated - [Newtonsoft.Json.JsonPropertyAttribute("timestamp")] - public virtual string Timestamp { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// The state that the future reservation will be reverted to should the amendment be declined. - public class FutureReservationStatusLastKnownGoodState : Google.Apis.Requests.IDirectResponseSchema - { - /// [Output Only] The description of the FutureReservation before an amendment was requested. - [Newtonsoft.Json.JsonPropertyAttribute("description")] - public virtual string Description { get; set; } - - /// - /// [Output Only] Represents the matching usage for the future reservation before an amendment was requested. - /// - [Newtonsoft.Json.JsonPropertyAttribute("existingMatchingUsageInfo")] - public virtual FutureReservationStatusExistingMatchingUsageInfo ExistingMatchingUsageInfo { get; set; } - - [Newtonsoft.Json.JsonPropertyAttribute("futureReservationSpecs")] - public virtual FutureReservationStatusLastKnownGoodStateFutureReservationSpecs FutureReservationSpecs { get; set; } - - /// [Output Only] The lock time of the FutureReservation before an amendment was requested. - [Newtonsoft.Json.JsonPropertyAttribute("lockTime")] - public virtual string LockTime { get; set; } - - /// - /// [Output Only] The name prefix of the Future Reservation before an amendment was requested. - /// - [Newtonsoft.Json.JsonPropertyAttribute("namePrefix")] - public virtual string NamePrefix { get; set; } - - /// [Output Only] The status of the last known good state for the Future Reservation. - [Newtonsoft.Json.JsonPropertyAttribute("procurementStatus")] - public virtual string ProcurementStatus { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// The properties of the last known good state for the Future Reservation. - public class FutureReservationStatusLastKnownGoodStateFutureReservationSpecs : Google.Apis.Requests.IDirectResponseSchema - { - /// [Output Only] The previous share settings of the Future Reservation. - [Newtonsoft.Json.JsonPropertyAttribute("shareSettings")] - public virtual ShareSettings ShareSettings { get; set; } - - /// [Output Only] The previous instance related properties of the Future Reservation. - [Newtonsoft.Json.JsonPropertyAttribute("specificSkuProperties")] - public virtual FutureReservationSpecificSKUProperties SpecificSkuProperties { get; set; } - - /// [Output Only] The previous time window of the Future Reservation. - [Newtonsoft.Json.JsonPropertyAttribute("timeWindow")] - public virtual FutureReservationTimeWindow TimeWindow { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// Properties to be set for the Future Reservation. - public class FutureReservationStatusSpecificSKUProperties : Google.Apis.Requests.IDirectResponseSchema - { - /// ID of the instance template used to populate the Future Reservation properties. - [Newtonsoft.Json.JsonPropertyAttribute("sourceInstanceTemplateId")] - public virtual string SourceInstanceTemplateId { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - public class FutureReservationTimeWindow : Google.Apis.Requests.IDirectResponseSchema - { - [Newtonsoft.Json.JsonPropertyAttribute("duration")] - public virtual Duration Duration { get; set; } - - [Newtonsoft.Json.JsonPropertyAttribute("endTime")] - public virtual string EndTime { get; set; } - - /// Start time of the Future Reservation. The start_time is an RFC3339 string. - [Newtonsoft.Json.JsonPropertyAttribute("startTime")] - public virtual string StartTime { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// Contains a list of future reservations. - public class FutureReservationsAggregatedListResponse : Google.Apis.Requests.IDirectResponseSchema + /// Contains a list of ForwardingRule resources. + public class ForwardingRuleList : Google.Apis.Requests.IDirectResponseSchema { - [Newtonsoft.Json.JsonPropertyAttribute("etag")] - public virtual string ETag { get; set; } - /// [Output Only] Unique identifier for the resource; defined by the server. [Newtonsoft.Json.JsonPropertyAttribute("id")] public virtual string Id { get; set; } - /// A list of Future reservation resources. + /// A list of ForwardingRule resources. [Newtonsoft.Json.JsonPropertyAttribute("items")] - public virtual System.Collections.Generic.IDictionary Items { get; set; } + public virtual System.Collections.Generic.IList Items { get; set; } - /// - /// [Output Only] Type of resource. Always compute#futureReservationsAggregatedListResponse for future - /// resevation aggregated list response. - /// + /// Type of resource. [Newtonsoft.Json.JsonPropertyAttribute("kind")] public virtual string Kind { get; set; } @@ -94065,14 +92798,13 @@ public class FutureReservationsAggregatedListResponse : Google.Apis.Requests.IDi [Newtonsoft.Json.JsonPropertyAttribute("selfLink")] public virtual string SelfLink { get; set; } - /// [Output Only] Unreachable resources. - [Newtonsoft.Json.JsonPropertyAttribute("unreachables")] - public virtual System.Collections.Generic.IList Unreachables { get; set; } - /// [Output Only] Informational warning message. [Newtonsoft.Json.JsonPropertyAttribute("warning")] public virtual WarningData Warning { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + /// [Output Only] Informational warning message. public class WarningData { @@ -94117,110 +92849,55 @@ public class DataData } } - public class FutureReservationsListResponse : Google.Apis.Requests.IDirectResponseSchema + public class ForwardingRuleReference : Google.Apis.Requests.IDirectResponseSchema { - [Newtonsoft.Json.JsonPropertyAttribute("etag")] - public virtual string ETag { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("forwardingRule")] + public virtual string ForwardingRule { get; set; } - /// - /// [Output Only] The unique identifier for the resource. This identifier is defined by the server. - /// - [Newtonsoft.Json.JsonPropertyAttribute("id")] - public virtual string Id { get; set; } + /// The ETag of the item. + public virtual string ETag { get; set; } + } - /// [Output Only] A list of future reservation resources. - [Newtonsoft.Json.JsonPropertyAttribute("items")] - public virtual System.Collections.Generic.IList Items { get; set; } + /// + /// Describes the auto-registration of the forwarding rule to Service Directory. The region and project of the + /// Service Directory resource generated from this registration will be the same as this forwarding rule. + /// + public class ForwardingRuleServiceDirectoryRegistration : Google.Apis.Requests.IDirectResponseSchema + { + /// Service Directory namespace to register the forwarding rule under. + [Newtonsoft.Json.JsonPropertyAttribute("namespace")] + public virtual string Namespace__ { get; set; } - /// - /// [Output Only] Type of resource.Always compute#FutureReservationsListResponse for lists of reservations - /// - [Newtonsoft.Json.JsonPropertyAttribute("kind")] - public virtual string Kind { get; set; } + /// Service Directory service to register the forwarding rule under. + [Newtonsoft.Json.JsonPropertyAttribute("service")] + public virtual string Service { get; set; } /// - /// [Output Only] This token allows you to get the next page of results for list requests. If the number of - /// results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the - /// next list request. Subsequent list requests will have their own nextPageToken to continue paging through the - /// results. + /// [Optional] Service Directory region to register this global forwarding rule under. Default to "us-central1". + /// Only used for PSC for Google APIs. All PSC for Google APIs forwarding rules on the same network should use + /// the same Service Directory region. /// - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { get; set; } - - /// [Output Only] Server-defined URL for this resource. - [Newtonsoft.Json.JsonPropertyAttribute("selfLink")] - public virtual string SelfLink { get; set; } - - /// [Output Only] Unreachable resources. - [Newtonsoft.Json.JsonPropertyAttribute("unreachables")] - public virtual System.Collections.Generic.IList Unreachables { get; set; } - - /// [Output Only] Informational warning message. - [Newtonsoft.Json.JsonPropertyAttribute("warning")] - public virtual WarningData Warning { get; set; } - - /// [Output Only] Informational warning message. - public class WarningData - { - /// - /// [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if - /// there are no results in the response. - /// - [Newtonsoft.Json.JsonPropertyAttribute("code")] - public virtual string Code { get; set; } - - /// - /// [Output Only] Metadata about this warning in key: value format. For example: "data": [ { "key": "scope", - /// "value": "zones/us-east1-d" } - /// - [Newtonsoft.Json.JsonPropertyAttribute("data")] - public virtual System.Collections.Generic.IList Data { get; set; } - - /// [Output Only] A human-readable description of the warning code. - [Newtonsoft.Json.JsonPropertyAttribute("message")] - public virtual string Message { get; set; } - - /// - /// [Output Only] Metadata about this warning in key: value format. For example: "data": [ { "key": "scope", - /// "value": "zones/us-east1-d" } - /// - public class DataData - { - /// - /// [Output Only] A key that provides more detail on the warning being returned. For example, for - /// warnings where there are no results in a list request for a particular zone, this key might be scope - /// and the key value might be the zone name. Other examples might be a key indicating a deprecated - /// resource and a suggested replacement, or a warning about invalid network settings (for example, if - /// an instance attempts to perform IP forwarding but is not enabled for IP forwarding). - /// - [Newtonsoft.Json.JsonPropertyAttribute("key")] - public virtual string Key { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("serviceDirectoryRegion")] + public virtual string ServiceDirectoryRegion { get; set; } - /// [Output Only] A warning data value corresponding to the key. - [Newtonsoft.Json.JsonPropertyAttribute("value")] - public virtual string Value { get; set; } - } - } + /// The ETag of the item. + public virtual string ETag { get; set; } } - public class FutureReservationsScopedList : Google.Apis.Requests.IDirectResponseSchema + public class ForwardingRulesScopedList : Google.Apis.Requests.IDirectResponseSchema { - /// A list of future reservations contained in this scope. - [Newtonsoft.Json.JsonPropertyAttribute("futureReservations")] - public virtual System.Collections.Generic.IList FutureReservations { get; set; } + /// A list of forwarding rules contained in this scope. + [Newtonsoft.Json.JsonPropertyAttribute("forwardingRules")] + public virtual System.Collections.Generic.IList ForwardingRules { get; set; } - /// - /// Informational warning which replaces the list of future reservations when the list is empty. - /// + /// Informational warning which replaces the list of forwarding rules when the list is empty. [Newtonsoft.Json.JsonPropertyAttribute("warning")] public virtual WarningData Warning { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } - /// - /// Informational warning which replaces the list of future reservations when the list is empty. - /// + /// Informational warning which replaces the list of forwarding rules when the list is empty. public class WarningData { /// @@ -95288,6 +93965,13 @@ public class HealthStatus : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("ipAddress")] public virtual string IpAddress { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("ipv6Address")] + public virtual string Ipv6Address { get; set; } + + /// Health state of the IPv6 address of the instance. + [Newtonsoft.Json.JsonPropertyAttribute("ipv6HealthState")] + public virtual string Ipv6HealthState { get; set; } + /// The named port of the instance group, not necessarily the port that is health-checked. [Newtonsoft.Json.JsonPropertyAttribute("port")] public virtual System.Nullable Port { get; set; } @@ -106632,7 +105316,7 @@ public class Operation : Google.Apis.Requests.IDirectResponseSchema /// /// [Output Only] The URL of the resource that the operation modifies. For operations related to creating a - /// snapshot, this points to the persistent disk that the snapshot was created from. + /// snapshot, this points to the disk that the snapshot was created from. /// [Newtonsoft.Json.JsonPropertyAttribute("targetLink")] public virtual string TargetLink { get; set; } @@ -114028,6 +112712,18 @@ public class ServiceAttachment : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("producerForwardingRule")] public virtual string ProducerForwardingRule { get; set; } + /// + /// The number of consumer spokes that connected Private Service Connect endpoints can be propagated to through + /// Network Connectivity Center. This limit lets the service producer limit how many propagated Private Service + /// Connect connections can be established to this service attachment from a single consumer. If the connection + /// preference of the service attachment is ACCEPT_MANUAL, the limit applies to each project or network that is + /// listed in the consumer accept list. If the connection preference of the service attachment is + /// ACCEPT_AUTOMATIC, the limit applies to each project that contains a connected endpoint. If unspecified, the + /// default propagated connection limit is 250. + /// + [Newtonsoft.Json.JsonPropertyAttribute("propagatedConnectionLimit")] + public virtual System.Nullable PropagatedConnectionLimit { get; set; } + /// [Output Only] An 128-bit global unique ID of the PSC service attachment. [Newtonsoft.Json.JsonPropertyAttribute("pscServiceAttachmentId")] public virtual Uint128 PscServiceAttachmentId { get; set; } @@ -114157,6 +112853,13 @@ public class ServiceAttachmentConnectedEndpoint : Google.Apis.Requests.IDirectRe [Newtonsoft.Json.JsonPropertyAttribute("endpoint")] public virtual string Endpoint { get; set; } + /// + /// The number of consumer Network Connectivity Center spokes that the connected Private Service Connect + /// endpoint has propagated to. + /// + [Newtonsoft.Json.JsonPropertyAttribute("propagatedConnectionCount")] + public virtual System.Nullable PropagatedConnectionCount { get; set; } + /// The PSC connection id of the connected endpoint. [Newtonsoft.Json.JsonPropertyAttribute("pscConnectionId")] public virtual System.Nullable PscConnectionId { get; set; } @@ -119768,8 +118471,9 @@ public class UpcomingMaintenance : Google.Apis.Requests.IDirectResponseSchema /// table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing /// and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend /// service or a backend bucket. To use the global urlMaps resource, the backend service must have a - /// loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend - /// service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts. + /// loadBalancingScheme of either EXTERNAL, EXTERNAL_MANAGED, or INTERNAL_SELF_MANAGED. To use the regionUrlMaps + /// resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read + /// URL Map Concepts. /// public class UrlMap : Google.Apis.Requests.IDirectResponseSchema { 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 71f9dbd463..cfdd7b5667 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.68.0.3549 + 1.68.0.3561 Google LLC Copyright 2024 Google LLC Google From 8f78d3a2009f0bf44a1371d7fae299d322eeca7b Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:12:10 -0700 Subject: [PATCH 27/78] feat: Generate Google.Apis.CCAIPlatform.v1alpha1 version 1.68.0.3562 --- .../contactcenteraiplatform.v1alpha1.json | 10 +++++----- .../Google.Apis.CCAIPlatform.v1alpha1.cs | 15 +++++++++------ .../Google.Apis.CCAIPlatform.v1alpha1.csproj | 2 +- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/DiscoveryJson/contactcenteraiplatform.v1alpha1.json b/DiscoveryJson/contactcenteraiplatform.v1alpha1.json index c2282e60da..cce2d38b18 100644 --- a/DiscoveryJson/contactcenteraiplatform.v1alpha1.json +++ b/DiscoveryJson/contactcenteraiplatform.v1alpha1.json @@ -512,7 +512,7 @@ } } }, - "revision": "20240904", + "revision": "20241002", "rootUrl": "https://contactcenteraiplatform.googleapis.com/", "schemas": { "AdminUser": { @@ -1220,22 +1220,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/Src/Generated/Google.Apis.CCAIPlatform.v1alpha1/Google.Apis.CCAIPlatform.v1alpha1.cs b/Src/Generated/Google.Apis.CCAIPlatform.v1alpha1/Google.Apis.CCAIPlatform.v1alpha1.cs index 1e9a9746fa..105e2324ca 100644 --- a/Src/Generated/Google.Apis.CCAIPlatform.v1alpha1/Google.Apis.CCAIPlatform.v1alpha1.cs +++ b/Src/Generated/Google.Apis.CCAIPlatform.v1alpha1/Google.Apis.CCAIPlatform.v1alpha1.cs @@ -1907,23 +1907,26 @@ public class Status : Google.Apis.Requests.IDirectResponseSchema public class TimeOfDay : Google.Apis.Requests.IDirectResponseSchema { /// - /// Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for - /// scenarios like business closing time. + /// Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or + /// equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. /// [Newtonsoft.Json.JsonPropertyAttribute("hours")] public virtual System.Nullable Hours { get; set; } - /// Minutes of hour of day. Must be from 0 to 59. + /// Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. [Newtonsoft.Json.JsonPropertyAttribute("minutes")] public virtual System.Nullable Minutes { get; set; } - /// Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + /// + /// Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to + /// 999,999,999. + /// [Newtonsoft.Json.JsonPropertyAttribute("nanos")] public virtual System.Nullable Nanos { get; set; } /// - /// Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows - /// leap-seconds. + /// Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An + /// API may allow the value 60 if it allows leap-seconds. /// [Newtonsoft.Json.JsonPropertyAttribute("seconds")] public virtual System.Nullable Seconds { get; set; } diff --git a/Src/Generated/Google.Apis.CCAIPlatform.v1alpha1/Google.Apis.CCAIPlatform.v1alpha1.csproj b/Src/Generated/Google.Apis.CCAIPlatform.v1alpha1/Google.Apis.CCAIPlatform.v1alpha1.csproj index 28963cba82..cfc2213319 100644 --- a/Src/Generated/Google.Apis.CCAIPlatform.v1alpha1/Google.Apis.CCAIPlatform.v1alpha1.csproj +++ b/Src/Generated/Google.Apis.CCAIPlatform.v1alpha1/Google.Apis.CCAIPlatform.v1alpha1.csproj @@ -3,7 +3,7 @@ Google.Apis.CCAIPlatform.v1alpha1 Client Library - 1.68.0.3534 + 1.68.0.3562 Google LLC Copyright 2024 Google LLC Google From 92b6047d9b4c3d2cdb354f5c75a3a80f0d874073 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:12:13 -0700 Subject: [PATCH 28/78] feat: Generate Google.Apis.Contactcenterinsights.v1 version 1.68.0.3568 --- DiscoveryJson/contactcenterinsights.v1.json | 24 ++++++------- .../Google.Apis.Contactcenterinsights.v1.cs | 36 +++++++++---------- ...oogle.Apis.Contactcenterinsights.v1.csproj | 2 +- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/DiscoveryJson/contactcenterinsights.v1.json b/DiscoveryJson/contactcenterinsights.v1.json index da15fa5174..f4787257bd 100644 --- a/DiscoveryJson/contactcenterinsights.v1.json +++ b/DiscoveryJson/contactcenterinsights.v1.json @@ -667,7 +667,7 @@ "encryptionSpec": { "methods": { "initialize": { - "description": "Initializes a location-level encryption key specification. An error will be thrown if the location has resources already created before the initialization. Once the encryption specification is initialized at a location, it is immutable and all newly created resources under the location will be encrypted with the existing specification.", + "description": "Initializes a location-level encryption key specification. An error will result if the location has resources already created before the initialization. After the encryption specification is initialized at a location, it is immutable and all newly created resources under the location will be encrypted with the existing specification.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/encryptionSpec:initialize", "httpMethod": "POST", "id": "contactcenterinsights.projects.locations.encryptionSpec.initialize", @@ -1530,7 +1530,7 @@ } } }, - "revision": "20240925", + "revision": "20241008", "rootUrl": "https://contactcenterinsights.googleapis.com/", "schemas": { "GoogleCloudContactcenterinsightsV1Analysis": { @@ -2173,7 +2173,7 @@ "type": "string" }, "metadataJson": { - "description": "Input only. JSON Metadata encoded as a string. This field is primarily used by Insights integrations with various telphony systems and must be in one of Insights' supported formats.", + "description": "Input only. JSON metadata encoded as a string. This field is primarily used by Insights integrations with various telphony systems and must be in one of Insight's supported formats.", "type": "string" }, "name": { @@ -2707,11 +2707,11 @@ "type": "object" }, "GoogleCloudContactcenterinsightsV1EncryptionSpec": { - "description": "A customer-managed encryption key specification that can be applied to all created resources (e.g. Conversation).", + "description": "A customer-managed encryption key specification that can be applied to all created resources (e.g. `Conversation`).", "id": "GoogleCloudContactcenterinsightsV1EncryptionSpec", "properties": { "kmsKey": { - "description": "Required. The name of customer-managed encryption key that is used to secure a resource and its sub-resources. If empty, the resource is secured by the default Google encryption key. Only the key in the same location as this resource is allowed to be used for encryption. Format: `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}`", + "description": "Required. The name of customer-managed encryption key that is used to secure a resource and its sub-resources. If empty, the resource is secured by our default encryption key. Only the key in the same location as this resource is allowed to be used for encryption. Format: `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}`", "type": "string" }, "name": { @@ -3285,7 +3285,7 @@ "type": "string" }, "partialErrors": { - "description": "Partial errors during initialising operation that might cause the operation output to be incomplete.", + "description": "Partial errors during initializing operation that might cause the operation output to be incomplete.", "items": { "$ref": "GoogleRpcStatus" }, @@ -3305,7 +3305,7 @@ "properties": { "encryptionSpec": { "$ref": "GoogleCloudContactcenterinsightsV1EncryptionSpec", - "description": "Required. The encryption spec used for CMEK encryption. It is required that the kms key is in the same region as the endpoint. The same key will be used for all provisioned resources, if encryption is available. If the kms_key_name is left empty, no encryption will be enforced." + "description": "Required. The encryption spec used for CMEK encryption. It is required that the kms key is in the same region as the endpoint. The same key will be used for all provisioned resources, if encryption is available. If the `kms_key_name` field is left empty, no encryption will be enforced." } }, "type": "object" @@ -4778,7 +4778,7 @@ "type": "string" }, "metadataJson": { - "description": "Input only. JSON Metadata encoded as a string. This field is primarily used by Insights integrations with various telphony systems and must be in one of Insights' supported formats.", + "description": "Input only. JSON metadata encoded as a string. This field is primarily used by Insights integrations with various telphony systems and must be in one of Insight's supported formats.", "type": "string" }, "name": { @@ -5312,11 +5312,11 @@ "type": "object" }, "GoogleCloudContactcenterinsightsV1alpha1EncryptionSpec": { - "description": "A customer-managed encryption key specification that can be applied to all created resources (e.g. Conversation).", + "description": "A customer-managed encryption key specification that can be applied to all created resources (e.g. `Conversation`).", "id": "GoogleCloudContactcenterinsightsV1alpha1EncryptionSpec", "properties": { "kmsKey": { - "description": "Required. The name of customer-managed encryption key that is used to secure a resource and its sub-resources. If empty, the resource is secured by the default Google encryption key. Only the key in the same location as this resource is allowed to be used for encryption. Format: `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}`", + "description": "Required. The name of customer-managed encryption key that is used to secure a resource and its sub-resources. If empty, the resource is secured by our default encryption key. Only the key in the same location as this resource is allowed to be used for encryption. Format: `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}`", "type": "string" }, "name": { @@ -5879,7 +5879,7 @@ "type": "string" }, "partialErrors": { - "description": "Partial errors during initialising operation that might cause the operation output to be incomplete.", + "description": "Partial errors during initializing operation that might cause the operation output to be incomplete.", "items": { "$ref": "GoogleRpcStatus" }, @@ -5899,7 +5899,7 @@ "properties": { "encryptionSpec": { "$ref": "GoogleCloudContactcenterinsightsV1alpha1EncryptionSpec", - "description": "Required. The encryption spec used for CMEK encryption. It is required that the kms key is in the same region as the endpoint. The same key will be used for all provisioned resources, if encryption is available. If the kms_key_name is left empty, no encryption will be enforced." + "description": "Required. The encryption spec used for CMEK encryption. It is required that the kms key is in the same region as the endpoint. The same key will be used for all provisioned resources, if encryption is available. If the `kms_key_name` field is left empty, no encryption will be enforced." } }, "type": "object" diff --git a/Src/Generated/Google.Apis.Contactcenterinsights.v1/Google.Apis.Contactcenterinsights.v1.cs b/Src/Generated/Google.Apis.Contactcenterinsights.v1/Google.Apis.Contactcenterinsights.v1.cs index f015b4d503..ddff771ef7 100644 --- a/Src/Generated/Google.Apis.Contactcenterinsights.v1/Google.Apis.Contactcenterinsights.v1.cs +++ b/Src/Generated/Google.Apis.Contactcenterinsights.v1/Google.Apis.Contactcenterinsights.v1.cs @@ -1308,8 +1308,8 @@ public EncryptionSpecResource(Google.Apis.Services.IClientService service) } /// - /// Initializes a location-level encryption key specification. An error will be thrown if the location - /// has resources already created before the initialization. Once the encryption specification is + /// Initializes a location-level encryption key specification. An error will result if the location has + /// resources already created before the initialization. After the encryption specification is /// initialized at a location, it is immutable and all newly created resources under the location will /// be encrypted with the existing specification. /// @@ -1324,8 +1324,8 @@ public virtual InitializeRequest Initialize(Google.Apis.Contactcenterinsights.v1 } /// - /// Initializes a location-level encryption key specification. An error will be thrown if the location - /// has resources already created before the initialization. Once the encryption specification is + /// Initializes a location-level encryption key specification. An error will result if the location has + /// resources already created before the initialization. After the encryption specification is /// initialized at a location, it is immutable and all newly created resources under the location will /// be encrypted with the existing specification. /// @@ -4185,8 +4185,8 @@ public virtual System.DateTimeOffset? ExpireTimeDateTimeOffset public virtual string Medium { get; set; } /// - /// Input only. JSON Metadata encoded as a string. This field is primarily used by Insights integrations with - /// various telphony systems and must be in one of Insights' supported formats. + /// Input only. JSON metadata encoded as a string. This field is primarily used by Insights integrations with + /// various telphony systems and must be in one of Insight's supported formats. /// [Newtonsoft.Json.JsonPropertyAttribute("metadataJson")] public virtual string MetadataJson { get; set; } @@ -5063,14 +5063,14 @@ public class GoogleCloudContactcenterinsightsV1DialogflowSource : Google.Apis.Re /// /// A customer-managed encryption key specification that can be applied to all created resources (e.g. - /// Conversation). + /// `Conversation`). /// public class GoogleCloudContactcenterinsightsV1EncryptionSpec : Google.Apis.Requests.IDirectResponseSchema { /// /// Required. The name of customer-managed encryption key that is used to secure a resource and its - /// sub-resources. If empty, the resource is secured by the default Google encryption key. Only the key in the - /// same location as this resource is allowed to be used for encryption. Format: + /// sub-resources. If empty, the resource is secured by our default encryption key. Only the key in the same + /// location as this resource is allowed to be used for encryption. Format: /// `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}` /// [Newtonsoft.Json.JsonPropertyAttribute("kmsKey")] @@ -5952,7 +5952,7 @@ public virtual System.DateTimeOffset? EndTimeDateTimeOffset } /// - /// Partial errors during initialising operation that might cause the operation output to be incomplete. + /// Partial errors during initializing operation that might cause the operation output to be incomplete. /// [Newtonsoft.Json.JsonPropertyAttribute("partialErrors")] public virtual System.Collections.Generic.IList PartialErrors { get; set; } @@ -5971,7 +5971,7 @@ public class GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecRequest : /// /// Required. The encryption spec used for CMEK encryption. It is required that the kms key is in the same /// region as the endpoint. The same key will be used for all provisioned resources, if encryption is available. - /// If the kms_key_name is left empty, no encryption will be enforced. + /// If the `kms_key_name` field is left empty, no encryption will be enforced. /// [Newtonsoft.Json.JsonPropertyAttribute("encryptionSpec")] public virtual GoogleCloudContactcenterinsightsV1EncryptionSpec EncryptionSpec { get; set; } @@ -8229,8 +8229,8 @@ public virtual System.DateTimeOffset? ExpireTimeDateTimeOffset public virtual string Medium { get; set; } /// - /// Input only. JSON Metadata encoded as a string. This field is primarily used by Insights integrations with - /// various telphony systems and must be in one of Insights' supported formats. + /// Input only. JSON metadata encoded as a string. This field is primarily used by Insights integrations with + /// various telphony systems and must be in one of Insight's supported formats. /// [Newtonsoft.Json.JsonPropertyAttribute("metadataJson")] public virtual string MetadataJson { get; set; } @@ -9107,14 +9107,14 @@ public class GoogleCloudContactcenterinsightsV1alpha1DialogflowSource : Google.A /// /// A customer-managed encryption key specification that can be applied to all created resources (e.g. - /// Conversation). + /// `Conversation`). /// public class GoogleCloudContactcenterinsightsV1alpha1EncryptionSpec : Google.Apis.Requests.IDirectResponseSchema { /// /// Required. The name of customer-managed encryption key that is used to secure a resource and its - /// sub-resources. If empty, the resource is secured by the default Google encryption key. Only the key in the - /// same location as this resource is allowed to be used for encryption. Format: + /// sub-resources. If empty, the resource is secured by our default encryption key. Only the key in the same + /// location as this resource is allowed to be used for encryption. Format: /// `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}` /// [Newtonsoft.Json.JsonPropertyAttribute("kmsKey")] @@ -9985,7 +9985,7 @@ public virtual System.DateTimeOffset? EndTimeDateTimeOffset } /// - /// Partial errors during initialising operation that might cause the operation output to be incomplete. + /// Partial errors during initializing operation that might cause the operation output to be incomplete. /// [Newtonsoft.Json.JsonPropertyAttribute("partialErrors")] public virtual System.Collections.Generic.IList PartialErrors { get; set; } @@ -10004,7 +10004,7 @@ public class GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecReq /// /// Required. The encryption spec used for CMEK encryption. It is required that the kms key is in the same /// region as the endpoint. The same key will be used for all provisioned resources, if encryption is available. - /// If the kms_key_name is left empty, no encryption will be enforced. + /// If the `kms_key_name` field is left empty, no encryption will be enforced. /// [Newtonsoft.Json.JsonPropertyAttribute("encryptionSpec")] public virtual GoogleCloudContactcenterinsightsV1alpha1EncryptionSpec EncryptionSpec { get; set; } diff --git a/Src/Generated/Google.Apis.Contactcenterinsights.v1/Google.Apis.Contactcenterinsights.v1.csproj b/Src/Generated/Google.Apis.Contactcenterinsights.v1/Google.Apis.Contactcenterinsights.v1.csproj index 3054b3b8f1..6313ff1def 100644 --- a/Src/Generated/Google.Apis.Contactcenterinsights.v1/Google.Apis.Contactcenterinsights.v1.csproj +++ b/Src/Generated/Google.Apis.Contactcenterinsights.v1/Google.Apis.Contactcenterinsights.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Contactcenterinsights.v1 Client Library - 1.68.0.3555 + 1.68.0.3568 Google LLC Copyright 2024 Google LLC Google From c2db0a11154878bbf37058ec62192d83ad622817 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:12:16 -0700 Subject: [PATCH 29/78] feat: Generate Google.Apis.Container.v1 version 1.68.0.3553 --- DiscoveryJson/container.v1.json | 122 +++++++++++-- .../Google.Apis.Container.v1.cs | 166 ++++++++++++++++-- .../Google.Apis.Container.v1.csproj | 2 +- 3 files changed, 266 insertions(+), 24 deletions(-) diff --git a/DiscoveryJson/container.v1.json b/DiscoveryJson/container.v1.json index 53c698f1d3..18b4e96ce2 100644 --- a/DiscoveryJson/container.v1.json +++ b/DiscoveryJson/container.v1.json @@ -2540,7 +2540,7 @@ } } }, - "revision": "20240912", + "revision": "20240923", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -3166,6 +3166,10 @@ "$ref": "ConfidentialNodes", "description": "Configuration of Confidential Nodes. All the nodes in the cluster will be Confidential VM once enabled." }, + "controlPlaneEndpointsConfig": { + "$ref": "ControlPlaneEndpointsConfig", + "description": "Configuration for all cluster's control plane endpoints." + }, "costManagementConfig": { "$ref": "CostManagementConfig", "description": "Configuration for the fine-grained cost management feature." @@ -3309,7 +3313,8 @@ }, "masterAuthorizedNetworksConfig": { "$ref": "MasterAuthorizedNetworksConfig", - "description": "The configuration options for master authorized networks feature." + "deprecated": true, + "description": "The configuration options for master authorized networks feature. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.authorized_networks_config instead." }, "meshCertificates": { "$ref": "MeshCertificates", @@ -3585,6 +3590,10 @@ "$ref": "ContainerdConfig", "description": "The desired containerd config for the cluster." }, + "desiredControlPlaneEndpointsConfig": { + "$ref": "ControlPlaneEndpointsConfig", + "description": "Control plane endpoints configuration." + }, "desiredCostManagementConfig": { "$ref": "CostManagementConfig", "description": "The desired configuration for the fine-grained cost management feature." @@ -3607,6 +3616,10 @@ ], "type": "string" }, + "desiredDefaultEnablePrivateNodes": { + "description": "Override the default setting of whether future created nodes have private IP addresses only, namely NetworkConfig.default_enable_private_nodes", + "type": "boolean" + }, "desiredDefaultSnatStatus": { "$ref": "DefaultSnatStatus", "description": "The desired status of whether to disable default sNAT for this cluster." @@ -3628,7 +3641,8 @@ "type": "boolean" }, "desiredEnablePrivateEndpoint": { - "description": "Enable/Disable private endpoint for the cluster's master.", + "deprecated": true, + "description": "Enable/Disable private endpoint for the cluster's master. Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.enable_public_endpoint instead. Note that the value of enable_public_endpoint is reversed: if enable_private_endpoint is false, then enable_public_endpoint will be true.", "type": "boolean" }, "desiredFleet": { @@ -3694,7 +3708,8 @@ }, "desiredMasterAuthorizedNetworksConfig": { "$ref": "MasterAuthorizedNetworksConfig", - "description": "The desired configuration options for master authorized networks feature." + "deprecated": true, + "description": "The desired configuration options for master authorized networks feature. Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.authorized_networks_config instead." }, "desiredMasterVersion": { "description": "The Kubernetes version to change the master to. Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - \"latest\": picks the highest valid Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes version - \"-\": picks the default Kubernetes version", @@ -3758,7 +3773,8 @@ }, "desiredPrivateClusterConfig": { "$ref": "PrivateClusterConfig", - "description": "The desired private cluster configuration. master_global_access_config is the only field that can be changed via this field. See also ClusterUpdate.desired_enable_private_endpoint for modifying other fields within PrivateClusterConfig." + "deprecated": true, + "description": "The desired private cluster configuration. master_global_access_config is the only field that can be changed via this field. See also ClusterUpdate.desired_enable_private_endpoint for modifying other fields within PrivateClusterConfig. Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.global_access instead." }, "desiredPrivateIpv6GoogleAccess": { "description": "The desired state of IPv6 connectivity to Google Services.", @@ -3960,6 +3976,21 @@ }, "type": "object" }, + "ControlPlaneEndpointsConfig": { + "description": "Configuration for all of the cluster's control plane endpoints.", + "id": "ControlPlaneEndpointsConfig", + "properties": { + "dnsEndpointConfig": { + "$ref": "DNSEndpointConfig", + "description": "DNS endpoint configuration." + }, + "ipEndpointsConfig": { + "$ref": "IPEndpointsConfig", + "description": "IP endpoints configuration." + } + }, + "type": "object" + }, "CostManagementConfig": { "description": "Configuration for fine-grained cost management feature.", "id": "CostManagementConfig", @@ -4071,6 +4102,22 @@ }, "type": "object" }, + "DNSEndpointConfig": { + "description": "Describes the configuration of a DNS endpoint.", + "id": "DNSEndpointConfig", + "properties": { + "allowExternalTraffic": { + "description": "Controls whether user traffic is allowed over this endpoint. Note that GCP-managed services may still use the endpoint even if this is false.", + "type": "boolean" + }, + "endpoint": { + "description": "Output only. The cluster's DNS endpoint configuration. A DNS format address. This is accessible from the public internet. Ex: uid.us-central1.gke.goog. Always present, but the behavior may change according to the value of DNSEndpointConfig.allow_external_traffic.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "DailyMaintenanceWindow": { "description": "Time window specified for daily maintenance operations.", "id": "DailyMaintenanceWindow", @@ -4672,6 +4719,43 @@ }, "type": "object" }, + "IPEndpointsConfig": { + "description": "IP endpoints configuration.", + "id": "IPEndpointsConfig", + "properties": { + "authorizedNetworksConfig": { + "$ref": "MasterAuthorizedNetworksConfig", + "description": "Configuration of authorized networks. If enabled, restricts access to the control plane based on source IP. It is invalid to specify both Cluster.masterAuthorizedNetworksConfig and this field at the same time." + }, + "enablePublicEndpoint": { + "description": "Controls whether the control plane allows access through a public IP. It is invalid to specify both PrivateClusterConfig.enablePrivateEndpoint and this field at the same time.", + "type": "boolean" + }, + "enabled": { + "description": "Controls whether to allow direct IP access.", + "type": "boolean" + }, + "globalAccess": { + "description": "Controls whether the control plane's private endpoint is accessible from sources in other regions. It is invalid to specify both PrivateClusterMasterGlobalAccessConfig.enabled and this field at the same time.", + "type": "boolean" + }, + "privateEndpoint": { + "description": "Output only. The internal IP address of this cluster's control plane. Only populated if enabled.", + "readOnly": true, + "type": "string" + }, + "privateEndpointSubnetwork": { + "description": "Subnet to provision the master's private endpoint during cluster creation. Specified in projects/*/regions/*/subnetworks/* format. It is invalid to specify both PrivateClusterConfig.privateEndpointSubnetwork and this field at the same time.", + "type": "string" + }, + "publicEndpoint": { + "description": "Output only. The external IP address of this cluster's control plane. Only populated if enabled.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "IdentityServiceConfig": { "description": "IdentityServiceConfig is configuration for Identity Service which allows customers to use external identity providers with the K8S API", "id": "IdentityServiceConfig", @@ -5080,6 +5164,10 @@ "gcpPublicCidrsAccessEnabled": { "description": "Whether master is accessbile via Google Compute Engine Public IP addresses.", "type": "boolean" + }, + "privateEndpointEnforcementEnabled": { + "description": "Whether master authorized networks is enforced on private endpoint or not.", + "type": "boolean" } }, "type": "object" @@ -5215,6 +5303,10 @@ ], "type": "string" }, + "defaultEnablePrivateNodes": { + "description": "Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes", + "type": "boolean" + }, "defaultSnatStatus": { "$ref": "DefaultSnatStatus", "description": "Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic." @@ -5715,7 +5807,7 @@ "type": "boolean" }, "enablePrivateNodes": { - "description": "Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from cluster.privateClusterConfig.enablePrivateNodes", + "description": "Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes", "type": "boolean" }, "networkPerformanceConfig": { @@ -6306,16 +6398,19 @@ "id": "PrivateClusterConfig", "properties": { "enablePrivateEndpoint": { - "description": "Whether the master's internal IP address is used as the cluster endpoint.", + "deprecated": true, + "description": "Whether the master's internal IP address is used as the cluster endpoint. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_public_endpoint instead. Note that the value of enable_public_endpoint is reversed: if enable_private_endpoint is false, then enable_public_endpoint will be true.", "type": "boolean" }, "enablePrivateNodes": { - "description": "Whether nodes have internal IP addresses only. If enabled, all nodes are given only RFC 1918 private addresses and communicate with the master via private networking.", + "deprecated": true, + "description": "Whether nodes have internal IP addresses only. If enabled, all nodes are given only RFC 1918 private addresses and communicate with the master via private networking. Deprecated: Use NetworkConfig.default_enable_private_nodes instead.", "type": "boolean" }, "masterGlobalAccessConfig": { "$ref": "PrivateClusterMasterGlobalAccessConfig", - "description": "Controls master global access settings." + "deprecated": true, + "description": "Controls master global access settings. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_global_access instead." }, "masterIpv4CidrBlock": { "description": "The IP range in CIDR notation to use for the hosted master network. This range will be used for assigning internal IP addresses to the master or set of masters, as well as the ILB VIP. This range must not overlap with any other ranges in use within the cluster's network.", @@ -6327,16 +6422,19 @@ "type": "string" }, "privateEndpoint": { - "description": "Output only. The internal IP address of this cluster's master endpoint.", + "deprecated": true, + "description": "Output only. The internal IP address of this cluster's master endpoint. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint instead.", "readOnly": true, "type": "string" }, "privateEndpointSubnetwork": { - "description": "Subnet to provision the master's private endpoint during cluster creation. Specified in projects/*/regions/*/subnetworks/* format.", + "deprecated": true, + "description": "Subnet to provision the master's private endpoint during cluster creation. Specified in projects/*/regions/*/subnetworks/* format. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint_subnetwork instead.", "type": "string" }, "publicEndpoint": { - "description": "Output only. The external IP address of this cluster's master endpoint.", + "deprecated": true, + "description": "Output only. The external IP address of this cluster's master endpoint. Deprecated:Use ControlPlaneEndpointsConfig.IPEndpointsConfig.public_endpoint instead.", "readOnly": true, "type": "string" } 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 9254729baf..1957de4f02 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 @@ -6893,6 +6893,10 @@ public class Cluster : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("confidentialNodes")] public virtual ConfidentialNodes ConfidentialNodes { get; set; } + /// Configuration for all cluster's control plane endpoints. + [Newtonsoft.Json.JsonPropertyAttribute("controlPlaneEndpointsConfig")] + public virtual ControlPlaneEndpointsConfig ControlPlaneEndpointsConfig { get; set; } + /// Configuration for the fine-grained cost management feature. [Newtonsoft.Json.JsonPropertyAttribute("costManagementConfig")] public virtual CostManagementConfig CostManagementConfig { get; set; } @@ -7079,7 +7083,10 @@ public class Cluster : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("masterAuth")] public virtual MasterAuth MasterAuth { get; set; } - /// The configuration options for master authorized networks feature. + /// + /// The configuration options for master authorized networks feature. Deprecated: Use + /// ControlPlaneEndpointsConfig.IPEndpointsConfig.authorized_networks_config instead. + /// [Newtonsoft.Json.JsonPropertyAttribute("masterAuthorizedNetworksConfig")] public virtual MasterAuthorizedNetworksConfig MasterAuthorizedNetworksConfig { get; set; } @@ -7374,6 +7381,10 @@ public class ClusterUpdate : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("desiredContainerdConfig")] public virtual ContainerdConfig DesiredContainerdConfig { get; set; } + /// Control plane endpoints configuration. + [Newtonsoft.Json.JsonPropertyAttribute("desiredControlPlaneEndpointsConfig")] + public virtual ControlPlaneEndpointsConfig DesiredControlPlaneEndpointsConfig { get; set; } + /// The desired configuration for the fine-grained cost management feature. [Newtonsoft.Json.JsonPropertyAttribute("desiredCostManagementConfig")] public virtual CostManagementConfig DesiredCostManagementConfig { get; set; } @@ -7386,6 +7397,13 @@ public class ClusterUpdate : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("desiredDatapathProvider")] public virtual string DesiredDatapathProvider { get; set; } + /// + /// Override the default setting of whether future created nodes have private IP addresses only, namely + /// NetworkConfig.default_enable_private_nodes + /// + [Newtonsoft.Json.JsonPropertyAttribute("desiredDefaultEnablePrivateNodes")] + public virtual System.Nullable DesiredDefaultEnablePrivateNodes { get; set; } + /// The desired status of whether to disable default sNAT for this cluster. [Newtonsoft.Json.JsonPropertyAttribute("desiredDefaultSnatStatus")] public virtual DefaultSnatStatus DesiredDefaultSnatStatus { get; set; } @@ -7406,7 +7424,12 @@ public class ClusterUpdate : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("desiredEnableMultiNetworking")] public virtual System.Nullable DesiredEnableMultiNetworking { get; set; } - /// Enable/Disable private endpoint for the cluster's master. + /// + /// Enable/Disable private endpoint for the cluster's master. Deprecated: Use + /// desired_control_plane_endpoints_config.ip_endpoints_config.enable_public_endpoint instead. Note that the + /// value of enable_public_endpoint is reversed: if enable_private_endpoint is false, then + /// enable_public_endpoint will be true. + /// [Newtonsoft.Json.JsonPropertyAttribute("desiredEnablePrivateEndpoint")] public virtual System.Nullable DesiredEnablePrivateEndpoint { get; set; } @@ -7471,7 +7494,10 @@ public class ClusterUpdate : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("desiredLoggingService")] public virtual string DesiredLoggingService { get; set; } - /// The desired configuration options for master authorized networks feature. + /// + /// The desired configuration options for master authorized networks feature. Deprecated: Use + /// desired_control_plane_endpoints_config.ip_endpoints_config.authorized_networks_config instead. + /// [Newtonsoft.Json.JsonPropertyAttribute("desiredMasterAuthorizedNetworksConfig")] public virtual MasterAuthorizedNetworksConfig DesiredMasterAuthorizedNetworksConfig { get; set; } @@ -7572,7 +7598,8 @@ public class ClusterUpdate : Google.Apis.Requests.IDirectResponseSchema /// /// The desired private cluster configuration. master_global_access_config is the only field that can be changed /// via this field. See also ClusterUpdate.desired_enable_private_endpoint for modifying other fields within - /// PrivateClusterConfig. + /// PrivateClusterConfig. Deprecated: Use + /// desired_control_plane_endpoints_config.ip_endpoints_config.global_access instead. /// [Newtonsoft.Json.JsonPropertyAttribute("desiredPrivateClusterConfig")] public virtual PrivateClusterConfig DesiredPrivateClusterConfig { get; set; } @@ -7774,6 +7801,21 @@ public class ContainerdConfig : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// Configuration for all of the cluster's control plane endpoints. + public class ControlPlaneEndpointsConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// DNS endpoint configuration. + [Newtonsoft.Json.JsonPropertyAttribute("dnsEndpointConfig")] + public virtual DNSEndpointConfig DnsEndpointConfig { get; set; } + + /// IP endpoints configuration. + [Newtonsoft.Json.JsonPropertyAttribute("ipEndpointsConfig")] + public virtual IPEndpointsConfig IpEndpointsConfig { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Configuration for fine-grained cost management feature. public class CostManagementConfig : Google.Apis.Requests.IDirectResponseSchema { @@ -7885,6 +7927,28 @@ public class DNSConfig : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// Describes the configuration of a DNS endpoint. + public class DNSEndpointConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Controls whether user traffic is allowed over this endpoint. Note that GCP-managed services may still use + /// the endpoint even if this is false. + /// + [Newtonsoft.Json.JsonPropertyAttribute("allowExternalTraffic")] + public virtual System.Nullable AllowExternalTraffic { get; set; } + + /// + /// Output only. The cluster's DNS endpoint configuration. A DNS format address. This is accessible from the + /// public internet. Ex: uid.us-central1.gke.goog. Always present, but the behavior may change according to the + /// value of DNSEndpointConfig.allow_external_traffic. + /// + [Newtonsoft.Json.JsonPropertyAttribute("endpoint")] + public virtual string Endpoint { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Time window specified for daily maintenance operations. public class DailyMaintenanceWindow : Google.Apis.Requests.IDirectResponseSchema { @@ -8460,6 +8524,58 @@ public class IPAllocationPolicy : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// IP endpoints configuration. + public class IPEndpointsConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Configuration of authorized networks. If enabled, restricts access to the control plane based on source IP. + /// It is invalid to specify both Cluster.masterAuthorizedNetworksConfig and this field at the same time. + /// + [Newtonsoft.Json.JsonPropertyAttribute("authorizedNetworksConfig")] + public virtual MasterAuthorizedNetworksConfig AuthorizedNetworksConfig { get; set; } + + /// + /// Controls whether the control plane allows access through a public IP. It is invalid to specify both + /// PrivateClusterConfig.enablePrivateEndpoint and this field at the same time. + /// + [Newtonsoft.Json.JsonPropertyAttribute("enablePublicEndpoint")] + public virtual System.Nullable EnablePublicEndpoint { get; set; } + + /// Controls whether to allow direct IP access. + [Newtonsoft.Json.JsonPropertyAttribute("enabled")] + public virtual System.Nullable Enabled { get; set; } + + /// + /// Controls whether the control plane's private endpoint is accessible from sources in other regions. It is + /// invalid to specify both PrivateClusterMasterGlobalAccessConfig.enabled and this field at the same time. + /// + [Newtonsoft.Json.JsonPropertyAttribute("globalAccess")] + public virtual System.Nullable GlobalAccess { get; set; } + + /// + /// Output only. The internal IP address of this cluster's control plane. Only populated if enabled. + /// + [Newtonsoft.Json.JsonPropertyAttribute("privateEndpoint")] + public virtual string PrivateEndpoint { get; set; } + + /// + /// Subnet to provision the master's private endpoint during cluster creation. Specified in + /// projects/*/regions/*/subnetworks/* format. It is invalid to specify both + /// PrivateClusterConfig.privateEndpointSubnetwork and this field at the same time. + /// + [Newtonsoft.Json.JsonPropertyAttribute("privateEndpointSubnetwork")] + public virtual string PrivateEndpointSubnetwork { get; set; } + + /// + /// Output only. The external IP address of this cluster's control plane. Only populated if enabled. + /// + [Newtonsoft.Json.JsonPropertyAttribute("publicEndpoint")] + public virtual string PublicEndpoint { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// /// IdentityServiceConfig is configuration for Identity Service which allows customers to use external identity /// providers with the K8S API @@ -8851,6 +8967,10 @@ public class MasterAuthorizedNetworksConfig : Google.Apis.Requests.IDirectRespon [Newtonsoft.Json.JsonPropertyAttribute("gcpPublicCidrsAccessEnabled")] public virtual System.Nullable GcpPublicCidrsAccessEnabled { get; set; } + /// Whether master authorized networks is enforced on private endpoint or not. + [Newtonsoft.Json.JsonPropertyAttribute("privateEndpointEnforcementEnabled")] + public virtual System.Nullable PrivateEndpointEnforcementEnabled { get; set; } + /// The ETag of the item. public virtual string ETag { get; set; } } @@ -8945,6 +9065,14 @@ public class NetworkConfig : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("datapathProvider")] public virtual string DatapathProvider { get; set; } + /// + /// Controls whether by default nodes have private IP addresses only. It is invalid to specify both + /// PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use + /// ClusterUpdate.desired_default_enable_private_nodes + /// + [Newtonsoft.Json.JsonPropertyAttribute("defaultEnablePrivateNodes")] + public virtual System.Nullable DefaultEnablePrivateNodes { get; set; } + /// /// Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when /// default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied @@ -9507,7 +9635,7 @@ public class NodeNetworkConfig : Google.Apis.Requests.IDirectResponseSchema /// /// Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is - /// derived from cluster.privateClusterConfig.enablePrivateNodes + /// derived from Cluster.NetworkConfig.default_enable_private_nodes /// [Newtonsoft.Json.JsonPropertyAttribute("enablePrivateNodes")] public virtual System.Nullable EnablePrivateNodes { get; set; } @@ -10072,18 +10200,27 @@ public class PodCIDROverprovisionConfig : Google.Apis.Requests.IDirectResponseSc /// Configuration options for private clusters. public class PrivateClusterConfig : Google.Apis.Requests.IDirectResponseSchema { - /// Whether the master's internal IP address is used as the cluster endpoint. + /// + /// Whether the master's internal IP address is used as the cluster endpoint. Deprecated: Use + /// ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_public_endpoint instead. Note that the value of + /// enable_public_endpoint is reversed: if enable_private_endpoint is false, then enable_public_endpoint will be + /// true. + /// [Newtonsoft.Json.JsonPropertyAttribute("enablePrivateEndpoint")] public virtual System.Nullable EnablePrivateEndpoint { get; set; } /// /// Whether nodes have internal IP addresses only. If enabled, all nodes are given only RFC 1918 private - /// addresses and communicate with the master via private networking. + /// addresses and communicate with the master via private networking. Deprecated: Use + /// NetworkConfig.default_enable_private_nodes instead. /// [Newtonsoft.Json.JsonPropertyAttribute("enablePrivateNodes")] public virtual System.Nullable EnablePrivateNodes { get; set; } - /// Controls master global access settings. + /// + /// Controls master global access settings. Deprecated: Use + /// ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_global_access instead. + /// [Newtonsoft.Json.JsonPropertyAttribute("masterGlobalAccessConfig")] public virtual PrivateClusterMasterGlobalAccessConfig MasterGlobalAccessConfig { get; set; } @@ -10099,18 +10236,25 @@ public class PrivateClusterConfig : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("peeringName")] public virtual string PeeringName { get; set; } - /// Output only. The internal IP address of this cluster's master endpoint. + /// + /// Output only. The internal IP address of this cluster's master endpoint. Deprecated: Use + /// ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint instead. + /// [Newtonsoft.Json.JsonPropertyAttribute("privateEndpoint")] public virtual string PrivateEndpoint { get; set; } /// /// Subnet to provision the master's private endpoint during cluster creation. Specified in - /// projects/*/regions/*/subnetworks/* format. + /// projects/*/regions/*/subnetworks/* format. Deprecated: Use + /// ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint_subnetwork instead. /// [Newtonsoft.Json.JsonPropertyAttribute("privateEndpointSubnetwork")] public virtual string PrivateEndpointSubnetwork { get; set; } - /// Output only. The external IP address of this cluster's master endpoint. + /// + /// Output only. The external IP address of this cluster's master endpoint. Deprecated:Use + /// ControlPlaneEndpointsConfig.IPEndpointsConfig.public_endpoint instead. + /// [Newtonsoft.Json.JsonPropertyAttribute("publicEndpoint")] public virtual string PublicEndpoint { get; set; } 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 b31074e8e6..2f17e435ac 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.68.0.3542 + 1.68.0.3553 Google LLC Copyright 2024 Google LLC Google From 9ec72f5a7eec270c4143f73e3eec51777e5f4f46 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:12:19 -0700 Subject: [PATCH 30/78] feat: Generate Google.Apis.Container.v1beta1 version 1.68.0.3553 --- DiscoveryJson/container.v1beta1.json | 122 +++++++++++-- .../Google.Apis.Container.v1beta1.cs | 166 ++++++++++++++++-- .../Google.Apis.Container.v1beta1.csproj | 2 +- 3 files changed, 266 insertions(+), 24 deletions(-) diff --git a/DiscoveryJson/container.v1beta1.json b/DiscoveryJson/container.v1beta1.json index a23736d589..f6feade118 100644 --- a/DiscoveryJson/container.v1beta1.json +++ b/DiscoveryJson/container.v1beta1.json @@ -2565,7 +2565,7 @@ } } }, - "revision": "20240912", + "revision": "20240923", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -3275,6 +3275,10 @@ "$ref": "ConfidentialNodes", "description": "Configuration of Confidential Nodes. All the nodes in the cluster will be Confidential VM once enabled." }, + "controlPlaneEndpointsConfig": { + "$ref": "ControlPlaneEndpointsConfig", + "description": "Configuration for all cluster's control plane endpoints." + }, "costManagementConfig": { "$ref": "CostManagementConfig", "description": "Configuration for the fine-grained cost management feature." @@ -3422,7 +3426,8 @@ }, "masterAuthorizedNetworksConfig": { "$ref": "MasterAuthorizedNetworksConfig", - "description": "The configuration options for master authorized networks feature." + "deprecated": true, + "description": "The configuration options for master authorized networks feature. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.authorized_networks_config instead." }, "masterIpv4CidrBlock": { "deprecated": true, @@ -3756,6 +3761,10 @@ "$ref": "ContainerdConfig", "description": "The desired containerd config for the cluster." }, + "desiredControlPlaneEndpointsConfig": { + "$ref": "ControlPlaneEndpointsConfig", + "description": "Control plane endpoints configuration." + }, "desiredCostManagementConfig": { "$ref": "CostManagementConfig", "description": "The desired configuration for the fine-grained cost management feature." @@ -3778,6 +3787,10 @@ ], "type": "string" }, + "desiredDefaultEnablePrivateNodes": { + "description": "Override the default setting of whether future created nodes have private IP addresses only, namely NetworkConfig.default_enable_private_nodes", + "type": "boolean" + }, "desiredDefaultSnatStatus": { "$ref": "DefaultSnatStatus", "description": "The desired status of whether to disable default sNAT for this cluster." @@ -3799,7 +3812,8 @@ "type": "boolean" }, "desiredEnablePrivateEndpoint": { - "description": "Enable/Disable private endpoint for the cluster's master.", + "deprecated": true, + "description": "Enable/Disable private endpoint for the cluster's master. Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.enable_public_endpoint instead. Note that the value of enable_public_endpoint is reversed: if enable_private_endpoint is false, then enable_public_endpoint will be true.", "type": "boolean" }, "desiredFleet": { @@ -3873,7 +3887,8 @@ }, "desiredMasterAuthorizedNetworksConfig": { "$ref": "MasterAuthorizedNetworksConfig", - "description": "The desired configuration options for master authorized networks feature." + "deprecated": true, + "description": "The desired configuration options for master authorized networks feature. Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.authorized_networks_config instead." }, "desiredMasterVersion": { "description": "The Kubernetes version to change the master to. The only valid value is the latest supported version. Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - \"latest\": picks the highest valid Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes version - \"-\": picks the default Kubernetes version", @@ -3941,7 +3956,8 @@ }, "desiredPrivateClusterConfig": { "$ref": "PrivateClusterConfig", - "description": "The desired private cluster configuration. master_global_access_config is the only field that can be changed via this field. See also ClusterUpdate.desired_enable_private_endpoint for modifying other fields within PrivateClusterConfig." + "deprecated": true, + "description": "The desired private cluster configuration. master_global_access_config is the only field that can be changed via this field. See also ClusterUpdate.desired_enable_private_endpoint for modifying other fields within PrivateClusterConfig. Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.global_access instead." }, "desiredPrivateIpv6GoogleAccess": { "description": "The desired state of IPv6 connectivity to Google Services.", @@ -4165,6 +4181,21 @@ }, "type": "object" }, + "ControlPlaneEndpointsConfig": { + "description": "Configuration for all of the cluster's control plane endpoints.", + "id": "ControlPlaneEndpointsConfig", + "properties": { + "dnsEndpointConfig": { + "$ref": "DNSEndpointConfig", + "description": "DNS endpoint configuration." + }, + "ipEndpointsConfig": { + "$ref": "IPEndpointsConfig", + "description": "IP endpoints configuration." + } + }, + "type": "object" + }, "CostManagementConfig": { "description": "Configuration for fine-grained cost management feature.", "id": "CostManagementConfig", @@ -4276,6 +4307,22 @@ }, "type": "object" }, + "DNSEndpointConfig": { + "description": "Describes the configuration of a DNS endpoint.", + "id": "DNSEndpointConfig", + "properties": { + "allowExternalTraffic": { + "description": "Controls whether user traffic is allowed over this endpoint. Note that GCP-managed services may still use the endpoint even if this is false.", + "type": "boolean" + }, + "endpoint": { + "description": "Output only. The cluster's DNS endpoint configuration. A DNS format address. This is accessible from the public internet. Ex: uid.us-central1.gke.goog. Always present, but the behavior may change according to the value of DNSEndpointConfig.allow_external_traffic.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "DailyMaintenanceWindow": { "description": "Time window specified for daily maintenance operations.", "id": "DailyMaintenanceWindow", @@ -4940,6 +4987,43 @@ }, "type": "object" }, + "IPEndpointsConfig": { + "description": "IP endpoints configuration.", + "id": "IPEndpointsConfig", + "properties": { + "authorizedNetworksConfig": { + "$ref": "MasterAuthorizedNetworksConfig", + "description": "Configuration of authorized networks. If enabled, restricts access to the control plane based on source IP. It is invalid to specify both Cluster.masterAuthorizedNetworksConfig and this field at the same time." + }, + "enablePublicEndpoint": { + "description": "Controls whether the control plane allows access through a public IP. It is invalid to specify both PrivateClusterConfig.enablePrivateEndpoint and this field at the same time.", + "type": "boolean" + }, + "enabled": { + "description": "Controls whether to allow direct IP access.", + "type": "boolean" + }, + "globalAccess": { + "description": "Controls whether the control plane's private endpoint is accessible from sources in other regions. It is invalid to specify both PrivateClusterMasterGlobalAccessConfig.enabled and this field at the same time.", + "type": "boolean" + }, + "privateEndpoint": { + "description": "Output only. The internal IP address of this cluster's control plane. Only populated if enabled.", + "readOnly": true, + "type": "string" + }, + "privateEndpointSubnetwork": { + "description": "Subnet to provision the master's private endpoint during cluster creation. Specified in projects/*/regions/*/subnetworks/* format. It is invalid to specify both PrivateClusterConfig.privateEndpointSubnetwork and this field at the same time.", + "type": "string" + }, + "publicEndpoint": { + "description": "Output only. The external IP address of this cluster's control plane. Only populated if enabled.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "IdentityServiceConfig": { "description": "IdentityServiceConfig is configuration for Identity Service which allows customers to use external identity providers with the K8S API", "id": "IdentityServiceConfig", @@ -5438,6 +5522,10 @@ "gcpPublicCidrsAccessEnabled": { "description": "Whether master is accessbile via Google Compute Engine Public IP addresses.", "type": "boolean" + }, + "privateEndpointEnforcementEnabled": { + "description": "Whether master authorized networks is enforced on private endpoint or not.", + "type": "boolean" } }, "type": "object" @@ -5592,6 +5680,10 @@ ], "type": "string" }, + "defaultEnablePrivateNodes": { + "description": "Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes", + "type": "boolean" + }, "defaultSnatStatus": { "$ref": "DefaultSnatStatus", "description": "Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic." @@ -6116,7 +6208,7 @@ "type": "boolean" }, "enablePrivateNodes": { - "description": "Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from cluster.privateClusterConfig.enablePrivateNodes", + "description": "Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes", "type": "boolean" }, "networkPerformanceConfig": { @@ -6751,16 +6843,19 @@ "id": "PrivateClusterConfig", "properties": { "enablePrivateEndpoint": { - "description": "Whether the master's internal IP address is used as the cluster endpoint.", + "deprecated": true, + "description": "Whether the master's internal IP address is used as the cluster endpoint. Use ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_public_endpoint instead. Note that the value of enable_public_endpoint is reversed: if enable_private_endpoint is false, then enable_public_endpoint will be true.", "type": "boolean" }, "enablePrivateNodes": { - "description": "Whether nodes have internal IP addresses only. If enabled, all nodes are given only RFC 1918 private addresses and communicate with the master via private networking.", + "deprecated": true, + "description": "Whether nodes have internal IP addresses only. If enabled, all nodes are given only RFC 1918 private addresses and communicate with the master via private networking. Deprecated: Use NetworkConfig.default_enable_private_nodes instead.", "type": "boolean" }, "masterGlobalAccessConfig": { "$ref": "PrivateClusterMasterGlobalAccessConfig", - "description": "Controls master global access settings." + "deprecated": true, + "description": "Controls master global access settings. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_global_access instead." }, "masterIpv4CidrBlock": { "description": "The IP range in CIDR notation to use for the hosted master network. This range will be used for assigning internal IP addresses to the master or set of masters, as well as the ILB VIP. This range must not overlap with any other ranges in use within the cluster's network.", @@ -6772,16 +6867,19 @@ "type": "string" }, "privateEndpoint": { - "description": "Output only. The internal IP address of this cluster's master endpoint.", + "deprecated": true, + "description": "Output only. The internal IP address of this cluster's master endpoint. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint instead.", "readOnly": true, "type": "string" }, "privateEndpointSubnetwork": { - "description": "Subnet to provision the master's private endpoint during cluster creation. Specified in projects/*/regions/*/subnetworks/* format.", + "deprecated": true, + "description": "Subnet to provision the master's private endpoint during cluster creation. Specified in projects/*/regions/*/subnetworks/* format. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint_subnetwork instead.", "type": "string" }, "publicEndpoint": { - "description": "Output only. The external IP address of this cluster's master endpoint.", + "deprecated": true, + "description": "Output only. The external IP address of this cluster's master endpoint. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.public_endpoint instead.", "readOnly": true, "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 77d9b5729e..03cf70f166 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 @@ -7022,6 +7022,10 @@ public class Cluster : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("confidentialNodes")] public virtual ConfidentialNodes ConfidentialNodes { get; set; } + /// Configuration for all cluster's control plane endpoints. + [Newtonsoft.Json.JsonPropertyAttribute("controlPlaneEndpointsConfig")] + public virtual ControlPlaneEndpointsConfig ControlPlaneEndpointsConfig { get; set; } + /// Configuration for the fine-grained cost management feature. [Newtonsoft.Json.JsonPropertyAttribute("costManagementConfig")] public virtual CostManagementConfig CostManagementConfig { get; set; } @@ -7215,7 +7219,10 @@ public class Cluster : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("masterAuth")] public virtual MasterAuth MasterAuth { get; set; } - /// The configuration options for master authorized networks feature. + /// + /// The configuration options for master authorized networks feature. Deprecated: Use + /// ControlPlaneEndpointsConfig.IPEndpointsConfig.authorized_networks_config instead. + /// [Newtonsoft.Json.JsonPropertyAttribute("masterAuthorizedNetworksConfig")] public virtual MasterAuthorizedNetworksConfig MasterAuthorizedNetworksConfig { get; set; } @@ -7563,6 +7570,10 @@ public class ClusterUpdate : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("desiredContainerdConfig")] public virtual ContainerdConfig DesiredContainerdConfig { get; set; } + /// Control plane endpoints configuration. + [Newtonsoft.Json.JsonPropertyAttribute("desiredControlPlaneEndpointsConfig")] + public virtual ControlPlaneEndpointsConfig DesiredControlPlaneEndpointsConfig { get; set; } + /// The desired configuration for the fine-grained cost management feature. [Newtonsoft.Json.JsonPropertyAttribute("desiredCostManagementConfig")] public virtual CostManagementConfig DesiredCostManagementConfig { get; set; } @@ -7575,6 +7586,13 @@ public class ClusterUpdate : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("desiredDatapathProvider")] public virtual string DesiredDatapathProvider { get; set; } + /// + /// Override the default setting of whether future created nodes have private IP addresses only, namely + /// NetworkConfig.default_enable_private_nodes + /// + [Newtonsoft.Json.JsonPropertyAttribute("desiredDefaultEnablePrivateNodes")] + public virtual System.Nullable DesiredDefaultEnablePrivateNodes { get; set; } + /// The desired status of whether to disable default sNAT for this cluster. [Newtonsoft.Json.JsonPropertyAttribute("desiredDefaultSnatStatus")] public virtual DefaultSnatStatus DesiredDefaultSnatStatus { get; set; } @@ -7595,7 +7613,12 @@ public class ClusterUpdate : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("desiredEnableMultiNetworking")] public virtual System.Nullable DesiredEnableMultiNetworking { get; set; } - /// Enable/Disable private endpoint for the cluster's master. + /// + /// Enable/Disable private endpoint for the cluster's master. Deprecated: Use + /// desired_control_plane_endpoints_config.ip_endpoints_config.enable_public_endpoint instead. Note that the + /// value of enable_public_endpoint is reversed: if enable_private_endpoint is false, then + /// enable_public_endpoint will be true. + /// [Newtonsoft.Json.JsonPropertyAttribute("desiredEnablePrivateEndpoint")] public virtual System.Nullable DesiredEnablePrivateEndpoint { get; set; } @@ -7672,7 +7695,10 @@ public class ClusterUpdate : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("desiredMaster")] public virtual Master DesiredMaster { get; set; } - /// The desired configuration options for master authorized networks feature. + /// + /// The desired configuration options for master authorized networks feature. Deprecated: Use + /// desired_control_plane_endpoints_config.ip_endpoints_config.authorized_networks_config instead. + /// [Newtonsoft.Json.JsonPropertyAttribute("desiredMasterAuthorizedNetworksConfig")] public virtual MasterAuthorizedNetworksConfig DesiredMasterAuthorizedNetworksConfig { get; set; } @@ -7778,7 +7804,8 @@ public class ClusterUpdate : Google.Apis.Requests.IDirectResponseSchema /// /// The desired private cluster configuration. master_global_access_config is the only field that can be changed /// via this field. See also ClusterUpdate.desired_enable_private_endpoint for modifying other fields within - /// PrivateClusterConfig. + /// PrivateClusterConfig. Deprecated: Use + /// desired_control_plane_endpoints_config.ip_endpoints_config.global_access instead. /// [Newtonsoft.Json.JsonPropertyAttribute("desiredPrivateClusterConfig")] public virtual PrivateClusterConfig DesiredPrivateClusterConfig { get; set; } @@ -8005,6 +8032,21 @@ public class ContainerdConfig : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// Configuration for all of the cluster's control plane endpoints. + public class ControlPlaneEndpointsConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// DNS endpoint configuration. + [Newtonsoft.Json.JsonPropertyAttribute("dnsEndpointConfig")] + public virtual DNSEndpointConfig DnsEndpointConfig { get; set; } + + /// IP endpoints configuration. + [Newtonsoft.Json.JsonPropertyAttribute("ipEndpointsConfig")] + public virtual IPEndpointsConfig IpEndpointsConfig { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Configuration for fine-grained cost management feature. public class CostManagementConfig : Google.Apis.Requests.IDirectResponseSchema { @@ -8117,6 +8159,28 @@ public class DNSConfig : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// Describes the configuration of a DNS endpoint. + public class DNSEndpointConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Controls whether user traffic is allowed over this endpoint. Note that GCP-managed services may still use + /// the endpoint even if this is false. + /// + [Newtonsoft.Json.JsonPropertyAttribute("allowExternalTraffic")] + public virtual System.Nullable AllowExternalTraffic { get; set; } + + /// + /// Output only. The cluster's DNS endpoint configuration. A DNS format address. This is accessible from the + /// public internet. Ex: uid.us-central1.gke.goog. Always present, but the behavior may change according to the + /// value of DNSEndpointConfig.allow_external_traffic. + /// + [Newtonsoft.Json.JsonPropertyAttribute("endpoint")] + public virtual string Endpoint { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Time window specified for daily maintenance operations. public class DailyMaintenanceWindow : Google.Apis.Requests.IDirectResponseSchema { @@ -8771,6 +8835,58 @@ public class IPAllocationPolicy : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// IP endpoints configuration. + public class IPEndpointsConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Configuration of authorized networks. If enabled, restricts access to the control plane based on source IP. + /// It is invalid to specify both Cluster.masterAuthorizedNetworksConfig and this field at the same time. + /// + [Newtonsoft.Json.JsonPropertyAttribute("authorizedNetworksConfig")] + public virtual MasterAuthorizedNetworksConfig AuthorizedNetworksConfig { get; set; } + + /// + /// Controls whether the control plane allows access through a public IP. It is invalid to specify both + /// PrivateClusterConfig.enablePrivateEndpoint and this field at the same time. + /// + [Newtonsoft.Json.JsonPropertyAttribute("enablePublicEndpoint")] + public virtual System.Nullable EnablePublicEndpoint { get; set; } + + /// Controls whether to allow direct IP access. + [Newtonsoft.Json.JsonPropertyAttribute("enabled")] + public virtual System.Nullable Enabled { get; set; } + + /// + /// Controls whether the control plane's private endpoint is accessible from sources in other regions. It is + /// invalid to specify both PrivateClusterMasterGlobalAccessConfig.enabled and this field at the same time. + /// + [Newtonsoft.Json.JsonPropertyAttribute("globalAccess")] + public virtual System.Nullable GlobalAccess { get; set; } + + /// + /// Output only. The internal IP address of this cluster's control plane. Only populated if enabled. + /// + [Newtonsoft.Json.JsonPropertyAttribute("privateEndpoint")] + public virtual string PrivateEndpoint { get; set; } + + /// + /// Subnet to provision the master's private endpoint during cluster creation. Specified in + /// projects/*/regions/*/subnetworks/* format. It is invalid to specify both + /// PrivateClusterConfig.privateEndpointSubnetwork and this field at the same time. + /// + [Newtonsoft.Json.JsonPropertyAttribute("privateEndpointSubnetwork")] + public virtual string PrivateEndpointSubnetwork { get; set; } + + /// + /// Output only. The external IP address of this cluster's control plane. Only populated if enabled. + /// + [Newtonsoft.Json.JsonPropertyAttribute("publicEndpoint")] + public virtual string PublicEndpoint { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// /// IdentityServiceConfig is configuration for Identity Service which allows customers to use external identity /// providers with the K8S API @@ -9237,6 +9353,10 @@ public class MasterAuthorizedNetworksConfig : Google.Apis.Requests.IDirectRespon [Newtonsoft.Json.JsonPropertyAttribute("gcpPublicCidrsAccessEnabled")] public virtual System.Nullable GcpPublicCidrsAccessEnabled { get; set; } + /// Whether master authorized networks is enforced on private endpoint or not. + [Newtonsoft.Json.JsonPropertyAttribute("privateEndpointEnforcementEnabled")] + public virtual System.Nullable PrivateEndpointEnforcementEnabled { get; set; } + /// The ETag of the item. public virtual string ETag { get; set; } } @@ -9331,6 +9451,14 @@ public class NetworkConfig : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("datapathProvider")] public virtual string DatapathProvider { get; set; } + /// + /// Controls whether by default nodes have private IP addresses only. It is invalid to specify both + /// PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use + /// ClusterUpdate.desired_default_enable_private_nodes + /// + [Newtonsoft.Json.JsonPropertyAttribute("defaultEnablePrivateNodes")] + public virtual System.Nullable DefaultEnablePrivateNodes { get; set; } + /// /// Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when /// default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied @@ -9910,7 +10038,7 @@ public class NodeNetworkConfig : Google.Apis.Requests.IDirectResponseSchema /// /// Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is - /// derived from cluster.privateClusterConfig.enablePrivateNodes + /// derived from Cluster.NetworkConfig.default_enable_private_nodes /// [Newtonsoft.Json.JsonPropertyAttribute("enablePrivateNodes")] public virtual System.Nullable EnablePrivateNodes { get; set; } @@ -10533,18 +10661,27 @@ public class PolicyBinding : Google.Apis.Requests.IDirectResponseSchema /// Configuration options for private clusters. public class PrivateClusterConfig : Google.Apis.Requests.IDirectResponseSchema { - /// Whether the master's internal IP address is used as the cluster endpoint. + /// + /// Whether the master's internal IP address is used as the cluster endpoint. Use + /// ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_public_endpoint instead. Note that the value of + /// enable_public_endpoint is reversed: if enable_private_endpoint is false, then enable_public_endpoint will be + /// true. + /// [Newtonsoft.Json.JsonPropertyAttribute("enablePrivateEndpoint")] public virtual System.Nullable EnablePrivateEndpoint { get; set; } /// /// Whether nodes have internal IP addresses only. If enabled, all nodes are given only RFC 1918 private - /// addresses and communicate with the master via private networking. + /// addresses and communicate with the master via private networking. Deprecated: Use + /// NetworkConfig.default_enable_private_nodes instead. /// [Newtonsoft.Json.JsonPropertyAttribute("enablePrivateNodes")] public virtual System.Nullable EnablePrivateNodes { get; set; } - /// Controls master global access settings. + /// + /// Controls master global access settings. Deprecated: Use + /// ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_global_access instead. + /// [Newtonsoft.Json.JsonPropertyAttribute("masterGlobalAccessConfig")] public virtual PrivateClusterMasterGlobalAccessConfig MasterGlobalAccessConfig { get; set; } @@ -10560,18 +10697,25 @@ public class PrivateClusterConfig : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("peeringName")] public virtual string PeeringName { get; set; } - /// Output only. The internal IP address of this cluster's master endpoint. + /// + /// Output only. The internal IP address of this cluster's master endpoint. Deprecated: Use + /// ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint instead. + /// [Newtonsoft.Json.JsonPropertyAttribute("privateEndpoint")] public virtual string PrivateEndpoint { get; set; } /// /// Subnet to provision the master's private endpoint during cluster creation. Specified in - /// projects/*/regions/*/subnetworks/* format. + /// projects/*/regions/*/subnetworks/* format. Deprecated: Use + /// ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint_subnetwork instead. /// [Newtonsoft.Json.JsonPropertyAttribute("privateEndpointSubnetwork")] public virtual string PrivateEndpointSubnetwork { get; set; } - /// Output only. The external IP address of this cluster's master endpoint. + /// + /// Output only. The external IP address of this cluster's master endpoint. Deprecated: Use + /// ControlPlaneEndpointsConfig.IPEndpointsConfig.public_endpoint instead. + /// [Newtonsoft.Json.JsonPropertyAttribute("publicEndpoint")] public virtual string PublicEndpoint { 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 d1ef638624..af30cff8c0 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.68.0.3542 + 1.68.0.3553 Google LLC Copyright 2024 Google LLC Google From 784bed3a073bd63e756ed288de5fb4276bf96a9a Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:12:22 -0700 Subject: [PATCH 31/78] feat: Generate Google.Apis.DatabaseMigrationService.v1 version 1.68.0.3566 --- DiscoveryJson/datamigration.v1.json | 5 ++--- .../Google.Apis.DatabaseMigrationService.v1.cs | 2 +- .../Google.Apis.DatabaseMigrationService.v1.csproj | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/DiscoveryJson/datamigration.v1.json b/DiscoveryJson/datamigration.v1.json index 5a05010a0e..a9326c4313 100644 --- a/DiscoveryJson/datamigration.v1.json +++ b/DiscoveryJson/datamigration.v1.json @@ -2218,7 +2218,7 @@ } } }, - "revision": "20240930", + "revision": "20241006", "rootUrl": "https://datamigration.googleapis.com/", "schemas": { "AlloyDbConnectionProfile": { @@ -6072,7 +6072,7 @@ "type": "string" }, "type": { - "description": "Output only. The ssl config type according to 'client_key', 'client_certificate' and 'ca_certificate'.", + "description": "Optional. The ssl config type according to 'client_key', 'client_certificate' and 'ca_certificate'.", "enum": [ "SSL_TYPE_UNSPECIFIED", "SERVER_ONLY", @@ -6083,7 +6083,6 @@ "Only 'ca_certificate' specified.", "Both server ('ca_certificate'), and client ('client_key', 'client_certificate') specified." ], - "readOnly": true, "type": "string" } }, 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 2b5be406f8..dcd1023512 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 @@ -9118,7 +9118,7 @@ public class SslConfig : Google.Apis.Requests.IDirectResponseSchema public virtual string ClientKey { get; set; } /// - /// Output only. The ssl config type according to 'client_key', 'client_certificate' and 'ca_certificate'. + /// Optional. The ssl config type according to 'client_key', 'client_certificate' and 'ca_certificate'. /// [Newtonsoft.Json.JsonPropertyAttribute("type")] public virtual string Type { 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 dbc1eddb51..fa8f0868f1 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.68.0.3560 + 1.68.0.3566 Google LLC Copyright 2024 Google LLC Google From f9b5886d0619009b95e3f7acfad38df5e9386f6f Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:12:25 -0700 Subject: [PATCH 32/78] feat: Generate Google.Apis.Datastream.v1 version 1.68.0.3560 --- DiscoveryJson/datastream.v1.json | 18 ++++++------ .../Google.Apis.Datastream.v1.cs | 28 +++++++++++++------ .../Google.Apis.Datastream.v1.csproj | 2 +- 3 files changed, 30 insertions(+), 18 deletions(-) diff --git a/DiscoveryJson/datastream.v1.json b/DiscoveryJson/datastream.v1.json index 264fde6638..da4c8ba625 100644 --- a/DiscoveryJson/datastream.v1.json +++ b/DiscoveryJson/datastream.v1.json @@ -1250,7 +1250,7 @@ } } }, - "revision": "20240904", + "revision": "20240930", "rootUrl": "https://datastream.googleapis.com/", "schemas": { "AppendOnly": { @@ -2067,7 +2067,7 @@ "type": "object" }, "MysqlProfile": { - "description": "MySQL database profile.", + "description": "MySQL database profile. Next ID: 7.", "id": "MysqlProfile", "properties": { "hostname": { @@ -2075,7 +2075,7 @@ "type": "string" }, "password": { - "description": "Required. Input only. Password for the MySQL connection.", + "description": "Optional. Input only. Password for the MySQL connection. Mutually exclusive with the `secret_manager_stored_password` field.", "type": "string" }, "port": { @@ -2338,7 +2338,7 @@ "type": "object" }, "OracleProfile": { - "description": "Oracle database profile.", + "description": "Oracle database profile. Next ID: 10.", "id": "OracleProfile", "properties": { "connectionAttributes": { @@ -2361,7 +2361,7 @@ "description": "Optional. SSL configuration for the Oracle connection." }, "password": { - "description": "Required. Password for the Oracle connection.", + "description": "Optional. Password for the Oracle connection. Mutually exclusive with the `secret_manager_stored_password` field.", "type": "string" }, "port": { @@ -2546,7 +2546,7 @@ "type": "object" }, "PostgresqlProfile": { - "description": "PostgreSQL database profile.", + "description": "PostgreSQL database profile. Next ID: 7.", "id": "PostgresqlProfile", "properties": { "database": { @@ -2558,7 +2558,7 @@ "type": "string" }, "password": { - "description": "Required. Password for the PostgreSQL connection.", + "description": "Optional. Password for the PostgreSQL connection. Mutually exclusive with the `secret_manager_stored_password` field.", "type": "string" }, "port": { @@ -2938,7 +2938,7 @@ "type": "object" }, "SqlServerProfile": { - "description": "SQLServer database profile", + "description": "SQLServer database profile. Next ID: 8.", "id": "SqlServerProfile", "properties": { "database": { @@ -2950,7 +2950,7 @@ "type": "string" }, "password": { - "description": "Required. Password for the SQLServer connection.", + "description": "Optional. Password for the SQLServer connection. Mutually exclusive with the `secret_manager_stored_password` field.", "type": "string" }, "port": { 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 935d437866..724ab98bee 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 @@ -3744,14 +3744,17 @@ public class MysqlObjectIdentifier : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } - /// MySQL database profile. + /// MySQL database profile. Next ID: 7. public class MysqlProfile : Google.Apis.Requests.IDirectResponseSchema { /// Required. Hostname for the MySQL connection. [Newtonsoft.Json.JsonPropertyAttribute("hostname")] public virtual string Hostname { get; set; } - /// Required. Input only. Password for the MySQL connection. + /// + /// Optional. Input only. Password for the MySQL connection. Mutually exclusive with the + /// `secret_manager_stored_password` field. + /// [Newtonsoft.Json.JsonPropertyAttribute("password")] public virtual string Password { get; set; } @@ -4085,7 +4088,7 @@ public class OracleObjectIdentifier : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } - /// Oracle database profile. + /// Oracle database profile. Next ID: 10. public class OracleProfile : Google.Apis.Requests.IDirectResponseSchema { /// Connection string attributes @@ -4104,7 +4107,10 @@ public class OracleProfile : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("oracleSslConfig")] public virtual OracleSslConfig OracleSslConfig { get; set; } - /// Required. Password for the Oracle connection. + /// + /// Optional. Password for the Oracle connection. Mutually exclusive with the `secret_manager_stored_password` + /// field. + /// [Newtonsoft.Json.JsonPropertyAttribute("password")] public virtual string Password { get; set; } @@ -4285,7 +4291,7 @@ public class PostgresqlObjectIdentifier : Google.Apis.Requests.IDirectResponseSc public virtual string ETag { get; set; } } - /// PostgreSQL database profile. + /// PostgreSQL database profile. Next ID: 7. public class PostgresqlProfile : Google.Apis.Requests.IDirectResponseSchema { /// Required. Database for the PostgreSQL connection. @@ -4296,7 +4302,10 @@ public class PostgresqlProfile : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("hostname")] public virtual string Hostname { get; set; } - /// Required. Password for the PostgreSQL connection. + /// + /// Optional. Password for the PostgreSQL connection. Mutually exclusive with the + /// `secret_manager_stored_password` field. + /// [Newtonsoft.Json.JsonPropertyAttribute("password")] public virtual string Password { get; set; } @@ -4790,7 +4799,7 @@ public class SqlServerObjectIdentifier : Google.Apis.Requests.IDirectResponseSch public virtual string ETag { get; set; } } - /// SQLServer database profile + /// SQLServer database profile. Next ID: 8. public class SqlServerProfile : Google.Apis.Requests.IDirectResponseSchema { /// Required. Database for the SQLServer connection. @@ -4801,7 +4810,10 @@ public class SqlServerProfile : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("hostname")] public virtual string Hostname { get; set; } - /// Required. Password for the SQLServer connection. + /// + /// Optional. Password for the SQLServer connection. Mutually exclusive with the + /// `secret_manager_stored_password` field. + /// [Newtonsoft.Json.JsonPropertyAttribute("password")] public virtual string Password { get; set; } 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 ba91c6e7d1..a725852cfa 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.68.0.3534 + 1.68.0.3560 Google LLC Copyright 2024 Google LLC Google From 35761ca50a0d54d9b35f42da0ad79871994e756d Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:12:28 -0700 Subject: [PATCH 33/78] feat: Generate Google.Apis.DiscoveryEngine.v1 version 1.68.0.3564 --- DiscoveryJson/discoveryengine.v1.json | 8 ++++---- .../Google.Apis.DiscoveryEngine.v1.cs | 12 ++++++------ .../Google.Apis.DiscoveryEngine.v1.csproj | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/DiscoveryJson/discoveryengine.v1.json b/DiscoveryJson/discoveryengine.v1.json index 16f2a6d9fa..16a23fd702 100644 --- a/DiscoveryJson/discoveryengine.v1.json +++ b/DiscoveryJson/discoveryengine.v1.json @@ -5986,7 +5986,7 @@ } } }, - "revision": "20240930", + "revision": "20241004", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -8587,7 +8587,7 @@ "type": "object" }, "GoogleCloudDiscoveryengineV1DocumentProcessingConfig": { - "description": "A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config.", + "description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", "id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfig", "properties": { "chunkingConfig": { @@ -12857,7 +12857,7 @@ "type": "object" }, "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig": { - "description": "A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config.", + "description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", "id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig", "properties": { "chunkingConfig": { @@ -16092,7 +16092,7 @@ "type": "object" }, "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig": { - "description": "A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config.", + "description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", "id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig", "properties": { "chunkingConfig": { diff --git a/Src/Generated/Google.Apis.DiscoveryEngine.v1/Google.Apis.DiscoveryEngine.v1.cs b/Src/Generated/Google.Apis.DiscoveryEngine.v1/Google.Apis.DiscoveryEngine.v1.cs index 91a8907c39..c0f3a2065c 100644 --- a/Src/Generated/Google.Apis.DiscoveryEngine.v1/Google.Apis.DiscoveryEngine.v1.cs +++ b/Src/Generated/Google.Apis.DiscoveryEngine.v1/Google.Apis.DiscoveryEngine.v1.cs @@ -18026,8 +18026,8 @@ public class GoogleCloudDiscoveryengineV1DocumentInfo : Google.Apis.Requests.IDi } /// - /// A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The - /// first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config. + /// A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to + /// DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser. /// public class GoogleCloudDiscoveryengineV1DocumentProcessingConfig : Google.Apis.Requests.IDirectResponseSchema { @@ -24730,8 +24730,8 @@ public class GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchResponse } /// - /// A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The - /// first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config. + /// A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to + /// DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser. /// public class GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig : Google.Apis.Requests.IDirectResponseSchema { @@ -30453,8 +30453,8 @@ public class GoogleCloudDiscoveryengineV1betaDisableAdvancedSiteSearchResponse : } /// - /// A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The - /// first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config. + /// A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to + /// DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser. /// public class GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.DiscoveryEngine.v1/Google.Apis.DiscoveryEngine.v1.csproj b/Src/Generated/Google.Apis.DiscoveryEngine.v1/Google.Apis.DiscoveryEngine.v1.csproj index 92c9d625fb..bfcf033310 100644 --- a/Src/Generated/Google.Apis.DiscoveryEngine.v1/Google.Apis.DiscoveryEngine.v1.csproj +++ b/Src/Generated/Google.Apis.DiscoveryEngine.v1/Google.Apis.DiscoveryEngine.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.DiscoveryEngine.v1 Client Library - 1.68.0.3560 + 1.68.0.3564 Google LLC Copyright 2024 Google LLC Google From 061642cc1709fe0976c9a299bf554a25504a6f4b Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:12:31 -0700 Subject: [PATCH 34/78] feat: Generate Google.Apis.DiscoveryEngine.v1alpha version 1.68.0.3564 --- DiscoveryJson/discoveryengine.v1alpha.json | 8 ++++---- .../Google.Apis.DiscoveryEngine.v1alpha.cs | 12 ++++++------ .../Google.Apis.DiscoveryEngine.v1alpha.csproj | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/DiscoveryJson/discoveryengine.v1alpha.json b/DiscoveryJson/discoveryengine.v1alpha.json index 3719b02310..0d523f0fab 100644 --- a/DiscoveryJson/discoveryengine.v1alpha.json +++ b/DiscoveryJson/discoveryengine.v1alpha.json @@ -7517,7 +7517,7 @@ } } }, - "revision": "20240930", + "revision": "20241004", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GoogleApiDistribution": { @@ -8376,7 +8376,7 @@ "type": "object" }, "GoogleCloudDiscoveryengineV1DocumentProcessingConfig": { - "description": "A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config.", + "description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", "id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfig", "properties": { "chunkingConfig": { @@ -12022,7 +12022,7 @@ "type": "object" }, "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig": { - "description": "A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config.", + "description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", "id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig", "properties": { "chunkingConfig": { @@ -17784,7 +17784,7 @@ "type": "object" }, "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig": { - "description": "A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config.", + "description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", "id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig", "properties": { "chunkingConfig": { diff --git a/Src/Generated/Google.Apis.DiscoveryEngine.v1alpha/Google.Apis.DiscoveryEngine.v1alpha.cs b/Src/Generated/Google.Apis.DiscoveryEngine.v1alpha/Google.Apis.DiscoveryEngine.v1alpha.cs index 2c230ab56a..d558f76bc9 100644 --- a/Src/Generated/Google.Apis.DiscoveryEngine.v1alpha/Google.Apis.DiscoveryEngine.v1alpha.cs +++ b/Src/Generated/Google.Apis.DiscoveryEngine.v1alpha/Google.Apis.DiscoveryEngine.v1alpha.cs @@ -19549,8 +19549,8 @@ public class GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchResponse : Goo } /// - /// A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The - /// first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config. + /// A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to + /// DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser. /// public class GoogleCloudDiscoveryengineV1DocumentProcessingConfig : Google.Apis.Requests.IDirectResponseSchema { @@ -25423,8 +25423,8 @@ public class GoogleCloudDiscoveryengineV1alphaDocumentInfo : Google.Apis.Request } /// - /// A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The - /// first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config. + /// A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to + /// DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser. /// public class GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig : Google.Apis.Requests.IDirectResponseSchema { @@ -34158,8 +34158,8 @@ public class GoogleCloudDiscoveryengineV1betaDisableAdvancedSiteSearchResponse : } /// - /// A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The - /// first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config. + /// A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to + /// DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser. /// public class GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.DiscoveryEngine.v1alpha/Google.Apis.DiscoveryEngine.v1alpha.csproj b/Src/Generated/Google.Apis.DiscoveryEngine.v1alpha/Google.Apis.DiscoveryEngine.v1alpha.csproj index a6cf16b2c3..3e2d2035df 100644 --- a/Src/Generated/Google.Apis.DiscoveryEngine.v1alpha/Google.Apis.DiscoveryEngine.v1alpha.csproj +++ b/Src/Generated/Google.Apis.DiscoveryEngine.v1alpha/Google.Apis.DiscoveryEngine.v1alpha.csproj @@ -3,7 +3,7 @@ Google.Apis.DiscoveryEngine.v1alpha Client Library - 1.68.0.3560 + 1.68.0.3564 Google LLC Copyright 2024 Google LLC Google From 38d4eaf958343fc7668c5bbc7761e34b30e1575d Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:12:33 -0700 Subject: [PATCH 35/78] feat: Generate Google.Apis.DiscoveryEngine.v1beta version 1.68.0.3564 --- DiscoveryJson/discoveryengine.v1beta.json | 8 ++++---- .../Google.Apis.DiscoveryEngine.v1beta.cs | 12 ++++++------ .../Google.Apis.DiscoveryEngine.v1beta.csproj | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/DiscoveryJson/discoveryengine.v1beta.json b/DiscoveryJson/discoveryengine.v1beta.json index 592240a3c7..afe8a81049 100644 --- a/DiscoveryJson/discoveryengine.v1beta.json +++ b/DiscoveryJson/discoveryengine.v1beta.json @@ -6860,7 +6860,7 @@ } } }, - "revision": "20240930", + "revision": "20241004", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -7533,7 +7533,7 @@ "type": "object" }, "GoogleCloudDiscoveryengineV1DocumentProcessingConfig": { - "description": "A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config.", + "description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", "id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfig", "properties": { "chunkingConfig": { @@ -9660,7 +9660,7 @@ "type": "object" }, "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig": { - "description": "A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config.", + "description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", "id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig", "properties": { "chunkingConfig": { @@ -14767,7 +14767,7 @@ "type": "object" }, "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig": { - "description": "A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config.", + "description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", "id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig", "properties": { "chunkingConfig": { diff --git a/Src/Generated/Google.Apis.DiscoveryEngine.v1beta/Google.Apis.DiscoveryEngine.v1beta.cs b/Src/Generated/Google.Apis.DiscoveryEngine.v1beta/Google.Apis.DiscoveryEngine.v1beta.cs index fef5f8235f..12e1b00765 100644 --- a/Src/Generated/Google.Apis.DiscoveryEngine.v1beta/Google.Apis.DiscoveryEngine.v1beta.cs +++ b/Src/Generated/Google.Apis.DiscoveryEngine.v1beta/Google.Apis.DiscoveryEngine.v1beta.cs @@ -17784,8 +17784,8 @@ public class GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchResponse : Goo } /// - /// A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The - /// first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config. + /// A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to + /// DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser. /// public class GoogleCloudDiscoveryengineV1DocumentProcessingConfig : Google.Apis.Requests.IDirectResponseSchema { @@ -21737,8 +21737,8 @@ public class GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchResponse } /// - /// A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The - /// first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config. + /// A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to + /// DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser. /// public class GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig : Google.Apis.Requests.IDirectResponseSchema { @@ -29637,8 +29637,8 @@ public class GoogleCloudDiscoveryengineV1betaDocumentInfo : Google.Apis.Requests } /// - /// A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The - /// first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config. + /// A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to + /// DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser. /// public class GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.DiscoveryEngine.v1beta/Google.Apis.DiscoveryEngine.v1beta.csproj b/Src/Generated/Google.Apis.DiscoveryEngine.v1beta/Google.Apis.DiscoveryEngine.v1beta.csproj index 3e72e2b162..7d0b2dce4d 100644 --- a/Src/Generated/Google.Apis.DiscoveryEngine.v1beta/Google.Apis.DiscoveryEngine.v1beta.csproj +++ b/Src/Generated/Google.Apis.DiscoveryEngine.v1beta/Google.Apis.DiscoveryEngine.v1beta.csproj @@ -3,7 +3,7 @@ Google.Apis.DiscoveryEngine.v1beta Client Library - 1.68.0.3560 + 1.68.0.3564 Google LLC Copyright 2024 Google LLC Google From f274885ab9a3869a8416265d1e0e3063e9e77d5e Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:12:36 -0700 Subject: [PATCH 36/78] feat: Generate Google.Apis.DLP.v2 version 1.68.0.3566 --- DiscoveryJson/dlp.v2.json | 20 +++++++------- .../Google.Apis.DLP.v2/Google.Apis.DLP.v2.cs | 27 ++++++++++--------- .../Google.Apis.DLP.v2.csproj | 2 +- 3 files changed, 26 insertions(+), 23 deletions(-) diff --git a/DiscoveryJson/dlp.v2.json b/DiscoveryJson/dlp.v2.json index 5ccd305392..ca619a5308 100644 --- a/DiscoveryJson/dlp.v2.json +++ b/DiscoveryJson/dlp.v2.json @@ -5015,7 +5015,7 @@ } } }, - "revision": "20240916", + "revision": "20241006", "rootUrl": "https://dlp.googleapis.com/", "schemas": { "GooglePrivacyDlpV2Action": { @@ -6038,11 +6038,11 @@ "description": "The data risk level for this column." }, "datasetId": { - "description": "The BigQuery dataset ID.", + "description": "The BigQuery dataset ID, if the resource profiled is a BigQuery table.", "type": "string" }, "datasetLocation": { - "description": "The BigQuery location where the dataset's data is stored. See https://cloud.google.com/bigquery/docs/locations for supported locations.", + "description": "If supported, the location where the dataset's data is stored. See https://cloud.google.com/bigquery/docs/locations for supported BigQuery locations.", "type": "string" }, "datasetProjectId": { @@ -6147,7 +6147,7 @@ "type": "string" }, "tableId": { - "description": "The BigQuery table ID.", + "description": "The table ID.", "type": "string" } }, @@ -11600,7 +11600,7 @@ "type": "string" }, "fullResource": { - "description": "The resource name of the resource profiled. https://cloud.google.com/apis/design/resource_names#full_resource_name", + "description": "The Cloud Asset Inventory resource that was profiled in order to generate this TableDataProfile. https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "lastModifiedTime": { @@ -11691,7 +11691,7 @@ "type": "string" }, "tableId": { - "description": "If the resource is BigQuery, the BigQuery table ID.", + "description": "The table ID.", "type": "string" }, "tableSizeBytes": { @@ -12458,22 +12458,22 @@ "id": "GoogleTypeTimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/Src/Generated/Google.Apis.DLP.v2/Google.Apis.DLP.v2.cs b/Src/Generated/Google.Apis.DLP.v2/Google.Apis.DLP.v2.cs index 419d0ed070..af59e4f0a5 100644 --- a/Src/Generated/Google.Apis.DLP.v2/Google.Apis.DLP.v2.cs +++ b/Src/Generated/Google.Apis.DLP.v2/Google.Apis.DLP.v2.cs @@ -13319,13 +13319,13 @@ public class GooglePrivacyDlpV2ColumnDataProfile : Google.Apis.Requests.IDirectR [Newtonsoft.Json.JsonPropertyAttribute("dataRiskLevel")] public virtual GooglePrivacyDlpV2DataRiskLevel DataRiskLevel { get; set; } - /// The BigQuery dataset ID. + /// The BigQuery dataset ID, if the resource profiled is a BigQuery table. [Newtonsoft.Json.JsonPropertyAttribute("datasetId")] public virtual string DatasetId { get; set; } /// - /// The BigQuery location where the dataset's data is stored. See - /// https://cloud.google.com/bigquery/docs/locations for supported locations. + /// If supported, the location where the dataset's data is stored. See + /// https://cloud.google.com/bigquery/docs/locations for supported BigQuery locations. /// [Newtonsoft.Json.JsonPropertyAttribute("datasetLocation")] public virtual string DatasetLocation { get; set; } @@ -13423,7 +13423,7 @@ public virtual System.DateTimeOffset? ProfileLastGeneratedDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("tableFullResource")] public virtual string TableFullResource { get; set; } - /// The BigQuery table ID. + /// The table ID. [Newtonsoft.Json.JsonPropertyAttribute("tableId")] public virtual string TableId { get; set; } @@ -19915,7 +19915,7 @@ public virtual System.DateTimeOffset? ExpirationTimeDateTimeOffset public virtual System.Nullable FailedColumnCount { get; set; } /// - /// The resource name of the resource profiled. + /// The Cloud Asset Inventory resource that was profiled in order to generate this TableDataProfile. /// https://cloud.google.com/apis/design/resource_names#full_resource_name /// [Newtonsoft.Json.JsonPropertyAttribute("fullResource")] @@ -20048,7 +20048,7 @@ public virtual System.DateTimeOffset? ProfileLastGeneratedDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("state")] public virtual string State { get; set; } - /// If the resource is BigQuery, the BigQuery table ID. + /// The table ID. [Newtonsoft.Json.JsonPropertyAttribute("tableId")] public virtual string TableId { get; set; } @@ -20954,23 +20954,26 @@ public class GoogleTypeDate : Google.Apis.Requests.IDirectResponseSchema public class GoogleTypeTimeOfDay : Google.Apis.Requests.IDirectResponseSchema { /// - /// Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for - /// scenarios like business closing time. + /// Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or + /// equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. /// [Newtonsoft.Json.JsonPropertyAttribute("hours")] public virtual System.Nullable Hours { get; set; } - /// Minutes of hour of day. Must be from 0 to 59. + /// Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. [Newtonsoft.Json.JsonPropertyAttribute("minutes")] public virtual System.Nullable Minutes { get; set; } - /// Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + /// + /// Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to + /// 999,999,999. + /// [Newtonsoft.Json.JsonPropertyAttribute("nanos")] public virtual System.Nullable Nanos { get; set; } /// - /// Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows - /// leap-seconds. + /// Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An + /// API may allow the value 60 if it allows leap-seconds. /// [Newtonsoft.Json.JsonPropertyAttribute("seconds")] public virtual System.Nullable Seconds { get; set; } 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 a94fb33492..a89802a414 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.68.0.3546 + 1.68.0.3566 Google LLC Copyright 2024 Google LLC Google From b3b21b93a21208dc0120b4c1d53bdf5b3ec622d3 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:12:39 -0700 Subject: [PATCH 37/78] feat: Generate Google.Apis.Drive.v3 version 1.68.0.3568 --- DiscoveryJson/drive.v3.json | 179 +++++++++- EnumStorage/drive.v3.json | 5 + .../Google.Apis.Drive.v3.cs | 330 ++++++++++++++++++ .../Google.Apis.Drive.v3.csproj | 2 +- 4 files changed, 514 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/drive.v3.json b/DiscoveryJson/drive.v3.json index 2cedcda7fe..3381f15be2 100644 --- a/DiscoveryJson/drive.v3.json +++ b/DiscoveryJson/drive.v3.json @@ -1702,6 +1702,111 @@ ], "supportsSubscription": true } + }, + "resources": { + "accessproposals": { + "methods": { + "list": { + "description": "List the AccessProposals on a file. Note: Only approvers are able to list AccessProposals on a file. If the user is not an approver, returns a 403.", + "flatPath": "files/{fileId}/accessproposals", + "httpMethod": "GET", + "id": "drive.files.accessproposals.list", + "parameterOrder": [ + "fileId" + ], + "parameters": { + "fileId": { + "description": "Required. The id of the item the request is on.", + "location": "path", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Optional. The number of results per page", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The continuation token on the list of access requests.", + "location": "query", + "type": "string" + } + }, + "path": "files/{fileId}/accessproposals", + "response": { + "$ref": "ListAccessProposalsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/drive.metadata", + "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.readonly" + ] + }, + "resolve": { + "description": "Used to approve or deny an Access Proposal.", + "flatPath": "files/{fileId}/accessproposals/{proposalId}:resolve", + "httpMethod": "POST", + "id": "drive.files.accessproposals.resolve", + "parameterOrder": [ + "fileId", + "proposalId" + ], + "parameters": { + "action": { + "description": "Required. The action to take on the AccessProposal.", + "enum": [ + "ACTION_UNSPECIFIED", + "ACCEPT", + "DENY" + ], + "enumDescriptions": [ + "Unspecified action", + "The user accepts the proposal", + "The user denies the proposal" + ], + "location": "query", + "type": "string" + }, + "fileId": { + "description": "Required. The id of the item the request is on.", + "location": "path", + "required": true, + "type": "string" + }, + "proposalId": { + "description": "Required. The id of the access proposal to resolve.", + "location": "path", + "required": true, + "type": "string" + }, + "role": { + "description": "Optional. The roles the approver has allowed, if any.", + "location": "query", + "repeated": true, + "type": "string" + }, + "sendNotification": { + "description": "Optional. Whether to send an email to the requester when the AccessProposal is denied or accepted.", + "location": "query", + "type": "boolean" + }, + "view": { + "description": "Optional. Indicates the view for this access proposal. This should only be set when the proposal belongs to a view. `published` is the only supported value.", + "location": "query", + "type": "string" + } + }, + "path": "files/{fileId}/accessproposals/{proposalId}:resolve", + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file" + ] + } + } + } } }, "operation": { @@ -2664,7 +2769,7 @@ } } }, - "revision": "20240914", + "revision": "20241008", "rootUrl": "https://www.googleapis.com/", "schemas": { "About": { @@ -2808,6 +2913,60 @@ }, "type": "object" }, + "AccessProposal": { + "description": "The Access Proposal resource for outstanding access proposals on a file", + "id": "AccessProposal", + "properties": { + "createTime": { + "description": "The creation time", + "format": "google-datetime", + "type": "string" + }, + "fileId": { + "description": "The file id that the proposal for access is on", + "type": "string" + }, + "proposalId": { + "description": "The id of the access proposal", + "type": "string" + }, + "recipientEmailAddress": { + "description": "The email address of the user that will receive permissions if accepted", + "type": "string" + }, + "requestMessage": { + "description": "The message that the requester added to the proposal", + "type": "string" + }, + "requesterEmailAddress": { + "description": "The email address of the requesting user", + "type": "string" + }, + "rolesAndViews": { + "description": "A wrapper for the role and view of an access proposal.", + "items": { + "$ref": "AccessProposalRoleAndView" + }, + "type": "array" + } + }, + "type": "object" + }, + "AccessProposalRoleAndView": { + "description": "A wrapper for the role and view of an access proposal.", + "id": "AccessProposalRoleAndView", + "properties": { + "role": { + "description": "The role that was proposed by the requester New values may be added in the future, but the following are currently possible: * `writer` * `commenter` * `reader`", + "type": "string" + }, + "view": { + "description": "Indicates the view for this access proposal. Only populated for proposals that belong to a view. `published` is the only supported value.", + "type": "string" + } + }, + "type": "object" + }, "App": { "description": "The `apps` resource provides a list of apps that a user has installed, with information about each app's supported MIME types, file extensions, and other details. Some resource methods (such as `apps.get`) require an `appId`. Use the `apps.list` method to retrieve the ID for an installed application.", "id": "App", @@ -4348,6 +4507,24 @@ }, "type": "object" }, + "ListAccessProposalsResponse": { + "description": "The response to an Access Proposal list request.", + "id": "ListAccessProposalsResponse", + "properties": { + "accessProposals": { + "description": "The list of Access Proposals. This field is only populated in v3 and v3beta.", + "items": { + "$ref": "AccessProposal" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The continuation token for the next page of results. This will be absent if the end of the results list has been reached. If the token is rejected for any reason, it should be discarded, and pagination should be restarted from the first page of results.", + "type": "string" + } + }, + "type": "object" + }, "ListOperationsResponse": { "description": "The response message for Operations.ListOperations.", "id": "ListOperationsResponse", diff --git a/EnumStorage/drive.v3.json b/EnumStorage/drive.v3.json index 9d5c44c647..98946f760f 100644 --- a/EnumStorage/drive.v3.json +++ b/EnumStorage/drive.v3.json @@ -8,6 +8,11 @@ "1", "2" ], + "Google.Apis.Drive.v3.FilesResource+AccessproposalsResource+ResolveRequest.ActionEnum": [ + "ACTION_UNSPECIFIED", + "ACCEPT", + "DENY" + ], "Google.Apis.Drive.v3.FilesResource+CreateMediaUpload.AltEnum": [ "json", "media", diff --git a/Src/Generated/Google.Apis.Drive.v3/Google.Apis.Drive.v3.cs b/Src/Generated/Google.Apis.Drive.v3/Google.Apis.Drive.v3.cs index 9c037c75a0..13b9731e6f 100644 --- a/Src/Generated/Google.Apis.Drive.v3/Google.Apis.Drive.v3.cs +++ b/Src/Generated/Google.Apis.Drive.v3/Google.Apis.Drive.v3.cs @@ -2003,6 +2003,228 @@ public class FilesResource public FilesResource(Google.Apis.Services.IClientService service) { this.service = service; + Accessproposals = new AccessproposalsResource(service); + } + + /// Gets the Accessproposals resource. + public virtual AccessproposalsResource Accessproposals { get; } + + /// The "accessproposals" collection of methods. + public class AccessproposalsResource + { + private const string Resource = "accessproposals"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public AccessproposalsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// List the AccessProposals on a file. Note: Only approvers are able to list AccessProposals on a file. If + /// the user is not an approver, returns a 403. + /// + /// Required. The id of the item the request is on. + public virtual ListRequest List(string fileId) + { + return new ListRequest(this.service, fileId); + } + + /// + /// List the AccessProposals on a file. Note: Only approvers are able to list AccessProposals on a file. If + /// the user is not an approver, returns a 403. + /// + public class ListRequest : DriveBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string fileId) : base(service) + { + FileId = fileId; + InitParameters(); + } + + /// Required. The id of the item the request is on. + [Google.Apis.Util.RequestParameterAttribute("fileId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string FileId { get; private set; } + + /// Optional. The number of results per page + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// Optional. The continuation token on the list of access requests. + [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 => "files/{fileId}/accessproposals"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("fileId", new Google.Apis.Discovery.Parameter + { + Name = "fileId", + 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, + }); + } + } + + /// Used to approve or deny an Access Proposal. + /// Required. The id of the item the request is on. + /// Required. The id of the access proposal to resolve. + public virtual ResolveRequest Resolve(string fileId, string proposalId) + { + return new ResolveRequest(this.service, fileId, proposalId); + } + + /// Used to approve or deny an Access Proposal. + public class ResolveRequest : DriveBaseServiceRequest + { + /// Constructs a new Resolve request. + public ResolveRequest(Google.Apis.Services.IClientService service, string fileId, string proposalId) : base(service) + { + FileId = fileId; + ProposalId = proposalId; + InitParameters(); + } + + /// Required. The id of the item the request is on. + [Google.Apis.Util.RequestParameterAttribute("fileId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string FileId { get; private set; } + + /// Required. The id of the access proposal to resolve. + [Google.Apis.Util.RequestParameterAttribute("proposalId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string ProposalId { get; private set; } + + /// Required. The action to take on the AccessProposal. + [Google.Apis.Util.RequestParameterAttribute("action", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable Action { get; set; } + + /// Required. The action to take on the AccessProposal. + public enum ActionEnum + { + /// Unspecified action + [Google.Apis.Util.StringValueAttribute("ACTION_UNSPECIFIED")] + ACTIONUNSPECIFIED = 0, + + /// The user accepts the proposal + [Google.Apis.Util.StringValueAttribute("ACCEPT")] + ACCEPT = 1, + + /// The user denies the proposal + [Google.Apis.Util.StringValueAttribute("DENY")] + DENY = 2, + } + + /// Optional. The roles the approver has allowed, if any. + [Google.Apis.Util.RequestParameterAttribute("role", Google.Apis.Util.RequestParameterType.Query)] + public virtual Google.Apis.Util.Repeatable Role { get; set; } + + /// + /// Optional. Whether to send an email to the requester when the AccessProposal is denied or accepted. + /// + [Google.Apis.Util.RequestParameterAttribute("sendNotification", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable SendNotification { get; set; } + + /// + /// Optional. Indicates the view for this access proposal. This should only be set when the proposal + /// belongs to a view. `published` is the only supported value. + /// + [Google.Apis.Util.RequestParameterAttribute("view", Google.Apis.Util.RequestParameterType.Query)] + public virtual string View { get; set; } + + /// Gets the method name. + public override string MethodName => "resolve"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "files/{fileId}/accessproposals/{proposalId}:resolve"; + + /// Initializes Resolve parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("fileId", new Google.Apis.Discovery.Parameter + { + Name = "fileId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("proposalId", new Google.Apis.Discovery.Parameter + { + Name = "proposalId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("action", new Google.Apis.Discovery.Parameter + { + Name = "action", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("role", new Google.Apis.Discovery.Parameter + { + Name = "role", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("sendNotification", new Google.Apis.Discovery.Parameter + { + Name = "sendNotification", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("view", new Google.Apis.Discovery.Parameter + { + Name = "view", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } } /// Creates a copy of a file and applies any requested updates with patch semantics. @@ -6326,6 +6548,95 @@ public class TeamDriveThemesData } } + /// The Access Proposal resource for outstanding access proposals on a file + public class AccessProposal : Google.Apis.Requests.IDirectResponseSchema + { + private string _createTimeRaw; + + private object _createTime; + + /// The creation time + [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); + } + + /// The file id that the proposal for access is on + [Newtonsoft.Json.JsonPropertyAttribute("fileId")] + public virtual string FileId { get; set; } + + /// The id of the access proposal + [Newtonsoft.Json.JsonPropertyAttribute("proposalId")] + public virtual string ProposalId { get; set; } + + /// The email address of the user that will receive permissions if accepted + [Newtonsoft.Json.JsonPropertyAttribute("recipientEmailAddress")] + public virtual string RecipientEmailAddress { get; set; } + + /// The message that the requester added to the proposal + [Newtonsoft.Json.JsonPropertyAttribute("requestMessage")] + public virtual string RequestMessage { get; set; } + + /// The email address of the requesting user + [Newtonsoft.Json.JsonPropertyAttribute("requesterEmailAddress")] + public virtual string RequesterEmailAddress { get; set; } + + /// A wrapper for the role and view of an access proposal. + [Newtonsoft.Json.JsonPropertyAttribute("rolesAndViews")] + public virtual System.Collections.Generic.IList RolesAndViews { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A wrapper for the role and view of an access proposal. + public class AccessProposalRoleAndView : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The role that was proposed by the requester New values may be added in the future, but the following are + /// currently possible: * `writer` * `commenter` * `reader` + /// + [Newtonsoft.Json.JsonPropertyAttribute("role")] + public virtual string Role { get; set; } + + /// + /// Indicates the view for this access proposal. Only populated for proposals that belong to a view. `published` + /// is the only supported value. + /// + [Newtonsoft.Json.JsonPropertyAttribute("view")] + public virtual string View { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// /// The `apps` resource provides a list of apps that a user has installed, with information about each app's /// supported MIME types, file extensions, and other details. Some resource methods (such as `apps.get`) require an @@ -8359,6 +8670,25 @@ public class LabelModification : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// The response to an Access Proposal list request. + public class ListAccessProposalsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of Access Proposals. This field is only populated in v3 and v3beta. + [Newtonsoft.Json.JsonPropertyAttribute("accessProposals")] + public virtual System.Collections.Generic.IList AccessProposals { get; set; } + + /// + /// The continuation token for the next page of results. This will be absent if the end of the results list has + /// been reached. If the token is rejected for any reason, it should be discarded, and pagination should be + /// restarted from the first page of results. + /// + [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 Operations.ListOperations. public class ListOperationsResponse : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.Drive.v3/Google.Apis.Drive.v3.csproj b/Src/Generated/Google.Apis.Drive.v3/Google.Apis.Drive.v3.csproj index 45499eb706..ad7d3ad6fb 100644 --- a/Src/Generated/Google.Apis.Drive.v3/Google.Apis.Drive.v3.csproj +++ b/Src/Generated/Google.Apis.Drive.v3/Google.Apis.Drive.v3.csproj @@ -3,7 +3,7 @@ Google.Apis.Drive.v3 Client Library - 1.68.0.3544 + 1.68.0.3568 Google LLC Copyright 2024 Google LLC Google From 4fd65cdf6e54c1946876b8f261556857b3af25fd Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:12:42 -0700 Subject: [PATCH 38/78] feat: Generate Google.Apis.FirebaseAppDistribution.v1alpha version 1.68.0.3571 --- DiscoveryJson/firebaseappdistribution.v1alpha.json | 10 +++++++--- .../Google.Apis.FirebaseAppDistribution.v1alpha.csproj | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/firebaseappdistribution.v1alpha.json b/DiscoveryJson/firebaseappdistribution.v1alpha.json index 2b53fa39bb..a07b791314 100644 --- a/DiscoveryJson/firebaseappdistribution.v1alpha.json +++ b/DiscoveryJson/firebaseappdistribution.v1alpha.json @@ -610,7 +610,7 @@ } } }, - "revision": "20241004", + "revision": "20241011", "rootUrl": "https://firebaseappdistribution.googleapis.com/", "schemas": { "AndroidxCrawlerOutputPoint": { @@ -790,13 +790,17 @@ "STEP_STATE_UNSPECIFIED", "IN_PROGRESS", "PASSED", - "FAILED" + "FAILED", + "TIMED_OUT", + "GOAL_ACTION_LIMIT_REACHED" ], "enumDescriptions": [ "Step state unspecified", "The step is in progress", "The step has completed successfully", - "The step has failed" + "The step has failed", + "The test timed out during this step", + "The number of actions needed to reach the goal exceeded its limit" ], "readOnly": true, "type": "string" 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 6f987c06f7..1e3833fee7 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.68.0.3564 + 1.68.0.3571 Google LLC Copyright 2024 Google LLC Google From 8fd8e5f49fd9c51b919d0a98857c717ef6b518a9 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:12:45 -0700 Subject: [PATCH 39/78] feat: Generate Google.Apis.FirebaseDataConnect.v1beta version 1.68.0.3566 --- DiscoveryJson/firebasedataconnect.v1beta.json | 4 ++-- .../Google.Apis.FirebaseDataConnect.v1beta.csproj | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/DiscoveryJson/firebasedataconnect.v1beta.json b/DiscoveryJson/firebasedataconnect.v1beta.json index 1a8ef744ea..5495baad44 100644 --- a/DiscoveryJson/firebasedataconnect.v1beta.json +++ b/DiscoveryJson/firebasedataconnect.v1beta.json @@ -12,7 +12,7 @@ "baseUrl": "https://firebasedataconnect.googleapis.com/", "batchPath": "batch", "canonicalName": "Firebase Data Connect", - "description": "", + "description": "Firebase Data Connect is a relational database service for mobile and web apps that lets you build and scale using a fully-managed PostgreSQL database powered by Cloud SQL. The REST API lets developers manage the connections to their database, change the schema of their database, and query the database.", "discoveryVersion": "v1", "documentationLink": "https://firebase.google.com/docs/data-connect", "fullyEncodeReservedExpansion": true, @@ -1070,7 +1070,7 @@ } } }, - "revision": "20240924", + "revision": "20241006", "rootUrl": "https://firebasedataconnect.googleapis.com/", "schemas": { "CancelOperationRequest": { diff --git a/Src/Generated/Google.Apis.FirebaseDataConnect.v1beta/Google.Apis.FirebaseDataConnect.v1beta.csproj b/Src/Generated/Google.Apis.FirebaseDataConnect.v1beta/Google.Apis.FirebaseDataConnect.v1beta.csproj index b4a6f255ea..36906d7cff 100644 --- a/Src/Generated/Google.Apis.FirebaseDataConnect.v1beta/Google.Apis.FirebaseDataConnect.v1beta.csproj +++ b/Src/Generated/Google.Apis.FirebaseDataConnect.v1beta/Google.Apis.FirebaseDataConnect.v1beta.csproj @@ -3,7 +3,7 @@ Google.Apis.FirebaseDataConnect.v1beta Client Library - 1.68.0.3554 + 1.68.0.3566 Google LLC Copyright 2024 Google LLC Google From 8585bf8f962c9ed0579116aac75613ead6f82e22 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:12:48 -0700 Subject: [PATCH 40/78] feat: Generate Google.Apis.FirebaseML.v2beta version 1.68.0.3570 --- DiscoveryJson/firebaseml.v2beta.json | 74 ++++++++++++++++++- .../Google.Apis.FirebaseML.v2beta.cs | 66 +++++++++++++++++ .../Google.Apis.FirebaseML.v2beta.csproj | 2 +- 3 files changed, 140 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/firebaseml.v2beta.json b/DiscoveryJson/firebaseml.v2beta.json index a5054ab7f5..e1adab719b 100644 --- a/DiscoveryJson/firebaseml.v2beta.json +++ b/DiscoveryJson/firebaseml.v2beta.json @@ -206,7 +206,7 @@ } } }, - "revision": "20241003", + "revision": "20241010", "rootUrl": "https://firebaseml.googleapis.com/", "schemas": { "Date": { @@ -382,6 +382,33 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1CodeExecutionResult": { + "description": "Result of executing the [ExecutableCode]. Always follows a `part` containing the [ExecutableCode].", + "id": "GoogleCloudAiplatformV1beta1CodeExecutionResult", + "properties": { + "outcome": { + "description": "Required. Outcome of the code execution.", + "enum": [ + "OUTCOME_UNSPECIFIED", + "OUTCOME_OK", + "OUTCOME_FAILED", + "OUTCOME_DEADLINE_EXCEEDED" + ], + "enumDescriptions": [ + "Unspecified status. This value should not be used.", + "Code execution completed successfully.", + "Code execution finished but with a failure. `stderr` should contain the reason.", + "Code execution ran for too long, and was cancelled. There may or may not be a partial output present." + ], + "type": "string" + }, + "output": { + "description": "Optional. Contains stdout when code execution is successful, stderr or other description otherwise.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1Content": { "description": "The base structured datatype containing multi-part content of a message. A `Content` includes a `role` field designating the producer of the `Content` and a `parts` field containing multi-part data that contains the content of the message turn.", "id": "GoogleCloudAiplatformV1beta1Content", @@ -481,6 +508,29 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1ExecutableCode": { + "description": "Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the [FunctionDeclaration] tool and [FunctionCallingConfig] mode is set to [Mode.CODE].", + "id": "GoogleCloudAiplatformV1beta1ExecutableCode", + "properties": { + "code": { + "description": "Required. The code to be executed.", + "type": "string" + }, + "language": { + "description": "Required. Programming language of the `code`.", + "enum": [ + "LANGUAGE_UNSPECIFIED", + "PYTHON" + ], + "enumDescriptions": [ + "Unspecified language. This value should not be used.", + "Python >= 3.10, with numpy and simpy available." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1FileData": { "description": "URI based data.", "id": "GoogleCloudAiplatformV1beta1FileData", @@ -892,6 +942,10 @@ "description": "Chunk from context retrieved by the retrieval tools.", "id": "GoogleCloudAiplatformV1beta1GroundingChunkRetrievedContext", "properties": { + "text": { + "description": "Text of the attribution.", + "type": "string" + }, "title": { "description": "Title of the attribution.", "type": "string" @@ -1049,6 +1103,14 @@ "description": "A datatype containing media that is part of a multi-part `Content` message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. A `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.", "id": "GoogleCloudAiplatformV1beta1Part", "properties": { + "codeExecutionResult": { + "$ref": "GoogleCloudAiplatformV1beta1CodeExecutionResult", + "description": "Optional. Result of executing the [ExecutableCode]." + }, + "executableCode": { + "$ref": "GoogleCloudAiplatformV1beta1ExecutableCode", + "description": "Optional. Code generated by the model that is meant to be executed." + }, "fileData": { "$ref": "GoogleCloudAiplatformV1beta1FileData", "description": "Optional. URI based data." @@ -1438,6 +1500,10 @@ "description": "Tool details that the model may use to generate response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval).", "id": "GoogleCloudAiplatformV1beta1Tool", "properties": { + "codeExecution": { + "$ref": "GoogleCloudAiplatformV1beta1ToolCodeExecution", + "description": "Optional. CodeExecution tool type. Enables the model to execute code as part of generation. This field is only used by the Gemini Developer API services." + }, "functionDeclarations": { "description": "Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 128 function declarations can be provided.", "items": { @@ -1456,6 +1522,12 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1ToolCodeExecution": { + "description": "Tool that executes code generated by the model, and automatically returns the result to the model. See also [ExecutableCode]and [CodeExecutionResult] which are input and output to this tool.", + "id": "GoogleCloudAiplatformV1beta1ToolCodeExecution", + "properties": {}, + "type": "object" + }, "GoogleCloudAiplatformV1beta1ToolConfig": { "description": "Tool config. This config is shared for all tools provided in the request.", "id": "GoogleCloudAiplatformV1beta1ToolConfig", diff --git a/Src/Generated/Google.Apis.FirebaseML.v2beta/Google.Apis.FirebaseML.v2beta.cs b/Src/Generated/Google.Apis.FirebaseML.v2beta/Google.Apis.FirebaseML.v2beta.cs index 35b9c17205..9652bf8707 100644 --- a/Src/Generated/Google.Apis.FirebaseML.v2beta/Google.Apis.FirebaseML.v2beta.cs +++ b/Src/Generated/Google.Apis.FirebaseML.v2beta/Google.Apis.FirebaseML.v2beta.cs @@ -655,6 +655,25 @@ public class GoogleCloudAiplatformV1beta1CitationMetadata : Google.Apis.Requests public virtual string ETag { get; set; } } + /// + /// Result of executing the [ExecutableCode]. Always follows a `part` containing the [ExecutableCode]. + /// + public class GoogleCloudAiplatformV1beta1CodeExecutionResult : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. Outcome of the code execution. + [Newtonsoft.Json.JsonPropertyAttribute("outcome")] + public virtual string Outcome { get; set; } + + /// + /// Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + /// + [Newtonsoft.Json.JsonPropertyAttribute("output")] + public virtual string Output { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// /// The base structured datatype containing multi-part content of a message. A `Content` includes a `role` field /// designating the producer of the `Content` and a `parts` field containing multi-part data that contains the @@ -755,6 +774,24 @@ public class GoogleCloudAiplatformV1beta1DynamicRetrievalConfig : Google.Apis.Re public virtual string ETag { get; set; } } + /// + /// Code generated by the model that is meant to be executed, and the result returned to the model. Generated when + /// using the [FunctionDeclaration] tool and [FunctionCallingConfig] mode is set to [Mode.CODE]. + /// + public class GoogleCloudAiplatformV1beta1ExecutableCode : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The code to be executed. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } + + /// Required. Programming language of the `code`. + [Newtonsoft.Json.JsonPropertyAttribute("language")] + public virtual string Language { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// URI based data. public class GoogleCloudAiplatformV1beta1FileData : Google.Apis.Requests.IDirectResponseSchema { @@ -1158,6 +1195,10 @@ public class GoogleCloudAiplatformV1beta1GroundingChunk : Google.Apis.Requests.I /// Chunk from context retrieved by the retrieval tools. public class GoogleCloudAiplatformV1beta1GroundingChunkRetrievedContext : Google.Apis.Requests.IDirectResponseSchema { + /// Text of the attribution. + [Newtonsoft.Json.JsonPropertyAttribute("text")] + public virtual string Text { get; set; } + /// Title of the attribution. [Newtonsoft.Json.JsonPropertyAttribute("title")] public virtual string Title { get; set; } @@ -1297,6 +1338,14 @@ public class GoogleCloudAiplatformV1beta1LogprobsResultTopCandidates : Google.Ap /// public class GoogleCloudAiplatformV1beta1Part : Google.Apis.Requests.IDirectResponseSchema { + /// Optional. Result of executing the [ExecutableCode]. + [Newtonsoft.Json.JsonPropertyAttribute("codeExecutionResult")] + public virtual GoogleCloudAiplatformV1beta1CodeExecutionResult CodeExecutionResult { get; set; } + + /// Optional. Code generated by the model that is meant to be executed. + [Newtonsoft.Json.JsonPropertyAttribute("executableCode")] + public virtual GoogleCloudAiplatformV1beta1ExecutableCode ExecutableCode { get; set; } + /// Optional. URI based data. [Newtonsoft.Json.JsonPropertyAttribute("fileData")] public virtual GoogleCloudAiplatformV1beta1FileData FileData { get; set; } @@ -1589,6 +1638,13 @@ public class GoogleCloudAiplatformV1beta1Segment : Google.Apis.Requests.IDirectR /// public class GoogleCloudAiplatformV1beta1Tool : Google.Apis.Requests.IDirectResponseSchema { + /// + /// Optional. CodeExecution tool type. Enables the model to execute code as part of generation. This field is + /// only used by the Gemini Developer API services. + /// + [Newtonsoft.Json.JsonPropertyAttribute("codeExecution")] + public virtual GoogleCloudAiplatformV1beta1ToolCodeExecution CodeExecution { get; set; } + /// /// Optional. Function tool type. One or more function declarations to be passed to the model along with the /// current user query. Model may decide to call a subset of these functions by populating FunctionCall in the @@ -1616,6 +1672,16 @@ public class GoogleCloudAiplatformV1beta1Tool : Google.Apis.Requests.IDirectResp public virtual string ETag { get; set; } } + /// + /// Tool that executes code generated by the model, and automatically returns the result to the model. See also + /// [ExecutableCode]and [CodeExecutionResult] which are input and output to this tool. + /// + public class GoogleCloudAiplatformV1beta1ToolCodeExecution : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Tool config. This config is shared for all tools provided in the request. public class GoogleCloudAiplatformV1beta1ToolConfig : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.FirebaseML.v2beta/Google.Apis.FirebaseML.v2beta.csproj b/Src/Generated/Google.Apis.FirebaseML.v2beta/Google.Apis.FirebaseML.v2beta.csproj index 7a3add5d28..d7e0f37764 100644 --- a/Src/Generated/Google.Apis.FirebaseML.v2beta/Google.Apis.FirebaseML.v2beta.csproj +++ b/Src/Generated/Google.Apis.FirebaseML.v2beta/Google.Apis.FirebaseML.v2beta.csproj @@ -3,7 +3,7 @@ Google.Apis.FirebaseML.v2beta Client Library - 1.68.0.3563 + 1.68.0.3570 Google LLC Copyright 2024 Google LLC Google From d813ca2722a12ef136bd552bb26bc305967359b8 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:12:51 -0700 Subject: [PATCH 41/78] feat: Generate Google.Apis.BackupforGKE.v1 version 1.68.0.3562 --- DiscoveryJson/gkebackup.v1.json | 16 +++++++++------- .../Google.Apis.BackupforGKE.v1.cs | 15 +++++++++------ .../Google.Apis.BackupforGKE.v1.csproj | 2 +- 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/DiscoveryJson/gkebackup.v1.json b/DiscoveryJson/gkebackup.v1.json index 6f996cd386..d34920e2e5 100644 --- a/DiscoveryJson/gkebackup.v1.json +++ b/DiscoveryJson/gkebackup.v1.json @@ -1713,7 +1713,7 @@ } } }, - "revision": "20240626", + "revision": "20241002", "rootUrl": "https://gkebackup.googleapis.com/", "schemas": { "AuditConfig": { @@ -2871,7 +2871,8 @@ "IN_PROGRESS", "SUCCEEDED", "FAILED", - "DELETING" + "DELETING", + "VALIDATING" ], "enumDescriptions": [ "The Restore resource is in the process of being created.", @@ -2879,7 +2880,8 @@ "The gkebackup agent in the cluster has begun executing the restore operation.", "The restore operation has completed successfully. Restored workloads may not yet be operational.", "The restore operation has failed.", - "This Restore resource is in the process of being deleted." + "This Restore resource is in the process of being deleted.", + "The Kubernetes resources created by this Restore are being validated." ], "readOnly": true, "type": "string" @@ -3264,22 +3266,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/Src/Generated/Google.Apis.BackupforGKE.v1/Google.Apis.BackupforGKE.v1.cs b/Src/Generated/Google.Apis.BackupforGKE.v1/Google.Apis.BackupforGKE.v1.cs index 1a51910854..a0a94b8dd4 100644 --- a/Src/Generated/Google.Apis.BackupforGKE.v1/Google.Apis.BackupforGKE.v1.cs +++ b/Src/Generated/Google.Apis.BackupforGKE.v1/Google.Apis.BackupforGKE.v1.cs @@ -6306,23 +6306,26 @@ public class TestIamPermissionsResponse : Google.Apis.Requests.IDirectResponseSc public class TimeOfDay : Google.Apis.Requests.IDirectResponseSchema { /// - /// Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for - /// scenarios like business closing time. + /// Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or + /// equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. /// [Newtonsoft.Json.JsonPropertyAttribute("hours")] public virtual System.Nullable Hours { get; set; } - /// Minutes of hour of day. Must be from 0 to 59. + /// Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. [Newtonsoft.Json.JsonPropertyAttribute("minutes")] public virtual System.Nullable Minutes { get; set; } - /// Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + /// + /// Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to + /// 999,999,999. + /// [Newtonsoft.Json.JsonPropertyAttribute("nanos")] public virtual System.Nullable Nanos { get; set; } /// - /// Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows - /// leap-seconds. + /// Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An + /// API may allow the value 60 if it allows leap-seconds. /// [Newtonsoft.Json.JsonPropertyAttribute("seconds")] public virtual System.Nullable Seconds { get; set; } diff --git a/Src/Generated/Google.Apis.BackupforGKE.v1/Google.Apis.BackupforGKE.v1.csproj b/Src/Generated/Google.Apis.BackupforGKE.v1/Google.Apis.BackupforGKE.v1.csproj index 0a157fd301..2c38e964f7 100644 --- a/Src/Generated/Google.Apis.BackupforGKE.v1/Google.Apis.BackupforGKE.v1.csproj +++ b/Src/Generated/Google.Apis.BackupforGKE.v1/Google.Apis.BackupforGKE.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.BackupforGKE.v1 Client Library - 1.68.0.3464 + 1.68.0.3562 Google LLC Copyright 2024 Google LLC Google From fc589690d425ff50c4541cba72aa84e1b381aad7 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:12:53 -0700 Subject: [PATCH 42/78] feat: Generate Google.Apis.GKEHub.v2 version 1.68.0.3566 --- DiscoveryJson/gkehub.v2.json | 3016 +++++++++++++++- .../Google.Apis.GKEHub.v2.cs | 3172 ++++++++++++++++- .../Google.Apis.GKEHub.v2.csproj | 2 +- 3 files changed, 6013 insertions(+), 177 deletions(-) diff --git a/DiscoveryJson/gkehub.v2.json b/DiscoveryJson/gkehub.v2.json index 993a11c62b..f2f6ad05e8 100644 --- a/DiscoveryJson/gkehub.v2.json +++ b/DiscoveryJson/gkehub.v2.json @@ -177,6 +177,197 @@ } }, "resources": { + "memberships": { + "resources": { + "features": { + "methods": { + "create": { + "description": "Creates membershipFeature under a given parent.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features", + "httpMethod": "POST", + "id": "gkehub.projects.locations.memberships.features.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "featureId": { + "description": "Required. The ID of the membership_feature to create.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of parent where the MembershipFeature will be created. Specified in the format `projects/*/locations/*/memberships/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+parent}/features", + "request": { + "$ref": "MembershipFeature" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Removes a membershipFeature.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", + "httpMethod": "DELETE", + "id": "gkehub.projects.locations.memberships.features.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the membershipFeature to be deleted. Specified in the format `projects/*/locations/*/memberships/*/features/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "========= MembershipFeature Services ========= Gets details of a membershipFeature.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", + "httpMethod": "GET", + "id": "gkehub.projects.locations.memberships.features.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The MembershipFeature resource name in the format `projects/*/locations/*/memberships/*/features/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "MembershipFeature" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists MembershipFeatures in a given project and location.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features", + "httpMethod": "GET", + "id": "gkehub.projects.locations.memberships.features.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Lists MembershipFeatures that match the filter expression, following the syntax outlined in https://google.aip.dev/160. Examples: - Feature with the name \"helloworld\" in project \"foo-proj\" and membership \"member-bar\": name = \"projects/foo-proj/locations/global/memberships/member-bar/features/helloworld\" - Features that have a label called `foo`: labels.foo:* - Features that have a label called `foo` whose value is `bar`: labels.foo = bar", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "One or more fields to compare and use to sort the output. See https://google.aip.dev/132#ordering.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "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.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token returned by previous call to `ListFeatures` which specifies the position in the list from where to continue listing the resources.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent where the MembershipFeature will be listed. In the format: `projects/*/locations/*/memberships/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/features", + "response": { + "$ref": "ListMembershipFeaturesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing MembershipFeature.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", + "httpMethod": "PATCH", + "id": "gkehub.projects.locations.memberships.features.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If set to true, and the MembershipFeature is not found, a new MembershipFeature will be created. In this situation, `update_mask` is ignored.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Output only. The resource name of the membershipFeature, in the format: `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers)", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}", + "request": { + "$ref": "MembershipFeature" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, "operations": { "methods": { "cancel": { @@ -280,149 +471,2800 @@ } } }, - "revision": "20240809", + "revision": "20241006", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { + "AppDevExperienceState": { + "description": "State for App Dev Exp Feature.", + "id": "AppDevExperienceState", + "properties": { + "networkingInstallSucceeded": { + "$ref": "AppDevExperienceStatus", + "description": "Status of subcomponent that detects configured Service Mesh resources." + } + }, + "type": "object" + }, + "AppDevExperienceStatus": { + "description": "Status specifies state for the subcomponent.", + "id": "AppDevExperienceStatus", + "properties": { + "code": { + "description": "Code specifies AppDevExperienceFeature's subcomponent ready state.", + "enum": [ + "CODE_UNSPECIFIED", + "OK", + "FAILED", + "UNKNOWN" + ], + "enumDescriptions": [ + "Not set.", + "AppDevExperienceFeature's specified subcomponent is ready.", + "AppDevExperienceFeature's specified subcomponent ready state is false. This means AppDevExperienceFeature has encountered an issue that blocks all, or a portion, of its normal operation. See the `description` for more details.", + "AppDevExperienceFeature's specified subcomponent has a pending or unknown state." + ], + "type": "string" + }, + "description": { + "description": "Description is populated if Code is Failed, explaining why it has failed.", + "type": "string" + } + }, + "type": "object" + }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", "properties": {}, "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": {}, + "CloudBuildSpec": { + "description": "**Cloud Build**: Configurations for each Cloud Build enabled cluster.", + "id": "CloudBuildSpec", + "properties": { + "securityPolicy": { + "description": "Whether it is allowed to run the privileged builds on the cluster or not.", + "enum": [ + "SECURITY_POLICY_UNSPECIFIED", + "NON_PRIVILEGED", + "PRIVILEGED" + ], + "enumDescriptions": [ + "Unspecified policy", + "Privileged build pods are disallowed", + "Privileged build pods are allowed" + ], + "type": "string" + }, + "version": { + "description": "Version of the cloud build software on the cluster.", + "type": "string" + } + }, "type": "object" }, - "GoogleRpcStatus": { - "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": "GoogleRpcStatus", + "ClusterUpgradeGKEUpgrade": { + "description": "GKEUpgrade represents a GKE provided upgrade, e.g., control plane upgrade.", + "id": "ClusterUpgradeGKEUpgrade", "properties": { - "code": { - "description": "The status code, which should be an enum value of google.rpc.Code.", - "format": "int32", - "type": "integer" + "name": { + "description": "Name of the upgrade, e.g., \"k8s_control_plane\".", + "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" - }, - "type": "array" + "version": { + "description": "Version of the upgrade, e.g., \"1.22.1-gke.100\".", + "type": "string" + } + }, + "type": "object" + }, + "ClusterUpgradeIgnoredMembership": { + "description": "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.", + "id": "ClusterUpgradeIgnoredMembership", + "properties": { + "ignoredTime": { + "description": "Time when the membership was first set to ignored.", + "format": "google-datetime", + "type": "string" }, - "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.", + "reason": { + "description": "Reason why the membership is ignored.", "type": "string" } }, "type": "object" }, - "ListLocationsResponse": { - "description": "The response message for Locations.ListLocations.", - "id": "ListLocationsResponse", + "ClusterUpgradeMembershipGKEUpgradeState": { + "description": "MembershipGKEUpgradeState is a GKEUpgrade and its state per-membership.", + "id": "ClusterUpgradeMembershipGKEUpgradeState", "properties": { - "locations": { - "description": "A list of locations that matches the specified filter in the request.", + "status": { + "$ref": "ClusterUpgradeUpgradeStatus", + "description": "Status of the upgrade." + }, + "upgrade": { + "$ref": "ClusterUpgradeGKEUpgrade", + "description": "Which upgrade to track the state." + } + }, + "type": "object" + }, + "ClusterUpgradeState": { + "description": "Per-membership state for this feature.", + "id": "ClusterUpgradeState", + "properties": { + "ignored": { + "$ref": "ClusterUpgradeIgnoredMembership", + "description": "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." + }, + "upgrades": { + "description": "Actual upgrade state against desired.", "items": { - "$ref": "Location" + "$ref": "ClusterUpgradeMembershipGKEUpgradeState" }, "type": "array" + } + }, + "type": "object" + }, + "ClusterUpgradeUpgradeStatus": { + "description": "UpgradeStatus provides status information for each upgrade.", + "id": "ClusterUpgradeUpgradeStatus", + "properties": { + "code": { + "description": "Status code of the upgrade.", + "enum": [ + "CODE_UNSPECIFIED", + "INELIGIBLE", + "PENDING", + "IN_PROGRESS", + "SOAKING", + "FORCED_SOAKING", + "COMPLETE" + ], + "enumDescriptions": [ + "Required by https://linter.aip.dev/126/unspecified.", + "The upgrade is ineligible. At the scope level, this means the upgrade is ineligible for all the clusters in the scope.", + "The upgrade is pending. At the scope level, this means the upgrade is pending for all the clusters in the scope.", + "The upgrade is in progress. At the scope level, this means the upgrade is in progress for at least one cluster in the scope.", + "The upgrade has finished and is soaking until the soaking time is up. At the scope level, this means at least one cluster is in soaking while the rest are either soaking or complete.", + "A cluster will be forced to enter soaking if an upgrade doesn't finish within a certain limit, despite it's actual status.", + "The upgrade has passed all post conditions (soaking). At the scope level, this means all eligible clusters are in COMPLETE status." + ], + "type": "string" }, - "nextPageToken": { - "description": "The standard List next-page token.", + "reason": { + "description": "Reason for this status.", + "type": "string" + }, + "updateTime": { + "description": "Last timestamp the status was updated.", + "format": "google-datetime", "type": "string" } }, "type": "object" }, - "ListOperationsResponse": { - "description": "The response message for Operations.ListOperations.", - "id": "ListOperationsResponse", + "ConfigManagementBinauthzConfig": { + "description": "Configuration for Binauthz.", + "id": "ConfigManagementBinauthzConfig", "properties": { - "nextPageToken": { - "description": "The standard List next-page token.", + "enabled": { + "description": "Whether binauthz is enabled in this cluster.", + "type": "boolean" + } + }, + "type": "object" + }, + "ConfigManagementBinauthzState": { + "description": "State for Binauthz.", + "id": "ConfigManagementBinauthzState", + "properties": { + "version": { + "$ref": "ConfigManagementBinauthzVersion", + "description": "The version of binauthz that is installed." + }, + "webhook": { + "description": "The state of the binauthz webhook.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementBinauthzVersion": { + "description": "The version of binauthz.", + "id": "ConfigManagementBinauthzVersion", + "properties": { + "webhookVersion": { + "description": "The version of the binauthz webhook.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementConfigSync": { + "description": "Configuration for Config Sync", + "id": "ConfigManagementConfigSync", + "properties": { + "allowVerticalScale": { + "deprecated": true, + "description": "Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated.", + "type": "boolean" }, - "operations": { - "description": "A list of operations that matches the specified filter in the request.", + "enabled": { + "description": "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.", + "type": "boolean" + }, + "git": { + "$ref": "ConfigManagementGitConfig", + "description": "Git repo configuration for the cluster." + }, + "metricsGcpServiceAccountEmail": { + "description": "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.", + "type": "string" + }, + "oci": { + "$ref": "ConfigManagementOciConfig", + "description": "OCI repo configuration for the cluster." + }, + "preventDrift": { + "description": "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.", + "type": "boolean" + }, + "sourceFormat": { + "description": "Specifies whether the Config Sync Repo is in \"hierarchical\" or \"unstructured\" mode.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementConfigSyncDeploymentState": { + "description": "The state of ConfigSync's deployment on a cluster.", + "id": "ConfigManagementConfigSyncDeploymentState", + "properties": { + "admissionWebhook": { + "description": "Deployment state of admission-webhook.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "gitSync": { + "description": "Deployment state of the git-sync pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "importer": { + "description": "Deployment state of the importer pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "monitor": { + "description": "Deployment state of the monitor pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "otelCollector": { + "description": "Deployment state of otel-collector", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "reconcilerManager": { + "description": "Deployment state of reconciler-manager pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "resourceGroupControllerManager": { + "description": "Deployment state of resource-group-controller-manager", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "rootReconciler": { + "description": "Deployment state of root-reconciler.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "syncer": { + "description": "Deployment state of the syncer pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementConfigSyncError": { + "description": "Errors pertaining to the installation of Config Sync", + "id": "ConfigManagementConfigSyncError", + "properties": { + "errorMessage": { + "description": "A string representing the user facing error message", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementConfigSyncState": { + "description": "State information for ConfigSync.", + "id": "ConfigManagementConfigSyncState", + "properties": { + "deploymentState": { + "$ref": "ConfigManagementConfigSyncDeploymentState", + "description": "Information about the deployment of ConfigSync, including the version. of the various Pods deployed" + }, + "errors": { + "description": "Errors pertaining to the installation of Config Sync.", "items": { - "$ref": "Operation" + "$ref": "ConfigManagementConfigSyncError" }, "type": "array" + }, + "reposyncCrd": { + "description": "The state of the Reposync CRD", + "enum": [ + "CRD_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "TERMINATING", + "INSTALLING" + ], + "enumDescriptions": [ + "CRD's state cannot be determined", + "CRD is not installed", + "CRD is installed", + "CRD is terminating (i.e., it has been deleted and is cleaning up)", + "CRD is installing" + ], + "type": "string" + }, + "rootsyncCrd": { + "description": "The state of the RootSync CRD", + "enum": [ + "CRD_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "TERMINATING", + "INSTALLING" + ], + "enumDescriptions": [ + "CRD's state cannot be determined", + "CRD is not installed", + "CRD is installed", + "CRD is terminating (i.e., it has been deleted and is cleaning up)", + "CRD is installing" + ], + "type": "string" + }, + "state": { + "description": "The state of CS This field summarizes the other fields in this message.", + "enum": [ + "STATE_UNSPECIFIED", + "CONFIG_SYNC_NOT_INSTALLED", + "CONFIG_SYNC_INSTALLED", + "CONFIG_SYNC_ERROR", + "CONFIG_SYNC_PENDING" + ], + "enumDescriptions": [ + "CS's state cannot be determined.", + "CS is not installed.", + "The expected CS version is installed successfully.", + "CS encounters errors.", + "CS is installing or terminating." + ], + "type": "string" + }, + "syncState": { + "$ref": "ConfigManagementSyncState", + "description": "The state of ConfigSync's process to sync configs to a cluster." + }, + "version": { + "$ref": "ConfigManagementConfigSyncVersion", + "description": "The version of ConfigSync deployed." } }, "type": "object" }, - "Location": { - "description": "A resource that represents a Google Cloud location.", - "id": "Location", + "ConfigManagementConfigSyncVersion": { + "description": "Specific versioning information pertaining to ConfigSync's Pods.", + "id": "ConfigManagementConfigSyncVersion", "properties": { - "displayName": { - "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "admissionWebhook": { + "description": "Version of the deployed admission-webhook pod.", "type": "string" }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", - "type": "object" + "gitSync": { + "description": "Version of the deployed git-sync pod.", + "type": "string" }, - "locationId": { - "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "importer": { + "description": "Version of the deployed importer pod.", "type": "string" }, - "metadata": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "Service-specific metadata. For example the available capacity at the given location.", - "type": "object" + "monitor": { + "description": "Version of the deployed monitor pod.", + "type": "string" }, - "name": { - "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "otelCollector": { + "description": "Version of the deployed otel-collector pod", + "type": "string" + }, + "reconcilerManager": { + "description": "Version of the deployed reconciler-manager pod.", + "type": "string" + }, + "resourceGroupControllerManager": { + "description": "Version of the deployed resource-group-controller-manager pod", + "type": "string" + }, + "rootReconciler": { + "description": "Version of the deployed reconciler container in root-reconciler pod.", + "type": "string" + }, + "syncer": { + "description": "Version of the deployed syncer pod.", "type": "string" } }, "type": "object" }, - "Operation": { - "description": "This resource represents a long-running operation that is the result of a network API call.", - "id": "Operation", + "ConfigManagementErrorResource": { + "description": "Model for a config file in the git repo with an associated Sync error.", + "id": "ConfigManagementErrorResource", "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" + "resourceGvk": { + "$ref": "ConfigManagementGroupVersionKind", + "description": "Group/version/kind of the resource that is causing an error" }, - "error": { - "$ref": "GoogleRpcStatus", - "description": "The error result of the operation in case of failure or cancellation." + "resourceName": { + "description": "Metadata name of the resource that is causing an error", + "type": "string" }, - "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" + "resourceNamespace": { + "description": "Namespace of the resource that is causing an error", + "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}`.", + "sourcePath": { + "description": "Path in the git repo of the erroneous config", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementGatekeeperDeploymentState": { + "description": "State of Policy Controller installation.", + "id": "ConfigManagementGatekeeperDeploymentState", + "properties": { + "gatekeeperAudit": { + "description": "Status of gatekeeper-audit deployment.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], "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" + "gatekeeperControllerManagerState": { + "description": "Status of gatekeeper-controller-manager pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "gatekeeperMutation": { + "description": "Status of the pod serving the mutation webhook.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementGitConfig": { + "description": "Git repo configuration for a single cluster.", + "id": "ConfigManagementGitConfig", + "properties": { + "gcpServiceAccountEmail": { + "description": "The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", + "type": "string" + }, + "httpsProxy": { + "description": "URL for the HTTPS proxy to be used when communicating with the Git repo.", + "type": "string" + }, + "policyDir": { + "description": "The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.", + "type": "string" + }, + "secretType": { + "description": "Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required.", + "type": "string" + }, + "syncBranch": { + "description": "The branch of the repository to sync from. Default: master.", + "type": "string" + }, + "syncRepo": { + "description": "The URL of the Git repository to use as the source of truth.", + "type": "string" + }, + "syncRev": { + "description": "Git revision (tag or hash) to check out. Default HEAD.", + "type": "string" + }, + "syncWaitSecs": { + "description": "Period in seconds between consecutive syncs. Default: 15.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementGroupVersionKind": { + "description": "A Kubernetes object's GVK.", + "id": "ConfigManagementGroupVersionKind", + "properties": { + "group": { + "description": "Kubernetes Group", + "type": "string" + }, + "kind": { + "description": "Kubernetes Kind", + "type": "string" + }, + "version": { + "description": "Kubernetes Version", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementHierarchyControllerConfig": { + "description": "Configuration for Hierarchy Controller.", + "id": "ConfigManagementHierarchyControllerConfig", + "properties": { + "enableHierarchicalResourceQuota": { + "description": "Whether hierarchical resource quota is enabled in this cluster.", + "type": "boolean" + }, + "enablePodTreeLabels": { + "description": "Whether pod tree labels are enabled in this cluster.", + "type": "boolean" + }, + "enabled": { + "description": "Whether Hierarchy Controller is enabled in this cluster.", + "type": "boolean" + } + }, + "type": "object" + }, + "ConfigManagementHierarchyControllerDeploymentState": { + "description": "Deployment state for Hierarchy Controller", + "id": "ConfigManagementHierarchyControllerDeploymentState", + "properties": { + "extension": { + "description": "The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1).", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "hnc": { + "description": "The deployment state for open source HNC (e.g. v0.7.0-hc.0).", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementHierarchyControllerState": { + "description": "State for Hierarchy Controller.", + "id": "ConfigManagementHierarchyControllerState", + "properties": { + "state": { + "$ref": "ConfigManagementHierarchyControllerDeploymentState", + "description": "The deployment state for Hierarchy Controller." + }, + "version": { + "$ref": "ConfigManagementHierarchyControllerVersion", + "description": "The version for Hierarchy Controller." + } + }, + "type": "object" + }, + "ConfigManagementHierarchyControllerVersion": { + "description": "Version for Hierarchy Controller.", + "id": "ConfigManagementHierarchyControllerVersion", + "properties": { + "extension": { + "description": "Version for Hierarchy Controller extension.", + "type": "string" + }, + "hnc": { + "description": "Version for open source HNC.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementInstallError": { + "description": "Errors pertaining to the installation of ACM.", + "id": "ConfigManagementInstallError", + "properties": { + "errorMessage": { + "description": "A string representing the user facing error message.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementOciConfig": { + "description": "OCI repo configuration for a single cluster.", + "id": "ConfigManagementOciConfig", + "properties": { + "gcpServiceAccountEmail": { + "description": "The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", + "type": "string" + }, + "policyDir": { + "description": "The absolute path of the directory that contains the local resources. Default: the root directory of the image.", + "type": "string" + }, + "secretType": { + "description": "Type of secret configured for access to the Git repo.", + "type": "string" + }, + "syncRepo": { + "description": "The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`.", + "type": "string" + }, + "syncWaitSecs": { + "description": "Period in seconds between consecutive syncs. Default: 15.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementOperatorState": { + "description": "State information for an ACM's Operator.", + "id": "ConfigManagementOperatorState", + "properties": { + "deploymentState": { + "description": "The state of the Operator's deployment.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "errors": { + "description": "Install errors.", + "items": { + "$ref": "ConfigManagementInstallError" + }, + "type": "array" + }, + "version": { + "description": "The semenatic version number of the operator.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementPolicyController": { + "description": "Configuration for Policy Controller", + "id": "ConfigManagementPolicyController", + "properties": { + "auditIntervalSeconds": { + "description": "Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.", + "format": "int64", + "type": "string" + }, + "enabled": { + "description": "Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.", + "type": "boolean" + }, + "exemptableNamespaces": { + "description": "The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logDeniesEnabled": { + "description": "Logs all denies and dry run failures.", + "type": "boolean" + }, + "monitoring": { + "$ref": "ConfigManagementPolicyControllerMonitoring", + "description": "Monitoring specifies the configuration of monitoring." + }, + "mutationEnabled": { + "description": "Enable or disable mutation in policy controller. If true, mutation CRDs, webhook and controller deployment will be deployed to the cluster.", + "type": "boolean" + }, + "referentialRulesEnabled": { + "description": "Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.", + "type": "boolean" + }, + "templateLibraryInstalled": { + "description": "Installs the default template library along with Policy Controller.", + "type": "boolean" + }, + "updateTime": { + "description": "Output only. Last time this membership spec was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerMigration": { + "description": "State for the migration of PolicyController from ACM -> PoCo Hub.", + "id": "ConfigManagementPolicyControllerMigration", + "properties": { + "copyTime": { + "description": "Last time this membership spec was copied to PoCo feature.", + "format": "google-datetime", + "type": "string" + }, + "stage": { + "description": "Stage of the migration.", + "enum": [ + "STAGE_UNSPECIFIED", + "ACM_MANAGED", + "POCO_MANAGED" + ], + "enumDescriptions": [ + "Unknown state of migration.", + "ACM Hub/Operator manages policycontroller. No migration yet completed.", + "All migrations steps complete; Poco Hub now manages policycontroller." + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerMonitoring": { + "description": "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\"]", + "id": "ConfigManagementPolicyControllerMonitoring", + "properties": { + "backends": { + "description": "Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export.", + "items": { + "enum": [ + "MONITORING_BACKEND_UNSPECIFIED", + "PROMETHEUS", + "CLOUD_MONITORING" + ], + "enumDescriptions": [ + "Backend cannot be determined", + "Prometheus backend for monitoring", + "Stackdriver/Cloud Monitoring backend for monitoring" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerState": { + "description": "State for PolicyControllerState.", + "id": "ConfigManagementPolicyControllerState", + "properties": { + "deploymentState": { + "$ref": "ConfigManagementGatekeeperDeploymentState", + "description": "The state about the policy controller installation." + }, + "migration": { + "$ref": "ConfigManagementPolicyControllerMigration", + "description": "Record state of ACM -> PoCo Hub migration for this feature." + }, + "version": { + "$ref": "ConfigManagementPolicyControllerVersion", + "description": "The version of Gatekeeper Policy Controller deployed." + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerVersion": { + "description": "The build version of Gatekeeper Policy Controller is using.", + "id": "ConfigManagementPolicyControllerVersion", + "properties": { + "version": { + "description": "The gatekeeper image tag that is composed of ACM version, git tag, build number.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementSpec": { + "description": "**Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR.", + "id": "ConfigManagementSpec", + "properties": { + "binauthz": { + "$ref": "ConfigManagementBinauthzConfig", + "deprecated": true, + "description": "Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set." + }, + "cluster": { + "description": "The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector.", + "type": "string" + }, + "configSync": { + "$ref": "ConfigManagementConfigSync", + "description": "Config Sync configuration for the cluster." + }, + "hierarchyController": { + "$ref": "ConfigManagementHierarchyControllerConfig", + "description": "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." + }, + "management": { + "description": "Enables automatic Feature management.", + "enum": [ + "MANAGEMENT_UNSPECIFIED", + "MANAGEMENT_AUTOMATIC", + "MANAGEMENT_MANUAL" + ], + "enumDescriptions": [ + "Unspecified", + "Google will manage the Feature for the cluster.", + "User will manually manage the Feature for the cluster." + ], + "type": "string" + }, + "policyController": { + "$ref": "ConfigManagementPolicyController", + "description": "Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead." + }, + "version": { + "description": "Version of ACM installed.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementState": { + "description": "**Anthos Config Management**: State for a single cluster.", + "id": "ConfigManagementState", + "properties": { + "binauthzState": { + "$ref": "ConfigManagementBinauthzState", + "description": "Binauthz status." + }, + "clusterName": { + "description": "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.", + "type": "string" + }, + "configSyncState": { + "$ref": "ConfigManagementConfigSyncState", + "description": "Current sync status." + }, + "hierarchyControllerState": { + "$ref": "ConfigManagementHierarchyControllerState", + "description": "Hierarchy Controller status." + }, + "membershipSpec": { + "$ref": "ConfigManagementSpec", + "description": "Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state." + }, + "operatorState": { + "$ref": "ConfigManagementOperatorState", + "description": "Current install status of ACM's Operator." + }, + "policyControllerState": { + "$ref": "ConfigManagementPolicyControllerState", + "description": "PolicyController status." + } + }, + "type": "object" + }, + "ConfigManagementSyncError": { + "description": "An ACM created error representing a problem syncing configurations.", + "id": "ConfigManagementSyncError", + "properties": { + "code": { + "description": "An ACM defined error code", + "type": "string" + }, + "errorMessage": { + "description": "A description of the error", + "type": "string" + }, + "errorResources": { + "description": "A list of config(s) associated with the error, if any", + "items": { + "$ref": "ConfigManagementErrorResource" + }, + "type": "array" + } + }, + "type": "object" + }, + "ConfigManagementSyncState": { + "description": "State indicating an ACM's progress syncing configurations to a cluster.", + "id": "ConfigManagementSyncState", + "properties": { + "code": { + "description": "Sync status code.", + "enum": [ + "SYNC_CODE_UNSPECIFIED", + "SYNCED", + "PENDING", + "ERROR", + "NOT_CONFIGURED", + "NOT_INSTALLED", + "UNAUTHORIZED", + "UNREACHABLE" + ], + "enumDescriptions": [ + "Config Sync cannot determine a sync code", + "Config Sync successfully synced the git Repo with the cluster", + "Config Sync is in the progress of syncing a new change", + "Indicates an error configuring Config Sync, and user action is required", + "Config Sync has been installed but not configured", + "Config Sync has not been installed", + "Error authorizing with the cluster", + "Cluster could not be reached" + ], + "type": "string" + }, + "errors": { + "description": "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.", + "items": { + "$ref": "ConfigManagementSyncError" + }, + "type": "array" + }, + "importToken": { + "description": "Token indicating the state of the importer.", + "type": "string" + }, + "lastSync": { + "deprecated": true, + "description": "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", + "type": "string" + }, + "lastSyncTime": { + "description": "Timestamp type of when ACM last successfully synced the repo.", + "format": "google-datetime", + "type": "string" + }, + "sourceToken": { + "description": "Token indicating the state of the repo.", + "type": "string" + }, + "syncToken": { + "description": "Token indicating the state of the syncer.", + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "FeatureConfigRef": { + "description": "Information of the FeatureConfig applied on the MembershipFeature.", + "id": "FeatureConfigRef", + "properties": { + "config": { + "description": "Input only. Resource name of FeatureConfig, in the format: `projects/{project}/locations/global/featureConfigs/{feature_config}`.", + "type": "string" + }, + "configUpdateTime": { + "description": "Output only. When the FeatureConfig was last applied and copied to FeatureSpec.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "uuid": { + "description": "Output only. An id that uniquely identify a FeatureConfig object.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "FeatureSpec": { + "description": "FeatureSpec contains user input per-feature spec information.", + "id": "FeatureSpec", + "properties": { + "cloudbuild": { + "$ref": "CloudBuildSpec", + "description": "Cloudbuild-specific FeatureSpec." + }, + "configmanagement": { + "$ref": "ConfigManagementSpec", + "description": "Config Management FeatureSpec." + }, + "identityservice": { + "$ref": "IdentityServiceSpec", + "description": "IdentityService FeatureSpec." + }, + "origin": { + "$ref": "Origin", + "description": "Whether this per-Feature spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Feature config (updated to USER implicitly) or setting to FLEET explicitly." + }, + "policycontroller": { + "$ref": "PolicyControllerSpec", + "description": "Policycontroller-specific FeatureSpec." + }, + "servicemesh": { + "$ref": "ServiceMeshSpec", + "description": "ServiceMesh Feature Spec." + }, + "workloadcertificate": { + "$ref": "WorkloadCertificateSpec", + "description": "Workloadcertificate-specific FeatureSpec." + } + }, + "type": "object" + }, + "FeatureState": { + "description": "FeatureState contains high-level state information and per-feature state information for this MembershipFeature.", + "id": "FeatureState", + "properties": { + "appdevexperience": { + "$ref": "AppDevExperienceState", + "description": "Appdevexperience specific state." + }, + "clusterupgrade": { + "$ref": "ClusterUpgradeState", + "description": "Cluster upgrade state." + }, + "configmanagement": { + "$ref": "ConfigManagementState", + "description": "Config Management state" + }, + "identityservice": { + "$ref": "IdentityServiceState", + "description": "Identity service state" + }, + "metering": { + "$ref": "MeteringState", + "description": "Metering state" + }, + "policycontroller": { + "$ref": "PolicyControllerState", + "description": "Policy Controller state" + }, + "servicemesh": { + "$ref": "ServiceMeshState", + "description": "Service mesh state" + }, + "state": { + "$ref": "State", + "description": "The high-level state of this MembershipFeature." + } + }, + "type": "object" + }, + "GoogleRpcStatus": { + "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": "GoogleRpcStatus", + "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" + }, + "IdentityServiceAuthMethod": { + "description": "Configuration of an auth method for a member/cluster. Only one authentication method (e.g., OIDC and LDAP) can be set per AuthMethod.", + "id": "IdentityServiceAuthMethod", + "properties": { + "azureadConfig": { + "$ref": "IdentityServiceAzureADConfig", + "description": "AzureAD specific Configuration." + }, + "googleConfig": { + "$ref": "IdentityServiceGoogleConfig", + "description": "GoogleConfig specific configuration" + }, + "ldapConfig": { + "$ref": "IdentityServiceLdapConfig", + "description": "LDAP specific configuration." + }, + "name": { + "description": "Identifier for auth config.", + "type": "string" + }, + "oidcConfig": { + "$ref": "IdentityServiceOidcConfig", + "description": "OIDC specific configuration." + }, + "proxy": { + "description": "Proxy server address to use for auth method.", + "type": "string" + }, + "samlConfig": { + "$ref": "IdentityServiceSamlConfig", + "description": "SAML specific configuration." + } + }, + "type": "object" + }, + "IdentityServiceAzureADConfig": { + "description": "Configuration for the AzureAD Auth flow.", + "id": "IdentityServiceAzureADConfig", + "properties": { + "clientId": { + "description": "ID for the registered client application that makes authentication requests to the Azure AD identity provider.", + "type": "string" + }, + "clientSecret": { + "description": "Input only. Unencrypted AzureAD client secret will be passed to the GKE Hub CLH.", + "type": "string" + }, + "encryptedClientSecret": { + "description": "Output only. Encrypted AzureAD client secret.", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "groupFormat": { + "description": "Optional. Format of the AzureAD groups that the client wants for auth.", + "type": "string" + }, + "kubectlRedirectUri": { + "description": "The redirect URL that kubectl uses for authorization.", + "type": "string" + }, + "tenant": { + "description": "Kind of Azure AD account to be authenticated. Supported values are or for accounts belonging to a specific tenant.", + "type": "string" + }, + "userClaim": { + "description": "Optional. Claim in the AzureAD ID Token that holds the user details.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceDiagnosticInterface": { + "description": "Configuration options for the AIS diagnostic interface.", + "id": "IdentityServiceDiagnosticInterface", + "properties": { + "enabled": { + "description": "Determines whether to enable the diagnostic interface.", + "type": "boolean" + }, + "expirationTime": { + "description": "Determines the expiration time of the diagnostic interface enablement. When reached, requests to the interface would be automatically rejected.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceGoogleConfig": { + "description": "Configuration for the Google Plugin Auth flow.", + "id": "IdentityServiceGoogleConfig", + "properties": { + "disable": { + "description": "Disable automatic configuration of Google Plugin on supported platforms.", + "type": "boolean" + } + }, + "type": "object" + }, + "IdentityServiceGroupConfig": { + "description": "Contains the properties for locating and authenticating groups in the directory.", + "id": "IdentityServiceGroupConfig", + "properties": { + "baseDn": { + "description": "Required. The location of the subtree in the LDAP directory to search for group entries.", + "type": "string" + }, + "filter": { + "description": "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)\".", + "type": "string" + }, + "idAttribute": { + "description": "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\".", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceIdentityServiceOptions": { + "description": "Holds non-protocol-related configuration options.", + "id": "IdentityServiceIdentityServiceOptions", + "properties": { + "diagnosticInterface": { + "$ref": "IdentityServiceDiagnosticInterface", + "description": "Configuration options for the AIS diagnostic interface." + }, + "sessionDuration": { + "description": "Determines the lifespan of STS tokens issued by Anthos Identity Service.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceLdapConfig": { + "description": "Configuration for the LDAP Auth flow.", + "id": "IdentityServiceLdapConfig", + "properties": { + "group": { + "$ref": "IdentityServiceGroupConfig", + "description": "Optional. Contains the properties for locating and authenticating groups in the directory." + }, + "server": { + "$ref": "IdentityServiceServerConfig", + "description": "Required. Server settings for the external LDAP server." + }, + "serviceAccount": { + "$ref": "IdentityServiceServiceAccountConfig", + "description": "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." + }, + "user": { + "$ref": "IdentityServiceUserConfig", + "description": "Required. Defines where users exist in the LDAP directory." + } + }, + "type": "object" + }, + "IdentityServiceOidcConfig": { + "description": "Configuration for OIDC Auth flow.", + "id": "IdentityServiceOidcConfig", + "properties": { + "certificateAuthorityData": { + "description": "PEM-encoded CA for OIDC provider.", + "type": "string" + }, + "clientId": { + "description": "ID for OIDC client application.", + "type": "string" + }, + "clientSecret": { + "description": "Input only. Unencrypted OIDC client secret will be passed to the GKE Hub CLH.", + "type": "string" + }, + "deployCloudConsoleProxy": { + "description": "Flag to denote if reverse proxy is used to connect to auth provider. This flag should be set to true when provider is not reachable by Google Cloud Console.", + "type": "boolean" + }, + "enableAccessToken": { + "description": "Enable access token.", + "type": "boolean" + }, + "encryptedClientSecret": { + "description": "Output only. Encrypted OIDC Client secret", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "extraParams": { + "description": "Comma-separated list of key-value pairs.", + "type": "string" + }, + "groupPrefix": { + "description": "Prefix to prepend to group name.", + "type": "string" + }, + "groupsClaim": { + "description": "Claim in OIDC ID token that holds group information.", + "type": "string" + }, + "issuerUri": { + "description": "URI for the OIDC provider. This should point to the level below .well-known/openid-configuration.", + "type": "string" + }, + "kubectlRedirectUri": { + "description": "Registered redirect uri to redirect users going through OAuth flow using kubectl plugin.", + "type": "string" + }, + "scopes": { + "description": "Comma-separated list of identifiers.", + "type": "string" + }, + "userClaim": { + "description": "Claim in OIDC ID token that holds username.", + "type": "string" + }, + "userPrefix": { + "description": "Prefix to prepend to user name.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceSamlConfig": { + "description": "Configuration for the SAML Auth flow.", + "id": "IdentityServiceSamlConfig", + "properties": { + "attributeMapping": { + "additionalProperties": { + "type": "string" + }, + "description": "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\".", + "type": "object" + }, + "groupPrefix": { + "description": "Optional. Prefix to prepend to group name.", + "type": "string" + }, + "groupsAttribute": { + "description": "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`).", + "type": "string" + }, + "identityProviderCertificates": { + "description": "Required. The list of IdP certificates to validate the SAML response against.", + "items": { + "type": "string" + }, + "type": "array" + }, + "identityProviderId": { + "description": "Required. The entity ID of the SAML IdP.", + "type": "string" + }, + "identityProviderSsoUri": { + "description": "Required. The URI where the SAML IdP exposes the SSO service.", + "type": "string" + }, + "userAttribute": { + "description": "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`).", + "type": "string" + }, + "userPrefix": { + "description": "Optional. Prefix to prepend to user name.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceServerConfig": { + "description": "Server settings for the external LDAP server.", + "id": "IdentityServiceServerConfig", + "properties": { + "certificateAuthorityData": { + "description": "Optional. Contains a Base64 encoded, PEM formatted certificate authority certificate for the LDAP server. This must be provided for the \"ldaps\" and \"startTLS\" connections.", + "format": "byte", + "type": "string" + }, + "connectionType": { + "description": "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.", + "type": "string" + }, + "host": { + "description": "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\".", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceServiceAccountConfig": { + "description": "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.", + "id": "IdentityServiceServiceAccountConfig", + "properties": { + "simpleBindCredentials": { + "$ref": "IdentityServiceSimpleBindCredentials", + "description": "Credentials for basic auth." + } + }, + "type": "object" + }, + "IdentityServiceSimpleBindCredentials": { + "description": "The structure holds the LDAP simple binding credential.", + "id": "IdentityServiceSimpleBindCredentials", + "properties": { + "dn": { + "description": "Required. The distinguished name(DN) of the service account object/user.", + "type": "string" + }, + "encryptedPassword": { + "description": "Output only. The encrypted password of the service account object/user.", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "password": { + "description": "Required. Input only. The password of the service account object/user.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceSpec": { + "description": "**IdentityService**: Configuration for a single membership.", + "id": "IdentityServiceSpec", + "properties": { + "authMethods": { + "description": "A member may support multiple auth methods.", + "items": { + "$ref": "IdentityServiceAuthMethod" + }, + "type": "array" + }, + "identityServiceOptions": { + "$ref": "IdentityServiceIdentityServiceOptions", + "description": "Optional. non-protocol-related configuration options." + } + }, + "type": "object" + }, + "IdentityServiceState": { + "description": "**IdentityService**: State for a single membership, analyzed and reported by feature controller.", + "id": "IdentityServiceState", + "properties": { + "failureReason": { + "description": "The reason of the failure.", + "type": "string" + }, + "installedVersion": { + "description": "Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK.", + "type": "string" + }, + "memberConfig": { + "$ref": "IdentityServiceSpec", + "description": "Last reconciled membership configuration" + }, + "state": { + "description": "Deployment state on this member", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "OK", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified state", + "deployment succeeds", + "Failure with error." + ], + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceUserConfig": { + "description": "Defines where users exist in the LDAP directory.", + "id": "IdentityServiceUserConfig", + "properties": { + "baseDn": { + "description": "Required. The location of the subtree in the LDAP directory to search for user entries.", + "type": "string" + }, + "filter": { + "description": "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)\".", + "type": "string" + }, + "idAttribute": { + "description": "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\".", + "type": "string" + }, + "loginAttribute": { + "description": "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\".", + "type": "string" + } + }, + "type": "object" + }, + "LifecycleState": { + "description": "LifecycleState describes the state of a MembershipFeature *resource* in the GkeHub API. See `FeatureState` for the \"running state\" of the MembershipFeature.", + "id": "LifecycleState", + "properties": { + "state": { + "description": "Output only. The current state of the Feature resource in the Hub API.", + "enum": [ + "STATE_UNSPECIFIED", + "ENABLING", + "ACTIVE", + "DISABLING", + "UPDATING", + "SERVICE_UPDATING" + ], + "enumDescriptions": [ + "State is unknown or not set.", + "The MembershipFeature is being enabled, and the MembershipFeature resource is being created. Once complete, the corresponding MembershipFeature will be enabled in this Hub.", + "The MembershipFeature is enabled in this Hub, and the MembershipFeature resource is fully available.", + "The MembershipFeature is being disabled in this Hub, and the MembershipFeature resource is being deleted.", + "The MembershipFeature resource is being updated.", + "The MembershipFeature resource is being updated by the Hub Service." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListMembershipFeaturesResponse": { + "description": "Response message for the `GkeHubFeature.ListMembershipFeatures` method.", + "id": "ListMembershipFeaturesResponse", + "properties": { + "membershipFeatures": { + "description": "The list of matching MembershipFeatures.", + "items": { + "$ref": "MembershipFeature" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to request the next page of resources from the `ListMembershipFeatures` method. The value of an empty string means that there are no more resources to return.", + "type": "string" + }, + "unreachable": { + "description": "List of locations that could not be reached while fetching this list.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents a Google Cloud location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given location.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "MembershipFeature": { + "description": "MembershipFeature represents the settings and status of a Fleet Feature enabled on a single Fleet Membership.", + "id": "MembershipFeature", + "properties": { + "createTime": { + "description": "Output only. When the MembershipFeature resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deleteTime": { + "description": "Output only. When the MembershipFeature resource was deleted.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "featureConfigRef": { + "$ref": "FeatureConfigRef", + "description": "Reference information for a FeatureConfig applied on the MembershipFeature." + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "GCP labels for this MembershipFeature.", + "type": "object" + }, + "lifecycleState": { + "$ref": "LifecycleState", + "description": "Output only. Lifecycle information of the resource itself.", + "readOnly": true + }, + "name": { + "description": "Output only. The resource name of the membershipFeature, in the format: `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers)", + "readOnly": true, + "type": "string" + }, + "spec": { + "$ref": "FeatureSpec", + "description": "Spec of this membershipFeature." + }, + "state": { + "$ref": "FeatureState", + "description": "Output only. State of the this membershipFeature.", + "readOnly": true + }, + "updateTime": { + "description": "Output only. When the MembershipFeature resource was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "MeteringState": { + "description": "**Metering**: State for a single membership, analyzed and reported by feature controller.", + "id": "MeteringState", + "properties": { + "lastMeasurementTime": { + "description": "The time stamp of the most recent measurement of the number of vCPUs in the cluster.", + "format": "google-datetime", + "type": "string" + }, + "preciseLastMeasuredClusterVcpuCapacity": { + "description": "The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision).", + "format": "float", + "type": "number" + } + }, + "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": "GoogleRpcStatus", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Metadata of the long-running operation.", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "cancelRequested": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "statusDetail": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Origin": { + "description": "Origin defines where this FeatureSpec originated from.", + "id": "Origin", + "properties": { + "type": { + "description": "Type specifies which type of origin is set.", + "enum": [ + "TYPE_UNSPECIFIED", + "FLEET", + "FLEET_OUT_OF_SYNC", + "USER" + ], + "enumDescriptions": [ + "Type is unknown or not set.", + "Per-Feature spec was inherited from the fleet-level default.", + "Per-Feature spec was inherited from the fleet-level default but is now out of sync with the current default.", + "Per-Feature spec was inherited from a user specification." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerBundleInstallSpec": { + "description": "BundleInstallSpec is the specification configuration for a single managed bundle.", + "id": "PolicyControllerBundleInstallSpec", + "properties": { + "exemptedNamespaces": { + "description": "the set of namespaces to be exempted from the bundle", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "PolicyControllerHubConfig": { + "description": "Configuration for Policy Controller", + "id": "PolicyControllerHubConfig", + "properties": { + "auditIntervalSeconds": { + "description": "Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.", + "format": "int64", + "type": "string" + }, + "constraintViolationLimit": { + "description": "The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used.", + "format": "int64", + "type": "string" + }, + "deploymentConfigs": { + "additionalProperties": { + "$ref": "PolicyControllerPolicyControllerDeploymentConfig" + }, + "description": "Map of deployment configs to deployments (\u201cadmission\u201d, \u201caudit\u201d, \u201cmutation\u201d).", + "type": "object" + }, + "exemptableNamespaces": { + "description": "The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.", + "items": { + "type": "string" + }, + "type": "array" + }, + "installSpec": { + "description": "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.", + "enum": [ + "INSTALL_SPEC_UNSPECIFIED", + "INSTALL_SPEC_NOT_INSTALLED", + "INSTALL_SPEC_ENABLED", + "INSTALL_SPEC_SUSPENDED", + "INSTALL_SPEC_DETACHED" + ], + "enumDescriptions": [ + "Spec is unknown.", + "Request to uninstall Policy Controller.", + "Request to install and enable Policy Controller.", + "Request to suspend Policy Controller i.e. its webhooks. If Policy Controller is not installed, it will be installed but suspended.", + "Request to stop all reconciliation actions by PoCo Hub controller. This is a breakglass mechanism to stop PoCo Hub from affecting cluster resources." + ], + "type": "string" + }, + "logDeniesEnabled": { + "description": "Logs all denies and dry run failures.", + "type": "boolean" + }, + "monitoring": { + "$ref": "PolicyControllerMonitoringConfig", + "description": "Monitoring specifies the configuration of monitoring." + }, + "mutationEnabled": { + "description": "Enables the ability to mutate resources using Policy Controller.", + "type": "boolean" + }, + "policyContent": { + "$ref": "PolicyControllerPolicyContentSpec", + "description": "Specifies the desired policy content on the cluster" + }, + "referentialRulesEnabled": { + "description": "Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.", + "type": "boolean" + } + }, + "type": "object" + }, + "PolicyControllerMonitoringConfig": { + "description": "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\"]", + "id": "PolicyControllerMonitoringConfig", + "properties": { + "backends": { + "description": "Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export.", + "items": { + "enum": [ + "MONITORING_BACKEND_UNSPECIFIED", + "PROMETHEUS", + "CLOUD_MONITORING" + ], + "enumDescriptions": [ + "Backend cannot be determined", + "Prometheus backend for monitoring", + "Stackdriver/Cloud Monitoring backend for monitoring" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "PolicyControllerOnClusterState": { + "description": "OnClusterState represents the state of a sub-component of Policy Controller.", + "id": "PolicyControllerOnClusterState", + "properties": { + "details": { + "description": "Surface potential errors or information logs.", + "type": "string" + }, + "state": { + "description": "The lifecycle state of this component.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLING", + "ACTIVE", + "UPDATING", + "DECOMMISSIONING", + "CLUSTER_ERROR", + "HUB_ERROR", + "SUSPENDED", + "DETACHED" + ], + "enumDescriptions": [ + "The lifecycle state is unspecified.", + "The PC does not exist on the given cluster, and no k8s resources of any type that are associated with the PC should exist there. The cluster does not possess a membership with the PCH.", + "The PCH possesses a Membership, however the PC is not fully installed on the cluster. In this state the hub can be expected to be taking actions to install the PC on the cluster.", + "The PC is fully installed on the cluster and in an operational mode. In this state PCH will be reconciling state with the PC, and the PC will be performing it's operational tasks per that software. Entering a READY state requires that the hub has confirmed the PC is installed and its pods are operational with the version of the PC the PCH expects.", + "The PC is fully installed, but in the process of changing the configuration (including changing the version of PC either up and down, or modifying the manifests of PC) of the resources running on the cluster. The PCH has a Membership, is aware of the version the cluster should be running in, but has not confirmed for itself that the PC is running with that version.", + "The PC may have resources on the cluster, but the PCH wishes to remove the Membership. The Membership still exists.", + "The PC is not operational, and the PCH is unable to act to make it operational. Entering a CLUSTER_ERROR state happens automatically when the PCH determines that a PC installed on the cluster is non-operative or that the cluster does not meet requirements set for the PCH to administer the cluster but has nevertheless been given an instruction to do so (such as \u2018install').", + "In this state, the PC may still be operational, and only the PCH is unable to act. The hub should not issue instructions to change the PC state, or otherwise interfere with the on-cluster resources. Entering a HUB_ERROR state happens automatically when the PCH determines the hub is in an unhealthy state and it wishes to \u2018take hands off' to avoid corrupting the PC or other data.", + "Policy Controller (PC) is installed but suspended. This means that the policies are not enforced, but violations are still recorded (through audit).", + "PoCo Hub is not taking any action to reconcile cluster objects. Changes to those objects will not be overwritten by PoCo Hub." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerPolicyContentSpec": { + "description": "PolicyContentSpec defines the user's desired content configuration on the cluster.", + "id": "PolicyControllerPolicyContentSpec", + "properties": { + "bundles": { + "additionalProperties": { + "$ref": "PolicyControllerBundleInstallSpec" + }, + "description": "map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint.", + "type": "object" + }, + "templateLibrary": { + "$ref": "PolicyControllerTemplateLibraryConfig", + "description": "Configures the installation of the Template Library." + } + }, + "type": "object" + }, + "PolicyControllerPolicyContentState": { + "description": "The state of the policy controller policy content", + "id": "PolicyControllerPolicyContentState", + "properties": { + "bundleStates": { + "additionalProperties": { + "$ref": "PolicyControllerOnClusterState" + }, + "description": "The state of the any bundles included in the chosen version of the manifest", + "type": "object" + }, + "referentialSyncConfigState": { + "$ref": "PolicyControllerOnClusterState", + "description": "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." + }, + "templateLibraryState": { + "$ref": "PolicyControllerOnClusterState", + "description": "The state of the template library" + } + }, + "type": "object" + }, + "PolicyControllerPolicyControllerDeploymentConfig": { + "description": "Deployment-specific configuration.", + "id": "PolicyControllerPolicyControllerDeploymentConfig", + "properties": { + "containerResources": { + "$ref": "PolicyControllerResourceRequirements", + "description": "Container resource requirements." + }, + "podAffinity": { + "description": "Pod affinity configuration.", + "enum": [ + "AFFINITY_UNSPECIFIED", + "NO_AFFINITY", + "ANTI_AFFINITY" + ], + "enumDescriptions": [ + "No affinity configuration has been specified.", + "Affinity configurations will be removed from the deployment.", + "Anti-affinity configuration will be applied to this deployment. Default for admissions deployment." + ], + "type": "string" + }, + "podAntiAffinity": { + "deprecated": true, + "description": "Pod anti-affinity enablement. Deprecated: use `pod_affinity` instead.", + "type": "boolean" + }, + "podTolerations": { + "description": "Pod tolerations of node taints.", + "items": { + "$ref": "PolicyControllerToleration" + }, + "type": "array" + }, + "replicaCount": { + "description": "Pod replica count.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerResourceList": { + "description": "ResourceList contains container resource requirements.", + "id": "PolicyControllerResourceList", + "properties": { + "cpu": { + "description": "CPU requirement expressed in Kubernetes resource units.", + "type": "string" + }, + "memory": { + "description": "Memory requirement expressed in Kubernetes resource units.", + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerResourceRequirements": { + "description": "ResourceRequirements describes the compute resource requirements.", + "id": "PolicyControllerResourceRequirements", + "properties": { + "limits": { + "$ref": "PolicyControllerResourceList", + "description": "Limits describes the maximum amount of compute resources allowed for use by the running container." + }, + "requests": { + "$ref": "PolicyControllerResourceList", + "description": "Requests describes the amount of compute resources reserved for the container by the kube-scheduler." + } + }, + "type": "object" + }, + "PolicyControllerSpec": { + "description": "**Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR.", + "id": "PolicyControllerSpec", + "properties": { + "policyControllerHubConfig": { + "$ref": "PolicyControllerHubConfig", + "description": "Policy Controller configuration for the cluster." + }, + "version": { + "description": "Version of Policy Controller installed.", + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerState": { + "description": "**Policy Controller**: State for a single cluster.", + "id": "PolicyControllerState", + "properties": { + "componentStates": { + "additionalProperties": { + "$ref": "PolicyControllerOnClusterState" + }, + "description": "Currently these include (also serving as map keys): 1. \"admission\" 2. \"audit\" 3. \"mutation\"", + "type": "object" + }, + "policyContentState": { + "$ref": "PolicyControllerPolicyContentState", + "description": "The overall content state observed by the Hub Feature controller." + }, + "state": { + "description": "The overall Policy Controller lifecycle state observed by the Hub Feature controller.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLING", + "ACTIVE", + "UPDATING", + "DECOMMISSIONING", + "CLUSTER_ERROR", + "HUB_ERROR", + "SUSPENDED", + "DETACHED" + ], + "enumDescriptions": [ + "The lifecycle state is unspecified.", + "The PC does not exist on the given cluster, and no k8s resources of any type that are associated with the PC should exist there. The cluster does not possess a membership with the PCH.", + "The PCH possesses a Membership, however the PC is not fully installed on the cluster. In this state the hub can be expected to be taking actions to install the PC on the cluster.", + "The PC is fully installed on the cluster and in an operational mode. In this state PCH will be reconciling state with the PC, and the PC will be performing it's operational tasks per that software. Entering a READY state requires that the hub has confirmed the PC is installed and its pods are operational with the version of the PC the PCH expects.", + "The PC is fully installed, but in the process of changing the configuration (including changing the version of PC either up and down, or modifying the manifests of PC) of the resources running on the cluster. The PCH has a Membership, is aware of the version the cluster should be running in, but has not confirmed for itself that the PC is running with that version.", + "The PC may have resources on the cluster, but the PCH wishes to remove the Membership. The Membership still exists.", + "The PC is not operational, and the PCH is unable to act to make it operational. Entering a CLUSTER_ERROR state happens automatically when the PCH determines that a PC installed on the cluster is non-operative or that the cluster does not meet requirements set for the PCH to administer the cluster but has nevertheless been given an instruction to do so (such as \u2018install').", + "In this state, the PC may still be operational, and only the PCH is unable to act. The hub should not issue instructions to change the PC state, or otherwise interfere with the on-cluster resources. Entering a HUB_ERROR state happens automatically when the PCH determines the hub is in an unhealthy state and it wishes to \u2018take hands off' to avoid corrupting the PC or other data.", + "Policy Controller (PC) is installed but suspended. This means that the policies are not enforced, but violations are still recorded (through audit).", + "PoCo Hub is not taking any action to reconcile cluster objects. Changes to those objects will not be overwritten by PoCo Hub." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerTemplateLibraryConfig": { + "description": "The config specifying which default library templates to install.", + "id": "PolicyControllerTemplateLibraryConfig", + "properties": { + "installation": { + "description": "Configures the manner in which the template library is installed on the cluster.", + "enum": [ + "INSTALLATION_UNSPECIFIED", + "NOT_INSTALLED", + "ALL" + ], + "enumDescriptions": [ + "No installation strategy has been specified.", + "Do not install the template library.", + "Install the entire template library." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerToleration": { + "description": "Toleration of a node taint.", + "id": "PolicyControllerToleration", + "properties": { + "effect": { + "description": "Matches a taint effect.", + "type": "string" + }, + "key": { + "description": "Matches a taint key (not necessarily unique).", + "type": "string" + }, + "operator": { + "description": "Matches a taint operator.", + "type": "string" + }, + "value": { + "description": "Matches a taint value.", + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshAnalysisMessage": { + "description": "AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration.", + "id": "ServiceMeshAnalysisMessage", + "properties": { + "args": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "A UI can combine these args with a template (based on message_base.type) to produce an internationalized message.", + "type": "object" + }, + "description": { + "description": "A human readable description of what the error means. It is suitable for non-internationalize display purposes.", + "type": "string" + }, + "messageBase": { + "$ref": "ServiceMeshAnalysisMessageBase", + "description": "Details common to all types of Istio and ServiceMesh analysis messages." + }, + "resourcePaths": { + "description": "A list of strings specifying the resource identifiers that were the cause of message generation. A \"path\" here may be: * MEMBERSHIP_ID if the cause is a specific member cluster * MEMBERSHIP_ID/(NAMESPACE\\/)?RESOURCETYPE/NAME if the cause is a resource in a cluster", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ServiceMeshAnalysisMessageBase": { + "description": "AnalysisMessageBase describes some common information that is needed for all messages.", + "id": "ServiceMeshAnalysisMessageBase", + "properties": { + "documentationUrl": { + "description": "A url pointing to the Service Mesh or Istio documentation for this specific error type.", + "type": "string" + }, + "level": { + "description": "Represents how severe a message is.", + "enum": [ + "LEVEL_UNSPECIFIED", + "ERROR", + "WARNING", + "INFO" + ], + "enumDescriptions": [ + "Illegal. Same istio.analysis.v1alpha1.AnalysisMessageBase.Level.UNKNOWN.", + "ERROR represents a misconfiguration that must be fixed.", + "WARNING represents a misconfiguration that should be fixed.", + "INFO represents an informational finding." + ], + "type": "string" + }, + "type": { + "$ref": "ServiceMeshType", + "description": "Represents the specific type of a message." + } + }, + "type": "object" + }, + "ServiceMeshCondition": { + "description": "Condition being reported.", + "id": "ServiceMeshCondition", + "properties": { + "code": { + "description": "Unique identifier of the condition which describes the condition recognizable to the user.", + "enum": [ + "CODE_UNSPECIFIED", + "MESH_IAM_PERMISSION_DENIED", + "MESH_IAM_CROSS_PROJECT_PERMISSION_DENIED", + "CNI_CONFIG_UNSUPPORTED", + "GKE_SANDBOX_UNSUPPORTED", + "NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED", + "CNI_INSTALLATION_FAILED", + "CNI_POD_UNSCHEDULABLE", + "CLUSTER_HAS_ZERO_NODES", + "UNSUPPORTED_MULTIPLE_CONTROL_PLANES", + "VPCSC_GA_SUPPORTED", + "DEPRECATED_SPEC_CONTROL_PLANE_MANAGEMENT", + "DEPRECATED_SPEC_CONTROL_PLANE_MANAGEMENT_SAFE", + "CONFIG_APPLY_INTERNAL_ERROR", + "CONFIG_VALIDATION_ERROR", + "CONFIG_VALIDATION_WARNING", + "QUOTA_EXCEEDED_BACKEND_SERVICES", + "QUOTA_EXCEEDED_HEALTH_CHECKS", + "QUOTA_EXCEEDED_HTTP_ROUTES", + "QUOTA_EXCEEDED_TCP_ROUTES", + "QUOTA_EXCEEDED_TLS_ROUTES", + "QUOTA_EXCEEDED_TRAFFIC_POLICIES", + "QUOTA_EXCEEDED_ENDPOINT_POLICIES", + "QUOTA_EXCEEDED_GATEWAYS", + "QUOTA_EXCEEDED_MESHES", + "QUOTA_EXCEEDED_SERVER_TLS_POLICIES", + "QUOTA_EXCEEDED_CLIENT_TLS_POLICIES", + "QUOTA_EXCEEDED_SERVICE_LB_POLICIES", + "QUOTA_EXCEEDED_HTTP_FILTERS", + "QUOTA_EXCEEDED_TCP_FILTERS", + "QUOTA_EXCEEDED_NETWORK_ENDPOINT_GROUPS", + "MODERNIZATION_SCHEDULED", + "MODERNIZATION_IN_PROGRESS", + "MODERNIZATION_COMPLETED", + "MODERNIZATION_ABORTED" + ], + "enumDescriptions": [ + "Default Unspecified code", + "Mesh IAM permission denied error code", + "Permission denied error code for cross-project", + "CNI config unsupported error code", + "GKE sandbox unsupported error code", + "Nodepool workload identity federation required error code", + "CNI installation failed error code", + "CNI pod unschedulable error code", + "Cluster has zero node code", + "Multiple control planes unsupported error code", + "VPC-SC GA is supported for this control plane.", + "User is using deprecated ControlPlaneManagement and they have not yet set Management.", + "User is using deprecated ControlPlaneManagement and they have already set Management.", + "Configuration (Istio/k8s resources) failed to apply due to internal error.", + "Configuration failed to be applied due to being invalid.", + "Encountered configuration(s) with possible unintended behavior or invalid configuration. These configs may not have been applied.", + "BackendService quota exceeded error code.", + "HealthCheck quota exceeded error code.", + "HTTPRoute quota exceeded error code.", + "TCPRoute quota exceeded error code.", + "TLS routes quota exceeded error code.", + "TrafficPolicy quota exceeded error code.", + "EndpointPolicy quota exceeded error code.", + "Gateway quota exceeded error code.", + "Mesh quota exceeded error code.", + "ServerTLSPolicy quota exceeded error code.", + "ClientTLSPolicy quota exceeded error code.", + "ServiceLBPolicy quota exceeded error code.", + "HTTPFilter quota exceeded error code.", + "TCPFilter quota exceeded error code.", + "NetworkEndpointGroup quota exceeded error code.", + "Modernization is scheduled for a cluster.", + "Modernization is in progress for a cluster.", + "Modernization is completed for a cluster.", + "Modernization is aborted for a cluster." + ], + "type": "string" + }, + "details": { + "description": "A short summary about the issue.", + "type": "string" + }, + "documentationLink": { + "description": "Links contains actionable information.", + "type": "string" + }, + "severity": { + "description": "Severity level of the condition.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "ERROR", + "WARNING", + "INFO" + ], + "enumDescriptions": [ + "Unspecified severity", + "Indicates an issue that prevents the mesh from operating correctly", + "Indicates a setting is likely wrong, but the mesh is still able to operate", + "An informational message, not requiring any action" + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshControlPlaneManagement": { + "description": "Status of control plane management.", + "id": "ServiceMeshControlPlaneManagement", + "properties": { + "details": { + "description": "Explanation of state.", + "items": { + "$ref": "ServiceMeshStatusDetails" + }, + "type": "array" + }, + "implementation": { + "description": "Output only. Implementation of managed control plane.", + "enum": [ + "IMPLEMENTATION_UNSPECIFIED", + "ISTIOD", + "TRAFFIC_DIRECTOR", + "UPDATING" + ], + "enumDescriptions": [ + "Unspecified", + "A Google build of istiod is used for the managed control plane.", + "Traffic director is used for the managed control plane.", + "The control plane implementation is being updated." + ], + "readOnly": true, + "type": "string" + }, + "state": { + "description": "LifecycleState of control plane management.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "DISABLED", + "FAILED_PRECONDITION", + "PROVISIONING", + "ACTIVE", + "STALLED", + "NEEDS_ATTENTION", + "DEGRADED" + ], + "enumDescriptions": [ + "Unspecified", + "DISABLED means that the component is not enabled.", + "FAILED_PRECONDITION means that provisioning cannot proceed because of some characteristic of the member cluster.", + "PROVISIONING means that provisioning is in progress.", + "ACTIVE means that the component is ready for use.", + "STALLED means that provisioning could not be done.", + "NEEDS_ATTENTION means that the component is ready, but some user intervention is required. (For example that the user should migrate workloads to a new control plane revision.)", + "DEGRADED means that the component is ready, but operating in a degraded state." + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshDataPlaneManagement": { + "description": "Status of data plane management. Only reported per-member.", + "id": "ServiceMeshDataPlaneManagement", + "properties": { + "details": { + "description": "Explanation of the status.", + "items": { + "$ref": "ServiceMeshStatusDetails" + }, + "type": "array" + }, + "state": { + "description": "Lifecycle status of data plane management.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "DISABLED", + "FAILED_PRECONDITION", + "PROVISIONING", + "ACTIVE", + "STALLED", + "NEEDS_ATTENTION", + "DEGRADED" + ], + "enumDescriptions": [ + "Unspecified", + "DISABLED means that the component is not enabled.", + "FAILED_PRECONDITION means that provisioning cannot proceed because of some characteristic of the member cluster.", + "PROVISIONING means that provisioning is in progress.", + "ACTIVE means that the component is ready for use.", + "STALLED means that provisioning could not be done.", + "NEEDS_ATTENTION means that the component is ready, but some user intervention is required. (For example that the user should migrate workloads to a new control plane revision.)", + "DEGRADED means that the component is ready, but operating in a degraded state." + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshSpec": { + "description": "**Service Mesh**: Spec for a single Membership for the servicemesh feature", + "id": "ServiceMeshSpec", + "properties": { + "configApi": { + "description": "Optional. Specifies the API that will be used for configuring the mesh workloads.", + "enum": [ + "CONFIG_API_UNSPECIFIED", + "CONFIG_API_ISTIO", + "CONFIG_API_GATEWAY" + ], + "enumDescriptions": [ + "Unspecified", + "Use the Istio API for configuration.", + "Use the K8s Gateway API for configuration." + ], + "type": "string" + }, + "controlPlane": { + "deprecated": true, + "description": "Deprecated: use `management` instead Enables automatic control plane management.", + "enum": [ + "CONTROL_PLANE_MANAGEMENT_UNSPECIFIED", + "AUTOMATIC", + "MANUAL" + ], + "enumDescriptions": [ + "Unspecified", + "Google should provision a control plane revision and make it available in the cluster. Google will enroll this revision in a release channel and keep it up to date. The control plane revision may be a managed service, or a managed install.", + "User will manually configure the control plane (e.g. via CLI, or via the ControlPlaneRevision KRM API)" + ], + "type": "string" + }, + "defaultChannel": { + "deprecated": true, + "description": "Determines which release channel to use for default injection and service mesh APIs.", + "enum": [ + "CHANNEL_UNSPECIFIED", + "RAPID", + "REGULAR", + "STABLE" + ], + "enumDescriptions": [ + "Unspecified", + "RAPID channel is offered on an early access basis for customers who want to test new releases.", + "REGULAR channel is intended for production users who want to take advantage of new features.", + "STABLE channel includes versions that are known to be stable and reliable in production." + ], + "type": "string" + }, + "management": { + "description": "Optional. Enables automatic Service Mesh management.", + "enum": [ + "MANAGEMENT_UNSPECIFIED", + "MANAGEMENT_AUTOMATIC", + "MANAGEMENT_MANUAL" + ], + "enumDescriptions": [ + "Unspecified", + "Google should manage my Service Mesh for the cluster.", + "User will manually configure their service mesh components." + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshState": { + "description": "**Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller.", + "id": "ServiceMeshState", + "properties": { + "analysisMessages": { + "description": "Output only. Results of running Service Mesh analyzers.", + "items": { + "$ref": "ServiceMeshAnalysisMessage" + }, + "readOnly": true, + "type": "array" + }, + "conditions": { + "description": "Output only. List of conditions reported for this membership.", + "items": { + "$ref": "ServiceMeshCondition" + }, + "readOnly": true, + "type": "array" + }, + "configApiVersion": { + "description": "The API version (i.e. Istio CRD version) for configuring service mesh in this cluster. This version is influenced by the `default_channel` field.", + "type": "string" + }, + "controlPlaneManagement": { + "$ref": "ServiceMeshControlPlaneManagement", + "description": "Output only. Status of control plane management", + "readOnly": true + }, + "dataPlaneManagement": { + "$ref": "ServiceMeshDataPlaneManagement", + "description": "Output only. Status of data plane management.", + "readOnly": true + } + }, + "type": "object" + }, + "ServiceMeshStatusDetails": { + "description": "Structured and human-readable details for a status.", + "id": "ServiceMeshStatusDetails", + "properties": { + "code": { + "description": "A machine-readable code that further describes a broad status.", + "type": "string" + }, + "details": { + "description": "Human-readable explanation of code.", + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshType": { + "description": "A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type", + "id": "ServiceMeshType", + "properties": { + "code": { + "description": "A 7 character code matching `^IST[0-9]{4}$` or `^ASM[0-9]{4}$`, intended to uniquely identify the message type. (e.g. \"IST0001\" is mapped to the \"InternalError\" message type.)", + "type": "string" + }, + "displayName": { + "description": "A human-readable name for the message type. e.g. \"InternalError\", \"PodMissingProxy\". This should be the same for all messages of the same type. (This corresponds to the `name` field in open-source Istio.)", + "type": "string" + } + }, + "type": "object" + }, + "State": { + "description": "High-level state of a MembershipFeature.", + "id": "State", + "properties": { + "code": { + "description": "The high-level, machine-readable status of this MembershipFeature.", + "enum": [ + "CODE_UNSPECIFIED", + "OK", + "WARNING", + "ERROR" + ], + "enumDescriptions": [ + "Unknown or not set.", + "The MembershipFeature is operating normally.", + "The MembershipFeature has encountered an issue, and is operating in a degraded state. The MembershipFeature may need intervention to return to normal operation. See the description and any associated MembershipFeature-specific details for more information.", + "The MembershipFeature is not operating or is in a severely degraded state. The MembershipFeature may need intervention to return to normal operation. See the description and any associated MembershipFeature-specific details for more information." + ], + "type": "string" + }, + "description": { + "description": "A human-readable description of the current status.", + "type": "string" + }, + "updateTime": { + "description": "The time this status and any related Feature-specific details were updated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "WorkloadCertificateSpec": { + "description": "**WorkloadCertificate**: The membership-specific input for WorkloadCertificate feature.", + "id": "WorkloadCertificateSpec", + "properties": { + "certificateManagement": { + "description": "CertificateManagement specifies workload certificate management.", + "enum": [ + "CERTIFICATE_MANAGEMENT_UNSPECIFIED", + "DISABLED", + "ENABLED" + ], + "enumDescriptions": [ + "Disable workload certificate feature.", + "Disable workload certificate feature.", + "Enable workload certificate feature." + ], + "type": "string" } }, "type": "object" diff --git a/Src/Generated/Google.Apis.GKEHub.v2/Google.Apis.GKEHub.v2.cs b/Src/Generated/Google.Apis.GKEHub.v2/Google.Apis.GKEHub.v2.cs index 8f1a993814..fa0dee90a3 100644 --- a/Src/Generated/Google.Apis.GKEHub.v2/Google.Apis.GKEHub.v2.cs +++ b/Src/Generated/Google.Apis.GKEHub.v2/Google.Apis.GKEHub.v2.cs @@ -292,9 +292,465 @@ public class LocationsResource public LocationsResource(Google.Apis.Services.IClientService service) { this.service = service; + Memberships = new MembershipsResource(service); Operations = new OperationsResource(service); } + /// Gets the Memberships resource. + public virtual MembershipsResource Memberships { get; } + + /// The "memberships" collection of methods. + public class MembershipsResource + { + private const string Resource = "memberships"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public MembershipsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + Features = new FeaturesResource(service); + } + + /// Gets the Features resource. + public virtual FeaturesResource Features { get; } + + /// The "features" collection of methods. + public class FeaturesResource + { + private const string Resource = "features"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public FeaturesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Creates membershipFeature under a given parent. + /// The body of the request. + /// + /// Required. The name of parent where the MembershipFeature will be created. Specified in the + /// format `projects/*/locations/*/memberships/*`. + /// + public virtual CreateRequest Create(Google.Apis.GKEHub.v2.Data.MembershipFeature body, string parent) + { + return new CreateRequest(this.service, body, parent); + } + + /// Creates membershipFeature under a given parent. + public class CreateRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v2.Data.MembershipFeature body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// + /// Required. The name of parent where the MembershipFeature will be created. Specified in the + /// format `projects/*/locations/*/memberships/*`. + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// Required. The ID of the membership_feature to create. + [Google.Apis.Util.RequestParameterAttribute("featureId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string FeatureId { get; set; } + + /// Idempotent request UUID. + [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.GKEHub.v2.Data.MembershipFeature 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 => "v2/{+parent}/features"; + + /// 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/[^/]+/memberships/[^/]+$", + }); + RequestParameters.Add("featureId", new Google.Apis.Discovery.Parameter + { + Name = "featureId", + 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, + }); + } + } + + /// Removes a membershipFeature. + /// + /// Required. The name of the membershipFeature to be deleted. Specified in the format + /// `projects/*/locations/*/memberships/*/features/*`. + /// + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// Removes a membershipFeature. + 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 name of the membershipFeature to be deleted. Specified in the format + /// `projects/*/locations/*/memberships/*/features/*`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Idempotent request UUID. + [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 => "v2/{+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/[^/]+/memberships/[^/]+/features/[^/]+$", + }); + RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter + { + Name = "requestId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// ========= MembershipFeature Services ========= Gets details of a membershipFeature. + /// + /// + /// Required. The MembershipFeature resource name in the format + /// `projects/*/locations/*/memberships/*/features/*`. + /// + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// + /// ========= MembershipFeature Services ========= Gets details of a membershipFeature. + /// + 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 MembershipFeature resource name in the format + /// `projects/*/locations/*/memberships/*/features/*`. + /// + [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 => "v2/{+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/[^/]+/memberships/[^/]+/features/[^/]+$", + }); + } + } + + /// Lists MembershipFeatures in a given project and location. + /// + /// Required. The parent where the MembershipFeature will be listed. In the format: + /// `projects/*/locations/*/memberships/*`. + /// + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Lists MembershipFeatures in a given project and location. + 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 where the MembershipFeature will be listed. In the format: + /// `projects/*/locations/*/memberships/*`. + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Lists MembershipFeatures that match the filter expression, following the syntax outlined in + /// https://google.aip.dev/160. Examples: - Feature with the name "helloworld" in project + /// "foo-proj" and membership "member-bar": name = + /// "projects/foo-proj/locations/global/memberships/member-bar/features/helloworld" - Features + /// that have a label called `foo`: labels.foo:* - Features that have a label called `foo` whose + /// value is `bar`: labels.foo = bar + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// One or more fields to compare and use to sort the output. See + /// https://google.aip.dev/132#ordering. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// 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; } + + /// + /// 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; } + + /// 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 => "v2/{+parent}/features"; + + /// 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/[^/]+/memberships/[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + 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 an existing MembershipFeature. + /// The body of the request. + /// + /// Output only. The resource name of the membershipFeature, in the format: + /// `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that + /// `membershipFeatures` is shortened to `features` in the resource name. (see + /// http://go/aip/122#collection-identifiers) + /// + public virtual PatchRequest Patch(Google.Apis.GKEHub.v2.Data.MembershipFeature body, string name) + { + return new PatchRequest(this.service, body, name); + } + + /// Updates an existing MembershipFeature. + public class PatchRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v2.Data.MembershipFeature body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Output only. The resource name of the membershipFeature, in the format: + /// `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note + /// that `membershipFeatures` is shortened to `features` in the resource name. (see + /// http://go/aip/122#collection-identifiers) + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Optional. If set to true, and the MembershipFeature is not found, a new MembershipFeature + /// will be created. In this situation, `update_mask` is ignored. + /// + [Google.Apis.Util.RequestParameterAttribute("allowMissing", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AllowMissing { get; set; } + + /// Idempotent request UUID. + [Google.Apis.Util.RequestParameterAttribute("requestId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string RequestId { get; set; } + + /// Required. Mask 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.v2.Data.MembershipFeature 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 => "v2/{+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/[^/]+/memberships/[^/]+/features/[^/]+$", + }); + RequestParameters.Add("allowMissing", new Google.Apis.Discovery.Parameter + { + Name = "allowMissing", + 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, + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + } + /// Gets the Operations resource. public virtual OperationsResource Operations { get; } @@ -656,6 +1112,32 @@ protected override void InitParameters() } namespace Google.Apis.GKEHub.v2.Data { + /// State for App Dev Exp Feature. + public class AppDevExperienceState : Google.Apis.Requests.IDirectResponseSchema + { + /// Status of subcomponent that detects configured Service Mesh resources. + [Newtonsoft.Json.JsonPropertyAttribute("networkingInstallSucceeded")] + public virtual AppDevExperienceStatus NetworkingInstallSucceeded { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Status specifies state for the subcomponent. + public class AppDevExperienceStatus : Google.Apis.Requests.IDirectResponseSchema + { + /// Code specifies AppDevExperienceFeature's subcomponent ready state. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } + + /// Description is populated if Code is Failed, explaining why it has failed. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { 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 { @@ -663,146 +1145,2658 @@ public class CancelOperationRequest : Google.Apis.Requests.IDirectResponseSchema 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 + /// **Cloud Build**: Configurations for each Cloud Build enabled cluster. + public class CloudBuildSpec : 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; } + } + + /// 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". + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Version of the upgrade, e.g., "1.22.1-gke.100". + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual string Version { 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). + /// 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 GoogleRpcStatus : Google.Apis.Requests.IDirectResponseSchema + public class ClusterUpgradeIgnoredMembership : 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; } + private string _ignoredTimeRaw; - /// - /// 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; } + private object _ignoredTime; - /// - /// 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; } + /// 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; + } + } + + /// 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; } } - /// The response message for Locations.ListLocations. - public class ListLocationsResponse : Google.Apis.Requests.IDirectResponseSchema + /// MembershipGKEUpgradeState is a GKEUpgrade and its state per-membership. + public class ClusterUpgradeMembershipGKEUpgradeState : 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; } + /// Status of the upgrade. + [Newtonsoft.Json.JsonPropertyAttribute("status")] + public virtual ClusterUpgradeUpgradeStatus Status { get; set; } - /// The standard List next-page token. - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { 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; } } - /// The response message for Operations.ListOperations. - public class ListOperationsResponse : Google.Apis.Requests.IDirectResponseSchema + /// Per-membership state for this feature. + public class ClusterUpgradeState : Google.Apis.Requests.IDirectResponseSchema { - /// The standard List next-page token. - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { 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; } - /// 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; } + /// 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; } } - /// A resource that represents a Google Cloud location. - public class Location : Google.Apis.Requests.IDirectResponseSchema + /// UpgradeStatus provides status information for each upgrade. + public class ClusterUpgradeUpgradeStatus : 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; } + /// Status code of the upgrade. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { 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; } + /// Reason for this status. + [Newtonsoft.Json.JsonPropertyAttribute("reason")] + public virtual string Reason { get; set; } - /// The canonical id for this location. For example: `"us-east1"`. - [Newtonsoft.Json.JsonPropertyAttribute("locationId")] - public virtual string LocationId { get; set; } + private string _updateTimeRaw; - /// 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; } + private object _updateTime; - /// - /// 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; } + /// 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; } } - /// This resource represents a long-running operation that is the result of a network API call. - public class Operation : Google.Apis.Requests.IDirectResponseSchema + /// Configuration for Binauthz. + public class ConfigManagementBinauthzConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// 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; } + } + + /// State for Binauthz. + public class ConfigManagementBinauthzState : Google.Apis.Requests.IDirectResponseSchema + { + /// The version of binauthz that is installed. + [Newtonsoft.Json.JsonPropertyAttribute("version")] + 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; } + } + + /// The version of binauthz. + public class ConfigManagementBinauthzVersion : Google.Apis.Requests.IDirectResponseSchema + { + /// 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; } + } + + /// Configuration for Config Sync + public class ConfigManagementConfigSync : 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. + /// Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is + /// deprecated. /// - [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; } + [Newtonsoft.Json.JsonPropertyAttribute("allowVerticalScale")] + public virtual System.Nullable AllowVerticalScale { 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. + /// 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("metadata")] - public virtual System.Collections.Generic.IDictionary Metadata { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("enabled")] + public virtual System.Nullable Enabled { get; set; } + + /// Git repo configuration for the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("git")] + public virtual ConfigManagementGitConfig Git { 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}`. + /// 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. /// - [Newtonsoft.Json.JsonPropertyAttribute("name")] - public virtual string Name { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("metricsGcpServiceAccountEmail")] + public virtual string MetricsGcpServiceAccountEmail { get; set; } + + /// OCI repo configuration for the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("oci")] + public virtual ConfigManagementOciConfig Oci { 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`. + /// 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("response")] - public virtual System.Collections.Generic.IDictionary Response { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("preventDrift")] + public virtual System.Nullable PreventDrift { get; set; } + + /// Specifies whether the Config Sync Repo is in "hierarchical" or "unstructured" mode. + [Newtonsoft.Json.JsonPropertyAttribute("sourceFormat")] + public virtual string SourceFormat { get; set; } + + /// 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 + { + /// 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; } + + /// Deployment state of otel-collector + [Newtonsoft.Json.JsonPropertyAttribute("otelCollector")] + public virtual string OtelCollector { get; set; } + + /// Deployment state of reconciler-manager pod. + [Newtonsoft.Json.JsonPropertyAttribute("reconcilerManager")] + public virtual string ReconcilerManager { get; set; } + + /// Deployment state of resource-group-controller-manager + [Newtonsoft.Json.JsonPropertyAttribute("resourceGroupControllerManager")] + public virtual string ResourceGroupControllerManager { get; set; } + + /// 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; } + } + + /// Errors pertaining to the installation of Config Sync + public class ConfigManagementConfigSyncError : 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; } + } + + /// State information for ConfigSync. + public class ConfigManagementConfigSyncState : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Information about the deployment of ConfigSync, including the version. of the various Pods deployed + /// + [Newtonsoft.Json.JsonPropertyAttribute("deploymentState")] + public virtual ConfigManagementConfigSyncDeploymentState DeploymentState { get; set; } + + /// Errors pertaining to the installation of Config Sync. + [Newtonsoft.Json.JsonPropertyAttribute("errors")] + public virtual System.Collections.Generic.IList Errors { get; set; } + + /// The state of the Reposync CRD + [Newtonsoft.Json.JsonPropertyAttribute("reposyncCrd")] + public virtual string ReposyncCrd { get; set; } + + /// The state of the RootSync CRD + [Newtonsoft.Json.JsonPropertyAttribute("rootsyncCrd")] + public virtual string RootsyncCrd { get; set; } + + /// The state of CS This field summarizes the other fields in this message. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The state of ConfigSync's process to sync configs to a cluster. + [Newtonsoft.Json.JsonPropertyAttribute("syncState")] + public virtual ConfigManagementSyncState SyncState { get; set; } + + /// 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; } + } + + /// Specific versioning information pertaining to ConfigSync's Pods. + public class ConfigManagementConfigSyncVersion : 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; } + + /// 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; } + } + + /// Model for a config file in the git repo with an associated Sync error. + public class ConfigManagementErrorResource : 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; } + + /// 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; } + } + + /// State of Policy Controller installation. + public class ConfigManagementGatekeeperDeploymentState : 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; } + + /// 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 + { + /// + /// The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. + /// + [Newtonsoft.Json.JsonPropertyAttribute("gcpServiceAccountEmail")] + public virtual string GcpServiceAccountEmail { get; set; } + + /// URL for the HTTPS proxy to be used when communicating with the Git repo. + [Newtonsoft.Json.JsonPropertyAttribute("httpsProxy")] + public virtual string HttpsProxy { get; set; } + + /// + /// 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; } + + /// + /// Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, + /// gcpserviceaccount or none. The validation of this is case-sensitive. Required. + /// + [Newtonsoft.Json.JsonPropertyAttribute("secretType")] + public virtual string SecretType { get; set; } + + /// The branch of the repository to sync from. Default: master. + [Newtonsoft.Json.JsonPropertyAttribute("syncBranch")] + public virtual string SyncBranch { get; set; } + + /// The URL of the Git repository to use as the source of truth. + [Newtonsoft.Json.JsonPropertyAttribute("syncRepo")] + public virtual string SyncRepo { get; set; } + + /// Git revision (tag or hash) to check out. Default HEAD. + [Newtonsoft.Json.JsonPropertyAttribute("syncRev")] + public virtual string SyncRev { get; set; } + + /// 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; } + } + + /// A Kubernetes object's GVK. + public class ConfigManagementGroupVersionKind : Google.Apis.Requests.IDirectResponseSchema + { + /// Kubernetes Group + [Newtonsoft.Json.JsonPropertyAttribute("group")] + public virtual string Group { get; set; } + + /// Kubernetes Kind + [Newtonsoft.Json.JsonPropertyAttribute("kind")] + public virtual string Kind { get; set; } + + /// Kubernetes Version + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual string Version { get; set; } + + /// The ETag of the item. + public virtual string ETag { 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; } + + /// Whether pod tree labels are enabled in this cluster. + [Newtonsoft.Json.JsonPropertyAttribute("enablePodTreeLabels")] + public virtual System.Nullable EnablePodTreeLabels { get; set; } + + /// Whether Hierarchy Controller 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; } + } + + /// 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; } + } + + /// 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; } + + /// 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; } + } + + /// 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; } + + /// Version for open source HNC. + [Newtonsoft.Json.JsonPropertyAttribute("hnc")] + public virtual string Hnc { get; set; } + + /// The ETag of the item. + public virtual string ETag { 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; } + } + + /// OCI repo configuration for a single cluster. + public class ConfigManagementOciConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// 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 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; } + + /// Type of secret configured for access to the Git repo. + [Newtonsoft.Json.JsonPropertyAttribute("secretType")] + public virtual string SecretType { get; set; } + + /// + /// 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; } + + /// 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; } + } + + /// State information for an ACM's Operator. + public class ConfigManagementOperatorState : 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; } + + /// 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 Policy Controller + public class ConfigManagementPolicyController : 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; } + + /// + /// 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; } + + /// + /// 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; } + + /// 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; } + + /// + /// Enable or disable mutation in policy controller. If true, mutation CRDs, webhook and controller deployment + /// will be deployed to the cluster. + /// + [Newtonsoft.Json.JsonPropertyAttribute("mutationEnabled")] + public virtual System.Nullable MutationEnabled { get; set; } + + /// + /// Enables the ability to use Constraint Templates that reference to objects other than the object currently + /// being evaluated. + /// + [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; } + + 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; } + } + + /// State for the migration of PolicyController from ACM -> PoCo Hub. + public class ConfigManagementPolicyControllerMigration : 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; + } + } + + /// 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; + } + } + + /// 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); + } + + /// 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; } + } + + /// + /// 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 + { + /// + /// 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 for PolicyControllerState. + public class ConfigManagementPolicyControllerState : 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 version of Gatekeeper Policy Controller deployed. + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual ConfigManagementPolicyControllerVersion Version { 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 + { + /// 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 ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. + /// + public class ConfigManagementSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// 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; } + + /// + /// 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; } + + /// Config Sync configuration for the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("configSync")] + public virtual ConfigManagementConfigSync ConfigSync { get; set; } + + /// + /// 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; } + + /// Enables automatic Feature management. + [Newtonsoft.Json.JsonPropertyAttribute("management")] + public virtual string Management { get; set; } + + /// + /// 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; } + + /// 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; } + } + + /// **Anthos Config Management**: State for a single cluster. + public class ConfigManagementState : Google.Apis.Requests.IDirectResponseSchema + { + /// Binauthz status. + [Newtonsoft.Json.JsonPropertyAttribute("binauthzState")] + public virtual ConfigManagementBinauthzState BinauthzState { get; set; } + + /// + /// 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; } + + /// Current sync status. + [Newtonsoft.Json.JsonPropertyAttribute("configSyncState")] + public virtual ConfigManagementConfigSyncState ConfigSyncState { get; set; } + + /// Hierarchy Controller status. + [Newtonsoft.Json.JsonPropertyAttribute("hierarchyControllerState")] + public virtual ConfigManagementHierarchyControllerState HierarchyControllerState { get; set; } + + /// + /// 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 ConfigManagementSpec MembershipSpec { get; set; } + + /// Current install status of ACM's Operator. + [Newtonsoft.Json.JsonPropertyAttribute("operatorState")] + public virtual ConfigManagementOperatorState OperatorState { get; set; } + + /// PolicyController status. + [Newtonsoft.Json.JsonPropertyAttribute("policyControllerState")] + public virtual ConfigManagementPolicyControllerState PolicyControllerState { 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 + { + /// 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; } + + /// 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; } + } + + /// State indicating an ACM's progress syncing configurations to a cluster. + public class ConfigManagementSyncState : 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; } + + /// + /// 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; } + + private string _lastSyncTimeRaw; + + private object _lastSyncTime; + + /// 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; + } + } + + /// 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; + } + } + + /// 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; } + } + + /// + /// 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; } + } + + /// Information of the FeatureConfig applied on the MembershipFeature. + public class FeatureConfigRef : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Input only. Resource name of FeatureConfig, in the format: + /// `projects/{project}/locations/global/featureConfigs/{feature_config}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("config")] + public virtual string Config { get; set; } + + private string _configUpdateTimeRaw; + + private object _configUpdateTime; + + /// Output only. When the FeatureConfig was last applied and copied to FeatureSpec. + [Newtonsoft.Json.JsonPropertyAttribute("configUpdateTime")] + public virtual string ConfigUpdateTimeRaw + { + get => _configUpdateTimeRaw; + set + { + _configUpdateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _configUpdateTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use ConfigUpdateTimeDateTimeOffset instead.")] + public virtual object ConfigUpdateTime + { + get => _configUpdateTime; + set + { + _configUpdateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _configUpdateTime = value; + } + } + + /// + /// representation of . + /// + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? ConfigUpdateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(ConfigUpdateTimeRaw); + set => ConfigUpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// Output only. An id that uniquely identify a FeatureConfig object. + [Newtonsoft.Json.JsonPropertyAttribute("uuid")] + public virtual string Uuid { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// FeatureSpec contains user input per-feature spec information. + public class FeatureSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// Cloudbuild-specific FeatureSpec. + [Newtonsoft.Json.JsonPropertyAttribute("cloudbuild")] + public virtual CloudBuildSpec Cloudbuild { get; set; } + + /// Config Management FeatureSpec. + [Newtonsoft.Json.JsonPropertyAttribute("configmanagement")] + public virtual ConfigManagementSpec Configmanagement { get; set; } + + /// IdentityService FeatureSpec. + [Newtonsoft.Json.JsonPropertyAttribute("identityservice")] + public virtual IdentityServiceSpec Identityservice { get; set; } + + /// + /// Whether this per-Feature spec was inherited from a fleet-level default. This field can be updated by users + /// by either overriding a Feature config (updated to USER implicitly) or setting to FLEET explicitly. + /// + [Newtonsoft.Json.JsonPropertyAttribute("origin")] + public virtual Origin Origin { get; set; } + + /// Policycontroller-specific FeatureSpec. + [Newtonsoft.Json.JsonPropertyAttribute("policycontroller")] + public virtual PolicyControllerSpec Policycontroller { get; set; } + + /// ServiceMesh Feature Spec. + [Newtonsoft.Json.JsonPropertyAttribute("servicemesh")] + public virtual ServiceMeshSpec Servicemesh { get; set; } + + /// Workloadcertificate-specific FeatureSpec. + [Newtonsoft.Json.JsonPropertyAttribute("workloadcertificate")] + public virtual WorkloadCertificateSpec Workloadcertificate { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// FeatureState contains high-level state information and per-feature state information for this MembershipFeature. + /// + public class FeatureState : Google.Apis.Requests.IDirectResponseSchema + { + /// Appdevexperience specific state. + [Newtonsoft.Json.JsonPropertyAttribute("appdevexperience")] + public virtual AppDevExperienceState Appdevexperience { get; set; } + + /// Cluster upgrade state. + [Newtonsoft.Json.JsonPropertyAttribute("clusterupgrade")] + public virtual ClusterUpgradeState Clusterupgrade { get; set; } + + /// Config Management state + [Newtonsoft.Json.JsonPropertyAttribute("configmanagement")] + public virtual ConfigManagementState Configmanagement { get; set; } + + /// Identity service state + [Newtonsoft.Json.JsonPropertyAttribute("identityservice")] + public virtual IdentityServiceState Identityservice { get; set; } + + /// Metering state + [Newtonsoft.Json.JsonPropertyAttribute("metering")] + public virtual MeteringState Metering { get; set; } + + /// Policy Controller state + [Newtonsoft.Json.JsonPropertyAttribute("policycontroller")] + public virtual PolicyControllerState Policycontroller { get; set; } + + /// Service mesh state + [Newtonsoft.Json.JsonPropertyAttribute("servicemesh")] + public virtual ServiceMeshState Servicemesh { get; set; } + + /// The high-level state of this MembershipFeature. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual State State { 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; } + + /// + /// 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; } + } + + /// + /// 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 + { + /// 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; } + } + + /// 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; } + + /// 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; } + + /// + /// Kind of Azure AD account to be authenticated. Supported values are or for accounts belonging to a specific + /// tenant. + /// + [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; } + } + + /// 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 string _expirationTimeRaw; + + 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 => _expirationTimeRaw; + set + { + _expirationTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _expirationTimeRaw = value; + } + } + + /// 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; + } + } + + /// + /// 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); + } + + /// 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 + { + /// 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. 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; } + + /// + /// 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("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 + { + /// + /// 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; } + + /// + /// 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; } + } + + /// 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; } + + /// + /// 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; } + + /// 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; } + + /// Claim in OIDC ID token that holds group information. + [Newtonsoft.Json.JsonPropertyAttribute("groupsClaim")] + public virtual string GroupsClaim { get; set; } + + /// + /// 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; } + + /// 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; } + } + + /// 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". + /// + [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; } + } + + /// 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("certificateAuthorityData")] + public virtual string CertificateAuthorityData { 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; } + } + + /// + /// 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; } + + /// 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 + { + /// Required. The distinguished name(DN) of the service account object/user. + [Newtonsoft.Json.JsonPropertyAttribute("dn")] + public virtual string Dn { get; set; } + + /// Output only. The encrypted password of the service account object/user. + [Newtonsoft.Json.JsonPropertyAttribute("encryptedPassword")] + public virtual string EncryptedPassword { 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; } + } + + /// **IdentityService**: Configuration for a single membership. + public class IdentityServiceSpec : 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; } + } + + /// + /// **IdentityService**: State for a single membership, analyzed and reported by feature controller. + /// + public class IdentityServiceState : 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("installedVersion")] + public virtual string InstalledVersion { get; set; } + + /// Last reconciled membership configuration + [Newtonsoft.Json.JsonPropertyAttribute("memberConfig")] + public virtual IdentityServiceSpec 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; } + } + + /// 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; } + + /// + /// 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; } + + /// + /// 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. 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; } + } + + /// + /// LifecycleState describes the state of a MembershipFeature *resource* in the GkeHub API. See `FeatureState` for + /// the "running state" of the MembershipFeature. + /// + public class LifecycleState : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. 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; } + } + + /// 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; } + } + + /// Response message for the `GkeHubFeature.ListMembershipFeatures` method. + public class ListMembershipFeaturesResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of matching MembershipFeatures. + [Newtonsoft.Json.JsonPropertyAttribute("membershipFeatures")] + public virtual System.Collections.Generic.IList MembershipFeatures { get; set; } + + /// + /// A token to request the next page of resources from the `ListMembershipFeatures` 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; } + } + + /// The response message for Operations.ListOperations. + public class ListOperationsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// 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; } + + /// 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 + { + /// The friendly name for this location, typically a nearby city name. For example, "Tokyo". + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { 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; } + + /// 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; } + } + + /// + /// MembershipFeature represents the settings and status of a Fleet Feature enabled on a single Fleet Membership. + /// + public class MembershipFeature : Google.Apis.Requests.IDirectResponseSchema + { + private string _createTimeRaw; + + private object _createTime; + + /// Output only. When the MembershipFeature 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); + } + + private string _deleteTimeRaw; + + private object _deleteTime; + + /// Output only. When the MembershipFeature resource 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); + } + + /// Reference information for a FeatureConfig applied on the MembershipFeature. + [Newtonsoft.Json.JsonPropertyAttribute("featureConfigRef")] + public virtual FeatureConfigRef FeatureConfigRef { get; set; } + + /// GCP labels for this MembershipFeature. + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } + + /// Output only. Lifecycle information of the resource itself. + [Newtonsoft.Json.JsonPropertyAttribute("lifecycleState")] + public virtual LifecycleState LifecycleState { get; set; } + + /// + /// Output only. The resource name of the membershipFeature, in the format: + /// `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that + /// `membershipFeatures` is shortened to `features` in the resource name. (see + /// http://go/aip/122#collection-identifiers) + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Spec of this membershipFeature. + [Newtonsoft.Json.JsonPropertyAttribute("spec")] + public virtual FeatureSpec Spec { get; set; } + + /// Output only. State of the this membershipFeature. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual FeatureState State { get; set; } + + private string _updateTimeRaw; + + private object _updateTime; + + /// Output only. When the MembershipFeature 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; } + } + + /// **Metering**: State for a single membership, analyzed and reported by feature controller. + public class MeteringState : 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 . + /// + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? LastMeasurementTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(LastMeasurementTimeRaw); + set => LastMeasurementTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// + /// The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision). + /// + [Newtonsoft.Json.JsonPropertyAttribute("preciseLastMeasuredClusterVcpuCapacity")] + public virtual System.Nullable PreciseLastMeasuredClusterVcpuCapacity { 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 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; } + } + + /// 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 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; } + + /// 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 FeatureSpec 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; } + } + + /// 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; } + } + + /// 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; } + + /// + /// 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; } + + /// Map of deployment configs to deployments (“admission”, “audit”, “mutation”). + [Newtonsoft.Json.JsonPropertyAttribute("deploymentConfigs")] + public virtual System.Collections.Generic.IDictionary DeploymentConfigs { get; set; } + + /// + /// 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; } + + /// + /// 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; } + + /// 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; } + + /// + /// Enables the ability to use Constraint Templates that reference to objects other than the object currently + /// being evaluated. + /// + [Newtonsoft.Json.JsonPropertyAttribute("referentialRulesEnabled")] + public virtual System.Nullable ReferentialRulesEnabled { 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 + { + /// + /// 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; } + } + + /// 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; } + + /// The lifecycle state of this component. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + 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 + { + /// + /// 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; } + + /// 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; } + } + + /// 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; } + + /// + /// 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 state of the template library + [Newtonsoft.Json.JsonPropertyAttribute("templateLibraryState")] + public virtual PolicyControllerOnClusterState TemplateLibraryState { get; set; } + + /// 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; } + + /// 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; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// 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; } + + /// 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; } + } + + /// ResourceRequirements describes the compute resource requirements. + public class PolicyControllerResourceRequirements : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Limits describes the maximum amount of compute resources allowed for use by the running container. + /// + [Newtonsoft.Json.JsonPropertyAttribute("limits")] + public virtual PolicyControllerResourceList Limits { get; set; } + + /// + /// Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + /// + [Newtonsoft.Json.JsonPropertyAttribute("requests")] + public virtual PolicyControllerResourceList Requests { 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 PolicyControllerSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// Policy Controller configuration for the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("policyControllerHubConfig")] + public virtual PolicyControllerHubConfig PolicyControllerHubConfig { 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; } + } + + /// **Policy Controller**: State for a single cluster. + public class PolicyControllerState : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" + /// + [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; } + + /// 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; } + } + + /// 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; } + + /// The ETag of the item. + public virtual string ETag { 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; } + + /// Matches a taint key (not necessarily unique). + [Newtonsoft.Json.JsonPropertyAttribute("key")] + public virtual string Key { 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; } + } + + /// + /// AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about + /// the state of their Service Mesh configuration. + /// + public class ServiceMeshAnalysisMessage : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// A UI can combine these args with a template (based on message_base.type) to produce an internationalized + /// message. + /// + [Newtonsoft.Json.JsonPropertyAttribute("args")] + public virtual System.Collections.Generic.IDictionary Args { get; set; } + + /// + /// A human readable description of what the error means. It is suitable for non-internationalize display + /// purposes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// Details common to all types of Istio and ServiceMesh analysis messages. + [Newtonsoft.Json.JsonPropertyAttribute("messageBase")] + public virtual ServiceMeshAnalysisMessageBase MessageBase { get; set; } + + /// + /// A list of strings specifying the resource identifiers that were the cause of message generation. A "path" + /// here may be: * MEMBERSHIP_ID if the cause is a specific member cluster * + /// MEMBERSHIP_ID/(NAMESPACE\/)?RESOURCETYPE/NAME if the cause is a resource in a cluster + /// + [Newtonsoft.Json.JsonPropertyAttribute("resourcePaths")] + public virtual System.Collections.Generic.IList ResourcePaths { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// AnalysisMessageBase describes some common information that is needed for all messages. + public class ServiceMeshAnalysisMessageBase : Google.Apis.Requests.IDirectResponseSchema + { + /// A url pointing to the Service Mesh or Istio documentation for this specific error type. + [Newtonsoft.Json.JsonPropertyAttribute("documentationUrl")] + public virtual string DocumentationUrl { get; set; } + + /// Represents how severe a message is. + [Newtonsoft.Json.JsonPropertyAttribute("level")] + public virtual string Level { get; set; } + + /// Represents the specific type of a message. + [Newtonsoft.Json.JsonPropertyAttribute("type")] + public virtual ServiceMeshType Type { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Condition being reported. + public class ServiceMeshCondition : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Unique identifier of the condition which describes the condition recognizable to the user. + /// + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } + + /// A short summary about the issue. + [Newtonsoft.Json.JsonPropertyAttribute("details")] + public virtual string Details { get; set; } + + /// Links contains actionable information. + [Newtonsoft.Json.JsonPropertyAttribute("documentationLink")] + public virtual string DocumentationLink { get; set; } + + /// Severity level of the condition. + [Newtonsoft.Json.JsonPropertyAttribute("severity")] + public virtual string Severity { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Status of control plane management. + public class ServiceMeshControlPlaneManagement : Google.Apis.Requests.IDirectResponseSchema + { + /// Explanation of state. + [Newtonsoft.Json.JsonPropertyAttribute("details")] + public virtual System.Collections.Generic.IList Details { get; set; } + + /// Output only. Implementation of managed control plane. + [Newtonsoft.Json.JsonPropertyAttribute("implementation")] + public virtual string Implementation { get; set; } + + /// LifecycleState of control plane management. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Status of data plane management. Only reported per-member. + public class ServiceMeshDataPlaneManagement : Google.Apis.Requests.IDirectResponseSchema + { + /// Explanation of the status. + [Newtonsoft.Json.JsonPropertyAttribute("details")] + public virtual System.Collections.Generic.IList Details { get; set; } + + /// Lifecycle status of data plane management. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// **Service Mesh**: Spec for a single Membership for the servicemesh feature + public class ServiceMeshSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// Optional. Specifies the API that will be used for configuring the mesh workloads. + [Newtonsoft.Json.JsonPropertyAttribute("configApi")] + public virtual string ConfigApi { get; set; } + + /// Deprecated: use `management` instead Enables automatic control plane management. + [Newtonsoft.Json.JsonPropertyAttribute("controlPlane")] + public virtual string ControlPlane { get; set; } + + /// Determines which release channel to use for default injection and service mesh APIs. + [Newtonsoft.Json.JsonPropertyAttribute("defaultChannel")] + public virtual string DefaultChannel { get; set; } + + /// Optional. Enables automatic Service Mesh management. + [Newtonsoft.Json.JsonPropertyAttribute("management")] + public virtual string Management { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. + /// + public class ServiceMeshState : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. Results of running Service Mesh analyzers. + [Newtonsoft.Json.JsonPropertyAttribute("analysisMessages")] + public virtual System.Collections.Generic.IList AnalysisMessages { get; set; } + + /// Output only. List of conditions reported for this membership. + [Newtonsoft.Json.JsonPropertyAttribute("conditions")] + public virtual System.Collections.Generic.IList Conditions { get; set; } + + /// + /// The API version (i.e. Istio CRD version) for configuring service mesh in this cluster. This version is + /// influenced by the `default_channel` field. + /// + [Newtonsoft.Json.JsonPropertyAttribute("configApiVersion")] + public virtual string ConfigApiVersion { get; set; } + + /// Output only. Status of control plane management + [Newtonsoft.Json.JsonPropertyAttribute("controlPlaneManagement")] + public virtual ServiceMeshControlPlaneManagement ControlPlaneManagement { get; set; } + + /// Output only. Status of data plane management. + [Newtonsoft.Json.JsonPropertyAttribute("dataPlaneManagement")] + public virtual ServiceMeshDataPlaneManagement DataPlaneManagement { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Structured and human-readable details for a status. + public class ServiceMeshStatusDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// A machine-readable code that further describes a broad status. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } + + /// Human-readable explanation of code. + [Newtonsoft.Json.JsonPropertyAttribute("details")] + public virtual string Details { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to + /// be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use + /// display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type + /// + public class ServiceMeshType : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// A 7 character code matching `^IST[0-9]{4}$` or `^ASM[0-9]{4}$`, intended to uniquely identify the message + /// type. (e.g. "IST0001" is mapped to the "InternalError" message type.) + /// + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } + + /// + /// A human-readable name for the message type. e.g. "InternalError", "PodMissingProxy". This should be the same + /// for all messages of the same type. (This corresponds to the `name` field in open-source Istio.) + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// High-level state of a MembershipFeature. + public class State : Google.Apis.Requests.IDirectResponseSchema + { + /// The high-level, machine-readable status of this MembershipFeature. + [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; } + } + + /// **WorkloadCertificate**: The membership-specific input for WorkloadCertificate feature. + public class WorkloadCertificateSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// CertificateManagement specifies workload certificate management. + [Newtonsoft.Json.JsonPropertyAttribute("certificateManagement")] + public virtual string CertificateManagement { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } diff --git a/Src/Generated/Google.Apis.GKEHub.v2/Google.Apis.GKEHub.v2.csproj b/Src/Generated/Google.Apis.GKEHub.v2/Google.Apis.GKEHub.v2.csproj index 83490f684f..c97946a0ac 100644 --- a/Src/Generated/Google.Apis.GKEHub.v2/Google.Apis.GKEHub.v2.csproj +++ b/Src/Generated/Google.Apis.GKEHub.v2/Google.Apis.GKEHub.v2.csproj @@ -3,7 +3,7 @@ Google.Apis.GKEHub.v2 Client Library - 1.68.0.3508 + 1.68.0.3566 Google LLC Copyright 2024 Google LLC Google From 0d4e7eb4fdb93ea0ba7d60f8a18d95479fa2bfc4 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:12:56 -0700 Subject: [PATCH 43/78] feat: Generate Google.Apis.GKEHub.v2alpha version 1.68.0.3566 --- DiscoveryJson/gkehub.v2alpha.json | 3016 +++++++++++++++- .../Google.Apis.GKEHub.v2alpha.cs | 3172 ++++++++++++++++- .../Google.Apis.GKEHub.v2alpha.csproj | 2 +- 3 files changed, 6013 insertions(+), 177 deletions(-) diff --git a/DiscoveryJson/gkehub.v2alpha.json b/DiscoveryJson/gkehub.v2alpha.json index c2fd470d91..79fd96e47b 100644 --- a/DiscoveryJson/gkehub.v2alpha.json +++ b/DiscoveryJson/gkehub.v2alpha.json @@ -177,6 +177,197 @@ } }, "resources": { + "memberships": { + "resources": { + "features": { + "methods": { + "create": { + "description": "Creates membershipFeature under a given parent.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features", + "httpMethod": "POST", + "id": "gkehub.projects.locations.memberships.features.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "featureId": { + "description": "Required. The ID of the membership_feature to create.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of parent where the MembershipFeature will be created. Specified in the format `projects/*/locations/*/memberships/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha/{+parent}/features", + "request": { + "$ref": "MembershipFeature" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Removes a membershipFeature.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", + "httpMethod": "DELETE", + "id": "gkehub.projects.locations.memberships.features.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the membershipFeature to be deleted. Specified in the format `projects/*/locations/*/memberships/*/features/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "========= MembershipFeature Services ========= Gets details of a membershipFeature.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", + "httpMethod": "GET", + "id": "gkehub.projects.locations.memberships.features.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The MembershipFeature resource name in the format `projects/*/locations/*/memberships/*/features/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "response": { + "$ref": "MembershipFeature" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists MembershipFeatures in a given project and location.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features", + "httpMethod": "GET", + "id": "gkehub.projects.locations.memberships.features.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Lists MembershipFeatures that match the filter expression, following the syntax outlined in https://google.aip.dev/160. Examples: - Feature with the name \"helloworld\" in project \"foo-proj\" and membership \"member-bar\": name = \"projects/foo-proj/locations/global/memberships/member-bar/features/helloworld\" - Features that have a label called `foo`: labels.foo:* - Features that have a label called `foo` whose value is `bar`: labels.foo = bar", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "One or more fields to compare and use to sort the output. See https://google.aip.dev/132#ordering.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "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.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token returned by previous call to `ListFeatures` which specifies the position in the list from where to continue listing the resources.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent where the MembershipFeature will be listed. In the format: `projects/*/locations/*/memberships/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+parent}/features", + "response": { + "$ref": "ListMembershipFeaturesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing MembershipFeature.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", + "httpMethod": "PATCH", + "id": "gkehub.projects.locations.memberships.features.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If set to true, and the MembershipFeature is not found, a new MembershipFeature will be created. In this situation, `update_mask` is ignored.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Output only. The resource name of the membershipFeature, in the format: `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers)", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "request": { + "$ref": "MembershipFeature" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, "operations": { "methods": { "cancel": { @@ -280,149 +471,2800 @@ } } }, - "revision": "20230804", + "revision": "20241006", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { + "AppDevExperienceState": { + "description": "State for App Dev Exp Feature.", + "id": "AppDevExperienceState", + "properties": { + "networkingInstallSucceeded": { + "$ref": "AppDevExperienceStatus", + "description": "Status of subcomponent that detects configured Service Mesh resources." + } + }, + "type": "object" + }, + "AppDevExperienceStatus": { + "description": "Status specifies state for the subcomponent.", + "id": "AppDevExperienceStatus", + "properties": { + "code": { + "description": "Code specifies AppDevExperienceFeature's subcomponent ready state.", + "enum": [ + "CODE_UNSPECIFIED", + "OK", + "FAILED", + "UNKNOWN" + ], + "enumDescriptions": [ + "Not set.", + "AppDevExperienceFeature's specified subcomponent is ready.", + "AppDevExperienceFeature's specified subcomponent ready state is false. This means AppDevExperienceFeature has encountered an issue that blocks all, or a portion, of its normal operation. See the `description` for more details.", + "AppDevExperienceFeature's specified subcomponent has a pending or unknown state." + ], + "type": "string" + }, + "description": { + "description": "Description is populated if Code is Failed, explaining why it has failed.", + "type": "string" + } + }, + "type": "object" + }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", "properties": {}, "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": {}, + "CloudBuildSpec": { + "description": "**Cloud Build**: Configurations for each Cloud Build enabled cluster.", + "id": "CloudBuildSpec", + "properties": { + "securityPolicy": { + "description": "Whether it is allowed to run the privileged builds on the cluster or not.", + "enum": [ + "SECURITY_POLICY_UNSPECIFIED", + "NON_PRIVILEGED", + "PRIVILEGED" + ], + "enumDescriptions": [ + "Unspecified policy", + "Privileged build pods are disallowed", + "Privileged build pods are allowed" + ], + "type": "string" + }, + "version": { + "description": "Version of the cloud build software on the cluster.", + "type": "string" + } + }, "type": "object" }, - "GoogleRpcStatus": { - "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": "GoogleRpcStatus", + "ClusterUpgradeGKEUpgrade": { + "description": "GKEUpgrade represents a GKE provided upgrade, e.g., control plane upgrade.", + "id": "ClusterUpgradeGKEUpgrade", "properties": { - "code": { - "description": "The status code, which should be an enum value of google.rpc.Code.", - "format": "int32", - "type": "integer" + "name": { + "description": "Name of the upgrade, e.g., \"k8s_control_plane\".", + "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" - }, - "type": "array" + "version": { + "description": "Version of the upgrade, e.g., \"1.22.1-gke.100\".", + "type": "string" + } + }, + "type": "object" + }, + "ClusterUpgradeIgnoredMembership": { + "description": "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.", + "id": "ClusterUpgradeIgnoredMembership", + "properties": { + "ignoredTime": { + "description": "Time when the membership was first set to ignored.", + "format": "google-datetime", + "type": "string" }, - "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.", + "reason": { + "description": "Reason why the membership is ignored.", "type": "string" } }, "type": "object" }, - "ListLocationsResponse": { - "description": "The response message for Locations.ListLocations.", - "id": "ListLocationsResponse", + "ClusterUpgradeMembershipGKEUpgradeState": { + "description": "MembershipGKEUpgradeState is a GKEUpgrade and its state per-membership.", + "id": "ClusterUpgradeMembershipGKEUpgradeState", "properties": { - "locations": { - "description": "A list of locations that matches the specified filter in the request.", + "status": { + "$ref": "ClusterUpgradeUpgradeStatus", + "description": "Status of the upgrade." + }, + "upgrade": { + "$ref": "ClusterUpgradeGKEUpgrade", + "description": "Which upgrade to track the state." + } + }, + "type": "object" + }, + "ClusterUpgradeState": { + "description": "Per-membership state for this feature.", + "id": "ClusterUpgradeState", + "properties": { + "ignored": { + "$ref": "ClusterUpgradeIgnoredMembership", + "description": "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." + }, + "upgrades": { + "description": "Actual upgrade state against desired.", "items": { - "$ref": "Location" + "$ref": "ClusterUpgradeMembershipGKEUpgradeState" }, "type": "array" + } + }, + "type": "object" + }, + "ClusterUpgradeUpgradeStatus": { + "description": "UpgradeStatus provides status information for each upgrade.", + "id": "ClusterUpgradeUpgradeStatus", + "properties": { + "code": { + "description": "Status code of the upgrade.", + "enum": [ + "CODE_UNSPECIFIED", + "INELIGIBLE", + "PENDING", + "IN_PROGRESS", + "SOAKING", + "FORCED_SOAKING", + "COMPLETE" + ], + "enumDescriptions": [ + "Required by https://linter.aip.dev/126/unspecified.", + "The upgrade is ineligible. At the scope level, this means the upgrade is ineligible for all the clusters in the scope.", + "The upgrade is pending. At the scope level, this means the upgrade is pending for all the clusters in the scope.", + "The upgrade is in progress. At the scope level, this means the upgrade is in progress for at least one cluster in the scope.", + "The upgrade has finished and is soaking until the soaking time is up. At the scope level, this means at least one cluster is in soaking while the rest are either soaking or complete.", + "A cluster will be forced to enter soaking if an upgrade doesn't finish within a certain limit, despite it's actual status.", + "The upgrade has passed all post conditions (soaking). At the scope level, this means all eligible clusters are in COMPLETE status." + ], + "type": "string" }, - "nextPageToken": { - "description": "The standard List next-page token.", + "reason": { + "description": "Reason for this status.", + "type": "string" + }, + "updateTime": { + "description": "Last timestamp the status was updated.", + "format": "google-datetime", "type": "string" } }, "type": "object" }, - "ListOperationsResponse": { - "description": "The response message for Operations.ListOperations.", - "id": "ListOperationsResponse", + "ConfigManagementBinauthzConfig": { + "description": "Configuration for Binauthz.", + "id": "ConfigManagementBinauthzConfig", "properties": { - "nextPageToken": { - "description": "The standard List next-page token.", + "enabled": { + "description": "Whether binauthz is enabled in this cluster.", + "type": "boolean" + } + }, + "type": "object" + }, + "ConfigManagementBinauthzState": { + "description": "State for Binauthz.", + "id": "ConfigManagementBinauthzState", + "properties": { + "version": { + "$ref": "ConfigManagementBinauthzVersion", + "description": "The version of binauthz that is installed." + }, + "webhook": { + "description": "The state of the binauthz webhook.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementBinauthzVersion": { + "description": "The version of binauthz.", + "id": "ConfigManagementBinauthzVersion", + "properties": { + "webhookVersion": { + "description": "The version of the binauthz webhook.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementConfigSync": { + "description": "Configuration for Config Sync", + "id": "ConfigManagementConfigSync", + "properties": { + "allowVerticalScale": { + "deprecated": true, + "description": "Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated.", + "type": "boolean" }, - "operations": { - "description": "A list of operations that matches the specified filter in the request.", + "enabled": { + "description": "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.", + "type": "boolean" + }, + "git": { + "$ref": "ConfigManagementGitConfig", + "description": "Git repo configuration for the cluster." + }, + "metricsGcpServiceAccountEmail": { + "description": "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.", + "type": "string" + }, + "oci": { + "$ref": "ConfigManagementOciConfig", + "description": "OCI repo configuration for the cluster." + }, + "preventDrift": { + "description": "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.", + "type": "boolean" + }, + "sourceFormat": { + "description": "Specifies whether the Config Sync Repo is in \"hierarchical\" or \"unstructured\" mode.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementConfigSyncDeploymentState": { + "description": "The state of ConfigSync's deployment on a cluster.", + "id": "ConfigManagementConfigSyncDeploymentState", + "properties": { + "admissionWebhook": { + "description": "Deployment state of admission-webhook.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "gitSync": { + "description": "Deployment state of the git-sync pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "importer": { + "description": "Deployment state of the importer pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "monitor": { + "description": "Deployment state of the monitor pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "otelCollector": { + "description": "Deployment state of otel-collector", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "reconcilerManager": { + "description": "Deployment state of reconciler-manager pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "resourceGroupControllerManager": { + "description": "Deployment state of resource-group-controller-manager", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "rootReconciler": { + "description": "Deployment state of root-reconciler.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "syncer": { + "description": "Deployment state of the syncer pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementConfigSyncError": { + "description": "Errors pertaining to the installation of Config Sync", + "id": "ConfigManagementConfigSyncError", + "properties": { + "errorMessage": { + "description": "A string representing the user facing error message", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementConfigSyncState": { + "description": "State information for ConfigSync.", + "id": "ConfigManagementConfigSyncState", + "properties": { + "deploymentState": { + "$ref": "ConfigManagementConfigSyncDeploymentState", + "description": "Information about the deployment of ConfigSync, including the version. of the various Pods deployed" + }, + "errors": { + "description": "Errors pertaining to the installation of Config Sync.", "items": { - "$ref": "Operation" + "$ref": "ConfigManagementConfigSyncError" }, "type": "array" + }, + "reposyncCrd": { + "description": "The state of the Reposync CRD", + "enum": [ + "CRD_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "TERMINATING", + "INSTALLING" + ], + "enumDescriptions": [ + "CRD's state cannot be determined", + "CRD is not installed", + "CRD is installed", + "CRD is terminating (i.e., it has been deleted and is cleaning up)", + "CRD is installing" + ], + "type": "string" + }, + "rootsyncCrd": { + "description": "The state of the RootSync CRD", + "enum": [ + "CRD_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "TERMINATING", + "INSTALLING" + ], + "enumDescriptions": [ + "CRD's state cannot be determined", + "CRD is not installed", + "CRD is installed", + "CRD is terminating (i.e., it has been deleted and is cleaning up)", + "CRD is installing" + ], + "type": "string" + }, + "state": { + "description": "The state of CS This field summarizes the other fields in this message.", + "enum": [ + "STATE_UNSPECIFIED", + "CONFIG_SYNC_NOT_INSTALLED", + "CONFIG_SYNC_INSTALLED", + "CONFIG_SYNC_ERROR", + "CONFIG_SYNC_PENDING" + ], + "enumDescriptions": [ + "CS's state cannot be determined.", + "CS is not installed.", + "The expected CS version is installed successfully.", + "CS encounters errors.", + "CS is installing or terminating." + ], + "type": "string" + }, + "syncState": { + "$ref": "ConfigManagementSyncState", + "description": "The state of ConfigSync's process to sync configs to a cluster." + }, + "version": { + "$ref": "ConfigManagementConfigSyncVersion", + "description": "The version of ConfigSync deployed." } }, "type": "object" }, - "Location": { - "description": "A resource that represents a Google Cloud location.", - "id": "Location", + "ConfigManagementConfigSyncVersion": { + "description": "Specific versioning information pertaining to ConfigSync's Pods.", + "id": "ConfigManagementConfigSyncVersion", "properties": { - "displayName": { - "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "admissionWebhook": { + "description": "Version of the deployed admission-webhook pod.", "type": "string" }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", - "type": "object" + "gitSync": { + "description": "Version of the deployed git-sync pod.", + "type": "string" }, - "locationId": { - "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "importer": { + "description": "Version of the deployed importer pod.", "type": "string" }, - "metadata": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "Service-specific metadata. For example the available capacity at the given location.", - "type": "object" + "monitor": { + "description": "Version of the deployed monitor pod.", + "type": "string" }, - "name": { - "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "otelCollector": { + "description": "Version of the deployed otel-collector pod", + "type": "string" + }, + "reconcilerManager": { + "description": "Version of the deployed reconciler-manager pod.", + "type": "string" + }, + "resourceGroupControllerManager": { + "description": "Version of the deployed resource-group-controller-manager pod", + "type": "string" + }, + "rootReconciler": { + "description": "Version of the deployed reconciler container in root-reconciler pod.", + "type": "string" + }, + "syncer": { + "description": "Version of the deployed syncer pod.", "type": "string" } }, "type": "object" }, - "Operation": { - "description": "This resource represents a long-running operation that is the result of a network API call.", - "id": "Operation", + "ConfigManagementErrorResource": { + "description": "Model for a config file in the git repo with an associated Sync error.", + "id": "ConfigManagementErrorResource", "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" + "resourceGvk": { + "$ref": "ConfigManagementGroupVersionKind", + "description": "Group/version/kind of the resource that is causing an error" }, - "error": { - "$ref": "GoogleRpcStatus", - "description": "The error result of the operation in case of failure or cancellation." + "resourceName": { + "description": "Metadata name of the resource that is causing an error", + "type": "string" }, - "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" + "resourceNamespace": { + "description": "Namespace of the resource that is causing an error", + "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}`.", + "sourcePath": { + "description": "Path in the git repo of the erroneous config", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementGatekeeperDeploymentState": { + "description": "State of Policy Controller installation.", + "id": "ConfigManagementGatekeeperDeploymentState", + "properties": { + "gatekeeperAudit": { + "description": "Status of gatekeeper-audit deployment.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], "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" + "gatekeeperControllerManagerState": { + "description": "Status of gatekeeper-controller-manager pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "gatekeeperMutation": { + "description": "Status of the pod serving the mutation webhook.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementGitConfig": { + "description": "Git repo configuration for a single cluster.", + "id": "ConfigManagementGitConfig", + "properties": { + "gcpServiceAccountEmail": { + "description": "The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", + "type": "string" + }, + "httpsProxy": { + "description": "URL for the HTTPS proxy to be used when communicating with the Git repo.", + "type": "string" + }, + "policyDir": { + "description": "The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.", + "type": "string" + }, + "secretType": { + "description": "Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required.", + "type": "string" + }, + "syncBranch": { + "description": "The branch of the repository to sync from. Default: master.", + "type": "string" + }, + "syncRepo": { + "description": "The URL of the Git repository to use as the source of truth.", + "type": "string" + }, + "syncRev": { + "description": "Git revision (tag or hash) to check out. Default HEAD.", + "type": "string" + }, + "syncWaitSecs": { + "description": "Period in seconds between consecutive syncs. Default: 15.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementGroupVersionKind": { + "description": "A Kubernetes object's GVK.", + "id": "ConfigManagementGroupVersionKind", + "properties": { + "group": { + "description": "Kubernetes Group", + "type": "string" + }, + "kind": { + "description": "Kubernetes Kind", + "type": "string" + }, + "version": { + "description": "Kubernetes Version", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementHierarchyControllerConfig": { + "description": "Configuration for Hierarchy Controller.", + "id": "ConfigManagementHierarchyControllerConfig", + "properties": { + "enableHierarchicalResourceQuota": { + "description": "Whether hierarchical resource quota is enabled in this cluster.", + "type": "boolean" + }, + "enablePodTreeLabels": { + "description": "Whether pod tree labels are enabled in this cluster.", + "type": "boolean" + }, + "enabled": { + "description": "Whether Hierarchy Controller is enabled in this cluster.", + "type": "boolean" + } + }, + "type": "object" + }, + "ConfigManagementHierarchyControllerDeploymentState": { + "description": "Deployment state for Hierarchy Controller", + "id": "ConfigManagementHierarchyControllerDeploymentState", + "properties": { + "extension": { + "description": "The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1).", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "hnc": { + "description": "The deployment state for open source HNC (e.g. v0.7.0-hc.0).", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementHierarchyControllerState": { + "description": "State for Hierarchy Controller.", + "id": "ConfigManagementHierarchyControllerState", + "properties": { + "state": { + "$ref": "ConfigManagementHierarchyControllerDeploymentState", + "description": "The deployment state for Hierarchy Controller." + }, + "version": { + "$ref": "ConfigManagementHierarchyControllerVersion", + "description": "The version for Hierarchy Controller." + } + }, + "type": "object" + }, + "ConfigManagementHierarchyControllerVersion": { + "description": "Version for Hierarchy Controller.", + "id": "ConfigManagementHierarchyControllerVersion", + "properties": { + "extension": { + "description": "Version for Hierarchy Controller extension.", + "type": "string" + }, + "hnc": { + "description": "Version for open source HNC.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementInstallError": { + "description": "Errors pertaining to the installation of ACM.", + "id": "ConfigManagementInstallError", + "properties": { + "errorMessage": { + "description": "A string representing the user facing error message.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementOciConfig": { + "description": "OCI repo configuration for a single cluster.", + "id": "ConfigManagementOciConfig", + "properties": { + "gcpServiceAccountEmail": { + "description": "The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", + "type": "string" + }, + "policyDir": { + "description": "The absolute path of the directory that contains the local resources. Default: the root directory of the image.", + "type": "string" + }, + "secretType": { + "description": "Type of secret configured for access to the Git repo.", + "type": "string" + }, + "syncRepo": { + "description": "The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`.", + "type": "string" + }, + "syncWaitSecs": { + "description": "Period in seconds between consecutive syncs. Default: 15.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementOperatorState": { + "description": "State information for an ACM's Operator.", + "id": "ConfigManagementOperatorState", + "properties": { + "deploymentState": { + "description": "The state of the Operator's deployment.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "errors": { + "description": "Install errors.", + "items": { + "$ref": "ConfigManagementInstallError" + }, + "type": "array" + }, + "version": { + "description": "The semenatic version number of the operator.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementPolicyController": { + "description": "Configuration for Policy Controller", + "id": "ConfigManagementPolicyController", + "properties": { + "auditIntervalSeconds": { + "description": "Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.", + "format": "int64", + "type": "string" + }, + "enabled": { + "description": "Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.", + "type": "boolean" + }, + "exemptableNamespaces": { + "description": "The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logDeniesEnabled": { + "description": "Logs all denies and dry run failures.", + "type": "boolean" + }, + "monitoring": { + "$ref": "ConfigManagementPolicyControllerMonitoring", + "description": "Monitoring specifies the configuration of monitoring." + }, + "mutationEnabled": { + "description": "Enable or disable mutation in policy controller. If true, mutation CRDs, webhook and controller deployment will be deployed to the cluster.", + "type": "boolean" + }, + "referentialRulesEnabled": { + "description": "Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.", + "type": "boolean" + }, + "templateLibraryInstalled": { + "description": "Installs the default template library along with Policy Controller.", + "type": "boolean" + }, + "updateTime": { + "description": "Output only. Last time this membership spec was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerMigration": { + "description": "State for the migration of PolicyController from ACM -> PoCo Hub.", + "id": "ConfigManagementPolicyControllerMigration", + "properties": { + "copyTime": { + "description": "Last time this membership spec was copied to PoCo feature.", + "format": "google-datetime", + "type": "string" + }, + "stage": { + "description": "Stage of the migration.", + "enum": [ + "STAGE_UNSPECIFIED", + "ACM_MANAGED", + "POCO_MANAGED" + ], + "enumDescriptions": [ + "Unknown state of migration.", + "ACM Hub/Operator manages policycontroller. No migration yet completed.", + "All migrations steps complete; Poco Hub now manages policycontroller." + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerMonitoring": { + "description": "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\"]", + "id": "ConfigManagementPolicyControllerMonitoring", + "properties": { + "backends": { + "description": "Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export.", + "items": { + "enum": [ + "MONITORING_BACKEND_UNSPECIFIED", + "PROMETHEUS", + "CLOUD_MONITORING" + ], + "enumDescriptions": [ + "Backend cannot be determined", + "Prometheus backend for monitoring", + "Stackdriver/Cloud Monitoring backend for monitoring" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerState": { + "description": "State for PolicyControllerState.", + "id": "ConfigManagementPolicyControllerState", + "properties": { + "deploymentState": { + "$ref": "ConfigManagementGatekeeperDeploymentState", + "description": "The state about the policy controller installation." + }, + "migration": { + "$ref": "ConfigManagementPolicyControllerMigration", + "description": "Record state of ACM -> PoCo Hub migration for this feature." + }, + "version": { + "$ref": "ConfigManagementPolicyControllerVersion", + "description": "The version of Gatekeeper Policy Controller deployed." + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerVersion": { + "description": "The build version of Gatekeeper Policy Controller is using.", + "id": "ConfigManagementPolicyControllerVersion", + "properties": { + "version": { + "description": "The gatekeeper image tag that is composed of ACM version, git tag, build number.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementSpec": { + "description": "**Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR.", + "id": "ConfigManagementSpec", + "properties": { + "binauthz": { + "$ref": "ConfigManagementBinauthzConfig", + "deprecated": true, + "description": "Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set." + }, + "cluster": { + "description": "The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector.", + "type": "string" + }, + "configSync": { + "$ref": "ConfigManagementConfigSync", + "description": "Config Sync configuration for the cluster." + }, + "hierarchyController": { + "$ref": "ConfigManagementHierarchyControllerConfig", + "description": "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." + }, + "management": { + "description": "Enables automatic Feature management.", + "enum": [ + "MANAGEMENT_UNSPECIFIED", + "MANAGEMENT_AUTOMATIC", + "MANAGEMENT_MANUAL" + ], + "enumDescriptions": [ + "Unspecified", + "Google will manage the Feature for the cluster.", + "User will manually manage the Feature for the cluster." + ], + "type": "string" + }, + "policyController": { + "$ref": "ConfigManagementPolicyController", + "description": "Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead." + }, + "version": { + "description": "Version of ACM installed.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementState": { + "description": "**Anthos Config Management**: State for a single cluster.", + "id": "ConfigManagementState", + "properties": { + "binauthzState": { + "$ref": "ConfigManagementBinauthzState", + "description": "Binauthz status." + }, + "clusterName": { + "description": "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.", + "type": "string" + }, + "configSyncState": { + "$ref": "ConfigManagementConfigSyncState", + "description": "Current sync status." + }, + "hierarchyControllerState": { + "$ref": "ConfigManagementHierarchyControllerState", + "description": "Hierarchy Controller status." + }, + "membershipSpec": { + "$ref": "ConfigManagementSpec", + "description": "Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state." + }, + "operatorState": { + "$ref": "ConfigManagementOperatorState", + "description": "Current install status of ACM's Operator." + }, + "policyControllerState": { + "$ref": "ConfigManagementPolicyControllerState", + "description": "PolicyController status." + } + }, + "type": "object" + }, + "ConfigManagementSyncError": { + "description": "An ACM created error representing a problem syncing configurations.", + "id": "ConfigManagementSyncError", + "properties": { + "code": { + "description": "An ACM defined error code", + "type": "string" + }, + "errorMessage": { + "description": "A description of the error", + "type": "string" + }, + "errorResources": { + "description": "A list of config(s) associated with the error, if any", + "items": { + "$ref": "ConfigManagementErrorResource" + }, + "type": "array" + } + }, + "type": "object" + }, + "ConfigManagementSyncState": { + "description": "State indicating an ACM's progress syncing configurations to a cluster.", + "id": "ConfigManagementSyncState", + "properties": { + "code": { + "description": "Sync status code.", + "enum": [ + "SYNC_CODE_UNSPECIFIED", + "SYNCED", + "PENDING", + "ERROR", + "NOT_CONFIGURED", + "NOT_INSTALLED", + "UNAUTHORIZED", + "UNREACHABLE" + ], + "enumDescriptions": [ + "Config Sync cannot determine a sync code", + "Config Sync successfully synced the git Repo with the cluster", + "Config Sync is in the progress of syncing a new change", + "Indicates an error configuring Config Sync, and user action is required", + "Config Sync has been installed but not configured", + "Config Sync has not been installed", + "Error authorizing with the cluster", + "Cluster could not be reached" + ], + "type": "string" + }, + "errors": { + "description": "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.", + "items": { + "$ref": "ConfigManagementSyncError" + }, + "type": "array" + }, + "importToken": { + "description": "Token indicating the state of the importer.", + "type": "string" + }, + "lastSync": { + "deprecated": true, + "description": "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", + "type": "string" + }, + "lastSyncTime": { + "description": "Timestamp type of when ACM last successfully synced the repo.", + "format": "google-datetime", + "type": "string" + }, + "sourceToken": { + "description": "Token indicating the state of the repo.", + "type": "string" + }, + "syncToken": { + "description": "Token indicating the state of the syncer.", + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "FeatureConfigRef": { + "description": "Information of the FeatureConfig applied on the MembershipFeature.", + "id": "FeatureConfigRef", + "properties": { + "config": { + "description": "Input only. Resource name of FeatureConfig, in the format: `projects/{project}/locations/global/featureConfigs/{feature_config}`.", + "type": "string" + }, + "configUpdateTime": { + "description": "Output only. When the FeatureConfig was last applied and copied to FeatureSpec.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "uuid": { + "description": "Output only. An id that uniquely identify a FeatureConfig object.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "FeatureSpec": { + "description": "FeatureSpec contains user input per-feature spec information.", + "id": "FeatureSpec", + "properties": { + "cloudbuild": { + "$ref": "CloudBuildSpec", + "description": "Cloudbuild-specific FeatureSpec." + }, + "configmanagement": { + "$ref": "ConfigManagementSpec", + "description": "Config Management FeatureSpec." + }, + "identityservice": { + "$ref": "IdentityServiceSpec", + "description": "IdentityService FeatureSpec." + }, + "origin": { + "$ref": "Origin", + "description": "Whether this per-Feature spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Feature config (updated to USER implicitly) or setting to FLEET explicitly." + }, + "policycontroller": { + "$ref": "PolicyControllerSpec", + "description": "Policycontroller-specific FeatureSpec." + }, + "servicemesh": { + "$ref": "ServiceMeshSpec", + "description": "ServiceMesh Feature Spec." + }, + "workloadcertificate": { + "$ref": "WorkloadCertificateSpec", + "description": "Workloadcertificate-specific FeatureSpec." + } + }, + "type": "object" + }, + "FeatureState": { + "description": "FeatureState contains high-level state information and per-feature state information for this MembershipFeature.", + "id": "FeatureState", + "properties": { + "appdevexperience": { + "$ref": "AppDevExperienceState", + "description": "Appdevexperience specific state." + }, + "clusterupgrade": { + "$ref": "ClusterUpgradeState", + "description": "Cluster upgrade state." + }, + "configmanagement": { + "$ref": "ConfigManagementState", + "description": "Config Management state" + }, + "identityservice": { + "$ref": "IdentityServiceState", + "description": "Identity service state" + }, + "metering": { + "$ref": "MeteringState", + "description": "Metering state" + }, + "policycontroller": { + "$ref": "PolicyControllerState", + "description": "Policy Controller state" + }, + "servicemesh": { + "$ref": "ServiceMeshState", + "description": "Service mesh state" + }, + "state": { + "$ref": "State", + "description": "The high-level state of this MembershipFeature." + } + }, + "type": "object" + }, + "GoogleRpcStatus": { + "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": "GoogleRpcStatus", + "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" + }, + "IdentityServiceAuthMethod": { + "description": "Configuration of an auth method for a member/cluster. Only one authentication method (e.g., OIDC and LDAP) can be set per AuthMethod.", + "id": "IdentityServiceAuthMethod", + "properties": { + "azureadConfig": { + "$ref": "IdentityServiceAzureADConfig", + "description": "AzureAD specific Configuration." + }, + "googleConfig": { + "$ref": "IdentityServiceGoogleConfig", + "description": "GoogleConfig specific configuration" + }, + "ldapConfig": { + "$ref": "IdentityServiceLdapConfig", + "description": "LDAP specific configuration." + }, + "name": { + "description": "Identifier for auth config.", + "type": "string" + }, + "oidcConfig": { + "$ref": "IdentityServiceOidcConfig", + "description": "OIDC specific configuration." + }, + "proxy": { + "description": "Proxy server address to use for auth method.", + "type": "string" + }, + "samlConfig": { + "$ref": "IdentityServiceSamlConfig", + "description": "SAML specific configuration." + } + }, + "type": "object" + }, + "IdentityServiceAzureADConfig": { + "description": "Configuration for the AzureAD Auth flow.", + "id": "IdentityServiceAzureADConfig", + "properties": { + "clientId": { + "description": "ID for the registered client application that makes authentication requests to the Azure AD identity provider.", + "type": "string" + }, + "clientSecret": { + "description": "Input only. Unencrypted AzureAD client secret will be passed to the GKE Hub CLH.", + "type": "string" + }, + "encryptedClientSecret": { + "description": "Output only. Encrypted AzureAD client secret.", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "groupFormat": { + "description": "Optional. Format of the AzureAD groups that the client wants for auth.", + "type": "string" + }, + "kubectlRedirectUri": { + "description": "The redirect URL that kubectl uses for authorization.", + "type": "string" + }, + "tenant": { + "description": "Kind of Azure AD account to be authenticated. Supported values are or for accounts belonging to a specific tenant.", + "type": "string" + }, + "userClaim": { + "description": "Optional. Claim in the AzureAD ID Token that holds the user details.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceDiagnosticInterface": { + "description": "Configuration options for the AIS diagnostic interface.", + "id": "IdentityServiceDiagnosticInterface", + "properties": { + "enabled": { + "description": "Determines whether to enable the diagnostic interface.", + "type": "boolean" + }, + "expirationTime": { + "description": "Determines the expiration time of the diagnostic interface enablement. When reached, requests to the interface would be automatically rejected.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceGoogleConfig": { + "description": "Configuration for the Google Plugin Auth flow.", + "id": "IdentityServiceGoogleConfig", + "properties": { + "disable": { + "description": "Disable automatic configuration of Google Plugin on supported platforms.", + "type": "boolean" + } + }, + "type": "object" + }, + "IdentityServiceGroupConfig": { + "description": "Contains the properties for locating and authenticating groups in the directory.", + "id": "IdentityServiceGroupConfig", + "properties": { + "baseDn": { + "description": "Required. The location of the subtree in the LDAP directory to search for group entries.", + "type": "string" + }, + "filter": { + "description": "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)\".", + "type": "string" + }, + "idAttribute": { + "description": "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\".", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceIdentityServiceOptions": { + "description": "Holds non-protocol-related configuration options.", + "id": "IdentityServiceIdentityServiceOptions", + "properties": { + "diagnosticInterface": { + "$ref": "IdentityServiceDiagnosticInterface", + "description": "Configuration options for the AIS diagnostic interface." + }, + "sessionDuration": { + "description": "Determines the lifespan of STS tokens issued by Anthos Identity Service.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceLdapConfig": { + "description": "Configuration for the LDAP Auth flow.", + "id": "IdentityServiceLdapConfig", + "properties": { + "group": { + "$ref": "IdentityServiceGroupConfig", + "description": "Optional. Contains the properties for locating and authenticating groups in the directory." + }, + "server": { + "$ref": "IdentityServiceServerConfig", + "description": "Required. Server settings for the external LDAP server." + }, + "serviceAccount": { + "$ref": "IdentityServiceServiceAccountConfig", + "description": "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." + }, + "user": { + "$ref": "IdentityServiceUserConfig", + "description": "Required. Defines where users exist in the LDAP directory." + } + }, + "type": "object" + }, + "IdentityServiceOidcConfig": { + "description": "Configuration for OIDC Auth flow.", + "id": "IdentityServiceOidcConfig", + "properties": { + "certificateAuthorityData": { + "description": "PEM-encoded CA for OIDC provider.", + "type": "string" + }, + "clientId": { + "description": "ID for OIDC client application.", + "type": "string" + }, + "clientSecret": { + "description": "Input only. Unencrypted OIDC client secret will be passed to the GKE Hub CLH.", + "type": "string" + }, + "deployCloudConsoleProxy": { + "description": "Flag to denote if reverse proxy is used to connect to auth provider. This flag should be set to true when provider is not reachable by Google Cloud Console.", + "type": "boolean" + }, + "enableAccessToken": { + "description": "Enable access token.", + "type": "boolean" + }, + "encryptedClientSecret": { + "description": "Output only. Encrypted OIDC Client secret", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "extraParams": { + "description": "Comma-separated list of key-value pairs.", + "type": "string" + }, + "groupPrefix": { + "description": "Prefix to prepend to group name.", + "type": "string" + }, + "groupsClaim": { + "description": "Claim in OIDC ID token that holds group information.", + "type": "string" + }, + "issuerUri": { + "description": "URI for the OIDC provider. This should point to the level below .well-known/openid-configuration.", + "type": "string" + }, + "kubectlRedirectUri": { + "description": "Registered redirect uri to redirect users going through OAuth flow using kubectl plugin.", + "type": "string" + }, + "scopes": { + "description": "Comma-separated list of identifiers.", + "type": "string" + }, + "userClaim": { + "description": "Claim in OIDC ID token that holds username.", + "type": "string" + }, + "userPrefix": { + "description": "Prefix to prepend to user name.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceSamlConfig": { + "description": "Configuration for the SAML Auth flow.", + "id": "IdentityServiceSamlConfig", + "properties": { + "attributeMapping": { + "additionalProperties": { + "type": "string" + }, + "description": "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\".", + "type": "object" + }, + "groupPrefix": { + "description": "Optional. Prefix to prepend to group name.", + "type": "string" + }, + "groupsAttribute": { + "description": "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`).", + "type": "string" + }, + "identityProviderCertificates": { + "description": "Required. The list of IdP certificates to validate the SAML response against.", + "items": { + "type": "string" + }, + "type": "array" + }, + "identityProviderId": { + "description": "Required. The entity ID of the SAML IdP.", + "type": "string" + }, + "identityProviderSsoUri": { + "description": "Required. The URI where the SAML IdP exposes the SSO service.", + "type": "string" + }, + "userAttribute": { + "description": "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`).", + "type": "string" + }, + "userPrefix": { + "description": "Optional. Prefix to prepend to user name.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceServerConfig": { + "description": "Server settings for the external LDAP server.", + "id": "IdentityServiceServerConfig", + "properties": { + "certificateAuthorityData": { + "description": "Optional. Contains a Base64 encoded, PEM formatted certificate authority certificate for the LDAP server. This must be provided for the \"ldaps\" and \"startTLS\" connections.", + "format": "byte", + "type": "string" + }, + "connectionType": { + "description": "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.", + "type": "string" + }, + "host": { + "description": "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\".", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceServiceAccountConfig": { + "description": "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.", + "id": "IdentityServiceServiceAccountConfig", + "properties": { + "simpleBindCredentials": { + "$ref": "IdentityServiceSimpleBindCredentials", + "description": "Credentials for basic auth." + } + }, + "type": "object" + }, + "IdentityServiceSimpleBindCredentials": { + "description": "The structure holds the LDAP simple binding credential.", + "id": "IdentityServiceSimpleBindCredentials", + "properties": { + "dn": { + "description": "Required. The distinguished name(DN) of the service account object/user.", + "type": "string" + }, + "encryptedPassword": { + "description": "Output only. The encrypted password of the service account object/user.", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "password": { + "description": "Required. Input only. The password of the service account object/user.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceSpec": { + "description": "**IdentityService**: Configuration for a single membership.", + "id": "IdentityServiceSpec", + "properties": { + "authMethods": { + "description": "A member may support multiple auth methods.", + "items": { + "$ref": "IdentityServiceAuthMethod" + }, + "type": "array" + }, + "identityServiceOptions": { + "$ref": "IdentityServiceIdentityServiceOptions", + "description": "Optional. non-protocol-related configuration options." + } + }, + "type": "object" + }, + "IdentityServiceState": { + "description": "**IdentityService**: State for a single membership, analyzed and reported by feature controller.", + "id": "IdentityServiceState", + "properties": { + "failureReason": { + "description": "The reason of the failure.", + "type": "string" + }, + "installedVersion": { + "description": "Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK.", + "type": "string" + }, + "memberConfig": { + "$ref": "IdentityServiceSpec", + "description": "Last reconciled membership configuration" + }, + "state": { + "description": "Deployment state on this member", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "OK", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified state", + "deployment succeeds", + "Failure with error." + ], + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceUserConfig": { + "description": "Defines where users exist in the LDAP directory.", + "id": "IdentityServiceUserConfig", + "properties": { + "baseDn": { + "description": "Required. The location of the subtree in the LDAP directory to search for user entries.", + "type": "string" + }, + "filter": { + "description": "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)\".", + "type": "string" + }, + "idAttribute": { + "description": "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\".", + "type": "string" + }, + "loginAttribute": { + "description": "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\".", + "type": "string" + } + }, + "type": "object" + }, + "LifecycleState": { + "description": "LifecycleState describes the state of a MembershipFeature *resource* in the GkeHub API. See `FeatureState` for the \"running state\" of the MembershipFeature.", + "id": "LifecycleState", + "properties": { + "state": { + "description": "Output only. The current state of the Feature resource in the Hub API.", + "enum": [ + "STATE_UNSPECIFIED", + "ENABLING", + "ACTIVE", + "DISABLING", + "UPDATING", + "SERVICE_UPDATING" + ], + "enumDescriptions": [ + "State is unknown or not set.", + "The MembershipFeature is being enabled, and the MembershipFeature resource is being created. Once complete, the corresponding MembershipFeature will be enabled in this Hub.", + "The MembershipFeature is enabled in this Hub, and the MembershipFeature resource is fully available.", + "The MembershipFeature is being disabled in this Hub, and the MembershipFeature resource is being deleted.", + "The MembershipFeature resource is being updated.", + "The MembershipFeature resource is being updated by the Hub Service." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListMembershipFeaturesResponse": { + "description": "Response message for the `GkeHubFeature.ListMembershipFeatures` method.", + "id": "ListMembershipFeaturesResponse", + "properties": { + "membershipFeatures": { + "description": "The list of matching MembershipFeatures.", + "items": { + "$ref": "MembershipFeature" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to request the next page of resources from the `ListMembershipFeatures` method. The value of an empty string means that there are no more resources to return.", + "type": "string" + }, + "unreachable": { + "description": "List of locations that could not be reached while fetching this list.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents a Google Cloud location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given location.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "MembershipFeature": { + "description": "MembershipFeature represents the settings and status of a Fleet Feature enabled on a single Fleet Membership.", + "id": "MembershipFeature", + "properties": { + "createTime": { + "description": "Output only. When the MembershipFeature resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deleteTime": { + "description": "Output only. When the MembershipFeature resource was deleted.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "featureConfigRef": { + "$ref": "FeatureConfigRef", + "description": "Reference information for a FeatureConfig applied on the MembershipFeature." + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "GCP labels for this MembershipFeature.", + "type": "object" + }, + "lifecycleState": { + "$ref": "LifecycleState", + "description": "Output only. Lifecycle information of the resource itself.", + "readOnly": true + }, + "name": { + "description": "Output only. The resource name of the membershipFeature, in the format: `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers)", + "readOnly": true, + "type": "string" + }, + "spec": { + "$ref": "FeatureSpec", + "description": "Spec of this membershipFeature." + }, + "state": { + "$ref": "FeatureState", + "description": "Output only. State of the this membershipFeature.", + "readOnly": true + }, + "updateTime": { + "description": "Output only. When the MembershipFeature resource was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "MeteringState": { + "description": "**Metering**: State for a single membership, analyzed and reported by feature controller.", + "id": "MeteringState", + "properties": { + "lastMeasurementTime": { + "description": "The time stamp of the most recent measurement of the number of vCPUs in the cluster.", + "format": "google-datetime", + "type": "string" + }, + "preciseLastMeasuredClusterVcpuCapacity": { + "description": "The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision).", + "format": "float", + "type": "number" + } + }, + "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": "GoogleRpcStatus", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Metadata of the long-running operation.", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "cancelRequested": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "statusDetail": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Origin": { + "description": "Origin defines where this FeatureSpec originated from.", + "id": "Origin", + "properties": { + "type": { + "description": "Type specifies which type of origin is set.", + "enum": [ + "TYPE_UNSPECIFIED", + "FLEET", + "FLEET_OUT_OF_SYNC", + "USER" + ], + "enumDescriptions": [ + "Type is unknown or not set.", + "Per-Feature spec was inherited from the fleet-level default.", + "Per-Feature spec was inherited from the fleet-level default but is now out of sync with the current default.", + "Per-Feature spec was inherited from a user specification." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerBundleInstallSpec": { + "description": "BundleInstallSpec is the specification configuration for a single managed bundle.", + "id": "PolicyControllerBundleInstallSpec", + "properties": { + "exemptedNamespaces": { + "description": "the set of namespaces to be exempted from the bundle", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "PolicyControllerHubConfig": { + "description": "Configuration for Policy Controller", + "id": "PolicyControllerHubConfig", + "properties": { + "auditIntervalSeconds": { + "description": "Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.", + "format": "int64", + "type": "string" + }, + "constraintViolationLimit": { + "description": "The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used.", + "format": "int64", + "type": "string" + }, + "deploymentConfigs": { + "additionalProperties": { + "$ref": "PolicyControllerPolicyControllerDeploymentConfig" + }, + "description": "Map of deployment configs to deployments (\u201cadmission\u201d, \u201caudit\u201d, \u201cmutation\u201d).", + "type": "object" + }, + "exemptableNamespaces": { + "description": "The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.", + "items": { + "type": "string" + }, + "type": "array" + }, + "installSpec": { + "description": "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.", + "enum": [ + "INSTALL_SPEC_UNSPECIFIED", + "INSTALL_SPEC_NOT_INSTALLED", + "INSTALL_SPEC_ENABLED", + "INSTALL_SPEC_SUSPENDED", + "INSTALL_SPEC_DETACHED" + ], + "enumDescriptions": [ + "Spec is unknown.", + "Request to uninstall Policy Controller.", + "Request to install and enable Policy Controller.", + "Request to suspend Policy Controller i.e. its webhooks. If Policy Controller is not installed, it will be installed but suspended.", + "Request to stop all reconciliation actions by PoCo Hub controller. This is a breakglass mechanism to stop PoCo Hub from affecting cluster resources." + ], + "type": "string" + }, + "logDeniesEnabled": { + "description": "Logs all denies and dry run failures.", + "type": "boolean" + }, + "monitoring": { + "$ref": "PolicyControllerMonitoringConfig", + "description": "Monitoring specifies the configuration of monitoring." + }, + "mutationEnabled": { + "description": "Enables the ability to mutate resources using Policy Controller.", + "type": "boolean" + }, + "policyContent": { + "$ref": "PolicyControllerPolicyContentSpec", + "description": "Specifies the desired policy content on the cluster" + }, + "referentialRulesEnabled": { + "description": "Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.", + "type": "boolean" + } + }, + "type": "object" + }, + "PolicyControllerMonitoringConfig": { + "description": "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\"]", + "id": "PolicyControllerMonitoringConfig", + "properties": { + "backends": { + "description": "Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export.", + "items": { + "enum": [ + "MONITORING_BACKEND_UNSPECIFIED", + "PROMETHEUS", + "CLOUD_MONITORING" + ], + "enumDescriptions": [ + "Backend cannot be determined", + "Prometheus backend for monitoring", + "Stackdriver/Cloud Monitoring backend for monitoring" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "PolicyControllerOnClusterState": { + "description": "OnClusterState represents the state of a sub-component of Policy Controller.", + "id": "PolicyControllerOnClusterState", + "properties": { + "details": { + "description": "Surface potential errors or information logs.", + "type": "string" + }, + "state": { + "description": "The lifecycle state of this component.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLING", + "ACTIVE", + "UPDATING", + "DECOMMISSIONING", + "CLUSTER_ERROR", + "HUB_ERROR", + "SUSPENDED", + "DETACHED" + ], + "enumDescriptions": [ + "The lifecycle state is unspecified.", + "The PC does not exist on the given cluster, and no k8s resources of any type that are associated with the PC should exist there. The cluster does not possess a membership with the PCH.", + "The PCH possesses a Membership, however the PC is not fully installed on the cluster. In this state the hub can be expected to be taking actions to install the PC on the cluster.", + "The PC is fully installed on the cluster and in an operational mode. In this state PCH will be reconciling state with the PC, and the PC will be performing it's operational tasks per that software. Entering a READY state requires that the hub has confirmed the PC is installed and its pods are operational with the version of the PC the PCH expects.", + "The PC is fully installed, but in the process of changing the configuration (including changing the version of PC either up and down, or modifying the manifests of PC) of the resources running on the cluster. The PCH has a Membership, is aware of the version the cluster should be running in, but has not confirmed for itself that the PC is running with that version.", + "The PC may have resources on the cluster, but the PCH wishes to remove the Membership. The Membership still exists.", + "The PC is not operational, and the PCH is unable to act to make it operational. Entering a CLUSTER_ERROR state happens automatically when the PCH determines that a PC installed on the cluster is non-operative or that the cluster does not meet requirements set for the PCH to administer the cluster but has nevertheless been given an instruction to do so (such as \u2018install').", + "In this state, the PC may still be operational, and only the PCH is unable to act. The hub should not issue instructions to change the PC state, or otherwise interfere with the on-cluster resources. Entering a HUB_ERROR state happens automatically when the PCH determines the hub is in an unhealthy state and it wishes to \u2018take hands off' to avoid corrupting the PC or other data.", + "Policy Controller (PC) is installed but suspended. This means that the policies are not enforced, but violations are still recorded (through audit).", + "PoCo Hub is not taking any action to reconcile cluster objects. Changes to those objects will not be overwritten by PoCo Hub." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerPolicyContentSpec": { + "description": "PolicyContentSpec defines the user's desired content configuration on the cluster.", + "id": "PolicyControllerPolicyContentSpec", + "properties": { + "bundles": { + "additionalProperties": { + "$ref": "PolicyControllerBundleInstallSpec" + }, + "description": "map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint.", + "type": "object" + }, + "templateLibrary": { + "$ref": "PolicyControllerTemplateLibraryConfig", + "description": "Configures the installation of the Template Library." + } + }, + "type": "object" + }, + "PolicyControllerPolicyContentState": { + "description": "The state of the policy controller policy content", + "id": "PolicyControllerPolicyContentState", + "properties": { + "bundleStates": { + "additionalProperties": { + "$ref": "PolicyControllerOnClusterState" + }, + "description": "The state of the any bundles included in the chosen version of the manifest", + "type": "object" + }, + "referentialSyncConfigState": { + "$ref": "PolicyControllerOnClusterState", + "description": "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." + }, + "templateLibraryState": { + "$ref": "PolicyControllerOnClusterState", + "description": "The state of the template library" + } + }, + "type": "object" + }, + "PolicyControllerPolicyControllerDeploymentConfig": { + "description": "Deployment-specific configuration.", + "id": "PolicyControllerPolicyControllerDeploymentConfig", + "properties": { + "containerResources": { + "$ref": "PolicyControllerResourceRequirements", + "description": "Container resource requirements." + }, + "podAffinity": { + "description": "Pod affinity configuration.", + "enum": [ + "AFFINITY_UNSPECIFIED", + "NO_AFFINITY", + "ANTI_AFFINITY" + ], + "enumDescriptions": [ + "No affinity configuration has been specified.", + "Affinity configurations will be removed from the deployment.", + "Anti-affinity configuration will be applied to this deployment. Default for admissions deployment." + ], + "type": "string" + }, + "podAntiAffinity": { + "deprecated": true, + "description": "Pod anti-affinity enablement. Deprecated: use `pod_affinity` instead.", + "type": "boolean" + }, + "podTolerations": { + "description": "Pod tolerations of node taints.", + "items": { + "$ref": "PolicyControllerToleration" + }, + "type": "array" + }, + "replicaCount": { + "description": "Pod replica count.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerResourceList": { + "description": "ResourceList contains container resource requirements.", + "id": "PolicyControllerResourceList", + "properties": { + "cpu": { + "description": "CPU requirement expressed in Kubernetes resource units.", + "type": "string" + }, + "memory": { + "description": "Memory requirement expressed in Kubernetes resource units.", + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerResourceRequirements": { + "description": "ResourceRequirements describes the compute resource requirements.", + "id": "PolicyControllerResourceRequirements", + "properties": { + "limits": { + "$ref": "PolicyControllerResourceList", + "description": "Limits describes the maximum amount of compute resources allowed for use by the running container." + }, + "requests": { + "$ref": "PolicyControllerResourceList", + "description": "Requests describes the amount of compute resources reserved for the container by the kube-scheduler." + } + }, + "type": "object" + }, + "PolicyControllerSpec": { + "description": "**Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR.", + "id": "PolicyControllerSpec", + "properties": { + "policyControllerHubConfig": { + "$ref": "PolicyControllerHubConfig", + "description": "Policy Controller configuration for the cluster." + }, + "version": { + "description": "Version of Policy Controller installed.", + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerState": { + "description": "**Policy Controller**: State for a single cluster.", + "id": "PolicyControllerState", + "properties": { + "componentStates": { + "additionalProperties": { + "$ref": "PolicyControllerOnClusterState" + }, + "description": "Currently these include (also serving as map keys): 1. \"admission\" 2. \"audit\" 3. \"mutation\"", + "type": "object" + }, + "policyContentState": { + "$ref": "PolicyControllerPolicyContentState", + "description": "The overall content state observed by the Hub Feature controller." + }, + "state": { + "description": "The overall Policy Controller lifecycle state observed by the Hub Feature controller.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLING", + "ACTIVE", + "UPDATING", + "DECOMMISSIONING", + "CLUSTER_ERROR", + "HUB_ERROR", + "SUSPENDED", + "DETACHED" + ], + "enumDescriptions": [ + "The lifecycle state is unspecified.", + "The PC does not exist on the given cluster, and no k8s resources of any type that are associated with the PC should exist there. The cluster does not possess a membership with the PCH.", + "The PCH possesses a Membership, however the PC is not fully installed on the cluster. In this state the hub can be expected to be taking actions to install the PC on the cluster.", + "The PC is fully installed on the cluster and in an operational mode. In this state PCH will be reconciling state with the PC, and the PC will be performing it's operational tasks per that software. Entering a READY state requires that the hub has confirmed the PC is installed and its pods are operational with the version of the PC the PCH expects.", + "The PC is fully installed, but in the process of changing the configuration (including changing the version of PC either up and down, or modifying the manifests of PC) of the resources running on the cluster. The PCH has a Membership, is aware of the version the cluster should be running in, but has not confirmed for itself that the PC is running with that version.", + "The PC may have resources on the cluster, but the PCH wishes to remove the Membership. The Membership still exists.", + "The PC is not operational, and the PCH is unable to act to make it operational. Entering a CLUSTER_ERROR state happens automatically when the PCH determines that a PC installed on the cluster is non-operative or that the cluster does not meet requirements set for the PCH to administer the cluster but has nevertheless been given an instruction to do so (such as \u2018install').", + "In this state, the PC may still be operational, and only the PCH is unable to act. The hub should not issue instructions to change the PC state, or otherwise interfere with the on-cluster resources. Entering a HUB_ERROR state happens automatically when the PCH determines the hub is in an unhealthy state and it wishes to \u2018take hands off' to avoid corrupting the PC or other data.", + "Policy Controller (PC) is installed but suspended. This means that the policies are not enforced, but violations are still recorded (through audit).", + "PoCo Hub is not taking any action to reconcile cluster objects. Changes to those objects will not be overwritten by PoCo Hub." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerTemplateLibraryConfig": { + "description": "The config specifying which default library templates to install.", + "id": "PolicyControllerTemplateLibraryConfig", + "properties": { + "installation": { + "description": "Configures the manner in which the template library is installed on the cluster.", + "enum": [ + "INSTALLATION_UNSPECIFIED", + "NOT_INSTALLED", + "ALL" + ], + "enumDescriptions": [ + "No installation strategy has been specified.", + "Do not install the template library.", + "Install the entire template library." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerToleration": { + "description": "Toleration of a node taint.", + "id": "PolicyControllerToleration", + "properties": { + "effect": { + "description": "Matches a taint effect.", + "type": "string" + }, + "key": { + "description": "Matches a taint key (not necessarily unique).", + "type": "string" + }, + "operator": { + "description": "Matches a taint operator.", + "type": "string" + }, + "value": { + "description": "Matches a taint value.", + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshAnalysisMessage": { + "description": "AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration.", + "id": "ServiceMeshAnalysisMessage", + "properties": { + "args": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "A UI can combine these args with a template (based on message_base.type) to produce an internationalized message.", + "type": "object" + }, + "description": { + "description": "A human readable description of what the error means. It is suitable for non-internationalize display purposes.", + "type": "string" + }, + "messageBase": { + "$ref": "ServiceMeshAnalysisMessageBase", + "description": "Details common to all types of Istio and ServiceMesh analysis messages." + }, + "resourcePaths": { + "description": "A list of strings specifying the resource identifiers that were the cause of message generation. A \"path\" here may be: * MEMBERSHIP_ID if the cause is a specific member cluster * MEMBERSHIP_ID/(NAMESPACE\\/)?RESOURCETYPE/NAME if the cause is a resource in a cluster", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ServiceMeshAnalysisMessageBase": { + "description": "AnalysisMessageBase describes some common information that is needed for all messages.", + "id": "ServiceMeshAnalysisMessageBase", + "properties": { + "documentationUrl": { + "description": "A url pointing to the Service Mesh or Istio documentation for this specific error type.", + "type": "string" + }, + "level": { + "description": "Represents how severe a message is.", + "enum": [ + "LEVEL_UNSPECIFIED", + "ERROR", + "WARNING", + "INFO" + ], + "enumDescriptions": [ + "Illegal. Same istio.analysis.v1alpha1.AnalysisMessageBase.Level.UNKNOWN.", + "ERROR represents a misconfiguration that must be fixed.", + "WARNING represents a misconfiguration that should be fixed.", + "INFO represents an informational finding." + ], + "type": "string" + }, + "type": { + "$ref": "ServiceMeshType", + "description": "Represents the specific type of a message." + } + }, + "type": "object" + }, + "ServiceMeshCondition": { + "description": "Condition being reported.", + "id": "ServiceMeshCondition", + "properties": { + "code": { + "description": "Unique identifier of the condition which describes the condition recognizable to the user.", + "enum": [ + "CODE_UNSPECIFIED", + "MESH_IAM_PERMISSION_DENIED", + "MESH_IAM_CROSS_PROJECT_PERMISSION_DENIED", + "CNI_CONFIG_UNSUPPORTED", + "GKE_SANDBOX_UNSUPPORTED", + "NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED", + "CNI_INSTALLATION_FAILED", + "CNI_POD_UNSCHEDULABLE", + "CLUSTER_HAS_ZERO_NODES", + "UNSUPPORTED_MULTIPLE_CONTROL_PLANES", + "VPCSC_GA_SUPPORTED", + "DEPRECATED_SPEC_CONTROL_PLANE_MANAGEMENT", + "DEPRECATED_SPEC_CONTROL_PLANE_MANAGEMENT_SAFE", + "CONFIG_APPLY_INTERNAL_ERROR", + "CONFIG_VALIDATION_ERROR", + "CONFIG_VALIDATION_WARNING", + "QUOTA_EXCEEDED_BACKEND_SERVICES", + "QUOTA_EXCEEDED_HEALTH_CHECKS", + "QUOTA_EXCEEDED_HTTP_ROUTES", + "QUOTA_EXCEEDED_TCP_ROUTES", + "QUOTA_EXCEEDED_TLS_ROUTES", + "QUOTA_EXCEEDED_TRAFFIC_POLICIES", + "QUOTA_EXCEEDED_ENDPOINT_POLICIES", + "QUOTA_EXCEEDED_GATEWAYS", + "QUOTA_EXCEEDED_MESHES", + "QUOTA_EXCEEDED_SERVER_TLS_POLICIES", + "QUOTA_EXCEEDED_CLIENT_TLS_POLICIES", + "QUOTA_EXCEEDED_SERVICE_LB_POLICIES", + "QUOTA_EXCEEDED_HTTP_FILTERS", + "QUOTA_EXCEEDED_TCP_FILTERS", + "QUOTA_EXCEEDED_NETWORK_ENDPOINT_GROUPS", + "MODERNIZATION_SCHEDULED", + "MODERNIZATION_IN_PROGRESS", + "MODERNIZATION_COMPLETED", + "MODERNIZATION_ABORTED" + ], + "enumDescriptions": [ + "Default Unspecified code", + "Mesh IAM permission denied error code", + "Permission denied error code for cross-project", + "CNI config unsupported error code", + "GKE sandbox unsupported error code", + "Nodepool workload identity federation required error code", + "CNI installation failed error code", + "CNI pod unschedulable error code", + "Cluster has zero node code", + "Multiple control planes unsupported error code", + "VPC-SC GA is supported for this control plane.", + "User is using deprecated ControlPlaneManagement and they have not yet set Management.", + "User is using deprecated ControlPlaneManagement and they have already set Management.", + "Configuration (Istio/k8s resources) failed to apply due to internal error.", + "Configuration failed to be applied due to being invalid.", + "Encountered configuration(s) with possible unintended behavior or invalid configuration. These configs may not have been applied.", + "BackendService quota exceeded error code.", + "HealthCheck quota exceeded error code.", + "HTTPRoute quota exceeded error code.", + "TCPRoute quota exceeded error code.", + "TLS routes quota exceeded error code.", + "TrafficPolicy quota exceeded error code.", + "EndpointPolicy quota exceeded error code.", + "Gateway quota exceeded error code.", + "Mesh quota exceeded error code.", + "ServerTLSPolicy quota exceeded error code.", + "ClientTLSPolicy quota exceeded error code.", + "ServiceLBPolicy quota exceeded error code.", + "HTTPFilter quota exceeded error code.", + "TCPFilter quota exceeded error code.", + "NetworkEndpointGroup quota exceeded error code.", + "Modernization is scheduled for a cluster.", + "Modernization is in progress for a cluster.", + "Modernization is completed for a cluster.", + "Modernization is aborted for a cluster." + ], + "type": "string" + }, + "details": { + "description": "A short summary about the issue.", + "type": "string" + }, + "documentationLink": { + "description": "Links contains actionable information.", + "type": "string" + }, + "severity": { + "description": "Severity level of the condition.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "ERROR", + "WARNING", + "INFO" + ], + "enumDescriptions": [ + "Unspecified severity", + "Indicates an issue that prevents the mesh from operating correctly", + "Indicates a setting is likely wrong, but the mesh is still able to operate", + "An informational message, not requiring any action" + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshControlPlaneManagement": { + "description": "Status of control plane management.", + "id": "ServiceMeshControlPlaneManagement", + "properties": { + "details": { + "description": "Explanation of state.", + "items": { + "$ref": "ServiceMeshStatusDetails" + }, + "type": "array" + }, + "implementation": { + "description": "Output only. Implementation of managed control plane.", + "enum": [ + "IMPLEMENTATION_UNSPECIFIED", + "ISTIOD", + "TRAFFIC_DIRECTOR", + "UPDATING" + ], + "enumDescriptions": [ + "Unspecified", + "A Google build of istiod is used for the managed control plane.", + "Traffic director is used for the managed control plane.", + "The control plane implementation is being updated." + ], + "readOnly": true, + "type": "string" + }, + "state": { + "description": "LifecycleState of control plane management.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "DISABLED", + "FAILED_PRECONDITION", + "PROVISIONING", + "ACTIVE", + "STALLED", + "NEEDS_ATTENTION", + "DEGRADED" + ], + "enumDescriptions": [ + "Unspecified", + "DISABLED means that the component is not enabled.", + "FAILED_PRECONDITION means that provisioning cannot proceed because of some characteristic of the member cluster.", + "PROVISIONING means that provisioning is in progress.", + "ACTIVE means that the component is ready for use.", + "STALLED means that provisioning could not be done.", + "NEEDS_ATTENTION means that the component is ready, but some user intervention is required. (For example that the user should migrate workloads to a new control plane revision.)", + "DEGRADED means that the component is ready, but operating in a degraded state." + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshDataPlaneManagement": { + "description": "Status of data plane management. Only reported per-member.", + "id": "ServiceMeshDataPlaneManagement", + "properties": { + "details": { + "description": "Explanation of the status.", + "items": { + "$ref": "ServiceMeshStatusDetails" + }, + "type": "array" + }, + "state": { + "description": "Lifecycle status of data plane management.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "DISABLED", + "FAILED_PRECONDITION", + "PROVISIONING", + "ACTIVE", + "STALLED", + "NEEDS_ATTENTION", + "DEGRADED" + ], + "enumDescriptions": [ + "Unspecified", + "DISABLED means that the component is not enabled.", + "FAILED_PRECONDITION means that provisioning cannot proceed because of some characteristic of the member cluster.", + "PROVISIONING means that provisioning is in progress.", + "ACTIVE means that the component is ready for use.", + "STALLED means that provisioning could not be done.", + "NEEDS_ATTENTION means that the component is ready, but some user intervention is required. (For example that the user should migrate workloads to a new control plane revision.)", + "DEGRADED means that the component is ready, but operating in a degraded state." + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshSpec": { + "description": "**Service Mesh**: Spec for a single Membership for the servicemesh feature", + "id": "ServiceMeshSpec", + "properties": { + "configApi": { + "description": "Optional. Specifies the API that will be used for configuring the mesh workloads.", + "enum": [ + "CONFIG_API_UNSPECIFIED", + "CONFIG_API_ISTIO", + "CONFIG_API_GATEWAY" + ], + "enumDescriptions": [ + "Unspecified", + "Use the Istio API for configuration.", + "Use the K8s Gateway API for configuration." + ], + "type": "string" + }, + "controlPlane": { + "deprecated": true, + "description": "Deprecated: use `management` instead Enables automatic control plane management.", + "enum": [ + "CONTROL_PLANE_MANAGEMENT_UNSPECIFIED", + "AUTOMATIC", + "MANUAL" + ], + "enumDescriptions": [ + "Unspecified", + "Google should provision a control plane revision and make it available in the cluster. Google will enroll this revision in a release channel and keep it up to date. The control plane revision may be a managed service, or a managed install.", + "User will manually configure the control plane (e.g. via CLI, or via the ControlPlaneRevision KRM API)" + ], + "type": "string" + }, + "defaultChannel": { + "deprecated": true, + "description": "Determines which release channel to use for default injection and service mesh APIs.", + "enum": [ + "CHANNEL_UNSPECIFIED", + "RAPID", + "REGULAR", + "STABLE" + ], + "enumDescriptions": [ + "Unspecified", + "RAPID channel is offered on an early access basis for customers who want to test new releases.", + "REGULAR channel is intended for production users who want to take advantage of new features.", + "STABLE channel includes versions that are known to be stable and reliable in production." + ], + "type": "string" + }, + "management": { + "description": "Optional. Enables automatic Service Mesh management.", + "enum": [ + "MANAGEMENT_UNSPECIFIED", + "MANAGEMENT_AUTOMATIC", + "MANAGEMENT_MANUAL" + ], + "enumDescriptions": [ + "Unspecified", + "Google should manage my Service Mesh for the cluster.", + "User will manually configure their service mesh components." + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshState": { + "description": "**Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller.", + "id": "ServiceMeshState", + "properties": { + "analysisMessages": { + "description": "Output only. Results of running Service Mesh analyzers.", + "items": { + "$ref": "ServiceMeshAnalysisMessage" + }, + "readOnly": true, + "type": "array" + }, + "conditions": { + "description": "Output only. List of conditions reported for this membership.", + "items": { + "$ref": "ServiceMeshCondition" + }, + "readOnly": true, + "type": "array" + }, + "configApiVersion": { + "description": "The API version (i.e. Istio CRD version) for configuring service mesh in this cluster. This version is influenced by the `default_channel` field.", + "type": "string" + }, + "controlPlaneManagement": { + "$ref": "ServiceMeshControlPlaneManagement", + "description": "Output only. Status of control plane management", + "readOnly": true + }, + "dataPlaneManagement": { + "$ref": "ServiceMeshDataPlaneManagement", + "description": "Output only. Status of data plane management.", + "readOnly": true + } + }, + "type": "object" + }, + "ServiceMeshStatusDetails": { + "description": "Structured and human-readable details for a status.", + "id": "ServiceMeshStatusDetails", + "properties": { + "code": { + "description": "A machine-readable code that further describes a broad status.", + "type": "string" + }, + "details": { + "description": "Human-readable explanation of code.", + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshType": { + "description": "A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type", + "id": "ServiceMeshType", + "properties": { + "code": { + "description": "A 7 character code matching `^IST[0-9]{4}$` or `^ASM[0-9]{4}$`, intended to uniquely identify the message type. (e.g. \"IST0001\" is mapped to the \"InternalError\" message type.)", + "type": "string" + }, + "displayName": { + "description": "A human-readable name for the message type. e.g. \"InternalError\", \"PodMissingProxy\". This should be the same for all messages of the same type. (This corresponds to the `name` field in open-source Istio.)", + "type": "string" + } + }, + "type": "object" + }, + "State": { + "description": "High-level state of a MembershipFeature.", + "id": "State", + "properties": { + "code": { + "description": "The high-level, machine-readable status of this MembershipFeature.", + "enum": [ + "CODE_UNSPECIFIED", + "OK", + "WARNING", + "ERROR" + ], + "enumDescriptions": [ + "Unknown or not set.", + "The MembershipFeature is operating normally.", + "The MembershipFeature has encountered an issue, and is operating in a degraded state. The MembershipFeature may need intervention to return to normal operation. See the description and any associated MembershipFeature-specific details for more information.", + "The MembershipFeature is not operating or is in a severely degraded state. The MembershipFeature may need intervention to return to normal operation. See the description and any associated MembershipFeature-specific details for more information." + ], + "type": "string" + }, + "description": { + "description": "A human-readable description of the current status.", + "type": "string" + }, + "updateTime": { + "description": "The time this status and any related Feature-specific details were updated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "WorkloadCertificateSpec": { + "description": "**WorkloadCertificate**: The membership-specific input for WorkloadCertificate feature.", + "id": "WorkloadCertificateSpec", + "properties": { + "certificateManagement": { + "description": "CertificateManagement specifies workload certificate management.", + "enum": [ + "CERTIFICATE_MANAGEMENT_UNSPECIFIED", + "DISABLED", + "ENABLED" + ], + "enumDescriptions": [ + "Disable workload certificate feature.", + "Disable workload certificate feature.", + "Enable workload certificate feature." + ], + "type": "string" } }, "type": "object" diff --git a/Src/Generated/Google.Apis.GKEHub.v2alpha/Google.Apis.GKEHub.v2alpha.cs b/Src/Generated/Google.Apis.GKEHub.v2alpha/Google.Apis.GKEHub.v2alpha.cs index fa64492b6e..351595e6d0 100644 --- a/Src/Generated/Google.Apis.GKEHub.v2alpha/Google.Apis.GKEHub.v2alpha.cs +++ b/Src/Generated/Google.Apis.GKEHub.v2alpha/Google.Apis.GKEHub.v2alpha.cs @@ -292,9 +292,465 @@ public class LocationsResource public LocationsResource(Google.Apis.Services.IClientService service) { this.service = service; + Memberships = new MembershipsResource(service); Operations = new OperationsResource(service); } + /// Gets the Memberships resource. + public virtual MembershipsResource Memberships { get; } + + /// The "memberships" collection of methods. + public class MembershipsResource + { + private const string Resource = "memberships"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public MembershipsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + Features = new FeaturesResource(service); + } + + /// Gets the Features resource. + public virtual FeaturesResource Features { get; } + + /// The "features" collection of methods. + public class FeaturesResource + { + private const string Resource = "features"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public FeaturesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Creates membershipFeature under a given parent. + /// The body of the request. + /// + /// Required. The name of parent where the MembershipFeature will be created. Specified in the + /// format `projects/*/locations/*/memberships/*`. + /// + public virtual CreateRequest Create(Google.Apis.GKEHub.v2alpha.Data.MembershipFeature body, string parent) + { + return new CreateRequest(this.service, body, parent); + } + + /// Creates membershipFeature under a given parent. + public class CreateRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v2alpha.Data.MembershipFeature body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// + /// Required. The name of parent where the MembershipFeature will be created. Specified in the + /// format `projects/*/locations/*/memberships/*`. + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// Required. The ID of the membership_feature to create. + [Google.Apis.Util.RequestParameterAttribute("featureId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string FeatureId { get; set; } + + /// Idempotent request UUID. + [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.GKEHub.v2alpha.Data.MembershipFeature 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 => "v2alpha/{+parent}/features"; + + /// 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/[^/]+/memberships/[^/]+$", + }); + RequestParameters.Add("featureId", new Google.Apis.Discovery.Parameter + { + Name = "featureId", + 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, + }); + } + } + + /// Removes a membershipFeature. + /// + /// Required. The name of the membershipFeature to be deleted. Specified in the format + /// `projects/*/locations/*/memberships/*/features/*`. + /// + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// Removes a membershipFeature. + 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 name of the membershipFeature to be deleted. Specified in the format + /// `projects/*/locations/*/memberships/*/features/*`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Idempotent request UUID. + [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 => "v2alpha/{+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/[^/]+/memberships/[^/]+/features/[^/]+$", + }); + RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter + { + Name = "requestId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// ========= MembershipFeature Services ========= Gets details of a membershipFeature. + /// + /// + /// Required. The MembershipFeature resource name in the format + /// `projects/*/locations/*/memberships/*/features/*`. + /// + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// + /// ========= MembershipFeature Services ========= Gets details of a membershipFeature. + /// + 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 MembershipFeature resource name in the format + /// `projects/*/locations/*/memberships/*/features/*`. + /// + [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 => "v2alpha/{+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/[^/]+/memberships/[^/]+/features/[^/]+$", + }); + } + } + + /// Lists MembershipFeatures in a given project and location. + /// + /// Required. The parent where the MembershipFeature will be listed. In the format: + /// `projects/*/locations/*/memberships/*`. + /// + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Lists MembershipFeatures in a given project and location. + 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 where the MembershipFeature will be listed. In the format: + /// `projects/*/locations/*/memberships/*`. + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Lists MembershipFeatures that match the filter expression, following the syntax outlined in + /// https://google.aip.dev/160. Examples: - Feature with the name "helloworld" in project + /// "foo-proj" and membership "member-bar": name = + /// "projects/foo-proj/locations/global/memberships/member-bar/features/helloworld" - Features + /// that have a label called `foo`: labels.foo:* - Features that have a label called `foo` whose + /// value is `bar`: labels.foo = bar + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// One or more fields to compare and use to sort the output. See + /// https://google.aip.dev/132#ordering. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// 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; } + + /// + /// 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; } + + /// 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 => "v2alpha/{+parent}/features"; + + /// 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/[^/]+/memberships/[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + 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 an existing MembershipFeature. + /// The body of the request. + /// + /// Output only. The resource name of the membershipFeature, in the format: + /// `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that + /// `membershipFeatures` is shortened to `features` in the resource name. (see + /// http://go/aip/122#collection-identifiers) + /// + public virtual PatchRequest Patch(Google.Apis.GKEHub.v2alpha.Data.MembershipFeature body, string name) + { + return new PatchRequest(this.service, body, name); + } + + /// Updates an existing MembershipFeature. + public class PatchRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v2alpha.Data.MembershipFeature body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Output only. The resource name of the membershipFeature, in the format: + /// `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note + /// that `membershipFeatures` is shortened to `features` in the resource name. (see + /// http://go/aip/122#collection-identifiers) + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Optional. If set to true, and the MembershipFeature is not found, a new MembershipFeature + /// will be created. In this situation, `update_mask` is ignored. + /// + [Google.Apis.Util.RequestParameterAttribute("allowMissing", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AllowMissing { get; set; } + + /// Idempotent request UUID. + [Google.Apis.Util.RequestParameterAttribute("requestId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string RequestId { get; set; } + + /// Required. Mask 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.v2alpha.Data.MembershipFeature 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 => "v2alpha/{+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/[^/]+/memberships/[^/]+/features/[^/]+$", + }); + RequestParameters.Add("allowMissing", new Google.Apis.Discovery.Parameter + { + Name = "allowMissing", + 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, + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + } + /// Gets the Operations resource. public virtual OperationsResource Operations { get; } @@ -656,6 +1112,32 @@ protected override void InitParameters() } namespace Google.Apis.GKEHub.v2alpha.Data { + /// State for App Dev Exp Feature. + public class AppDevExperienceState : Google.Apis.Requests.IDirectResponseSchema + { + /// Status of subcomponent that detects configured Service Mesh resources. + [Newtonsoft.Json.JsonPropertyAttribute("networkingInstallSucceeded")] + public virtual AppDevExperienceStatus NetworkingInstallSucceeded { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Status specifies state for the subcomponent. + public class AppDevExperienceStatus : Google.Apis.Requests.IDirectResponseSchema + { + /// Code specifies AppDevExperienceFeature's subcomponent ready state. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } + + /// Description is populated if Code is Failed, explaining why it has failed. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { 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 { @@ -663,146 +1145,2658 @@ public class CancelOperationRequest : Google.Apis.Requests.IDirectResponseSchema 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 + /// **Cloud Build**: Configurations for each Cloud Build enabled cluster. + public class CloudBuildSpec : 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; } + } + + /// 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". + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Version of the upgrade, e.g., "1.22.1-gke.100". + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual string Version { 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). + /// 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 GoogleRpcStatus : Google.Apis.Requests.IDirectResponseSchema + public class ClusterUpgradeIgnoredMembership : 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; } + private string _ignoredTimeRaw; - /// - /// 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; } + private object _ignoredTime; - /// - /// 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; } + /// 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; + } + } + + /// 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; } } - /// The response message for Locations.ListLocations. - public class ListLocationsResponse : Google.Apis.Requests.IDirectResponseSchema + /// MembershipGKEUpgradeState is a GKEUpgrade and its state per-membership. + public class ClusterUpgradeMembershipGKEUpgradeState : 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; } + /// Status of the upgrade. + [Newtonsoft.Json.JsonPropertyAttribute("status")] + public virtual ClusterUpgradeUpgradeStatus Status { get; set; } - /// The standard List next-page token. - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { 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; } } - /// The response message for Operations.ListOperations. - public class ListOperationsResponse : Google.Apis.Requests.IDirectResponseSchema + /// Per-membership state for this feature. + public class ClusterUpgradeState : Google.Apis.Requests.IDirectResponseSchema { - /// The standard List next-page token. - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { 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; } - /// 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; } + /// 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; } } - /// A resource that represents a Google Cloud location. - public class Location : Google.Apis.Requests.IDirectResponseSchema + /// UpgradeStatus provides status information for each upgrade. + public class ClusterUpgradeUpgradeStatus : 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; } + /// Status code of the upgrade. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { 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; } + /// Reason for this status. + [Newtonsoft.Json.JsonPropertyAttribute("reason")] + public virtual string Reason { get; set; } - /// The canonical id for this location. For example: `"us-east1"`. - [Newtonsoft.Json.JsonPropertyAttribute("locationId")] - public virtual string LocationId { get; set; } + private string _updateTimeRaw; - /// 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; } + private object _updateTime; - /// - /// 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; } + /// 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; } } - /// This resource represents a long-running operation that is the result of a network API call. - public class Operation : Google.Apis.Requests.IDirectResponseSchema + /// Configuration for Binauthz. + public class ConfigManagementBinauthzConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// 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; } + } + + /// State for Binauthz. + public class ConfigManagementBinauthzState : Google.Apis.Requests.IDirectResponseSchema + { + /// The version of binauthz that is installed. + [Newtonsoft.Json.JsonPropertyAttribute("version")] + 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; } + } + + /// The version of binauthz. + public class ConfigManagementBinauthzVersion : Google.Apis.Requests.IDirectResponseSchema + { + /// 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; } + } + + /// Configuration for Config Sync + public class ConfigManagementConfigSync : 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. + /// Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is + /// deprecated. /// - [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; } + [Newtonsoft.Json.JsonPropertyAttribute("allowVerticalScale")] + public virtual System.Nullable AllowVerticalScale { 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. + /// 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("metadata")] - public virtual System.Collections.Generic.IDictionary Metadata { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("enabled")] + public virtual System.Nullable Enabled { get; set; } + + /// Git repo configuration for the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("git")] + public virtual ConfigManagementGitConfig Git { 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}`. + /// 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. /// - [Newtonsoft.Json.JsonPropertyAttribute("name")] - public virtual string Name { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("metricsGcpServiceAccountEmail")] + public virtual string MetricsGcpServiceAccountEmail { get; set; } + + /// OCI repo configuration for the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("oci")] + public virtual ConfigManagementOciConfig Oci { 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`. + /// 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("response")] - public virtual System.Collections.Generic.IDictionary Response { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("preventDrift")] + public virtual System.Nullable PreventDrift { get; set; } + + /// Specifies whether the Config Sync Repo is in "hierarchical" or "unstructured" mode. + [Newtonsoft.Json.JsonPropertyAttribute("sourceFormat")] + public virtual string SourceFormat { get; set; } + + /// 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 + { + /// 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; } + + /// Deployment state of otel-collector + [Newtonsoft.Json.JsonPropertyAttribute("otelCollector")] + public virtual string OtelCollector { get; set; } + + /// Deployment state of reconciler-manager pod. + [Newtonsoft.Json.JsonPropertyAttribute("reconcilerManager")] + public virtual string ReconcilerManager { get; set; } + + /// Deployment state of resource-group-controller-manager + [Newtonsoft.Json.JsonPropertyAttribute("resourceGroupControllerManager")] + public virtual string ResourceGroupControllerManager { get; set; } + + /// 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; } + } + + /// Errors pertaining to the installation of Config Sync + public class ConfigManagementConfigSyncError : 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; } + } + + /// State information for ConfigSync. + public class ConfigManagementConfigSyncState : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Information about the deployment of ConfigSync, including the version. of the various Pods deployed + /// + [Newtonsoft.Json.JsonPropertyAttribute("deploymentState")] + public virtual ConfigManagementConfigSyncDeploymentState DeploymentState { get; set; } + + /// Errors pertaining to the installation of Config Sync. + [Newtonsoft.Json.JsonPropertyAttribute("errors")] + public virtual System.Collections.Generic.IList Errors { get; set; } + + /// The state of the Reposync CRD + [Newtonsoft.Json.JsonPropertyAttribute("reposyncCrd")] + public virtual string ReposyncCrd { get; set; } + + /// The state of the RootSync CRD + [Newtonsoft.Json.JsonPropertyAttribute("rootsyncCrd")] + public virtual string RootsyncCrd { get; set; } + + /// The state of CS This field summarizes the other fields in this message. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The state of ConfigSync's process to sync configs to a cluster. + [Newtonsoft.Json.JsonPropertyAttribute("syncState")] + public virtual ConfigManagementSyncState SyncState { get; set; } + + /// 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; } + } + + /// Specific versioning information pertaining to ConfigSync's Pods. + public class ConfigManagementConfigSyncVersion : 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; } + + /// 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; } + } + + /// Model for a config file in the git repo with an associated Sync error. + public class ConfigManagementErrorResource : 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; } + + /// 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; } + } + + /// State of Policy Controller installation. + public class ConfigManagementGatekeeperDeploymentState : 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; } + + /// 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 + { + /// + /// The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. + /// + [Newtonsoft.Json.JsonPropertyAttribute("gcpServiceAccountEmail")] + public virtual string GcpServiceAccountEmail { get; set; } + + /// URL for the HTTPS proxy to be used when communicating with the Git repo. + [Newtonsoft.Json.JsonPropertyAttribute("httpsProxy")] + public virtual string HttpsProxy { get; set; } + + /// + /// 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; } + + /// + /// Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, + /// gcpserviceaccount or none. The validation of this is case-sensitive. Required. + /// + [Newtonsoft.Json.JsonPropertyAttribute("secretType")] + public virtual string SecretType { get; set; } + + /// The branch of the repository to sync from. Default: master. + [Newtonsoft.Json.JsonPropertyAttribute("syncBranch")] + public virtual string SyncBranch { get; set; } + + /// The URL of the Git repository to use as the source of truth. + [Newtonsoft.Json.JsonPropertyAttribute("syncRepo")] + public virtual string SyncRepo { get; set; } + + /// Git revision (tag or hash) to check out. Default HEAD. + [Newtonsoft.Json.JsonPropertyAttribute("syncRev")] + public virtual string SyncRev { get; set; } + + /// 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; } + } + + /// A Kubernetes object's GVK. + public class ConfigManagementGroupVersionKind : Google.Apis.Requests.IDirectResponseSchema + { + /// Kubernetes Group + [Newtonsoft.Json.JsonPropertyAttribute("group")] + public virtual string Group { get; set; } + + /// Kubernetes Kind + [Newtonsoft.Json.JsonPropertyAttribute("kind")] + public virtual string Kind { get; set; } + + /// Kubernetes Version + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual string Version { get; set; } + + /// The ETag of the item. + public virtual string ETag { 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; } + + /// Whether pod tree labels are enabled in this cluster. + [Newtonsoft.Json.JsonPropertyAttribute("enablePodTreeLabels")] + public virtual System.Nullable EnablePodTreeLabels { get; set; } + + /// Whether Hierarchy Controller 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; } + } + + /// 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; } + } + + /// 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; } + + /// 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; } + } + + /// 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; } + + /// Version for open source HNC. + [Newtonsoft.Json.JsonPropertyAttribute("hnc")] + public virtual string Hnc { get; set; } + + /// The ETag of the item. + public virtual string ETag { 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; } + } + + /// OCI repo configuration for a single cluster. + public class ConfigManagementOciConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// 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 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; } + + /// Type of secret configured for access to the Git repo. + [Newtonsoft.Json.JsonPropertyAttribute("secretType")] + public virtual string SecretType { get; set; } + + /// + /// 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; } + + /// 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; } + } + + /// State information for an ACM's Operator. + public class ConfigManagementOperatorState : 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; } + + /// 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 Policy Controller + public class ConfigManagementPolicyController : 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; } + + /// + /// 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; } + + /// + /// 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; } + + /// 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; } + + /// + /// Enable or disable mutation in policy controller. If true, mutation CRDs, webhook and controller deployment + /// will be deployed to the cluster. + /// + [Newtonsoft.Json.JsonPropertyAttribute("mutationEnabled")] + public virtual System.Nullable MutationEnabled { get; set; } + + /// + /// Enables the ability to use Constraint Templates that reference to objects other than the object currently + /// being evaluated. + /// + [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; } + + 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; } + } + + /// State for the migration of PolicyController from ACM -> PoCo Hub. + public class ConfigManagementPolicyControllerMigration : 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; + } + } + + /// 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; + } + } + + /// 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); + } + + /// 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; } + } + + /// + /// 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 + { + /// + /// 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 for PolicyControllerState. + public class ConfigManagementPolicyControllerState : 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 version of Gatekeeper Policy Controller deployed. + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual ConfigManagementPolicyControllerVersion Version { 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 + { + /// 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 ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. + /// + public class ConfigManagementSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// 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; } + + /// + /// 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; } + + /// Config Sync configuration for the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("configSync")] + public virtual ConfigManagementConfigSync ConfigSync { get; set; } + + /// + /// 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; } + + /// Enables automatic Feature management. + [Newtonsoft.Json.JsonPropertyAttribute("management")] + public virtual string Management { get; set; } + + /// + /// 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; } + + /// 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; } + } + + /// **Anthos Config Management**: State for a single cluster. + public class ConfigManagementState : Google.Apis.Requests.IDirectResponseSchema + { + /// Binauthz status. + [Newtonsoft.Json.JsonPropertyAttribute("binauthzState")] + public virtual ConfigManagementBinauthzState BinauthzState { get; set; } + + /// + /// 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; } + + /// Current sync status. + [Newtonsoft.Json.JsonPropertyAttribute("configSyncState")] + public virtual ConfigManagementConfigSyncState ConfigSyncState { get; set; } + + /// Hierarchy Controller status. + [Newtonsoft.Json.JsonPropertyAttribute("hierarchyControllerState")] + public virtual ConfigManagementHierarchyControllerState HierarchyControllerState { get; set; } + + /// + /// 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 ConfigManagementSpec MembershipSpec { get; set; } + + /// Current install status of ACM's Operator. + [Newtonsoft.Json.JsonPropertyAttribute("operatorState")] + public virtual ConfigManagementOperatorState OperatorState { get; set; } + + /// PolicyController status. + [Newtonsoft.Json.JsonPropertyAttribute("policyControllerState")] + public virtual ConfigManagementPolicyControllerState PolicyControllerState { 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 + { + /// 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; } + + /// 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; } + } + + /// State indicating an ACM's progress syncing configurations to a cluster. + public class ConfigManagementSyncState : 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; } + + /// + /// 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; } + + private string _lastSyncTimeRaw; + + private object _lastSyncTime; + + /// 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; + } + } + + /// 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; + } + } + + /// 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; } + } + + /// + /// 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; } + } + + /// Information of the FeatureConfig applied on the MembershipFeature. + public class FeatureConfigRef : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Input only. Resource name of FeatureConfig, in the format: + /// `projects/{project}/locations/global/featureConfigs/{feature_config}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("config")] + public virtual string Config { get; set; } + + private string _configUpdateTimeRaw; + + private object _configUpdateTime; + + /// Output only. When the FeatureConfig was last applied and copied to FeatureSpec. + [Newtonsoft.Json.JsonPropertyAttribute("configUpdateTime")] + public virtual string ConfigUpdateTimeRaw + { + get => _configUpdateTimeRaw; + set + { + _configUpdateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _configUpdateTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use ConfigUpdateTimeDateTimeOffset instead.")] + public virtual object ConfigUpdateTime + { + get => _configUpdateTime; + set + { + _configUpdateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _configUpdateTime = value; + } + } + + /// + /// representation of . + /// + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? ConfigUpdateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(ConfigUpdateTimeRaw); + set => ConfigUpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// Output only. An id that uniquely identify a FeatureConfig object. + [Newtonsoft.Json.JsonPropertyAttribute("uuid")] + public virtual string Uuid { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// FeatureSpec contains user input per-feature spec information. + public class FeatureSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// Cloudbuild-specific FeatureSpec. + [Newtonsoft.Json.JsonPropertyAttribute("cloudbuild")] + public virtual CloudBuildSpec Cloudbuild { get; set; } + + /// Config Management FeatureSpec. + [Newtonsoft.Json.JsonPropertyAttribute("configmanagement")] + public virtual ConfigManagementSpec Configmanagement { get; set; } + + /// IdentityService FeatureSpec. + [Newtonsoft.Json.JsonPropertyAttribute("identityservice")] + public virtual IdentityServiceSpec Identityservice { get; set; } + + /// + /// Whether this per-Feature spec was inherited from a fleet-level default. This field can be updated by users + /// by either overriding a Feature config (updated to USER implicitly) or setting to FLEET explicitly. + /// + [Newtonsoft.Json.JsonPropertyAttribute("origin")] + public virtual Origin Origin { get; set; } + + /// Policycontroller-specific FeatureSpec. + [Newtonsoft.Json.JsonPropertyAttribute("policycontroller")] + public virtual PolicyControllerSpec Policycontroller { get; set; } + + /// ServiceMesh Feature Spec. + [Newtonsoft.Json.JsonPropertyAttribute("servicemesh")] + public virtual ServiceMeshSpec Servicemesh { get; set; } + + /// Workloadcertificate-specific FeatureSpec. + [Newtonsoft.Json.JsonPropertyAttribute("workloadcertificate")] + public virtual WorkloadCertificateSpec Workloadcertificate { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// FeatureState contains high-level state information and per-feature state information for this MembershipFeature. + /// + public class FeatureState : Google.Apis.Requests.IDirectResponseSchema + { + /// Appdevexperience specific state. + [Newtonsoft.Json.JsonPropertyAttribute("appdevexperience")] + public virtual AppDevExperienceState Appdevexperience { get; set; } + + /// Cluster upgrade state. + [Newtonsoft.Json.JsonPropertyAttribute("clusterupgrade")] + public virtual ClusterUpgradeState Clusterupgrade { get; set; } + + /// Config Management state + [Newtonsoft.Json.JsonPropertyAttribute("configmanagement")] + public virtual ConfigManagementState Configmanagement { get; set; } + + /// Identity service state + [Newtonsoft.Json.JsonPropertyAttribute("identityservice")] + public virtual IdentityServiceState Identityservice { get; set; } + + /// Metering state + [Newtonsoft.Json.JsonPropertyAttribute("metering")] + public virtual MeteringState Metering { get; set; } + + /// Policy Controller state + [Newtonsoft.Json.JsonPropertyAttribute("policycontroller")] + public virtual PolicyControllerState Policycontroller { get; set; } + + /// Service mesh state + [Newtonsoft.Json.JsonPropertyAttribute("servicemesh")] + public virtual ServiceMeshState Servicemesh { get; set; } + + /// The high-level state of this MembershipFeature. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual State State { 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; } + + /// + /// 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; } + } + + /// + /// 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 + { + /// 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; } + } + + /// 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; } + + /// 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; } + + /// + /// Kind of Azure AD account to be authenticated. Supported values are or for accounts belonging to a specific + /// tenant. + /// + [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; } + } + + /// 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 string _expirationTimeRaw; + + 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 => _expirationTimeRaw; + set + { + _expirationTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _expirationTimeRaw = value; + } + } + + /// 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; + } + } + + /// + /// 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); + } + + /// 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 + { + /// 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. 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; } + + /// + /// 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("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 + { + /// + /// 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; } + + /// + /// 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; } + } + + /// 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; } + + /// + /// 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; } + + /// 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; } + + /// Claim in OIDC ID token that holds group information. + [Newtonsoft.Json.JsonPropertyAttribute("groupsClaim")] + public virtual string GroupsClaim { get; set; } + + /// + /// 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; } + + /// 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; } + } + + /// 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". + /// + [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; } + } + + /// 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("certificateAuthorityData")] + public virtual string CertificateAuthorityData { 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; } + } + + /// + /// 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; } + + /// 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 + { + /// Required. The distinguished name(DN) of the service account object/user. + [Newtonsoft.Json.JsonPropertyAttribute("dn")] + public virtual string Dn { get; set; } + + /// Output only. The encrypted password of the service account object/user. + [Newtonsoft.Json.JsonPropertyAttribute("encryptedPassword")] + public virtual string EncryptedPassword { 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; } + } + + /// **IdentityService**: Configuration for a single membership. + public class IdentityServiceSpec : 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; } + } + + /// + /// **IdentityService**: State for a single membership, analyzed and reported by feature controller. + /// + public class IdentityServiceState : 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("installedVersion")] + public virtual string InstalledVersion { get; set; } + + /// Last reconciled membership configuration + [Newtonsoft.Json.JsonPropertyAttribute("memberConfig")] + public virtual IdentityServiceSpec 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; } + } + + /// 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; } + + /// + /// 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; } + + /// + /// 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. 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; } + } + + /// + /// LifecycleState describes the state of a MembershipFeature *resource* in the GkeHub API. See `FeatureState` for + /// the "running state" of the MembershipFeature. + /// + public class LifecycleState : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. 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; } + } + + /// 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; } + } + + /// Response message for the `GkeHubFeature.ListMembershipFeatures` method. + public class ListMembershipFeaturesResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of matching MembershipFeatures. + [Newtonsoft.Json.JsonPropertyAttribute("membershipFeatures")] + public virtual System.Collections.Generic.IList MembershipFeatures { get; set; } + + /// + /// A token to request the next page of resources from the `ListMembershipFeatures` 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; } + } + + /// The response message for Operations.ListOperations. + public class ListOperationsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// 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; } + + /// 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 + { + /// The friendly name for this location, typically a nearby city name. For example, "Tokyo". + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { 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; } + + /// 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; } + } + + /// + /// MembershipFeature represents the settings and status of a Fleet Feature enabled on a single Fleet Membership. + /// + public class MembershipFeature : Google.Apis.Requests.IDirectResponseSchema + { + private string _createTimeRaw; + + private object _createTime; + + /// Output only. When the MembershipFeature 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); + } + + private string _deleteTimeRaw; + + private object _deleteTime; + + /// Output only. When the MembershipFeature resource 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); + } + + /// Reference information for a FeatureConfig applied on the MembershipFeature. + [Newtonsoft.Json.JsonPropertyAttribute("featureConfigRef")] + public virtual FeatureConfigRef FeatureConfigRef { get; set; } + + /// GCP labels for this MembershipFeature. + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } + + /// Output only. Lifecycle information of the resource itself. + [Newtonsoft.Json.JsonPropertyAttribute("lifecycleState")] + public virtual LifecycleState LifecycleState { get; set; } + + /// + /// Output only. The resource name of the membershipFeature, in the format: + /// `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that + /// `membershipFeatures` is shortened to `features` in the resource name. (see + /// http://go/aip/122#collection-identifiers) + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Spec of this membershipFeature. + [Newtonsoft.Json.JsonPropertyAttribute("spec")] + public virtual FeatureSpec Spec { get; set; } + + /// Output only. State of the this membershipFeature. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual FeatureState State { get; set; } + + private string _updateTimeRaw; + + private object _updateTime; + + /// Output only. When the MembershipFeature 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; } + } + + /// **Metering**: State for a single membership, analyzed and reported by feature controller. + public class MeteringState : 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 . + /// + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? LastMeasurementTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(LastMeasurementTimeRaw); + set => LastMeasurementTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// + /// The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision). + /// + [Newtonsoft.Json.JsonPropertyAttribute("preciseLastMeasuredClusterVcpuCapacity")] + public virtual System.Nullable PreciseLastMeasuredClusterVcpuCapacity { 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 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; } + } + + /// 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 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; } + + /// 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 FeatureSpec 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; } + } + + /// 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; } + } + + /// 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; } + + /// + /// 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; } + + /// Map of deployment configs to deployments (“admission”, “audit”, “mutation”). + [Newtonsoft.Json.JsonPropertyAttribute("deploymentConfigs")] + public virtual System.Collections.Generic.IDictionary DeploymentConfigs { get; set; } + + /// + /// 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; } + + /// + /// 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; } + + /// 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; } + + /// + /// Enables the ability to use Constraint Templates that reference to objects other than the object currently + /// being evaluated. + /// + [Newtonsoft.Json.JsonPropertyAttribute("referentialRulesEnabled")] + public virtual System.Nullable ReferentialRulesEnabled { 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 + { + /// + /// 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; } + } + + /// 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; } + + /// The lifecycle state of this component. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + 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 + { + /// + /// 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; } + + /// 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; } + } + + /// 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; } + + /// + /// 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 state of the template library + [Newtonsoft.Json.JsonPropertyAttribute("templateLibraryState")] + public virtual PolicyControllerOnClusterState TemplateLibraryState { get; set; } + + /// 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; } + + /// 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; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// 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; } + + /// 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; } + } + + /// ResourceRequirements describes the compute resource requirements. + public class PolicyControllerResourceRequirements : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Limits describes the maximum amount of compute resources allowed for use by the running container. + /// + [Newtonsoft.Json.JsonPropertyAttribute("limits")] + public virtual PolicyControllerResourceList Limits { get; set; } + + /// + /// Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + /// + [Newtonsoft.Json.JsonPropertyAttribute("requests")] + public virtual PolicyControllerResourceList Requests { 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 PolicyControllerSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// Policy Controller configuration for the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("policyControllerHubConfig")] + public virtual PolicyControllerHubConfig PolicyControllerHubConfig { 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; } + } + + /// **Policy Controller**: State for a single cluster. + public class PolicyControllerState : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" + /// + [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; } + + /// 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; } + } + + /// 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; } + + /// The ETag of the item. + public virtual string ETag { 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; } + + /// Matches a taint key (not necessarily unique). + [Newtonsoft.Json.JsonPropertyAttribute("key")] + public virtual string Key { 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; } + } + + /// + /// AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about + /// the state of their Service Mesh configuration. + /// + public class ServiceMeshAnalysisMessage : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// A UI can combine these args with a template (based on message_base.type) to produce an internationalized + /// message. + /// + [Newtonsoft.Json.JsonPropertyAttribute("args")] + public virtual System.Collections.Generic.IDictionary Args { get; set; } + + /// + /// A human readable description of what the error means. It is suitable for non-internationalize display + /// purposes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// Details common to all types of Istio and ServiceMesh analysis messages. + [Newtonsoft.Json.JsonPropertyAttribute("messageBase")] + public virtual ServiceMeshAnalysisMessageBase MessageBase { get; set; } + + /// + /// A list of strings specifying the resource identifiers that were the cause of message generation. A "path" + /// here may be: * MEMBERSHIP_ID if the cause is a specific member cluster * + /// MEMBERSHIP_ID/(NAMESPACE\/)?RESOURCETYPE/NAME if the cause is a resource in a cluster + /// + [Newtonsoft.Json.JsonPropertyAttribute("resourcePaths")] + public virtual System.Collections.Generic.IList ResourcePaths { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// AnalysisMessageBase describes some common information that is needed for all messages. + public class ServiceMeshAnalysisMessageBase : Google.Apis.Requests.IDirectResponseSchema + { + /// A url pointing to the Service Mesh or Istio documentation for this specific error type. + [Newtonsoft.Json.JsonPropertyAttribute("documentationUrl")] + public virtual string DocumentationUrl { get; set; } + + /// Represents how severe a message is. + [Newtonsoft.Json.JsonPropertyAttribute("level")] + public virtual string Level { get; set; } + + /// Represents the specific type of a message. + [Newtonsoft.Json.JsonPropertyAttribute("type")] + public virtual ServiceMeshType Type { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Condition being reported. + public class ServiceMeshCondition : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Unique identifier of the condition which describes the condition recognizable to the user. + /// + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } + + /// A short summary about the issue. + [Newtonsoft.Json.JsonPropertyAttribute("details")] + public virtual string Details { get; set; } + + /// Links contains actionable information. + [Newtonsoft.Json.JsonPropertyAttribute("documentationLink")] + public virtual string DocumentationLink { get; set; } + + /// Severity level of the condition. + [Newtonsoft.Json.JsonPropertyAttribute("severity")] + public virtual string Severity { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Status of control plane management. + public class ServiceMeshControlPlaneManagement : Google.Apis.Requests.IDirectResponseSchema + { + /// Explanation of state. + [Newtonsoft.Json.JsonPropertyAttribute("details")] + public virtual System.Collections.Generic.IList Details { get; set; } + + /// Output only. Implementation of managed control plane. + [Newtonsoft.Json.JsonPropertyAttribute("implementation")] + public virtual string Implementation { get; set; } + + /// LifecycleState of control plane management. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Status of data plane management. Only reported per-member. + public class ServiceMeshDataPlaneManagement : Google.Apis.Requests.IDirectResponseSchema + { + /// Explanation of the status. + [Newtonsoft.Json.JsonPropertyAttribute("details")] + public virtual System.Collections.Generic.IList Details { get; set; } + + /// Lifecycle status of data plane management. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// **Service Mesh**: Spec for a single Membership for the servicemesh feature + public class ServiceMeshSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// Optional. Specifies the API that will be used for configuring the mesh workloads. + [Newtonsoft.Json.JsonPropertyAttribute("configApi")] + public virtual string ConfigApi { get; set; } + + /// Deprecated: use `management` instead Enables automatic control plane management. + [Newtonsoft.Json.JsonPropertyAttribute("controlPlane")] + public virtual string ControlPlane { get; set; } + + /// Determines which release channel to use for default injection and service mesh APIs. + [Newtonsoft.Json.JsonPropertyAttribute("defaultChannel")] + public virtual string DefaultChannel { get; set; } + + /// Optional. Enables automatic Service Mesh management. + [Newtonsoft.Json.JsonPropertyAttribute("management")] + public virtual string Management { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. + /// + public class ServiceMeshState : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. Results of running Service Mesh analyzers. + [Newtonsoft.Json.JsonPropertyAttribute("analysisMessages")] + public virtual System.Collections.Generic.IList AnalysisMessages { get; set; } + + /// Output only. List of conditions reported for this membership. + [Newtonsoft.Json.JsonPropertyAttribute("conditions")] + public virtual System.Collections.Generic.IList Conditions { get; set; } + + /// + /// The API version (i.e. Istio CRD version) for configuring service mesh in this cluster. This version is + /// influenced by the `default_channel` field. + /// + [Newtonsoft.Json.JsonPropertyAttribute("configApiVersion")] + public virtual string ConfigApiVersion { get; set; } + + /// Output only. Status of control plane management + [Newtonsoft.Json.JsonPropertyAttribute("controlPlaneManagement")] + public virtual ServiceMeshControlPlaneManagement ControlPlaneManagement { get; set; } + + /// Output only. Status of data plane management. + [Newtonsoft.Json.JsonPropertyAttribute("dataPlaneManagement")] + public virtual ServiceMeshDataPlaneManagement DataPlaneManagement { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Structured and human-readable details for a status. + public class ServiceMeshStatusDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// A machine-readable code that further describes a broad status. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } + + /// Human-readable explanation of code. + [Newtonsoft.Json.JsonPropertyAttribute("details")] + public virtual string Details { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to + /// be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use + /// display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type + /// + public class ServiceMeshType : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// A 7 character code matching `^IST[0-9]{4}$` or `^ASM[0-9]{4}$`, intended to uniquely identify the message + /// type. (e.g. "IST0001" is mapped to the "InternalError" message type.) + /// + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } + + /// + /// A human-readable name for the message type. e.g. "InternalError", "PodMissingProxy". This should be the same + /// for all messages of the same type. (This corresponds to the `name` field in open-source Istio.) + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// High-level state of a MembershipFeature. + public class State : Google.Apis.Requests.IDirectResponseSchema + { + /// The high-level, machine-readable status of this MembershipFeature. + [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; } + } + + /// **WorkloadCertificate**: The membership-specific input for WorkloadCertificate feature. + public class WorkloadCertificateSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// CertificateManagement specifies workload certificate management. + [Newtonsoft.Json.JsonPropertyAttribute("certificateManagement")] + public virtual string CertificateManagement { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } diff --git a/Src/Generated/Google.Apis.GKEHub.v2alpha/Google.Apis.GKEHub.v2alpha.csproj b/Src/Generated/Google.Apis.GKEHub.v2alpha/Google.Apis.GKEHub.v2alpha.csproj index 1f5bbeac6a..06bdfeaffa 100644 --- a/Src/Generated/Google.Apis.GKEHub.v2alpha/Google.Apis.GKEHub.v2alpha.csproj +++ b/Src/Generated/Google.Apis.GKEHub.v2alpha/Google.Apis.GKEHub.v2alpha.csproj @@ -3,7 +3,7 @@ Google.Apis.GKEHub.v2alpha Client Library - 1.68.0.3137 + 1.68.0.3566 Google LLC Copyright 2024 Google LLC Google From 3559438c7027bcdfcb032e9707b171151d5921a5 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:12:59 -0700 Subject: [PATCH 44/78] feat: Generate Google.Apis.GKEHub.v2beta version 1.68.0.3566 --- DiscoveryJson/gkehub.v2beta.json | 3016 +++++++++++++++- .../Google.Apis.GKEHub.v2beta.cs | 3172 ++++++++++++++++- .../Google.Apis.GKEHub.v2beta.csproj | 2 +- 3 files changed, 6013 insertions(+), 177 deletions(-) diff --git a/DiscoveryJson/gkehub.v2beta.json b/DiscoveryJson/gkehub.v2beta.json index a587b00fb0..dde619423d 100644 --- a/DiscoveryJson/gkehub.v2beta.json +++ b/DiscoveryJson/gkehub.v2beta.json @@ -177,6 +177,197 @@ } }, "resources": { + "memberships": { + "resources": { + "features": { + "methods": { + "create": { + "description": "Creates membershipFeature under a given parent.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features", + "httpMethod": "POST", + "id": "gkehub.projects.locations.memberships.features.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "featureId": { + "description": "Required. The ID of the membership_feature to create.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of parent where the MembershipFeature will be created. Specified in the format `projects/*/locations/*/memberships/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+parent}/features", + "request": { + "$ref": "MembershipFeature" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Removes a membershipFeature.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", + "httpMethod": "DELETE", + "id": "gkehub.projects.locations.memberships.features.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the membershipFeature to be deleted. Specified in the format `projects/*/locations/*/memberships/*/features/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "========= MembershipFeature Services ========= Gets details of a membershipFeature.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", + "httpMethod": "GET", + "id": "gkehub.projects.locations.memberships.features.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The MembershipFeature resource name in the format `projects/*/locations/*/memberships/*/features/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "MembershipFeature" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists MembershipFeatures in a given project and location.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features", + "httpMethod": "GET", + "id": "gkehub.projects.locations.memberships.features.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Lists MembershipFeatures that match the filter expression, following the syntax outlined in https://google.aip.dev/160. Examples: - Feature with the name \"helloworld\" in project \"foo-proj\" and membership \"member-bar\": name = \"projects/foo-proj/locations/global/memberships/member-bar/features/helloworld\" - Features that have a label called `foo`: labels.foo:* - Features that have a label called `foo` whose value is `bar`: labels.foo = bar", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "One or more fields to compare and use to sort the output. See https://google.aip.dev/132#ordering.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "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.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token returned by previous call to `ListFeatures` which specifies the position in the list from where to continue listing the resources.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent where the MembershipFeature will be listed. In the format: `projects/*/locations/*/memberships/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+parent}/features", + "response": { + "$ref": "ListMembershipFeaturesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing MembershipFeature.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", + "httpMethod": "PATCH", + "id": "gkehub.projects.locations.memberships.features.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If set to true, and the MembershipFeature is not found, a new MembershipFeature will be created. In this situation, `update_mask` is ignored.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Output only. The resource name of the membershipFeature, in the format: `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers)", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+name}", + "request": { + "$ref": "MembershipFeature" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, "operations": { "methods": { "cancel": { @@ -280,149 +471,2800 @@ } } }, - "revision": "20240809", + "revision": "20241006", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { + "AppDevExperienceState": { + "description": "State for App Dev Exp Feature.", + "id": "AppDevExperienceState", + "properties": { + "networkingInstallSucceeded": { + "$ref": "AppDevExperienceStatus", + "description": "Status of subcomponent that detects configured Service Mesh resources." + } + }, + "type": "object" + }, + "AppDevExperienceStatus": { + "description": "Status specifies state for the subcomponent.", + "id": "AppDevExperienceStatus", + "properties": { + "code": { + "description": "Code specifies AppDevExperienceFeature's subcomponent ready state.", + "enum": [ + "CODE_UNSPECIFIED", + "OK", + "FAILED", + "UNKNOWN" + ], + "enumDescriptions": [ + "Not set.", + "AppDevExperienceFeature's specified subcomponent is ready.", + "AppDevExperienceFeature's specified subcomponent ready state is false. This means AppDevExperienceFeature has encountered an issue that blocks all, or a portion, of its normal operation. See the `description` for more details.", + "AppDevExperienceFeature's specified subcomponent has a pending or unknown state." + ], + "type": "string" + }, + "description": { + "description": "Description is populated if Code is Failed, explaining why it has failed.", + "type": "string" + } + }, + "type": "object" + }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", "properties": {}, "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": {}, + "CloudBuildSpec": { + "description": "**Cloud Build**: Configurations for each Cloud Build enabled cluster.", + "id": "CloudBuildSpec", + "properties": { + "securityPolicy": { + "description": "Whether it is allowed to run the privileged builds on the cluster or not.", + "enum": [ + "SECURITY_POLICY_UNSPECIFIED", + "NON_PRIVILEGED", + "PRIVILEGED" + ], + "enumDescriptions": [ + "Unspecified policy", + "Privileged build pods are disallowed", + "Privileged build pods are allowed" + ], + "type": "string" + }, + "version": { + "description": "Version of the cloud build software on the cluster.", + "type": "string" + } + }, "type": "object" }, - "GoogleRpcStatus": { - "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": "GoogleRpcStatus", + "ClusterUpgradeGKEUpgrade": { + "description": "GKEUpgrade represents a GKE provided upgrade, e.g., control plane upgrade.", + "id": "ClusterUpgradeGKEUpgrade", "properties": { - "code": { - "description": "The status code, which should be an enum value of google.rpc.Code.", - "format": "int32", - "type": "integer" + "name": { + "description": "Name of the upgrade, e.g., \"k8s_control_plane\".", + "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" - }, - "type": "array" + "version": { + "description": "Version of the upgrade, e.g., \"1.22.1-gke.100\".", + "type": "string" + } + }, + "type": "object" + }, + "ClusterUpgradeIgnoredMembership": { + "description": "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.", + "id": "ClusterUpgradeIgnoredMembership", + "properties": { + "ignoredTime": { + "description": "Time when the membership was first set to ignored.", + "format": "google-datetime", + "type": "string" }, - "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.", + "reason": { + "description": "Reason why the membership is ignored.", "type": "string" } }, "type": "object" }, - "ListLocationsResponse": { - "description": "The response message for Locations.ListLocations.", - "id": "ListLocationsResponse", + "ClusterUpgradeMembershipGKEUpgradeState": { + "description": "MembershipGKEUpgradeState is a GKEUpgrade and its state per-membership.", + "id": "ClusterUpgradeMembershipGKEUpgradeState", "properties": { - "locations": { - "description": "A list of locations that matches the specified filter in the request.", + "status": { + "$ref": "ClusterUpgradeUpgradeStatus", + "description": "Status of the upgrade." + }, + "upgrade": { + "$ref": "ClusterUpgradeGKEUpgrade", + "description": "Which upgrade to track the state." + } + }, + "type": "object" + }, + "ClusterUpgradeState": { + "description": "Per-membership state for this feature.", + "id": "ClusterUpgradeState", + "properties": { + "ignored": { + "$ref": "ClusterUpgradeIgnoredMembership", + "description": "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." + }, + "upgrades": { + "description": "Actual upgrade state against desired.", "items": { - "$ref": "Location" + "$ref": "ClusterUpgradeMembershipGKEUpgradeState" }, "type": "array" + } + }, + "type": "object" + }, + "ClusterUpgradeUpgradeStatus": { + "description": "UpgradeStatus provides status information for each upgrade.", + "id": "ClusterUpgradeUpgradeStatus", + "properties": { + "code": { + "description": "Status code of the upgrade.", + "enum": [ + "CODE_UNSPECIFIED", + "INELIGIBLE", + "PENDING", + "IN_PROGRESS", + "SOAKING", + "FORCED_SOAKING", + "COMPLETE" + ], + "enumDescriptions": [ + "Required by https://linter.aip.dev/126/unspecified.", + "The upgrade is ineligible. At the scope level, this means the upgrade is ineligible for all the clusters in the scope.", + "The upgrade is pending. At the scope level, this means the upgrade is pending for all the clusters in the scope.", + "The upgrade is in progress. At the scope level, this means the upgrade is in progress for at least one cluster in the scope.", + "The upgrade has finished and is soaking until the soaking time is up. At the scope level, this means at least one cluster is in soaking while the rest are either soaking or complete.", + "A cluster will be forced to enter soaking if an upgrade doesn't finish within a certain limit, despite it's actual status.", + "The upgrade has passed all post conditions (soaking). At the scope level, this means all eligible clusters are in COMPLETE status." + ], + "type": "string" }, - "nextPageToken": { - "description": "The standard List next-page token.", + "reason": { + "description": "Reason for this status.", + "type": "string" + }, + "updateTime": { + "description": "Last timestamp the status was updated.", + "format": "google-datetime", "type": "string" } }, "type": "object" }, - "ListOperationsResponse": { - "description": "The response message for Operations.ListOperations.", - "id": "ListOperationsResponse", + "ConfigManagementBinauthzConfig": { + "description": "Configuration for Binauthz.", + "id": "ConfigManagementBinauthzConfig", "properties": { - "nextPageToken": { - "description": "The standard List next-page token.", + "enabled": { + "description": "Whether binauthz is enabled in this cluster.", + "type": "boolean" + } + }, + "type": "object" + }, + "ConfigManagementBinauthzState": { + "description": "State for Binauthz.", + "id": "ConfigManagementBinauthzState", + "properties": { + "version": { + "$ref": "ConfigManagementBinauthzVersion", + "description": "The version of binauthz that is installed." + }, + "webhook": { + "description": "The state of the binauthz webhook.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementBinauthzVersion": { + "description": "The version of binauthz.", + "id": "ConfigManagementBinauthzVersion", + "properties": { + "webhookVersion": { + "description": "The version of the binauthz webhook.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementConfigSync": { + "description": "Configuration for Config Sync", + "id": "ConfigManagementConfigSync", + "properties": { + "allowVerticalScale": { + "deprecated": true, + "description": "Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated.", + "type": "boolean" }, - "operations": { - "description": "A list of operations that matches the specified filter in the request.", + "enabled": { + "description": "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.", + "type": "boolean" + }, + "git": { + "$ref": "ConfigManagementGitConfig", + "description": "Git repo configuration for the cluster." + }, + "metricsGcpServiceAccountEmail": { + "description": "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.", + "type": "string" + }, + "oci": { + "$ref": "ConfigManagementOciConfig", + "description": "OCI repo configuration for the cluster." + }, + "preventDrift": { + "description": "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.", + "type": "boolean" + }, + "sourceFormat": { + "description": "Specifies whether the Config Sync Repo is in \"hierarchical\" or \"unstructured\" mode.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementConfigSyncDeploymentState": { + "description": "The state of ConfigSync's deployment on a cluster.", + "id": "ConfigManagementConfigSyncDeploymentState", + "properties": { + "admissionWebhook": { + "description": "Deployment state of admission-webhook.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "gitSync": { + "description": "Deployment state of the git-sync pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "importer": { + "description": "Deployment state of the importer pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "monitor": { + "description": "Deployment state of the monitor pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "otelCollector": { + "description": "Deployment state of otel-collector", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "reconcilerManager": { + "description": "Deployment state of reconciler-manager pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "resourceGroupControllerManager": { + "description": "Deployment state of resource-group-controller-manager", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "rootReconciler": { + "description": "Deployment state of root-reconciler.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "syncer": { + "description": "Deployment state of the syncer pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementConfigSyncError": { + "description": "Errors pertaining to the installation of Config Sync", + "id": "ConfigManagementConfigSyncError", + "properties": { + "errorMessage": { + "description": "A string representing the user facing error message", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementConfigSyncState": { + "description": "State information for ConfigSync.", + "id": "ConfigManagementConfigSyncState", + "properties": { + "deploymentState": { + "$ref": "ConfigManagementConfigSyncDeploymentState", + "description": "Information about the deployment of ConfigSync, including the version. of the various Pods deployed" + }, + "errors": { + "description": "Errors pertaining to the installation of Config Sync.", "items": { - "$ref": "Operation" + "$ref": "ConfigManagementConfigSyncError" }, "type": "array" + }, + "reposyncCrd": { + "description": "The state of the Reposync CRD", + "enum": [ + "CRD_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "TERMINATING", + "INSTALLING" + ], + "enumDescriptions": [ + "CRD's state cannot be determined", + "CRD is not installed", + "CRD is installed", + "CRD is terminating (i.e., it has been deleted and is cleaning up)", + "CRD is installing" + ], + "type": "string" + }, + "rootsyncCrd": { + "description": "The state of the RootSync CRD", + "enum": [ + "CRD_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "TERMINATING", + "INSTALLING" + ], + "enumDescriptions": [ + "CRD's state cannot be determined", + "CRD is not installed", + "CRD is installed", + "CRD is terminating (i.e., it has been deleted and is cleaning up)", + "CRD is installing" + ], + "type": "string" + }, + "state": { + "description": "The state of CS This field summarizes the other fields in this message.", + "enum": [ + "STATE_UNSPECIFIED", + "CONFIG_SYNC_NOT_INSTALLED", + "CONFIG_SYNC_INSTALLED", + "CONFIG_SYNC_ERROR", + "CONFIG_SYNC_PENDING" + ], + "enumDescriptions": [ + "CS's state cannot be determined.", + "CS is not installed.", + "The expected CS version is installed successfully.", + "CS encounters errors.", + "CS is installing or terminating." + ], + "type": "string" + }, + "syncState": { + "$ref": "ConfigManagementSyncState", + "description": "The state of ConfigSync's process to sync configs to a cluster." + }, + "version": { + "$ref": "ConfigManagementConfigSyncVersion", + "description": "The version of ConfigSync deployed." } }, "type": "object" }, - "Location": { - "description": "A resource that represents a Google Cloud location.", - "id": "Location", + "ConfigManagementConfigSyncVersion": { + "description": "Specific versioning information pertaining to ConfigSync's Pods.", + "id": "ConfigManagementConfigSyncVersion", "properties": { - "displayName": { - "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "admissionWebhook": { + "description": "Version of the deployed admission-webhook pod.", "type": "string" }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", - "type": "object" + "gitSync": { + "description": "Version of the deployed git-sync pod.", + "type": "string" }, - "locationId": { - "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "importer": { + "description": "Version of the deployed importer pod.", "type": "string" }, - "metadata": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "Service-specific metadata. For example the available capacity at the given location.", - "type": "object" + "monitor": { + "description": "Version of the deployed monitor pod.", + "type": "string" }, - "name": { - "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "otelCollector": { + "description": "Version of the deployed otel-collector pod", + "type": "string" + }, + "reconcilerManager": { + "description": "Version of the deployed reconciler-manager pod.", + "type": "string" + }, + "resourceGroupControllerManager": { + "description": "Version of the deployed resource-group-controller-manager pod", + "type": "string" + }, + "rootReconciler": { + "description": "Version of the deployed reconciler container in root-reconciler pod.", + "type": "string" + }, + "syncer": { + "description": "Version of the deployed syncer pod.", "type": "string" } }, "type": "object" }, - "Operation": { - "description": "This resource represents a long-running operation that is the result of a network API call.", - "id": "Operation", + "ConfigManagementErrorResource": { + "description": "Model for a config file in the git repo with an associated Sync error.", + "id": "ConfigManagementErrorResource", "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" + "resourceGvk": { + "$ref": "ConfigManagementGroupVersionKind", + "description": "Group/version/kind of the resource that is causing an error" }, - "error": { - "$ref": "GoogleRpcStatus", - "description": "The error result of the operation in case of failure or cancellation." + "resourceName": { + "description": "Metadata name of the resource that is causing an error", + "type": "string" }, - "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" + "resourceNamespace": { + "description": "Namespace of the resource that is causing an error", + "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}`.", + "sourcePath": { + "description": "Path in the git repo of the erroneous config", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementGatekeeperDeploymentState": { + "description": "State of Policy Controller installation.", + "id": "ConfigManagementGatekeeperDeploymentState", + "properties": { + "gatekeeperAudit": { + "description": "Status of gatekeeper-audit deployment.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], "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" + "gatekeeperControllerManagerState": { + "description": "Status of gatekeeper-controller-manager pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "gatekeeperMutation": { + "description": "Status of the pod serving the mutation webhook.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementGitConfig": { + "description": "Git repo configuration for a single cluster.", + "id": "ConfigManagementGitConfig", + "properties": { + "gcpServiceAccountEmail": { + "description": "The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", + "type": "string" + }, + "httpsProxy": { + "description": "URL for the HTTPS proxy to be used when communicating with the Git repo.", + "type": "string" + }, + "policyDir": { + "description": "The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.", + "type": "string" + }, + "secretType": { + "description": "Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required.", + "type": "string" + }, + "syncBranch": { + "description": "The branch of the repository to sync from. Default: master.", + "type": "string" + }, + "syncRepo": { + "description": "The URL of the Git repository to use as the source of truth.", + "type": "string" + }, + "syncRev": { + "description": "Git revision (tag or hash) to check out. Default HEAD.", + "type": "string" + }, + "syncWaitSecs": { + "description": "Period in seconds between consecutive syncs. Default: 15.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementGroupVersionKind": { + "description": "A Kubernetes object's GVK.", + "id": "ConfigManagementGroupVersionKind", + "properties": { + "group": { + "description": "Kubernetes Group", + "type": "string" + }, + "kind": { + "description": "Kubernetes Kind", + "type": "string" + }, + "version": { + "description": "Kubernetes Version", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementHierarchyControllerConfig": { + "description": "Configuration for Hierarchy Controller.", + "id": "ConfigManagementHierarchyControllerConfig", + "properties": { + "enableHierarchicalResourceQuota": { + "description": "Whether hierarchical resource quota is enabled in this cluster.", + "type": "boolean" + }, + "enablePodTreeLabels": { + "description": "Whether pod tree labels are enabled in this cluster.", + "type": "boolean" + }, + "enabled": { + "description": "Whether Hierarchy Controller is enabled in this cluster.", + "type": "boolean" + } + }, + "type": "object" + }, + "ConfigManagementHierarchyControllerDeploymentState": { + "description": "Deployment state for Hierarchy Controller", + "id": "ConfigManagementHierarchyControllerDeploymentState", + "properties": { + "extension": { + "description": "The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1).", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "hnc": { + "description": "The deployment state for open source HNC (e.g. v0.7.0-hc.0).", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementHierarchyControllerState": { + "description": "State for Hierarchy Controller.", + "id": "ConfigManagementHierarchyControllerState", + "properties": { + "state": { + "$ref": "ConfigManagementHierarchyControllerDeploymentState", + "description": "The deployment state for Hierarchy Controller." + }, + "version": { + "$ref": "ConfigManagementHierarchyControllerVersion", + "description": "The version for Hierarchy Controller." + } + }, + "type": "object" + }, + "ConfigManagementHierarchyControllerVersion": { + "description": "Version for Hierarchy Controller.", + "id": "ConfigManagementHierarchyControllerVersion", + "properties": { + "extension": { + "description": "Version for Hierarchy Controller extension.", + "type": "string" + }, + "hnc": { + "description": "Version for open source HNC.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementInstallError": { + "description": "Errors pertaining to the installation of ACM.", + "id": "ConfigManagementInstallError", + "properties": { + "errorMessage": { + "description": "A string representing the user facing error message.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementOciConfig": { + "description": "OCI repo configuration for a single cluster.", + "id": "ConfigManagementOciConfig", + "properties": { + "gcpServiceAccountEmail": { + "description": "The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", + "type": "string" + }, + "policyDir": { + "description": "The absolute path of the directory that contains the local resources. Default: the root directory of the image.", + "type": "string" + }, + "secretType": { + "description": "Type of secret configured for access to the Git repo.", + "type": "string" + }, + "syncRepo": { + "description": "The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`.", + "type": "string" + }, + "syncWaitSecs": { + "description": "Period in seconds between consecutive syncs. Default: 15.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementOperatorState": { + "description": "State information for an ACM's Operator.", + "id": "ConfigManagementOperatorState", + "properties": { + "deploymentState": { + "description": "The state of the Operator's deployment.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "errors": { + "description": "Install errors.", + "items": { + "$ref": "ConfigManagementInstallError" + }, + "type": "array" + }, + "version": { + "description": "The semenatic version number of the operator.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementPolicyController": { + "description": "Configuration for Policy Controller", + "id": "ConfigManagementPolicyController", + "properties": { + "auditIntervalSeconds": { + "description": "Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.", + "format": "int64", + "type": "string" + }, + "enabled": { + "description": "Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.", + "type": "boolean" + }, + "exemptableNamespaces": { + "description": "The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logDeniesEnabled": { + "description": "Logs all denies and dry run failures.", + "type": "boolean" + }, + "monitoring": { + "$ref": "ConfigManagementPolicyControllerMonitoring", + "description": "Monitoring specifies the configuration of monitoring." + }, + "mutationEnabled": { + "description": "Enable or disable mutation in policy controller. If true, mutation CRDs, webhook and controller deployment will be deployed to the cluster.", + "type": "boolean" + }, + "referentialRulesEnabled": { + "description": "Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.", + "type": "boolean" + }, + "templateLibraryInstalled": { + "description": "Installs the default template library along with Policy Controller.", + "type": "boolean" + }, + "updateTime": { + "description": "Output only. Last time this membership spec was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerMigration": { + "description": "State for the migration of PolicyController from ACM -> PoCo Hub.", + "id": "ConfigManagementPolicyControllerMigration", + "properties": { + "copyTime": { + "description": "Last time this membership spec was copied to PoCo feature.", + "format": "google-datetime", + "type": "string" + }, + "stage": { + "description": "Stage of the migration.", + "enum": [ + "STAGE_UNSPECIFIED", + "ACM_MANAGED", + "POCO_MANAGED" + ], + "enumDescriptions": [ + "Unknown state of migration.", + "ACM Hub/Operator manages policycontroller. No migration yet completed.", + "All migrations steps complete; Poco Hub now manages policycontroller." + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerMonitoring": { + "description": "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\"]", + "id": "ConfigManagementPolicyControllerMonitoring", + "properties": { + "backends": { + "description": "Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export.", + "items": { + "enum": [ + "MONITORING_BACKEND_UNSPECIFIED", + "PROMETHEUS", + "CLOUD_MONITORING" + ], + "enumDescriptions": [ + "Backend cannot be determined", + "Prometheus backend for monitoring", + "Stackdriver/Cloud Monitoring backend for monitoring" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerState": { + "description": "State for PolicyControllerState.", + "id": "ConfigManagementPolicyControllerState", + "properties": { + "deploymentState": { + "$ref": "ConfigManagementGatekeeperDeploymentState", + "description": "The state about the policy controller installation." + }, + "migration": { + "$ref": "ConfigManagementPolicyControllerMigration", + "description": "Record state of ACM -> PoCo Hub migration for this feature." + }, + "version": { + "$ref": "ConfigManagementPolicyControllerVersion", + "description": "The version of Gatekeeper Policy Controller deployed." + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerVersion": { + "description": "The build version of Gatekeeper Policy Controller is using.", + "id": "ConfigManagementPolicyControllerVersion", + "properties": { + "version": { + "description": "The gatekeeper image tag that is composed of ACM version, git tag, build number.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementSpec": { + "description": "**Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR.", + "id": "ConfigManagementSpec", + "properties": { + "binauthz": { + "$ref": "ConfigManagementBinauthzConfig", + "deprecated": true, + "description": "Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set." + }, + "cluster": { + "description": "The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector.", + "type": "string" + }, + "configSync": { + "$ref": "ConfigManagementConfigSync", + "description": "Config Sync configuration for the cluster." + }, + "hierarchyController": { + "$ref": "ConfigManagementHierarchyControllerConfig", + "description": "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." + }, + "management": { + "description": "Enables automatic Feature management.", + "enum": [ + "MANAGEMENT_UNSPECIFIED", + "MANAGEMENT_AUTOMATIC", + "MANAGEMENT_MANUAL" + ], + "enumDescriptions": [ + "Unspecified", + "Google will manage the Feature for the cluster.", + "User will manually manage the Feature for the cluster." + ], + "type": "string" + }, + "policyController": { + "$ref": "ConfigManagementPolicyController", + "description": "Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead." + }, + "version": { + "description": "Version of ACM installed.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementState": { + "description": "**Anthos Config Management**: State for a single cluster.", + "id": "ConfigManagementState", + "properties": { + "binauthzState": { + "$ref": "ConfigManagementBinauthzState", + "description": "Binauthz status." + }, + "clusterName": { + "description": "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.", + "type": "string" + }, + "configSyncState": { + "$ref": "ConfigManagementConfigSyncState", + "description": "Current sync status." + }, + "hierarchyControllerState": { + "$ref": "ConfigManagementHierarchyControllerState", + "description": "Hierarchy Controller status." + }, + "membershipSpec": { + "$ref": "ConfigManagementSpec", + "description": "Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state." + }, + "operatorState": { + "$ref": "ConfigManagementOperatorState", + "description": "Current install status of ACM's Operator." + }, + "policyControllerState": { + "$ref": "ConfigManagementPolicyControllerState", + "description": "PolicyController status." + } + }, + "type": "object" + }, + "ConfigManagementSyncError": { + "description": "An ACM created error representing a problem syncing configurations.", + "id": "ConfigManagementSyncError", + "properties": { + "code": { + "description": "An ACM defined error code", + "type": "string" + }, + "errorMessage": { + "description": "A description of the error", + "type": "string" + }, + "errorResources": { + "description": "A list of config(s) associated with the error, if any", + "items": { + "$ref": "ConfigManagementErrorResource" + }, + "type": "array" + } + }, + "type": "object" + }, + "ConfigManagementSyncState": { + "description": "State indicating an ACM's progress syncing configurations to a cluster.", + "id": "ConfigManagementSyncState", + "properties": { + "code": { + "description": "Sync status code.", + "enum": [ + "SYNC_CODE_UNSPECIFIED", + "SYNCED", + "PENDING", + "ERROR", + "NOT_CONFIGURED", + "NOT_INSTALLED", + "UNAUTHORIZED", + "UNREACHABLE" + ], + "enumDescriptions": [ + "Config Sync cannot determine a sync code", + "Config Sync successfully synced the git Repo with the cluster", + "Config Sync is in the progress of syncing a new change", + "Indicates an error configuring Config Sync, and user action is required", + "Config Sync has been installed but not configured", + "Config Sync has not been installed", + "Error authorizing with the cluster", + "Cluster could not be reached" + ], + "type": "string" + }, + "errors": { + "description": "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.", + "items": { + "$ref": "ConfigManagementSyncError" + }, + "type": "array" + }, + "importToken": { + "description": "Token indicating the state of the importer.", + "type": "string" + }, + "lastSync": { + "deprecated": true, + "description": "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", + "type": "string" + }, + "lastSyncTime": { + "description": "Timestamp type of when ACM last successfully synced the repo.", + "format": "google-datetime", + "type": "string" + }, + "sourceToken": { + "description": "Token indicating the state of the repo.", + "type": "string" + }, + "syncToken": { + "description": "Token indicating the state of the syncer.", + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "FeatureConfigRef": { + "description": "Information of the FeatureConfig applied on the MembershipFeature.", + "id": "FeatureConfigRef", + "properties": { + "config": { + "description": "Input only. Resource name of FeatureConfig, in the format: `projects/{project}/locations/global/featureConfigs/{feature_config}`.", + "type": "string" + }, + "configUpdateTime": { + "description": "Output only. When the FeatureConfig was last applied and copied to FeatureSpec.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "uuid": { + "description": "Output only. An id that uniquely identify a FeatureConfig object.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "FeatureSpec": { + "description": "FeatureSpec contains user input per-feature spec information.", + "id": "FeatureSpec", + "properties": { + "cloudbuild": { + "$ref": "CloudBuildSpec", + "description": "Cloudbuild-specific FeatureSpec." + }, + "configmanagement": { + "$ref": "ConfigManagementSpec", + "description": "Config Management FeatureSpec." + }, + "identityservice": { + "$ref": "IdentityServiceSpec", + "description": "IdentityService FeatureSpec." + }, + "origin": { + "$ref": "Origin", + "description": "Whether this per-Feature spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Feature config (updated to USER implicitly) or setting to FLEET explicitly." + }, + "policycontroller": { + "$ref": "PolicyControllerSpec", + "description": "Policycontroller-specific FeatureSpec." + }, + "servicemesh": { + "$ref": "ServiceMeshSpec", + "description": "ServiceMesh Feature Spec." + }, + "workloadcertificate": { + "$ref": "WorkloadCertificateSpec", + "description": "Workloadcertificate-specific FeatureSpec." + } + }, + "type": "object" + }, + "FeatureState": { + "description": "FeatureState contains high-level state information and per-feature state information for this MembershipFeature.", + "id": "FeatureState", + "properties": { + "appdevexperience": { + "$ref": "AppDevExperienceState", + "description": "Appdevexperience specific state." + }, + "clusterupgrade": { + "$ref": "ClusterUpgradeState", + "description": "Cluster upgrade state." + }, + "configmanagement": { + "$ref": "ConfigManagementState", + "description": "Config Management state" + }, + "identityservice": { + "$ref": "IdentityServiceState", + "description": "Identity service state" + }, + "metering": { + "$ref": "MeteringState", + "description": "Metering state" + }, + "policycontroller": { + "$ref": "PolicyControllerState", + "description": "Policy Controller state" + }, + "servicemesh": { + "$ref": "ServiceMeshState", + "description": "Service mesh state" + }, + "state": { + "$ref": "State", + "description": "The high-level state of this MembershipFeature." + } + }, + "type": "object" + }, + "GoogleRpcStatus": { + "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": "GoogleRpcStatus", + "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" + }, + "IdentityServiceAuthMethod": { + "description": "Configuration of an auth method for a member/cluster. Only one authentication method (e.g., OIDC and LDAP) can be set per AuthMethod.", + "id": "IdentityServiceAuthMethod", + "properties": { + "azureadConfig": { + "$ref": "IdentityServiceAzureADConfig", + "description": "AzureAD specific Configuration." + }, + "googleConfig": { + "$ref": "IdentityServiceGoogleConfig", + "description": "GoogleConfig specific configuration" + }, + "ldapConfig": { + "$ref": "IdentityServiceLdapConfig", + "description": "LDAP specific configuration." + }, + "name": { + "description": "Identifier for auth config.", + "type": "string" + }, + "oidcConfig": { + "$ref": "IdentityServiceOidcConfig", + "description": "OIDC specific configuration." + }, + "proxy": { + "description": "Proxy server address to use for auth method.", + "type": "string" + }, + "samlConfig": { + "$ref": "IdentityServiceSamlConfig", + "description": "SAML specific configuration." + } + }, + "type": "object" + }, + "IdentityServiceAzureADConfig": { + "description": "Configuration for the AzureAD Auth flow.", + "id": "IdentityServiceAzureADConfig", + "properties": { + "clientId": { + "description": "ID for the registered client application that makes authentication requests to the Azure AD identity provider.", + "type": "string" + }, + "clientSecret": { + "description": "Input only. Unencrypted AzureAD client secret will be passed to the GKE Hub CLH.", + "type": "string" + }, + "encryptedClientSecret": { + "description": "Output only. Encrypted AzureAD client secret.", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "groupFormat": { + "description": "Optional. Format of the AzureAD groups that the client wants for auth.", + "type": "string" + }, + "kubectlRedirectUri": { + "description": "The redirect URL that kubectl uses for authorization.", + "type": "string" + }, + "tenant": { + "description": "Kind of Azure AD account to be authenticated. Supported values are or for accounts belonging to a specific tenant.", + "type": "string" + }, + "userClaim": { + "description": "Optional. Claim in the AzureAD ID Token that holds the user details.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceDiagnosticInterface": { + "description": "Configuration options for the AIS diagnostic interface.", + "id": "IdentityServiceDiagnosticInterface", + "properties": { + "enabled": { + "description": "Determines whether to enable the diagnostic interface.", + "type": "boolean" + }, + "expirationTime": { + "description": "Determines the expiration time of the diagnostic interface enablement. When reached, requests to the interface would be automatically rejected.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceGoogleConfig": { + "description": "Configuration for the Google Plugin Auth flow.", + "id": "IdentityServiceGoogleConfig", + "properties": { + "disable": { + "description": "Disable automatic configuration of Google Plugin on supported platforms.", + "type": "boolean" + } + }, + "type": "object" + }, + "IdentityServiceGroupConfig": { + "description": "Contains the properties for locating and authenticating groups in the directory.", + "id": "IdentityServiceGroupConfig", + "properties": { + "baseDn": { + "description": "Required. The location of the subtree in the LDAP directory to search for group entries.", + "type": "string" + }, + "filter": { + "description": "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)\".", + "type": "string" + }, + "idAttribute": { + "description": "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\".", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceIdentityServiceOptions": { + "description": "Holds non-protocol-related configuration options.", + "id": "IdentityServiceIdentityServiceOptions", + "properties": { + "diagnosticInterface": { + "$ref": "IdentityServiceDiagnosticInterface", + "description": "Configuration options for the AIS diagnostic interface." + }, + "sessionDuration": { + "description": "Determines the lifespan of STS tokens issued by Anthos Identity Service.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceLdapConfig": { + "description": "Configuration for the LDAP Auth flow.", + "id": "IdentityServiceLdapConfig", + "properties": { + "group": { + "$ref": "IdentityServiceGroupConfig", + "description": "Optional. Contains the properties for locating and authenticating groups in the directory." + }, + "server": { + "$ref": "IdentityServiceServerConfig", + "description": "Required. Server settings for the external LDAP server." + }, + "serviceAccount": { + "$ref": "IdentityServiceServiceAccountConfig", + "description": "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." + }, + "user": { + "$ref": "IdentityServiceUserConfig", + "description": "Required. Defines where users exist in the LDAP directory." + } + }, + "type": "object" + }, + "IdentityServiceOidcConfig": { + "description": "Configuration for OIDC Auth flow.", + "id": "IdentityServiceOidcConfig", + "properties": { + "certificateAuthorityData": { + "description": "PEM-encoded CA for OIDC provider.", + "type": "string" + }, + "clientId": { + "description": "ID for OIDC client application.", + "type": "string" + }, + "clientSecret": { + "description": "Input only. Unencrypted OIDC client secret will be passed to the GKE Hub CLH.", + "type": "string" + }, + "deployCloudConsoleProxy": { + "description": "Flag to denote if reverse proxy is used to connect to auth provider. This flag should be set to true when provider is not reachable by Google Cloud Console.", + "type": "boolean" + }, + "enableAccessToken": { + "description": "Enable access token.", + "type": "boolean" + }, + "encryptedClientSecret": { + "description": "Output only. Encrypted OIDC Client secret", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "extraParams": { + "description": "Comma-separated list of key-value pairs.", + "type": "string" + }, + "groupPrefix": { + "description": "Prefix to prepend to group name.", + "type": "string" + }, + "groupsClaim": { + "description": "Claim in OIDC ID token that holds group information.", + "type": "string" + }, + "issuerUri": { + "description": "URI for the OIDC provider. This should point to the level below .well-known/openid-configuration.", + "type": "string" + }, + "kubectlRedirectUri": { + "description": "Registered redirect uri to redirect users going through OAuth flow using kubectl plugin.", + "type": "string" + }, + "scopes": { + "description": "Comma-separated list of identifiers.", + "type": "string" + }, + "userClaim": { + "description": "Claim in OIDC ID token that holds username.", + "type": "string" + }, + "userPrefix": { + "description": "Prefix to prepend to user name.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceSamlConfig": { + "description": "Configuration for the SAML Auth flow.", + "id": "IdentityServiceSamlConfig", + "properties": { + "attributeMapping": { + "additionalProperties": { + "type": "string" + }, + "description": "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\".", + "type": "object" + }, + "groupPrefix": { + "description": "Optional. Prefix to prepend to group name.", + "type": "string" + }, + "groupsAttribute": { + "description": "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`).", + "type": "string" + }, + "identityProviderCertificates": { + "description": "Required. The list of IdP certificates to validate the SAML response against.", + "items": { + "type": "string" + }, + "type": "array" + }, + "identityProviderId": { + "description": "Required. The entity ID of the SAML IdP.", + "type": "string" + }, + "identityProviderSsoUri": { + "description": "Required. The URI where the SAML IdP exposes the SSO service.", + "type": "string" + }, + "userAttribute": { + "description": "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`).", + "type": "string" + }, + "userPrefix": { + "description": "Optional. Prefix to prepend to user name.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceServerConfig": { + "description": "Server settings for the external LDAP server.", + "id": "IdentityServiceServerConfig", + "properties": { + "certificateAuthorityData": { + "description": "Optional. Contains a Base64 encoded, PEM formatted certificate authority certificate for the LDAP server. This must be provided for the \"ldaps\" and \"startTLS\" connections.", + "format": "byte", + "type": "string" + }, + "connectionType": { + "description": "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.", + "type": "string" + }, + "host": { + "description": "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\".", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceServiceAccountConfig": { + "description": "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.", + "id": "IdentityServiceServiceAccountConfig", + "properties": { + "simpleBindCredentials": { + "$ref": "IdentityServiceSimpleBindCredentials", + "description": "Credentials for basic auth." + } + }, + "type": "object" + }, + "IdentityServiceSimpleBindCredentials": { + "description": "The structure holds the LDAP simple binding credential.", + "id": "IdentityServiceSimpleBindCredentials", + "properties": { + "dn": { + "description": "Required. The distinguished name(DN) of the service account object/user.", + "type": "string" + }, + "encryptedPassword": { + "description": "Output only. The encrypted password of the service account object/user.", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "password": { + "description": "Required. Input only. The password of the service account object/user.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceSpec": { + "description": "**IdentityService**: Configuration for a single membership.", + "id": "IdentityServiceSpec", + "properties": { + "authMethods": { + "description": "A member may support multiple auth methods.", + "items": { + "$ref": "IdentityServiceAuthMethod" + }, + "type": "array" + }, + "identityServiceOptions": { + "$ref": "IdentityServiceIdentityServiceOptions", + "description": "Optional. non-protocol-related configuration options." + } + }, + "type": "object" + }, + "IdentityServiceState": { + "description": "**IdentityService**: State for a single membership, analyzed and reported by feature controller.", + "id": "IdentityServiceState", + "properties": { + "failureReason": { + "description": "The reason of the failure.", + "type": "string" + }, + "installedVersion": { + "description": "Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK.", + "type": "string" + }, + "memberConfig": { + "$ref": "IdentityServiceSpec", + "description": "Last reconciled membership configuration" + }, + "state": { + "description": "Deployment state on this member", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "OK", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified state", + "deployment succeeds", + "Failure with error." + ], + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceUserConfig": { + "description": "Defines where users exist in the LDAP directory.", + "id": "IdentityServiceUserConfig", + "properties": { + "baseDn": { + "description": "Required. The location of the subtree in the LDAP directory to search for user entries.", + "type": "string" + }, + "filter": { + "description": "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)\".", + "type": "string" + }, + "idAttribute": { + "description": "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\".", + "type": "string" + }, + "loginAttribute": { + "description": "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\".", + "type": "string" + } + }, + "type": "object" + }, + "LifecycleState": { + "description": "LifecycleState describes the state of a MembershipFeature *resource* in the GkeHub API. See `FeatureState` for the \"running state\" of the MembershipFeature.", + "id": "LifecycleState", + "properties": { + "state": { + "description": "Output only. The current state of the Feature resource in the Hub API.", + "enum": [ + "STATE_UNSPECIFIED", + "ENABLING", + "ACTIVE", + "DISABLING", + "UPDATING", + "SERVICE_UPDATING" + ], + "enumDescriptions": [ + "State is unknown or not set.", + "The MembershipFeature is being enabled, and the MembershipFeature resource is being created. Once complete, the corresponding MembershipFeature will be enabled in this Hub.", + "The MembershipFeature is enabled in this Hub, and the MembershipFeature resource is fully available.", + "The MembershipFeature is being disabled in this Hub, and the MembershipFeature resource is being deleted.", + "The MembershipFeature resource is being updated.", + "The MembershipFeature resource is being updated by the Hub Service." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListMembershipFeaturesResponse": { + "description": "Response message for the `GkeHubFeature.ListMembershipFeatures` method.", + "id": "ListMembershipFeaturesResponse", + "properties": { + "membershipFeatures": { + "description": "The list of matching MembershipFeatures.", + "items": { + "$ref": "MembershipFeature" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to request the next page of resources from the `ListMembershipFeatures` method. The value of an empty string means that there are no more resources to return.", + "type": "string" + }, + "unreachable": { + "description": "List of locations that could not be reached while fetching this list.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents a Google Cloud location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given location.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "MembershipFeature": { + "description": "MembershipFeature represents the settings and status of a Fleet Feature enabled on a single Fleet Membership.", + "id": "MembershipFeature", + "properties": { + "createTime": { + "description": "Output only. When the MembershipFeature resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deleteTime": { + "description": "Output only. When the MembershipFeature resource was deleted.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "featureConfigRef": { + "$ref": "FeatureConfigRef", + "description": "Reference information for a FeatureConfig applied on the MembershipFeature." + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "GCP labels for this MembershipFeature.", + "type": "object" + }, + "lifecycleState": { + "$ref": "LifecycleState", + "description": "Output only. Lifecycle information of the resource itself.", + "readOnly": true + }, + "name": { + "description": "Output only. The resource name of the membershipFeature, in the format: `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers)", + "readOnly": true, + "type": "string" + }, + "spec": { + "$ref": "FeatureSpec", + "description": "Spec of this membershipFeature." + }, + "state": { + "$ref": "FeatureState", + "description": "Output only. State of the this membershipFeature.", + "readOnly": true + }, + "updateTime": { + "description": "Output only. When the MembershipFeature resource was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "MeteringState": { + "description": "**Metering**: State for a single membership, analyzed and reported by feature controller.", + "id": "MeteringState", + "properties": { + "lastMeasurementTime": { + "description": "The time stamp of the most recent measurement of the number of vCPUs in the cluster.", + "format": "google-datetime", + "type": "string" + }, + "preciseLastMeasuredClusterVcpuCapacity": { + "description": "The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision).", + "format": "float", + "type": "number" + } + }, + "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": "GoogleRpcStatus", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Metadata of the long-running operation.", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "cancelRequested": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "statusDetail": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Origin": { + "description": "Origin defines where this FeatureSpec originated from.", + "id": "Origin", + "properties": { + "type": { + "description": "Type specifies which type of origin is set.", + "enum": [ + "TYPE_UNSPECIFIED", + "FLEET", + "FLEET_OUT_OF_SYNC", + "USER" + ], + "enumDescriptions": [ + "Type is unknown or not set.", + "Per-Feature spec was inherited from the fleet-level default.", + "Per-Feature spec was inherited from the fleet-level default but is now out of sync with the current default.", + "Per-Feature spec was inherited from a user specification." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerBundleInstallSpec": { + "description": "BundleInstallSpec is the specification configuration for a single managed bundle.", + "id": "PolicyControllerBundleInstallSpec", + "properties": { + "exemptedNamespaces": { + "description": "the set of namespaces to be exempted from the bundle", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "PolicyControllerHubConfig": { + "description": "Configuration for Policy Controller", + "id": "PolicyControllerHubConfig", + "properties": { + "auditIntervalSeconds": { + "description": "Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.", + "format": "int64", + "type": "string" + }, + "constraintViolationLimit": { + "description": "The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used.", + "format": "int64", + "type": "string" + }, + "deploymentConfigs": { + "additionalProperties": { + "$ref": "PolicyControllerPolicyControllerDeploymentConfig" + }, + "description": "Map of deployment configs to deployments (\u201cadmission\u201d, \u201caudit\u201d, \u201cmutation\u201d).", + "type": "object" + }, + "exemptableNamespaces": { + "description": "The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.", + "items": { + "type": "string" + }, + "type": "array" + }, + "installSpec": { + "description": "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.", + "enum": [ + "INSTALL_SPEC_UNSPECIFIED", + "INSTALL_SPEC_NOT_INSTALLED", + "INSTALL_SPEC_ENABLED", + "INSTALL_SPEC_SUSPENDED", + "INSTALL_SPEC_DETACHED" + ], + "enumDescriptions": [ + "Spec is unknown.", + "Request to uninstall Policy Controller.", + "Request to install and enable Policy Controller.", + "Request to suspend Policy Controller i.e. its webhooks. If Policy Controller is not installed, it will be installed but suspended.", + "Request to stop all reconciliation actions by PoCo Hub controller. This is a breakglass mechanism to stop PoCo Hub from affecting cluster resources." + ], + "type": "string" + }, + "logDeniesEnabled": { + "description": "Logs all denies and dry run failures.", + "type": "boolean" + }, + "monitoring": { + "$ref": "PolicyControllerMonitoringConfig", + "description": "Monitoring specifies the configuration of monitoring." + }, + "mutationEnabled": { + "description": "Enables the ability to mutate resources using Policy Controller.", + "type": "boolean" + }, + "policyContent": { + "$ref": "PolicyControllerPolicyContentSpec", + "description": "Specifies the desired policy content on the cluster" + }, + "referentialRulesEnabled": { + "description": "Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.", + "type": "boolean" + } + }, + "type": "object" + }, + "PolicyControllerMonitoringConfig": { + "description": "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\"]", + "id": "PolicyControllerMonitoringConfig", + "properties": { + "backends": { + "description": "Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export.", + "items": { + "enum": [ + "MONITORING_BACKEND_UNSPECIFIED", + "PROMETHEUS", + "CLOUD_MONITORING" + ], + "enumDescriptions": [ + "Backend cannot be determined", + "Prometheus backend for monitoring", + "Stackdriver/Cloud Monitoring backend for monitoring" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "PolicyControllerOnClusterState": { + "description": "OnClusterState represents the state of a sub-component of Policy Controller.", + "id": "PolicyControllerOnClusterState", + "properties": { + "details": { + "description": "Surface potential errors or information logs.", + "type": "string" + }, + "state": { + "description": "The lifecycle state of this component.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLING", + "ACTIVE", + "UPDATING", + "DECOMMISSIONING", + "CLUSTER_ERROR", + "HUB_ERROR", + "SUSPENDED", + "DETACHED" + ], + "enumDescriptions": [ + "The lifecycle state is unspecified.", + "The PC does not exist on the given cluster, and no k8s resources of any type that are associated with the PC should exist there. The cluster does not possess a membership with the PCH.", + "The PCH possesses a Membership, however the PC is not fully installed on the cluster. In this state the hub can be expected to be taking actions to install the PC on the cluster.", + "The PC is fully installed on the cluster and in an operational mode. In this state PCH will be reconciling state with the PC, and the PC will be performing it's operational tasks per that software. Entering a READY state requires that the hub has confirmed the PC is installed and its pods are operational with the version of the PC the PCH expects.", + "The PC is fully installed, but in the process of changing the configuration (including changing the version of PC either up and down, or modifying the manifests of PC) of the resources running on the cluster. The PCH has a Membership, is aware of the version the cluster should be running in, but has not confirmed for itself that the PC is running with that version.", + "The PC may have resources on the cluster, but the PCH wishes to remove the Membership. The Membership still exists.", + "The PC is not operational, and the PCH is unable to act to make it operational. Entering a CLUSTER_ERROR state happens automatically when the PCH determines that a PC installed on the cluster is non-operative or that the cluster does not meet requirements set for the PCH to administer the cluster but has nevertheless been given an instruction to do so (such as \u2018install').", + "In this state, the PC may still be operational, and only the PCH is unable to act. The hub should not issue instructions to change the PC state, or otherwise interfere with the on-cluster resources. Entering a HUB_ERROR state happens automatically when the PCH determines the hub is in an unhealthy state and it wishes to \u2018take hands off' to avoid corrupting the PC or other data.", + "Policy Controller (PC) is installed but suspended. This means that the policies are not enforced, but violations are still recorded (through audit).", + "PoCo Hub is not taking any action to reconcile cluster objects. Changes to those objects will not be overwritten by PoCo Hub." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerPolicyContentSpec": { + "description": "PolicyContentSpec defines the user's desired content configuration on the cluster.", + "id": "PolicyControllerPolicyContentSpec", + "properties": { + "bundles": { + "additionalProperties": { + "$ref": "PolicyControllerBundleInstallSpec" + }, + "description": "map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint.", + "type": "object" + }, + "templateLibrary": { + "$ref": "PolicyControllerTemplateLibraryConfig", + "description": "Configures the installation of the Template Library." + } + }, + "type": "object" + }, + "PolicyControllerPolicyContentState": { + "description": "The state of the policy controller policy content", + "id": "PolicyControllerPolicyContentState", + "properties": { + "bundleStates": { + "additionalProperties": { + "$ref": "PolicyControllerOnClusterState" + }, + "description": "The state of the any bundles included in the chosen version of the manifest", + "type": "object" + }, + "referentialSyncConfigState": { + "$ref": "PolicyControllerOnClusterState", + "description": "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." + }, + "templateLibraryState": { + "$ref": "PolicyControllerOnClusterState", + "description": "The state of the template library" + } + }, + "type": "object" + }, + "PolicyControllerPolicyControllerDeploymentConfig": { + "description": "Deployment-specific configuration.", + "id": "PolicyControllerPolicyControllerDeploymentConfig", + "properties": { + "containerResources": { + "$ref": "PolicyControllerResourceRequirements", + "description": "Container resource requirements." + }, + "podAffinity": { + "description": "Pod affinity configuration.", + "enum": [ + "AFFINITY_UNSPECIFIED", + "NO_AFFINITY", + "ANTI_AFFINITY" + ], + "enumDescriptions": [ + "No affinity configuration has been specified.", + "Affinity configurations will be removed from the deployment.", + "Anti-affinity configuration will be applied to this deployment. Default for admissions deployment." + ], + "type": "string" + }, + "podAntiAffinity": { + "deprecated": true, + "description": "Pod anti-affinity enablement. Deprecated: use `pod_affinity` instead.", + "type": "boolean" + }, + "podTolerations": { + "description": "Pod tolerations of node taints.", + "items": { + "$ref": "PolicyControllerToleration" + }, + "type": "array" + }, + "replicaCount": { + "description": "Pod replica count.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerResourceList": { + "description": "ResourceList contains container resource requirements.", + "id": "PolicyControllerResourceList", + "properties": { + "cpu": { + "description": "CPU requirement expressed in Kubernetes resource units.", + "type": "string" + }, + "memory": { + "description": "Memory requirement expressed in Kubernetes resource units.", + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerResourceRequirements": { + "description": "ResourceRequirements describes the compute resource requirements.", + "id": "PolicyControllerResourceRequirements", + "properties": { + "limits": { + "$ref": "PolicyControllerResourceList", + "description": "Limits describes the maximum amount of compute resources allowed for use by the running container." + }, + "requests": { + "$ref": "PolicyControllerResourceList", + "description": "Requests describes the amount of compute resources reserved for the container by the kube-scheduler." + } + }, + "type": "object" + }, + "PolicyControllerSpec": { + "description": "**Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR.", + "id": "PolicyControllerSpec", + "properties": { + "policyControllerHubConfig": { + "$ref": "PolicyControllerHubConfig", + "description": "Policy Controller configuration for the cluster." + }, + "version": { + "description": "Version of Policy Controller installed.", + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerState": { + "description": "**Policy Controller**: State for a single cluster.", + "id": "PolicyControllerState", + "properties": { + "componentStates": { + "additionalProperties": { + "$ref": "PolicyControllerOnClusterState" + }, + "description": "Currently these include (also serving as map keys): 1. \"admission\" 2. \"audit\" 3. \"mutation\"", + "type": "object" + }, + "policyContentState": { + "$ref": "PolicyControllerPolicyContentState", + "description": "The overall content state observed by the Hub Feature controller." + }, + "state": { + "description": "The overall Policy Controller lifecycle state observed by the Hub Feature controller.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLING", + "ACTIVE", + "UPDATING", + "DECOMMISSIONING", + "CLUSTER_ERROR", + "HUB_ERROR", + "SUSPENDED", + "DETACHED" + ], + "enumDescriptions": [ + "The lifecycle state is unspecified.", + "The PC does not exist on the given cluster, and no k8s resources of any type that are associated with the PC should exist there. The cluster does not possess a membership with the PCH.", + "The PCH possesses a Membership, however the PC is not fully installed on the cluster. In this state the hub can be expected to be taking actions to install the PC on the cluster.", + "The PC is fully installed on the cluster and in an operational mode. In this state PCH will be reconciling state with the PC, and the PC will be performing it's operational tasks per that software. Entering a READY state requires that the hub has confirmed the PC is installed and its pods are operational with the version of the PC the PCH expects.", + "The PC is fully installed, but in the process of changing the configuration (including changing the version of PC either up and down, or modifying the manifests of PC) of the resources running on the cluster. The PCH has a Membership, is aware of the version the cluster should be running in, but has not confirmed for itself that the PC is running with that version.", + "The PC may have resources on the cluster, but the PCH wishes to remove the Membership. The Membership still exists.", + "The PC is not operational, and the PCH is unable to act to make it operational. Entering a CLUSTER_ERROR state happens automatically when the PCH determines that a PC installed on the cluster is non-operative or that the cluster does not meet requirements set for the PCH to administer the cluster but has nevertheless been given an instruction to do so (such as \u2018install').", + "In this state, the PC may still be operational, and only the PCH is unable to act. The hub should not issue instructions to change the PC state, or otherwise interfere with the on-cluster resources. Entering a HUB_ERROR state happens automatically when the PCH determines the hub is in an unhealthy state and it wishes to \u2018take hands off' to avoid corrupting the PC or other data.", + "Policy Controller (PC) is installed but suspended. This means that the policies are not enforced, but violations are still recorded (through audit).", + "PoCo Hub is not taking any action to reconcile cluster objects. Changes to those objects will not be overwritten by PoCo Hub." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerTemplateLibraryConfig": { + "description": "The config specifying which default library templates to install.", + "id": "PolicyControllerTemplateLibraryConfig", + "properties": { + "installation": { + "description": "Configures the manner in which the template library is installed on the cluster.", + "enum": [ + "INSTALLATION_UNSPECIFIED", + "NOT_INSTALLED", + "ALL" + ], + "enumDescriptions": [ + "No installation strategy has been specified.", + "Do not install the template library.", + "Install the entire template library." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerToleration": { + "description": "Toleration of a node taint.", + "id": "PolicyControllerToleration", + "properties": { + "effect": { + "description": "Matches a taint effect.", + "type": "string" + }, + "key": { + "description": "Matches a taint key (not necessarily unique).", + "type": "string" + }, + "operator": { + "description": "Matches a taint operator.", + "type": "string" + }, + "value": { + "description": "Matches a taint value.", + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshAnalysisMessage": { + "description": "AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration.", + "id": "ServiceMeshAnalysisMessage", + "properties": { + "args": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "A UI can combine these args with a template (based on message_base.type) to produce an internationalized message.", + "type": "object" + }, + "description": { + "description": "A human readable description of what the error means. It is suitable for non-internationalize display purposes.", + "type": "string" + }, + "messageBase": { + "$ref": "ServiceMeshAnalysisMessageBase", + "description": "Details common to all types of Istio and ServiceMesh analysis messages." + }, + "resourcePaths": { + "description": "A list of strings specifying the resource identifiers that were the cause of message generation. A \"path\" here may be: * MEMBERSHIP_ID if the cause is a specific member cluster * MEMBERSHIP_ID/(NAMESPACE\\/)?RESOURCETYPE/NAME if the cause is a resource in a cluster", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ServiceMeshAnalysisMessageBase": { + "description": "AnalysisMessageBase describes some common information that is needed for all messages.", + "id": "ServiceMeshAnalysisMessageBase", + "properties": { + "documentationUrl": { + "description": "A url pointing to the Service Mesh or Istio documentation for this specific error type.", + "type": "string" + }, + "level": { + "description": "Represents how severe a message is.", + "enum": [ + "LEVEL_UNSPECIFIED", + "ERROR", + "WARNING", + "INFO" + ], + "enumDescriptions": [ + "Illegal. Same istio.analysis.v1alpha1.AnalysisMessageBase.Level.UNKNOWN.", + "ERROR represents a misconfiguration that must be fixed.", + "WARNING represents a misconfiguration that should be fixed.", + "INFO represents an informational finding." + ], + "type": "string" + }, + "type": { + "$ref": "ServiceMeshType", + "description": "Represents the specific type of a message." + } + }, + "type": "object" + }, + "ServiceMeshCondition": { + "description": "Condition being reported.", + "id": "ServiceMeshCondition", + "properties": { + "code": { + "description": "Unique identifier of the condition which describes the condition recognizable to the user.", + "enum": [ + "CODE_UNSPECIFIED", + "MESH_IAM_PERMISSION_DENIED", + "MESH_IAM_CROSS_PROJECT_PERMISSION_DENIED", + "CNI_CONFIG_UNSUPPORTED", + "GKE_SANDBOX_UNSUPPORTED", + "NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED", + "CNI_INSTALLATION_FAILED", + "CNI_POD_UNSCHEDULABLE", + "CLUSTER_HAS_ZERO_NODES", + "UNSUPPORTED_MULTIPLE_CONTROL_PLANES", + "VPCSC_GA_SUPPORTED", + "DEPRECATED_SPEC_CONTROL_PLANE_MANAGEMENT", + "DEPRECATED_SPEC_CONTROL_PLANE_MANAGEMENT_SAFE", + "CONFIG_APPLY_INTERNAL_ERROR", + "CONFIG_VALIDATION_ERROR", + "CONFIG_VALIDATION_WARNING", + "QUOTA_EXCEEDED_BACKEND_SERVICES", + "QUOTA_EXCEEDED_HEALTH_CHECKS", + "QUOTA_EXCEEDED_HTTP_ROUTES", + "QUOTA_EXCEEDED_TCP_ROUTES", + "QUOTA_EXCEEDED_TLS_ROUTES", + "QUOTA_EXCEEDED_TRAFFIC_POLICIES", + "QUOTA_EXCEEDED_ENDPOINT_POLICIES", + "QUOTA_EXCEEDED_GATEWAYS", + "QUOTA_EXCEEDED_MESHES", + "QUOTA_EXCEEDED_SERVER_TLS_POLICIES", + "QUOTA_EXCEEDED_CLIENT_TLS_POLICIES", + "QUOTA_EXCEEDED_SERVICE_LB_POLICIES", + "QUOTA_EXCEEDED_HTTP_FILTERS", + "QUOTA_EXCEEDED_TCP_FILTERS", + "QUOTA_EXCEEDED_NETWORK_ENDPOINT_GROUPS", + "MODERNIZATION_SCHEDULED", + "MODERNIZATION_IN_PROGRESS", + "MODERNIZATION_COMPLETED", + "MODERNIZATION_ABORTED" + ], + "enumDescriptions": [ + "Default Unspecified code", + "Mesh IAM permission denied error code", + "Permission denied error code for cross-project", + "CNI config unsupported error code", + "GKE sandbox unsupported error code", + "Nodepool workload identity federation required error code", + "CNI installation failed error code", + "CNI pod unschedulable error code", + "Cluster has zero node code", + "Multiple control planes unsupported error code", + "VPC-SC GA is supported for this control plane.", + "User is using deprecated ControlPlaneManagement and they have not yet set Management.", + "User is using deprecated ControlPlaneManagement and they have already set Management.", + "Configuration (Istio/k8s resources) failed to apply due to internal error.", + "Configuration failed to be applied due to being invalid.", + "Encountered configuration(s) with possible unintended behavior or invalid configuration. These configs may not have been applied.", + "BackendService quota exceeded error code.", + "HealthCheck quota exceeded error code.", + "HTTPRoute quota exceeded error code.", + "TCPRoute quota exceeded error code.", + "TLS routes quota exceeded error code.", + "TrafficPolicy quota exceeded error code.", + "EndpointPolicy quota exceeded error code.", + "Gateway quota exceeded error code.", + "Mesh quota exceeded error code.", + "ServerTLSPolicy quota exceeded error code.", + "ClientTLSPolicy quota exceeded error code.", + "ServiceLBPolicy quota exceeded error code.", + "HTTPFilter quota exceeded error code.", + "TCPFilter quota exceeded error code.", + "NetworkEndpointGroup quota exceeded error code.", + "Modernization is scheduled for a cluster.", + "Modernization is in progress for a cluster.", + "Modernization is completed for a cluster.", + "Modernization is aborted for a cluster." + ], + "type": "string" + }, + "details": { + "description": "A short summary about the issue.", + "type": "string" + }, + "documentationLink": { + "description": "Links contains actionable information.", + "type": "string" + }, + "severity": { + "description": "Severity level of the condition.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "ERROR", + "WARNING", + "INFO" + ], + "enumDescriptions": [ + "Unspecified severity", + "Indicates an issue that prevents the mesh from operating correctly", + "Indicates a setting is likely wrong, but the mesh is still able to operate", + "An informational message, not requiring any action" + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshControlPlaneManagement": { + "description": "Status of control plane management.", + "id": "ServiceMeshControlPlaneManagement", + "properties": { + "details": { + "description": "Explanation of state.", + "items": { + "$ref": "ServiceMeshStatusDetails" + }, + "type": "array" + }, + "implementation": { + "description": "Output only. Implementation of managed control plane.", + "enum": [ + "IMPLEMENTATION_UNSPECIFIED", + "ISTIOD", + "TRAFFIC_DIRECTOR", + "UPDATING" + ], + "enumDescriptions": [ + "Unspecified", + "A Google build of istiod is used for the managed control plane.", + "Traffic director is used for the managed control plane.", + "The control plane implementation is being updated." + ], + "readOnly": true, + "type": "string" + }, + "state": { + "description": "LifecycleState of control plane management.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "DISABLED", + "FAILED_PRECONDITION", + "PROVISIONING", + "ACTIVE", + "STALLED", + "NEEDS_ATTENTION", + "DEGRADED" + ], + "enumDescriptions": [ + "Unspecified", + "DISABLED means that the component is not enabled.", + "FAILED_PRECONDITION means that provisioning cannot proceed because of some characteristic of the member cluster.", + "PROVISIONING means that provisioning is in progress.", + "ACTIVE means that the component is ready for use.", + "STALLED means that provisioning could not be done.", + "NEEDS_ATTENTION means that the component is ready, but some user intervention is required. (For example that the user should migrate workloads to a new control plane revision.)", + "DEGRADED means that the component is ready, but operating in a degraded state." + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshDataPlaneManagement": { + "description": "Status of data plane management. Only reported per-member.", + "id": "ServiceMeshDataPlaneManagement", + "properties": { + "details": { + "description": "Explanation of the status.", + "items": { + "$ref": "ServiceMeshStatusDetails" + }, + "type": "array" + }, + "state": { + "description": "Lifecycle status of data plane management.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "DISABLED", + "FAILED_PRECONDITION", + "PROVISIONING", + "ACTIVE", + "STALLED", + "NEEDS_ATTENTION", + "DEGRADED" + ], + "enumDescriptions": [ + "Unspecified", + "DISABLED means that the component is not enabled.", + "FAILED_PRECONDITION means that provisioning cannot proceed because of some characteristic of the member cluster.", + "PROVISIONING means that provisioning is in progress.", + "ACTIVE means that the component is ready for use.", + "STALLED means that provisioning could not be done.", + "NEEDS_ATTENTION means that the component is ready, but some user intervention is required. (For example that the user should migrate workloads to a new control plane revision.)", + "DEGRADED means that the component is ready, but operating in a degraded state." + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshSpec": { + "description": "**Service Mesh**: Spec for a single Membership for the servicemesh feature", + "id": "ServiceMeshSpec", + "properties": { + "configApi": { + "description": "Optional. Specifies the API that will be used for configuring the mesh workloads.", + "enum": [ + "CONFIG_API_UNSPECIFIED", + "CONFIG_API_ISTIO", + "CONFIG_API_GATEWAY" + ], + "enumDescriptions": [ + "Unspecified", + "Use the Istio API for configuration.", + "Use the K8s Gateway API for configuration." + ], + "type": "string" + }, + "controlPlane": { + "deprecated": true, + "description": "Deprecated: use `management` instead Enables automatic control plane management.", + "enum": [ + "CONTROL_PLANE_MANAGEMENT_UNSPECIFIED", + "AUTOMATIC", + "MANUAL" + ], + "enumDescriptions": [ + "Unspecified", + "Google should provision a control plane revision and make it available in the cluster. Google will enroll this revision in a release channel and keep it up to date. The control plane revision may be a managed service, or a managed install.", + "User will manually configure the control plane (e.g. via CLI, or via the ControlPlaneRevision KRM API)" + ], + "type": "string" + }, + "defaultChannel": { + "deprecated": true, + "description": "Determines which release channel to use for default injection and service mesh APIs.", + "enum": [ + "CHANNEL_UNSPECIFIED", + "RAPID", + "REGULAR", + "STABLE" + ], + "enumDescriptions": [ + "Unspecified", + "RAPID channel is offered on an early access basis for customers who want to test new releases.", + "REGULAR channel is intended for production users who want to take advantage of new features.", + "STABLE channel includes versions that are known to be stable and reliable in production." + ], + "type": "string" + }, + "management": { + "description": "Optional. Enables automatic Service Mesh management.", + "enum": [ + "MANAGEMENT_UNSPECIFIED", + "MANAGEMENT_AUTOMATIC", + "MANAGEMENT_MANUAL" + ], + "enumDescriptions": [ + "Unspecified", + "Google should manage my Service Mesh for the cluster.", + "User will manually configure their service mesh components." + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshState": { + "description": "**Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller.", + "id": "ServiceMeshState", + "properties": { + "analysisMessages": { + "description": "Output only. Results of running Service Mesh analyzers.", + "items": { + "$ref": "ServiceMeshAnalysisMessage" + }, + "readOnly": true, + "type": "array" + }, + "conditions": { + "description": "Output only. List of conditions reported for this membership.", + "items": { + "$ref": "ServiceMeshCondition" + }, + "readOnly": true, + "type": "array" + }, + "configApiVersion": { + "description": "The API version (i.e. Istio CRD version) for configuring service mesh in this cluster. This version is influenced by the `default_channel` field.", + "type": "string" + }, + "controlPlaneManagement": { + "$ref": "ServiceMeshControlPlaneManagement", + "description": "Output only. Status of control plane management", + "readOnly": true + }, + "dataPlaneManagement": { + "$ref": "ServiceMeshDataPlaneManagement", + "description": "Output only. Status of data plane management.", + "readOnly": true + } + }, + "type": "object" + }, + "ServiceMeshStatusDetails": { + "description": "Structured and human-readable details for a status.", + "id": "ServiceMeshStatusDetails", + "properties": { + "code": { + "description": "A machine-readable code that further describes a broad status.", + "type": "string" + }, + "details": { + "description": "Human-readable explanation of code.", + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshType": { + "description": "A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type", + "id": "ServiceMeshType", + "properties": { + "code": { + "description": "A 7 character code matching `^IST[0-9]{4}$` or `^ASM[0-9]{4}$`, intended to uniquely identify the message type. (e.g. \"IST0001\" is mapped to the \"InternalError\" message type.)", + "type": "string" + }, + "displayName": { + "description": "A human-readable name for the message type. e.g. \"InternalError\", \"PodMissingProxy\". This should be the same for all messages of the same type. (This corresponds to the `name` field in open-source Istio.)", + "type": "string" + } + }, + "type": "object" + }, + "State": { + "description": "High-level state of a MembershipFeature.", + "id": "State", + "properties": { + "code": { + "description": "The high-level, machine-readable status of this MembershipFeature.", + "enum": [ + "CODE_UNSPECIFIED", + "OK", + "WARNING", + "ERROR" + ], + "enumDescriptions": [ + "Unknown or not set.", + "The MembershipFeature is operating normally.", + "The MembershipFeature has encountered an issue, and is operating in a degraded state. The MembershipFeature may need intervention to return to normal operation. See the description and any associated MembershipFeature-specific details for more information.", + "The MembershipFeature is not operating or is in a severely degraded state. The MembershipFeature may need intervention to return to normal operation. See the description and any associated MembershipFeature-specific details for more information." + ], + "type": "string" + }, + "description": { + "description": "A human-readable description of the current status.", + "type": "string" + }, + "updateTime": { + "description": "The time this status and any related Feature-specific details were updated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "WorkloadCertificateSpec": { + "description": "**WorkloadCertificate**: The membership-specific input for WorkloadCertificate feature.", + "id": "WorkloadCertificateSpec", + "properties": { + "certificateManagement": { + "description": "CertificateManagement specifies workload certificate management.", + "enum": [ + "CERTIFICATE_MANAGEMENT_UNSPECIFIED", + "DISABLED", + "ENABLED" + ], + "enumDescriptions": [ + "Disable workload certificate feature.", + "Disable workload certificate feature.", + "Enable workload certificate feature." + ], + "type": "string" } }, "type": "object" diff --git a/Src/Generated/Google.Apis.GKEHub.v2beta/Google.Apis.GKEHub.v2beta.cs b/Src/Generated/Google.Apis.GKEHub.v2beta/Google.Apis.GKEHub.v2beta.cs index 45b3144789..e4286ed0d5 100644 --- a/Src/Generated/Google.Apis.GKEHub.v2beta/Google.Apis.GKEHub.v2beta.cs +++ b/Src/Generated/Google.Apis.GKEHub.v2beta/Google.Apis.GKEHub.v2beta.cs @@ -292,9 +292,465 @@ public class LocationsResource public LocationsResource(Google.Apis.Services.IClientService service) { this.service = service; + Memberships = new MembershipsResource(service); Operations = new OperationsResource(service); } + /// Gets the Memberships resource. + public virtual MembershipsResource Memberships { get; } + + /// The "memberships" collection of methods. + public class MembershipsResource + { + private const string Resource = "memberships"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public MembershipsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + Features = new FeaturesResource(service); + } + + /// Gets the Features resource. + public virtual FeaturesResource Features { get; } + + /// The "features" collection of methods. + public class FeaturesResource + { + private const string Resource = "features"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public FeaturesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Creates membershipFeature under a given parent. + /// The body of the request. + /// + /// Required. The name of parent where the MembershipFeature will be created. Specified in the + /// format `projects/*/locations/*/memberships/*`. + /// + public virtual CreateRequest Create(Google.Apis.GKEHub.v2beta.Data.MembershipFeature body, string parent) + { + return new CreateRequest(this.service, body, parent); + } + + /// Creates membershipFeature under a given parent. + public class CreateRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v2beta.Data.MembershipFeature body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// + /// Required. The name of parent where the MembershipFeature will be created. Specified in the + /// format `projects/*/locations/*/memberships/*`. + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// Required. The ID of the membership_feature to create. + [Google.Apis.Util.RequestParameterAttribute("featureId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string FeatureId { get; set; } + + /// Idempotent request UUID. + [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.GKEHub.v2beta.Data.MembershipFeature 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 => "v2beta/{+parent}/features"; + + /// 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/[^/]+/memberships/[^/]+$", + }); + RequestParameters.Add("featureId", new Google.Apis.Discovery.Parameter + { + Name = "featureId", + 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, + }); + } + } + + /// Removes a membershipFeature. + /// + /// Required. The name of the membershipFeature to be deleted. Specified in the format + /// `projects/*/locations/*/memberships/*/features/*`. + /// + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// Removes a membershipFeature. + 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 name of the membershipFeature to be deleted. Specified in the format + /// `projects/*/locations/*/memberships/*/features/*`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Idempotent request UUID. + [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 => "v2beta/{+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/[^/]+/memberships/[^/]+/features/[^/]+$", + }); + RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter + { + Name = "requestId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// ========= MembershipFeature Services ========= Gets details of a membershipFeature. + /// + /// + /// Required. The MembershipFeature resource name in the format + /// `projects/*/locations/*/memberships/*/features/*`. + /// + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// + /// ========= MembershipFeature Services ========= Gets details of a membershipFeature. + /// + 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 MembershipFeature resource name in the format + /// `projects/*/locations/*/memberships/*/features/*`. + /// + [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 => "v2beta/{+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/[^/]+/memberships/[^/]+/features/[^/]+$", + }); + } + } + + /// Lists MembershipFeatures in a given project and location. + /// + /// Required. The parent where the MembershipFeature will be listed. In the format: + /// `projects/*/locations/*/memberships/*`. + /// + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Lists MembershipFeatures in a given project and location. + 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 where the MembershipFeature will be listed. In the format: + /// `projects/*/locations/*/memberships/*`. + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Lists MembershipFeatures that match the filter expression, following the syntax outlined in + /// https://google.aip.dev/160. Examples: - Feature with the name "helloworld" in project + /// "foo-proj" and membership "member-bar": name = + /// "projects/foo-proj/locations/global/memberships/member-bar/features/helloworld" - Features + /// that have a label called `foo`: labels.foo:* - Features that have a label called `foo` whose + /// value is `bar`: labels.foo = bar + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// One or more fields to compare and use to sort the output. See + /// https://google.aip.dev/132#ordering. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// 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; } + + /// + /// 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; } + + /// 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 => "v2beta/{+parent}/features"; + + /// 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/[^/]+/memberships/[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + 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 an existing MembershipFeature. + /// The body of the request. + /// + /// Output only. The resource name of the membershipFeature, in the format: + /// `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that + /// `membershipFeatures` is shortened to `features` in the resource name. (see + /// http://go/aip/122#collection-identifiers) + /// + public virtual PatchRequest Patch(Google.Apis.GKEHub.v2beta.Data.MembershipFeature body, string name) + { + return new PatchRequest(this.service, body, name); + } + + /// Updates an existing MembershipFeature. + public class PatchRequest : GKEHubBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.GKEHub.v2beta.Data.MembershipFeature body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Output only. The resource name of the membershipFeature, in the format: + /// `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note + /// that `membershipFeatures` is shortened to `features` in the resource name. (see + /// http://go/aip/122#collection-identifiers) + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Optional. If set to true, and the MembershipFeature is not found, a new MembershipFeature + /// will be created. In this situation, `update_mask` is ignored. + /// + [Google.Apis.Util.RequestParameterAttribute("allowMissing", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AllowMissing { get; set; } + + /// Idempotent request UUID. + [Google.Apis.Util.RequestParameterAttribute("requestId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string RequestId { get; set; } + + /// Required. Mask 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.v2beta.Data.MembershipFeature 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 => "v2beta/{+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/[^/]+/memberships/[^/]+/features/[^/]+$", + }); + RequestParameters.Add("allowMissing", new Google.Apis.Discovery.Parameter + { + Name = "allowMissing", + 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, + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + } + /// Gets the Operations resource. public virtual OperationsResource Operations { get; } @@ -656,6 +1112,32 @@ protected override void InitParameters() } namespace Google.Apis.GKEHub.v2beta.Data { + /// State for App Dev Exp Feature. + public class AppDevExperienceState : Google.Apis.Requests.IDirectResponseSchema + { + /// Status of subcomponent that detects configured Service Mesh resources. + [Newtonsoft.Json.JsonPropertyAttribute("networkingInstallSucceeded")] + public virtual AppDevExperienceStatus NetworkingInstallSucceeded { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Status specifies state for the subcomponent. + public class AppDevExperienceStatus : Google.Apis.Requests.IDirectResponseSchema + { + /// Code specifies AppDevExperienceFeature's subcomponent ready state. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } + + /// Description is populated if Code is Failed, explaining why it has failed. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { 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 { @@ -663,146 +1145,2658 @@ public class CancelOperationRequest : Google.Apis.Requests.IDirectResponseSchema 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 + /// **Cloud Build**: Configurations for each Cloud Build enabled cluster. + public class CloudBuildSpec : 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; } + } + + /// 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". + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Version of the upgrade, e.g., "1.22.1-gke.100". + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual string Version { 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). + /// 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 GoogleRpcStatus : Google.Apis.Requests.IDirectResponseSchema + public class ClusterUpgradeIgnoredMembership : 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; } + private string _ignoredTimeRaw; - /// - /// 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; } + private object _ignoredTime; - /// - /// 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; } + /// 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; + } + } + + /// 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; } } - /// The response message for Locations.ListLocations. - public class ListLocationsResponse : Google.Apis.Requests.IDirectResponseSchema + /// MembershipGKEUpgradeState is a GKEUpgrade and its state per-membership. + public class ClusterUpgradeMembershipGKEUpgradeState : 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; } + /// Status of the upgrade. + [Newtonsoft.Json.JsonPropertyAttribute("status")] + public virtual ClusterUpgradeUpgradeStatus Status { get; set; } - /// The standard List next-page token. - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { 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; } } - /// The response message for Operations.ListOperations. - public class ListOperationsResponse : Google.Apis.Requests.IDirectResponseSchema + /// Per-membership state for this feature. + public class ClusterUpgradeState : Google.Apis.Requests.IDirectResponseSchema { - /// The standard List next-page token. - [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] - public virtual string NextPageToken { 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; } - /// 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; } + /// 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; } } - /// A resource that represents a Google Cloud location. - public class Location : Google.Apis.Requests.IDirectResponseSchema + /// UpgradeStatus provides status information for each upgrade. + public class ClusterUpgradeUpgradeStatus : 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; } + /// Status code of the upgrade. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { 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; } + /// Reason for this status. + [Newtonsoft.Json.JsonPropertyAttribute("reason")] + public virtual string Reason { get; set; } - /// The canonical id for this location. For example: `"us-east1"`. - [Newtonsoft.Json.JsonPropertyAttribute("locationId")] - public virtual string LocationId { get; set; } + private string _updateTimeRaw; - /// 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; } + private object _updateTime; - /// - /// 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; } + /// 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; } } - /// This resource represents a long-running operation that is the result of a network API call. - public class Operation : Google.Apis.Requests.IDirectResponseSchema + /// Configuration for Binauthz. + public class ConfigManagementBinauthzConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// 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; } + } + + /// State for Binauthz. + public class ConfigManagementBinauthzState : Google.Apis.Requests.IDirectResponseSchema + { + /// The version of binauthz that is installed. + [Newtonsoft.Json.JsonPropertyAttribute("version")] + 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; } + } + + /// The version of binauthz. + public class ConfigManagementBinauthzVersion : Google.Apis.Requests.IDirectResponseSchema + { + /// 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; } + } + + /// Configuration for Config Sync + public class ConfigManagementConfigSync : 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. + /// Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is + /// deprecated. /// - [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; } + [Newtonsoft.Json.JsonPropertyAttribute("allowVerticalScale")] + public virtual System.Nullable AllowVerticalScale { 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. + /// 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("metadata")] - public virtual System.Collections.Generic.IDictionary Metadata { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("enabled")] + public virtual System.Nullable Enabled { get; set; } + + /// Git repo configuration for the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("git")] + public virtual ConfigManagementGitConfig Git { 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}`. + /// 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. /// - [Newtonsoft.Json.JsonPropertyAttribute("name")] - public virtual string Name { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("metricsGcpServiceAccountEmail")] + public virtual string MetricsGcpServiceAccountEmail { get; set; } + + /// OCI repo configuration for the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("oci")] + public virtual ConfigManagementOciConfig Oci { 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`. + /// 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("response")] - public virtual System.Collections.Generic.IDictionary Response { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("preventDrift")] + public virtual System.Nullable PreventDrift { get; set; } + + /// Specifies whether the Config Sync Repo is in "hierarchical" or "unstructured" mode. + [Newtonsoft.Json.JsonPropertyAttribute("sourceFormat")] + public virtual string SourceFormat { get; set; } + + /// 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 + { + /// 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; } + + /// Deployment state of otel-collector + [Newtonsoft.Json.JsonPropertyAttribute("otelCollector")] + public virtual string OtelCollector { get; set; } + + /// Deployment state of reconciler-manager pod. + [Newtonsoft.Json.JsonPropertyAttribute("reconcilerManager")] + public virtual string ReconcilerManager { get; set; } + + /// Deployment state of resource-group-controller-manager + [Newtonsoft.Json.JsonPropertyAttribute("resourceGroupControllerManager")] + public virtual string ResourceGroupControllerManager { get; set; } + + /// 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; } + } + + /// Errors pertaining to the installation of Config Sync + public class ConfigManagementConfigSyncError : 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; } + } + + /// State information for ConfigSync. + public class ConfigManagementConfigSyncState : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Information about the deployment of ConfigSync, including the version. of the various Pods deployed + /// + [Newtonsoft.Json.JsonPropertyAttribute("deploymentState")] + public virtual ConfigManagementConfigSyncDeploymentState DeploymentState { get; set; } + + /// Errors pertaining to the installation of Config Sync. + [Newtonsoft.Json.JsonPropertyAttribute("errors")] + public virtual System.Collections.Generic.IList Errors { get; set; } + + /// The state of the Reposync CRD + [Newtonsoft.Json.JsonPropertyAttribute("reposyncCrd")] + public virtual string ReposyncCrd { get; set; } + + /// The state of the RootSync CRD + [Newtonsoft.Json.JsonPropertyAttribute("rootsyncCrd")] + public virtual string RootsyncCrd { get; set; } + + /// The state of CS This field summarizes the other fields in this message. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The state of ConfigSync's process to sync configs to a cluster. + [Newtonsoft.Json.JsonPropertyAttribute("syncState")] + public virtual ConfigManagementSyncState SyncState { get; set; } + + /// 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; } + } + + /// Specific versioning information pertaining to ConfigSync's Pods. + public class ConfigManagementConfigSyncVersion : 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; } + + /// 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; } + } + + /// Model for a config file in the git repo with an associated Sync error. + public class ConfigManagementErrorResource : 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; } + + /// 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; } + } + + /// State of Policy Controller installation. + public class ConfigManagementGatekeeperDeploymentState : 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; } + + /// 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 + { + /// + /// The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. + /// + [Newtonsoft.Json.JsonPropertyAttribute("gcpServiceAccountEmail")] + public virtual string GcpServiceAccountEmail { get; set; } + + /// URL for the HTTPS proxy to be used when communicating with the Git repo. + [Newtonsoft.Json.JsonPropertyAttribute("httpsProxy")] + public virtual string HttpsProxy { get; set; } + + /// + /// 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; } + + /// + /// Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, + /// gcpserviceaccount or none. The validation of this is case-sensitive. Required. + /// + [Newtonsoft.Json.JsonPropertyAttribute("secretType")] + public virtual string SecretType { get; set; } + + /// The branch of the repository to sync from. Default: master. + [Newtonsoft.Json.JsonPropertyAttribute("syncBranch")] + public virtual string SyncBranch { get; set; } + + /// The URL of the Git repository to use as the source of truth. + [Newtonsoft.Json.JsonPropertyAttribute("syncRepo")] + public virtual string SyncRepo { get; set; } + + /// Git revision (tag or hash) to check out. Default HEAD. + [Newtonsoft.Json.JsonPropertyAttribute("syncRev")] + public virtual string SyncRev { get; set; } + + /// 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; } + } + + /// A Kubernetes object's GVK. + public class ConfigManagementGroupVersionKind : Google.Apis.Requests.IDirectResponseSchema + { + /// Kubernetes Group + [Newtonsoft.Json.JsonPropertyAttribute("group")] + public virtual string Group { get; set; } + + /// Kubernetes Kind + [Newtonsoft.Json.JsonPropertyAttribute("kind")] + public virtual string Kind { get; set; } + + /// Kubernetes Version + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual string Version { get; set; } + + /// The ETag of the item. + public virtual string ETag { 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; } + + /// Whether pod tree labels are enabled in this cluster. + [Newtonsoft.Json.JsonPropertyAttribute("enablePodTreeLabels")] + public virtual System.Nullable EnablePodTreeLabels { get; set; } + + /// Whether Hierarchy Controller 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; } + } + + /// 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; } + } + + /// 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; } + + /// 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; } + } + + /// 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; } + + /// Version for open source HNC. + [Newtonsoft.Json.JsonPropertyAttribute("hnc")] + public virtual string Hnc { get; set; } + + /// The ETag of the item. + public virtual string ETag { 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; } + } + + /// OCI repo configuration for a single cluster. + public class ConfigManagementOciConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// 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 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; } + + /// Type of secret configured for access to the Git repo. + [Newtonsoft.Json.JsonPropertyAttribute("secretType")] + public virtual string SecretType { get; set; } + + /// + /// 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; } + + /// 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; } + } + + /// State information for an ACM's Operator. + public class ConfigManagementOperatorState : 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; } + + /// 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 Policy Controller + public class ConfigManagementPolicyController : 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; } + + /// + /// 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; } + + /// + /// 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; } + + /// 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; } + + /// + /// Enable or disable mutation in policy controller. If true, mutation CRDs, webhook and controller deployment + /// will be deployed to the cluster. + /// + [Newtonsoft.Json.JsonPropertyAttribute("mutationEnabled")] + public virtual System.Nullable MutationEnabled { get; set; } + + /// + /// Enables the ability to use Constraint Templates that reference to objects other than the object currently + /// being evaluated. + /// + [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; } + + 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; } + } + + /// State for the migration of PolicyController from ACM -> PoCo Hub. + public class ConfigManagementPolicyControllerMigration : 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; + } + } + + /// 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; + } + } + + /// 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); + } + + /// 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; } + } + + /// + /// 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 + { + /// + /// 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 for PolicyControllerState. + public class ConfigManagementPolicyControllerState : 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 version of Gatekeeper Policy Controller deployed. + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual ConfigManagementPolicyControllerVersion Version { 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 + { + /// 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 ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. + /// + public class ConfigManagementSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// 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; } + + /// + /// 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; } + + /// Config Sync configuration for the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("configSync")] + public virtual ConfigManagementConfigSync ConfigSync { get; set; } + + /// + /// 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; } + + /// Enables automatic Feature management. + [Newtonsoft.Json.JsonPropertyAttribute("management")] + public virtual string Management { get; set; } + + /// + /// 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; } + + /// 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; } + } + + /// **Anthos Config Management**: State for a single cluster. + public class ConfigManagementState : Google.Apis.Requests.IDirectResponseSchema + { + /// Binauthz status. + [Newtonsoft.Json.JsonPropertyAttribute("binauthzState")] + public virtual ConfigManagementBinauthzState BinauthzState { get; set; } + + /// + /// 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; } + + /// Current sync status. + [Newtonsoft.Json.JsonPropertyAttribute("configSyncState")] + public virtual ConfigManagementConfigSyncState ConfigSyncState { get; set; } + + /// Hierarchy Controller status. + [Newtonsoft.Json.JsonPropertyAttribute("hierarchyControllerState")] + public virtual ConfigManagementHierarchyControllerState HierarchyControllerState { get; set; } + + /// + /// 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 ConfigManagementSpec MembershipSpec { get; set; } + + /// Current install status of ACM's Operator. + [Newtonsoft.Json.JsonPropertyAttribute("operatorState")] + public virtual ConfigManagementOperatorState OperatorState { get; set; } + + /// PolicyController status. + [Newtonsoft.Json.JsonPropertyAttribute("policyControllerState")] + public virtual ConfigManagementPolicyControllerState PolicyControllerState { 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 + { + /// 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; } + + /// 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; } + } + + /// State indicating an ACM's progress syncing configurations to a cluster. + public class ConfigManagementSyncState : 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; } + + /// + /// 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; } + + private string _lastSyncTimeRaw; + + private object _lastSyncTime; + + /// 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; + } + } + + /// 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; + } + } + + /// 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; } + } + + /// + /// 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; } + } + + /// Information of the FeatureConfig applied on the MembershipFeature. + public class FeatureConfigRef : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Input only. Resource name of FeatureConfig, in the format: + /// `projects/{project}/locations/global/featureConfigs/{feature_config}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("config")] + public virtual string Config { get; set; } + + private string _configUpdateTimeRaw; + + private object _configUpdateTime; + + /// Output only. When the FeatureConfig was last applied and copied to FeatureSpec. + [Newtonsoft.Json.JsonPropertyAttribute("configUpdateTime")] + public virtual string ConfigUpdateTimeRaw + { + get => _configUpdateTimeRaw; + set + { + _configUpdateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _configUpdateTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use ConfigUpdateTimeDateTimeOffset instead.")] + public virtual object ConfigUpdateTime + { + get => _configUpdateTime; + set + { + _configUpdateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _configUpdateTime = value; + } + } + + /// + /// representation of . + /// + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? ConfigUpdateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(ConfigUpdateTimeRaw); + set => ConfigUpdateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// Output only. An id that uniquely identify a FeatureConfig object. + [Newtonsoft.Json.JsonPropertyAttribute("uuid")] + public virtual string Uuid { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// FeatureSpec contains user input per-feature spec information. + public class FeatureSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// Cloudbuild-specific FeatureSpec. + [Newtonsoft.Json.JsonPropertyAttribute("cloudbuild")] + public virtual CloudBuildSpec Cloudbuild { get; set; } + + /// Config Management FeatureSpec. + [Newtonsoft.Json.JsonPropertyAttribute("configmanagement")] + public virtual ConfigManagementSpec Configmanagement { get; set; } + + /// IdentityService FeatureSpec. + [Newtonsoft.Json.JsonPropertyAttribute("identityservice")] + public virtual IdentityServiceSpec Identityservice { get; set; } + + /// + /// Whether this per-Feature spec was inherited from a fleet-level default. This field can be updated by users + /// by either overriding a Feature config (updated to USER implicitly) or setting to FLEET explicitly. + /// + [Newtonsoft.Json.JsonPropertyAttribute("origin")] + public virtual Origin Origin { get; set; } + + /// Policycontroller-specific FeatureSpec. + [Newtonsoft.Json.JsonPropertyAttribute("policycontroller")] + public virtual PolicyControllerSpec Policycontroller { get; set; } + + /// ServiceMesh Feature Spec. + [Newtonsoft.Json.JsonPropertyAttribute("servicemesh")] + public virtual ServiceMeshSpec Servicemesh { get; set; } + + /// Workloadcertificate-specific FeatureSpec. + [Newtonsoft.Json.JsonPropertyAttribute("workloadcertificate")] + public virtual WorkloadCertificateSpec Workloadcertificate { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// FeatureState contains high-level state information and per-feature state information for this MembershipFeature. + /// + public class FeatureState : Google.Apis.Requests.IDirectResponseSchema + { + /// Appdevexperience specific state. + [Newtonsoft.Json.JsonPropertyAttribute("appdevexperience")] + public virtual AppDevExperienceState Appdevexperience { get; set; } + + /// Cluster upgrade state. + [Newtonsoft.Json.JsonPropertyAttribute("clusterupgrade")] + public virtual ClusterUpgradeState Clusterupgrade { get; set; } + + /// Config Management state + [Newtonsoft.Json.JsonPropertyAttribute("configmanagement")] + public virtual ConfigManagementState Configmanagement { get; set; } + + /// Identity service state + [Newtonsoft.Json.JsonPropertyAttribute("identityservice")] + public virtual IdentityServiceState Identityservice { get; set; } + + /// Metering state + [Newtonsoft.Json.JsonPropertyAttribute("metering")] + public virtual MeteringState Metering { get; set; } + + /// Policy Controller state + [Newtonsoft.Json.JsonPropertyAttribute("policycontroller")] + public virtual PolicyControllerState Policycontroller { get; set; } + + /// Service mesh state + [Newtonsoft.Json.JsonPropertyAttribute("servicemesh")] + public virtual ServiceMeshState Servicemesh { get; set; } + + /// The high-level state of this MembershipFeature. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual State State { 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; } + + /// + /// 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; } + } + + /// + /// 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 + { + /// 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; } + } + + /// 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; } + + /// 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; } + + /// + /// Kind of Azure AD account to be authenticated. Supported values are or for accounts belonging to a specific + /// tenant. + /// + [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; } + } + + /// 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 string _expirationTimeRaw; + + 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 => _expirationTimeRaw; + set + { + _expirationTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _expirationTimeRaw = value; + } + } + + /// 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; + } + } + + /// + /// 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); + } + + /// 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 + { + /// 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. 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; } + + /// + /// 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("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 + { + /// + /// 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; } + + /// + /// 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; } + } + + /// 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; } + + /// + /// 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; } + + /// 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; } + + /// Claim in OIDC ID token that holds group information. + [Newtonsoft.Json.JsonPropertyAttribute("groupsClaim")] + public virtual string GroupsClaim { get; set; } + + /// + /// 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; } + + /// 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; } + } + + /// 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". + /// + [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; } + } + + /// 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("certificateAuthorityData")] + public virtual string CertificateAuthorityData { 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; } + } + + /// + /// 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; } + + /// 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 + { + /// Required. The distinguished name(DN) of the service account object/user. + [Newtonsoft.Json.JsonPropertyAttribute("dn")] + public virtual string Dn { get; set; } + + /// Output only. The encrypted password of the service account object/user. + [Newtonsoft.Json.JsonPropertyAttribute("encryptedPassword")] + public virtual string EncryptedPassword { 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; } + } + + /// **IdentityService**: Configuration for a single membership. + public class IdentityServiceSpec : 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; } + } + + /// + /// **IdentityService**: State for a single membership, analyzed and reported by feature controller. + /// + public class IdentityServiceState : 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("installedVersion")] + public virtual string InstalledVersion { get; set; } + + /// Last reconciled membership configuration + [Newtonsoft.Json.JsonPropertyAttribute("memberConfig")] + public virtual IdentityServiceSpec 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; } + } + + /// 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; } + + /// + /// 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; } + + /// + /// 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. 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; } + } + + /// + /// LifecycleState describes the state of a MembershipFeature *resource* in the GkeHub API. See `FeatureState` for + /// the "running state" of the MembershipFeature. + /// + public class LifecycleState : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. 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; } + } + + /// 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; } + } + + /// Response message for the `GkeHubFeature.ListMembershipFeatures` method. + public class ListMembershipFeaturesResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of matching MembershipFeatures. + [Newtonsoft.Json.JsonPropertyAttribute("membershipFeatures")] + public virtual System.Collections.Generic.IList MembershipFeatures { get; set; } + + /// + /// A token to request the next page of resources from the `ListMembershipFeatures` 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; } + } + + /// The response message for Operations.ListOperations. + public class ListOperationsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// 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; } + + /// 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 + { + /// The friendly name for this location, typically a nearby city name. For example, "Tokyo". + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { 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; } + + /// 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; } + } + + /// + /// MembershipFeature represents the settings and status of a Fleet Feature enabled on a single Fleet Membership. + /// + public class MembershipFeature : Google.Apis.Requests.IDirectResponseSchema + { + private string _createTimeRaw; + + private object _createTime; + + /// Output only. When the MembershipFeature 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); + } + + private string _deleteTimeRaw; + + private object _deleteTime; + + /// Output only. When the MembershipFeature resource 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); + } + + /// Reference information for a FeatureConfig applied on the MembershipFeature. + [Newtonsoft.Json.JsonPropertyAttribute("featureConfigRef")] + public virtual FeatureConfigRef FeatureConfigRef { get; set; } + + /// GCP labels for this MembershipFeature. + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } + + /// Output only. Lifecycle information of the resource itself. + [Newtonsoft.Json.JsonPropertyAttribute("lifecycleState")] + public virtual LifecycleState LifecycleState { get; set; } + + /// + /// Output only. The resource name of the membershipFeature, in the format: + /// `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that + /// `membershipFeatures` is shortened to `features` in the resource name. (see + /// http://go/aip/122#collection-identifiers) + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Spec of this membershipFeature. + [Newtonsoft.Json.JsonPropertyAttribute("spec")] + public virtual FeatureSpec Spec { get; set; } + + /// Output only. State of the this membershipFeature. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual FeatureState State { get; set; } + + private string _updateTimeRaw; + + private object _updateTime; + + /// Output only. When the MembershipFeature 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; } + } + + /// **Metering**: State for a single membership, analyzed and reported by feature controller. + public class MeteringState : 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 . + /// + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? LastMeasurementTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(LastMeasurementTimeRaw); + set => LastMeasurementTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// + /// The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision). + /// + [Newtonsoft.Json.JsonPropertyAttribute("preciseLastMeasuredClusterVcpuCapacity")] + public virtual System.Nullable PreciseLastMeasuredClusterVcpuCapacity { 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 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; } + } + + /// 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 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; } + + /// 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 FeatureSpec 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; } + } + + /// 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; } + } + + /// 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; } + + /// + /// 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; } + + /// Map of deployment configs to deployments (“admission”, “audit”, “mutation”). + [Newtonsoft.Json.JsonPropertyAttribute("deploymentConfigs")] + public virtual System.Collections.Generic.IDictionary DeploymentConfigs { get; set; } + + /// + /// 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; } + + /// + /// 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; } + + /// 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; } + + /// + /// Enables the ability to use Constraint Templates that reference to objects other than the object currently + /// being evaluated. + /// + [Newtonsoft.Json.JsonPropertyAttribute("referentialRulesEnabled")] + public virtual System.Nullable ReferentialRulesEnabled { 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 + { + /// + /// 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; } + } + + /// 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; } + + /// The lifecycle state of this component. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + 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 + { + /// + /// 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; } + + /// 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; } + } + + /// 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; } + + /// + /// 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 state of the template library + [Newtonsoft.Json.JsonPropertyAttribute("templateLibraryState")] + public virtual PolicyControllerOnClusterState TemplateLibraryState { get; set; } + + /// 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; } + + /// 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; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// 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; } + + /// 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; } + } + + /// ResourceRequirements describes the compute resource requirements. + public class PolicyControllerResourceRequirements : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Limits describes the maximum amount of compute resources allowed for use by the running container. + /// + [Newtonsoft.Json.JsonPropertyAttribute("limits")] + public virtual PolicyControllerResourceList Limits { get; set; } + + /// + /// Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + /// + [Newtonsoft.Json.JsonPropertyAttribute("requests")] + public virtual PolicyControllerResourceList Requests { 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 PolicyControllerSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// Policy Controller configuration for the cluster. + [Newtonsoft.Json.JsonPropertyAttribute("policyControllerHubConfig")] + public virtual PolicyControllerHubConfig PolicyControllerHubConfig { 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; } + } + + /// **Policy Controller**: State for a single cluster. + public class PolicyControllerState : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" + /// + [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; } + + /// 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; } + } + + /// 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; } + + /// The ETag of the item. + public virtual string ETag { 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; } + + /// Matches a taint key (not necessarily unique). + [Newtonsoft.Json.JsonPropertyAttribute("key")] + public virtual string Key { 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; } + } + + /// + /// AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about + /// the state of their Service Mesh configuration. + /// + public class ServiceMeshAnalysisMessage : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// A UI can combine these args with a template (based on message_base.type) to produce an internationalized + /// message. + /// + [Newtonsoft.Json.JsonPropertyAttribute("args")] + public virtual System.Collections.Generic.IDictionary Args { get; set; } + + /// + /// A human readable description of what the error means. It is suitable for non-internationalize display + /// purposes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// Details common to all types of Istio and ServiceMesh analysis messages. + [Newtonsoft.Json.JsonPropertyAttribute("messageBase")] + public virtual ServiceMeshAnalysisMessageBase MessageBase { get; set; } + + /// + /// A list of strings specifying the resource identifiers that were the cause of message generation. A "path" + /// here may be: * MEMBERSHIP_ID if the cause is a specific member cluster * + /// MEMBERSHIP_ID/(NAMESPACE\/)?RESOURCETYPE/NAME if the cause is a resource in a cluster + /// + [Newtonsoft.Json.JsonPropertyAttribute("resourcePaths")] + public virtual System.Collections.Generic.IList ResourcePaths { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// AnalysisMessageBase describes some common information that is needed for all messages. + public class ServiceMeshAnalysisMessageBase : Google.Apis.Requests.IDirectResponseSchema + { + /// A url pointing to the Service Mesh or Istio documentation for this specific error type. + [Newtonsoft.Json.JsonPropertyAttribute("documentationUrl")] + public virtual string DocumentationUrl { get; set; } + + /// Represents how severe a message is. + [Newtonsoft.Json.JsonPropertyAttribute("level")] + public virtual string Level { get; set; } + + /// Represents the specific type of a message. + [Newtonsoft.Json.JsonPropertyAttribute("type")] + public virtual ServiceMeshType Type { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Condition being reported. + public class ServiceMeshCondition : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Unique identifier of the condition which describes the condition recognizable to the user. + /// + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } + + /// A short summary about the issue. + [Newtonsoft.Json.JsonPropertyAttribute("details")] + public virtual string Details { get; set; } + + /// Links contains actionable information. + [Newtonsoft.Json.JsonPropertyAttribute("documentationLink")] + public virtual string DocumentationLink { get; set; } + + /// Severity level of the condition. + [Newtonsoft.Json.JsonPropertyAttribute("severity")] + public virtual string Severity { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Status of control plane management. + public class ServiceMeshControlPlaneManagement : Google.Apis.Requests.IDirectResponseSchema + { + /// Explanation of state. + [Newtonsoft.Json.JsonPropertyAttribute("details")] + public virtual System.Collections.Generic.IList Details { get; set; } + + /// Output only. Implementation of managed control plane. + [Newtonsoft.Json.JsonPropertyAttribute("implementation")] + public virtual string Implementation { get; set; } + + /// LifecycleState of control plane management. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Status of data plane management. Only reported per-member. + public class ServiceMeshDataPlaneManagement : Google.Apis.Requests.IDirectResponseSchema + { + /// Explanation of the status. + [Newtonsoft.Json.JsonPropertyAttribute("details")] + public virtual System.Collections.Generic.IList Details { get; set; } + + /// Lifecycle status of data plane management. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// **Service Mesh**: Spec for a single Membership for the servicemesh feature + public class ServiceMeshSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// Optional. Specifies the API that will be used for configuring the mesh workloads. + [Newtonsoft.Json.JsonPropertyAttribute("configApi")] + public virtual string ConfigApi { get; set; } + + /// Deprecated: use `management` instead Enables automatic control plane management. + [Newtonsoft.Json.JsonPropertyAttribute("controlPlane")] + public virtual string ControlPlane { get; set; } + + /// Determines which release channel to use for default injection and service mesh APIs. + [Newtonsoft.Json.JsonPropertyAttribute("defaultChannel")] + public virtual string DefaultChannel { get; set; } + + /// Optional. Enables automatic Service Mesh management. + [Newtonsoft.Json.JsonPropertyAttribute("management")] + public virtual string Management { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. + /// + public class ServiceMeshState : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. Results of running Service Mesh analyzers. + [Newtonsoft.Json.JsonPropertyAttribute("analysisMessages")] + public virtual System.Collections.Generic.IList AnalysisMessages { get; set; } + + /// Output only. List of conditions reported for this membership. + [Newtonsoft.Json.JsonPropertyAttribute("conditions")] + public virtual System.Collections.Generic.IList Conditions { get; set; } + + /// + /// The API version (i.e. Istio CRD version) for configuring service mesh in this cluster. This version is + /// influenced by the `default_channel` field. + /// + [Newtonsoft.Json.JsonPropertyAttribute("configApiVersion")] + public virtual string ConfigApiVersion { get; set; } + + /// Output only. Status of control plane management + [Newtonsoft.Json.JsonPropertyAttribute("controlPlaneManagement")] + public virtual ServiceMeshControlPlaneManagement ControlPlaneManagement { get; set; } + + /// Output only. Status of data plane management. + [Newtonsoft.Json.JsonPropertyAttribute("dataPlaneManagement")] + public virtual ServiceMeshDataPlaneManagement DataPlaneManagement { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Structured and human-readable details for a status. + public class ServiceMeshStatusDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// A machine-readable code that further describes a broad status. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } + + /// Human-readable explanation of code. + [Newtonsoft.Json.JsonPropertyAttribute("details")] + public virtual string Details { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to + /// be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use + /// display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type + /// + public class ServiceMeshType : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// A 7 character code matching `^IST[0-9]{4}$` or `^ASM[0-9]{4}$`, intended to uniquely identify the message + /// type. (e.g. "IST0001" is mapped to the "InternalError" message type.) + /// + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual string Code { get; set; } + + /// + /// A human-readable name for the message type. e.g. "InternalError", "PodMissingProxy". This should be the same + /// for all messages of the same type. (This corresponds to the `name` field in open-source Istio.) + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// High-level state of a MembershipFeature. + public class State : Google.Apis.Requests.IDirectResponseSchema + { + /// The high-level, machine-readable status of this MembershipFeature. + [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; } + } + + /// **WorkloadCertificate**: The membership-specific input for WorkloadCertificate feature. + public class WorkloadCertificateSpec : Google.Apis.Requests.IDirectResponseSchema + { + /// CertificateManagement specifies workload certificate management. + [Newtonsoft.Json.JsonPropertyAttribute("certificateManagement")] + public virtual string CertificateManagement { get; set; } /// The ETag of the item. public virtual string ETag { get; set; } diff --git a/Src/Generated/Google.Apis.GKEHub.v2beta/Google.Apis.GKEHub.v2beta.csproj b/Src/Generated/Google.Apis.GKEHub.v2beta/Google.Apis.GKEHub.v2beta.csproj index c5c13fdb89..a580640fed 100644 --- a/Src/Generated/Google.Apis.GKEHub.v2beta/Google.Apis.GKEHub.v2beta.csproj +++ b/Src/Generated/Google.Apis.GKEHub.v2beta/Google.Apis.GKEHub.v2beta.csproj @@ -3,7 +3,7 @@ Google.Apis.GKEHub.v2beta Client Library - 1.68.0.3508 + 1.68.0.3566 Google LLC Copyright 2024 Google LLC Google From 612feae9830bdc9e5ec43c46e8484a067437f66c Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:13:02 -0700 Subject: [PATCH 45/78] feat: Generate Google.Apis.Merchant.datasources_v1beta version 1.68.0.3564 --- .../merchantapi.datasources_v1beta.json | 12 +++++------ ...Google.Apis.Merchant.datasources_v1beta.cs | 20 ++++++++++++------- ...le.Apis.Merchant.datasources_v1beta.csproj | 2 +- 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/DiscoveryJson/merchantapi.datasources_v1beta.json b/DiscoveryJson/merchantapi.datasources_v1beta.json index 679083b6ec..abae12d67e 100644 --- a/DiscoveryJson/merchantapi.datasources_v1beta.json +++ b/DiscoveryJson/merchantapi.datasources_v1beta.json @@ -321,7 +321,7 @@ } } }, - "revision": "20240909", + "revision": "20241004", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "DataSource": { @@ -895,7 +895,7 @@ "type": "object" }, "SupplementalProductDataSource": { - "description": "The supplemental data source for local and online products.", + "description": "The supplemental data source for local and online products. After creation, you should make sure to link the supplemental product data source into one or more primary product data sources.", "id": "SupplementalProductDataSource", "properties": { "contentLanguage": { @@ -922,22 +922,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/Src/Generated/Google.Apis.Merchant.datasources_v1beta/Google.Apis.Merchant.datasources_v1beta.cs b/Src/Generated/Google.Apis.Merchant.datasources_v1beta/Google.Apis.Merchant.datasources_v1beta.cs index 1f0ad3b5a9..8f554726b6 100644 --- a/Src/Generated/Google.Apis.Merchant.datasources_v1beta/Google.Apis.Merchant.datasources_v1beta.cs +++ b/Src/Generated/Google.Apis.Merchant.datasources_v1beta/Google.Apis.Merchant.datasources_v1beta.cs @@ -1277,7 +1277,10 @@ public class RegionalInventoryDataSource : Google.Apis.Requests.IDirectResponseS public virtual string ETag { get; set; } } - /// The supplemental data source for local and online products. + /// + /// The supplemental data source for local and online products. After creation, you should make sure to link the + /// supplemental product data source into one or more primary product data sources. + /// public class SupplementalProductDataSource : Google.Apis.Requests.IDirectResponseSchema { /// @@ -1318,23 +1321,26 @@ public class SupplementalProductDataSource : Google.Apis.Requests.IDirectRespons public class TimeOfDay : Google.Apis.Requests.IDirectResponseSchema { /// - /// Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for - /// scenarios like business closing time. + /// Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or + /// equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. /// [Newtonsoft.Json.JsonPropertyAttribute("hours")] public virtual System.Nullable Hours { get; set; } - /// Minutes of hour of day. Must be from 0 to 59. + /// Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. [Newtonsoft.Json.JsonPropertyAttribute("minutes")] public virtual System.Nullable Minutes { get; set; } - /// Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + /// + /// Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to + /// 999,999,999. + /// [Newtonsoft.Json.JsonPropertyAttribute("nanos")] public virtual System.Nullable Nanos { get; set; } /// - /// Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows - /// leap-seconds. + /// Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An + /// API may allow the value 60 if it allows leap-seconds. /// [Newtonsoft.Json.JsonPropertyAttribute("seconds")] public virtual System.Nullable Seconds { get; set; } diff --git a/Src/Generated/Google.Apis.Merchant.datasources_v1beta/Google.Apis.Merchant.datasources_v1beta.csproj b/Src/Generated/Google.Apis.Merchant.datasources_v1beta/Google.Apis.Merchant.datasources_v1beta.csproj index 0e6b286ac3..ac2456f864 100644 --- a/Src/Generated/Google.Apis.Merchant.datasources_v1beta/Google.Apis.Merchant.datasources_v1beta.csproj +++ b/Src/Generated/Google.Apis.Merchant.datasources_v1beta/Google.Apis.Merchant.datasources_v1beta.csproj @@ -3,7 +3,7 @@ Google.Apis.Merchant.datasources_v1beta Client Library - 1.68.0.3539 + 1.68.0.3564 Google LLC Copyright 2024 Google LLC Google From c6dccc9cc903b7beeed49b8fb9b4a9520c593564 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:13:04 -0700 Subject: [PATCH 46/78] feat: Generate Google.Apis.Merchant.promotions_v1beta version 1.68.0.3564 --- DiscoveryJson/merchantapi.promotions_v1beta.json | 4 ++-- .../Google.Apis.Merchant.promotions_v1beta.cs | 2 +- .../Google.Apis.Merchant.promotions_v1beta.csproj | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/merchantapi.promotions_v1beta.json b/DiscoveryJson/merchantapi.promotions_v1beta.json index c7d5927be2..a4347e6cb5 100644 --- a/DiscoveryJson/merchantapi.promotions_v1beta.json +++ b/DiscoveryJson/merchantapi.promotions_v1beta.json @@ -172,7 +172,7 @@ ], "parameters": { "pageSize": { - "description": "Output only. The maximum number of promotions to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000. If unspecified, the maximum number of promotions will be returned.", + "description": "Output only. The maximum number of promotions to return. The service may return fewer than this value. The maximum value is 250; values above 250 will be coerced to 250. If unspecified, the maximum number of promotions will be returned.", "format": "int32", "location": "query", "type": "integer" @@ -203,7 +203,7 @@ } } }, - "revision": "20240827", + "revision": "20241004", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Attributes": { diff --git a/Src/Generated/Google.Apis.Merchant.promotions_v1beta/Google.Apis.Merchant.promotions_v1beta.cs b/Src/Generated/Google.Apis.Merchant.promotions_v1beta/Google.Apis.Merchant.promotions_v1beta.cs index d92f4a0758..e71af5d014 100644 --- a/Src/Generated/Google.Apis.Merchant.promotions_v1beta/Google.Apis.Merchant.promotions_v1beta.cs +++ b/Src/Generated/Google.Apis.Merchant.promotions_v1beta/Google.Apis.Merchant.promotions_v1beta.cs @@ -444,7 +444,7 @@ public ListRequest(Google.Apis.Services.IClientService service, string parent) : /// /// Output only. The maximum number of promotions to return. The service may return fewer than this - /// value. The maximum value is 1000; values above 1000 will be coerced to 1000. If unspecified, the + /// value. The maximum value is 250; values above 250 will be coerced to 250. If unspecified, the /// maximum number of promotions will be returned. /// [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] diff --git a/Src/Generated/Google.Apis.Merchant.promotions_v1beta/Google.Apis.Merchant.promotions_v1beta.csproj b/Src/Generated/Google.Apis.Merchant.promotions_v1beta/Google.Apis.Merchant.promotions_v1beta.csproj index 0f72768962..c20654600d 100644 --- a/Src/Generated/Google.Apis.Merchant.promotions_v1beta/Google.Apis.Merchant.promotions_v1beta.csproj +++ b/Src/Generated/Google.Apis.Merchant.promotions_v1beta/Google.Apis.Merchant.promotions_v1beta.csproj @@ -3,7 +3,7 @@ Google.Apis.Merchant.promotions_v1beta Client Library - 1.68.0.3526 + 1.68.0.3564 Google LLC Copyright 2024 Google LLC Google From 6c3a4d206ead8bfd6a5fff0bbb7ff960dd3e6a5f Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:13:07 -0700 Subject: [PATCH 47/78] feat: Generate Google.Apis.MigrationCenterAPI.v1 version 1.68.0.3561 --- DiscoveryJson/migrationcenter.v1.json | 72 ++++++++++++++++++- .../Google.Apis.MigrationCenterAPI.v1.cs | 20 ++++++ .../Google.Apis.MigrationCenterAPI.v1.csproj | 2 +- 3 files changed, 92 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/migrationcenter.v1.json b/DiscoveryJson/migrationcenter.v1.json index 0ff1b305c5..f2af2ae442 100644 --- a/DiscoveryJson/migrationcenter.v1.json +++ b/DiscoveryJson/migrationcenter.v1.json @@ -2309,7 +2309,7 @@ } } }, - "revision": "20240926", + "revision": "20241001", "rootUrl": "https://migrationcenter.googleapis.com/", "schemas": { "AddAssetsToGroupRequest": { @@ -2679,6 +2679,20 @@ "description": "AWS EC2 specific details.", "id": "AwsEc2PlatformDetails", "properties": { + "hyperthreading": { + "description": "Optional. Whether the machine is hyperthreaded.", + "enum": [ + "HYPERTHREADING_STATUS_UNSPECIFIED", + "HYPERTHREADING_STATUS_DISABLED", + "HYPERTHREADING_STATUS_ENABLED" + ], + "enumDescriptions": [ + "Simultaneous Multithreading status unknown.", + "Simultaneous Multithreading is disabled or unavailable.", + "Simultaneous Multithreading is enabled." + ], + "type": "string" + }, "location": { "description": "The location of the machine in the AWS format.", "type": "string" @@ -2694,6 +2708,20 @@ "description": "Azure VM specific details.", "id": "AzureVmPlatformDetails", "properties": { + "hyperthreading": { + "description": "Whether the machine is hyperthreaded.", + "enum": [ + "HYPERTHREADING_STATUS_UNSPECIFIED", + "HYPERTHREADING_STATUS_DISABLED", + "HYPERTHREADING_STATUS_ENABLED" + ], + "enumDescriptions": [ + "Simultaneous Multithreading status unknown.", + "Simultaneous Multithreading is disabled or unavailable.", + "Simultaneous Multithreading is enabled." + ], + "type": "string" + }, "location": { "description": "The location of the machine in the Azure format.", "type": "string" @@ -3508,6 +3536,20 @@ "description": "Generic platform details.", "id": "GenericPlatformDetails", "properties": { + "hyperthreading": { + "description": "Whether the machine is hyperthreaded.", + "enum": [ + "HYPERTHREADING_STATUS_UNSPECIFIED", + "HYPERTHREADING_STATUS_DISABLED", + "HYPERTHREADING_STATUS_ENABLED" + ], + "enumDescriptions": [ + "Simultaneous Multithreading status unknown.", + "Simultaneous Multithreading is disabled or unavailable.", + "Simultaneous Multithreading is enabled." + ], + "type": "string" + }, "location": { "description": "Free text representation of the machine location. The format of this field should not be relied on. Different VMs in the same location may have different string values for this field.", "type": "string" @@ -4948,6 +4990,20 @@ "description": "Platform specific details for Physical Machines.", "id": "PhysicalPlatformDetails", "properties": { + "hyperthreading": { + "description": "Whether the machine is hyperthreaded.", + "enum": [ + "HYPERTHREADING_STATUS_UNSPECIFIED", + "HYPERTHREADING_STATUS_DISABLED", + "HYPERTHREADING_STATUS_ENABLED" + ], + "enumDescriptions": [ + "Simultaneous Multithreading status unknown.", + "Simultaneous Multithreading is disabled or unavailable.", + "Simultaneous Multithreading is enabled." + ], + "type": "string" + }, "location": { "description": "Free text representation of the machine location. The format of this field should not be relied on. Different machines in the same location may have different string values for this field.", "type": "string" @@ -6206,6 +6262,20 @@ "description": "VMware specific details.", "id": "VmwarePlatformDetails", "properties": { + "esxHyperthreading": { + "description": "Whether the ESX is hyperthreaded.", + "enum": [ + "HYPERTHREADING_STATUS_UNSPECIFIED", + "HYPERTHREADING_STATUS_DISABLED", + "HYPERTHREADING_STATUS_ENABLED" + ], + "enumDescriptions": [ + "Simultaneous Multithreading status unknown.", + "Simultaneous Multithreading is disabled or unavailable.", + "Simultaneous Multithreading is enabled." + ], + "type": "string" + }, "esxVersion": { "description": "ESX version.", "type": "string" 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 c0d411f828..93d810038e 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 @@ -5528,6 +5528,10 @@ public class AssetPerformanceData : Google.Apis.Requests.IDirectResponseSchema /// AWS EC2 specific details. public class AwsEc2PlatformDetails : Google.Apis.Requests.IDirectResponseSchema { + /// Optional. Whether the machine is hyperthreaded. + [Newtonsoft.Json.JsonPropertyAttribute("hyperthreading")] + public virtual string Hyperthreading { get; set; } + /// The location of the machine in the AWS format. [Newtonsoft.Json.JsonPropertyAttribute("location")] public virtual string Location { get; set; } @@ -5543,6 +5547,10 @@ public class AwsEc2PlatformDetails : Google.Apis.Requests.IDirectResponseSchema /// Azure VM specific details. public class AzureVmPlatformDetails : Google.Apis.Requests.IDirectResponseSchema { + /// Whether the machine is hyperthreaded. + [Newtonsoft.Json.JsonPropertyAttribute("hyperthreading")] + public virtual string Hyperthreading { get; set; } + /// The location of the machine in the Azure format. [Newtonsoft.Json.JsonPropertyAttribute("location")] public virtual string Location { get; set; } @@ -6408,6 +6416,10 @@ public class GenericInsight : Google.Apis.Requests.IDirectResponseSchema /// Generic platform details. public class GenericPlatformDetails : Google.Apis.Requests.IDirectResponseSchema { + /// Whether the machine is hyperthreaded. + [Newtonsoft.Json.JsonPropertyAttribute("hyperthreading")] + public virtual string Hyperthreading { get; set; } + /// /// Free text representation of the machine location. The format of this field should not be relied on. /// Different VMs in the same location may have different string values for this field. @@ -8006,6 +8018,10 @@ public virtual System.DateTimeOffset? SampleTimeDateTimeOffset /// Platform specific details for Physical Machines. public class PhysicalPlatformDetails : Google.Apis.Requests.IDirectResponseSchema { + /// Whether the machine is hyperthreaded. + [Newtonsoft.Json.JsonPropertyAttribute("hyperthreading")] + public virtual string Hyperthreading { get; set; } + /// /// Free text representation of the machine location. The format of this field should not be relied on. /// Different machines in the same location may have different string values for this field. @@ -9377,6 +9393,10 @@ public class VmwareEnginePreferences : Google.Apis.Requests.IDirectResponseSchem /// VMware specific details. public class VmwarePlatformDetails : Google.Apis.Requests.IDirectResponseSchema { + /// Whether the ESX is hyperthreaded. + [Newtonsoft.Json.JsonPropertyAttribute("esxHyperthreading")] + public virtual string EsxHyperthreading { get; set; } + /// ESX version. [Newtonsoft.Json.JsonPropertyAttribute("esxVersion")] public virtual string EsxVersion { get; set; } 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 ec3401cf68..11e99f5594 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.68.0.3556 + 1.68.0.3561 Google LLC Copyright 2024 Google LLC Google From 6023b9ed578bb2368ef1e6bc2d6bc50a2de0f87c Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:13:10 -0700 Subject: [PATCH 48/78] feat: Generate Google.Apis.MigrationCenterAPI.v1alpha1 version 1.68.0.3561 --- DiscoveryJson/migrationcenter.v1alpha1.json | 72 ++++++++++++++++++- ...Google.Apis.MigrationCenterAPI.v1alpha1.cs | 20 ++++++ ...le.Apis.MigrationCenterAPI.v1alpha1.csproj | 2 +- 3 files changed, 92 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/migrationcenter.v1alpha1.json b/DiscoveryJson/migrationcenter.v1alpha1.json index 044447a6e3..22bdefc405 100644 --- a/DiscoveryJson/migrationcenter.v1alpha1.json +++ b/DiscoveryJson/migrationcenter.v1alpha1.json @@ -2548,7 +2548,7 @@ } } }, - "revision": "20240926", + "revision": "20241001", "rootUrl": "https://migrationcenter.googleapis.com/", "schemas": { "AddAssetsToGroupRequest": { @@ -3125,6 +3125,20 @@ "description": "AWS EC2 specific details.", "id": "AwsEc2PlatformDetails", "properties": { + "hyperthreading": { + "description": "Optional. Whether the machine is hyperthreaded.", + "enum": [ + "HYPERTHREADING_STATUS_UNSPECIFIED", + "HYPERTHREADING_STATUS_DISABLED", + "HYPERTHREADING_STATUS_ENABLED" + ], + "enumDescriptions": [ + "Simultaneous Multithreading status unknown.", + "Simultaneous Multithreading is disabled or unavailable.", + "Simultaneous Multithreading is enabled." + ], + "type": "string" + }, "location": { "description": "The location of the machine in the AWS format.", "type": "string" @@ -3140,6 +3154,20 @@ "description": "Azure VM specific details.", "id": "AzureVmPlatformDetails", "properties": { + "hyperthreading": { + "description": "Whether the machine is hyperthreaded.", + "enum": [ + "HYPERTHREADING_STATUS_UNSPECIFIED", + "HYPERTHREADING_STATUS_DISABLED", + "HYPERTHREADING_STATUS_ENABLED" + ], + "enumDescriptions": [ + "Simultaneous Multithreading status unknown.", + "Simultaneous Multithreading is disabled or unavailable.", + "Simultaneous Multithreading is enabled." + ], + "type": "string" + }, "location": { "description": "The location of the machine in the Azure format.", "type": "string" @@ -4930,6 +4958,20 @@ "description": "Generic platform details.", "id": "GenericPlatformDetails", "properties": { + "hyperthreading": { + "description": "Whether the machine is hyperthreaded.", + "enum": [ + "HYPERTHREADING_STATUS_UNSPECIFIED", + "HYPERTHREADING_STATUS_DISABLED", + "HYPERTHREADING_STATUS_ENABLED" + ], + "enumDescriptions": [ + "Simultaneous Multithreading status unknown.", + "Simultaneous Multithreading is disabled or unavailable.", + "Simultaneous Multithreading is enabled." + ], + "type": "string" + }, "location": { "description": "Free text representation of the machine location. The format of this field should not be relied on. Different VMs in the same location may have different string values for this field.", "type": "string" @@ -6644,6 +6686,20 @@ "description": "Platform specific details for Physical Machines.", "id": "PhysicalPlatformDetails", "properties": { + "hyperthreading": { + "description": "Whether the machine is hyperthreaded.", + "enum": [ + "HYPERTHREADING_STATUS_UNSPECIFIED", + "HYPERTHREADING_STATUS_DISABLED", + "HYPERTHREADING_STATUS_ENABLED" + ], + "enumDescriptions": [ + "Simultaneous Multithreading status unknown.", + "Simultaneous Multithreading is disabled or unavailable.", + "Simultaneous Multithreading is enabled." + ], + "type": "string" + }, "location": { "description": "Free text representation of the machine location. The format of this field should not be relied on. Different machines in the same location may have different string values for this field.", "type": "string" @@ -8710,6 +8766,20 @@ "description": "VMware specific details.", "id": "VmwarePlatformDetails", "properties": { + "esxHyperthreading": { + "description": "Whether the ESX is hyperthreaded.", + "enum": [ + "HYPERTHREADING_STATUS_UNSPECIFIED", + "HYPERTHREADING_STATUS_DISABLED", + "HYPERTHREADING_STATUS_ENABLED" + ], + "enumDescriptions": [ + "Simultaneous Multithreading status unknown.", + "Simultaneous Multithreading is disabled or unavailable.", + "Simultaneous Multithreading is enabled." + ], + "type": "string" + }, "esxVersion": { "description": "ESX version.", "type": "string" 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 a11c4bb209..95f2c9f1e8 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 @@ -6425,6 +6425,10 @@ public class AssetsExportJobPerformanceData : Google.Apis.Requests.IDirectRespon /// AWS EC2 specific details. public class AwsEc2PlatformDetails : Google.Apis.Requests.IDirectResponseSchema { + /// Optional. Whether the machine is hyperthreaded. + [Newtonsoft.Json.JsonPropertyAttribute("hyperthreading")] + public virtual string Hyperthreading { get; set; } + /// The location of the machine in the AWS format. [Newtonsoft.Json.JsonPropertyAttribute("location")] public virtual string Location { get; set; } @@ -6440,6 +6444,10 @@ public class AwsEc2PlatformDetails : Google.Apis.Requests.IDirectResponseSchema /// Azure VM specific details. public class AzureVmPlatformDetails : Google.Apis.Requests.IDirectResponseSchema { + /// Whether the machine is hyperthreaded. + [Newtonsoft.Json.JsonPropertyAttribute("hyperthreading")] + public virtual string Hyperthreading { get; set; } + /// The location of the machine in the Azure format. [Newtonsoft.Json.JsonPropertyAttribute("location")] public virtual string Location { get; set; } @@ -7974,6 +7982,10 @@ public class GenericInsight : Google.Apis.Requests.IDirectResponseSchema /// Generic platform details. public class GenericPlatformDetails : Google.Apis.Requests.IDirectResponseSchema { + /// Whether the machine is hyperthreaded. + [Newtonsoft.Json.JsonPropertyAttribute("hyperthreading")] + public virtual string Hyperthreading { get; set; } + /// /// Free text representation of the machine location. The format of this field should not be relied on. /// Different VMs in the same location may have different string values for this field. @@ -9675,6 +9687,10 @@ public virtual System.DateTimeOffset? SampleTimeDateTimeOffset /// Platform specific details for Physical Machines. public class PhysicalPlatformDetails : Google.Apis.Requests.IDirectResponseSchema { + /// Whether the machine is hyperthreaded. + [Newtonsoft.Json.JsonPropertyAttribute("hyperthreading")] + public virtual string Hyperthreading { get; set; } + /// /// Free text representation of the machine location. The format of this field should not be relied on. /// Different machines in the same location may have different string values for this field. @@ -11809,6 +11825,10 @@ public class VmwareEnginePreferences : Google.Apis.Requests.IDirectResponseSchem /// VMware specific details. public class VmwarePlatformDetails : Google.Apis.Requests.IDirectResponseSchema { + /// Whether the ESX is hyperthreaded. + [Newtonsoft.Json.JsonPropertyAttribute("esxHyperthreading")] + public virtual string EsxHyperthreading { get; set; } + /// ESX version. [Newtonsoft.Json.JsonPropertyAttribute("esxVersion")] public virtual string EsxVersion { get; set; } 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 e162b2573c..170c0c0e1c 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.68.0.3556 + 1.68.0.3561 Google LLC Copyright 2024 Google LLC Google From 090748f39795842be28f70bd29f35df2be8a34d8 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:13:13 -0700 Subject: [PATCH 49/78] feat: Generate Google.Apis.Monitoring.v1 version 1.68.0.3563 --- DiscoveryJson/monitoring.v1.json | 4 ++-- .../Google.Apis.Monitoring.v1/Google.Apis.Monitoring.v1.cs | 2 +- .../Google.Apis.Monitoring.v1.csproj | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/monitoring.v1.json b/DiscoveryJson/monitoring.v1.json index e8afa83a45..8c985444aa 100644 --- a/DiscoveryJson/monitoring.v1.json +++ b/DiscoveryJson/monitoring.v1.json @@ -753,7 +753,7 @@ } } }, - "revision": "20240929", + "revision": "20241003", "rootUrl": "https://monitoring.googleapis.com/", "schemas": { "Aggregation": { @@ -1800,7 +1800,7 @@ "id": "MosaicLayout", "properties": { "columns": { - "description": "The number of columns in the mosaic grid. The number of columns must be between 1 and 12, inclusive.", + "description": "The number of columns in the mosaic grid. The number of columns must be between 1 and 48, inclusive.", "format": "int32", "type": "integer" }, diff --git a/Src/Generated/Google.Apis.Monitoring.v1/Google.Apis.Monitoring.v1.cs b/Src/Generated/Google.Apis.Monitoring.v1/Google.Apis.Monitoring.v1.cs index 743de274c7..98dcbea70b 100644 --- a/Src/Generated/Google.Apis.Monitoring.v1/Google.Apis.Monitoring.v1.cs +++ b/Src/Generated/Google.Apis.Monitoring.v1/Google.Apis.Monitoring.v1.cs @@ -2878,7 +2878,7 @@ public class MonitoredResource : Google.Apis.Requests.IDirectResponseSchema public class MosaicLayout : Google.Apis.Requests.IDirectResponseSchema { /// - /// The number of columns in the mosaic grid. The number of columns must be between 1 and 12, inclusive. + /// The number of columns in the mosaic grid. The number of columns must be between 1 and 48, inclusive. /// [Newtonsoft.Json.JsonPropertyAttribute("columns")] public virtual System.Nullable Columns { get; set; } diff --git a/Src/Generated/Google.Apis.Monitoring.v1/Google.Apis.Monitoring.v1.csproj b/Src/Generated/Google.Apis.Monitoring.v1/Google.Apis.Monitoring.v1.csproj index 983b73b1c1..8e59d6d463 100644 --- a/Src/Generated/Google.Apis.Monitoring.v1/Google.Apis.Monitoring.v1.csproj +++ b/Src/Generated/Google.Apis.Monitoring.v1/Google.Apis.Monitoring.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Monitoring.v1 Client Library - 1.68.0.3559 + 1.68.0.3563 Google LLC Copyright 2024 Google LLC Google From e2430e30cb8f12811e705569a027485ded620c9a Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:13:16 -0700 Subject: [PATCH 50/78] feat: Generate Google.Apis.Monitoring.v3 version 1.68.0.3563 --- DiscoveryJson/monitoring.v3.json | 59 +++++++++------ .../Google.Apis.Monitoring.v3.cs | 74 +++++++++++-------- .../Google.Apis.Monitoring.v3.csproj | 2 +- 3 files changed, 81 insertions(+), 54 deletions(-) diff --git a/DiscoveryJson/monitoring.v3.json b/DiscoveryJson/monitoring.v3.json index dcf2ca2088..cf648ab92e 100644 --- a/DiscoveryJson/monitoring.v3.json +++ b/DiscoveryJson/monitoring.v3.json @@ -2715,7 +2715,7 @@ } } }, - "revision": "20240929", + "revision": "20241003", "rootUrl": "https://monitoring.googleapis.com/", "schemas": { "Aggregation": { @@ -2820,12 +2820,12 @@ "type": "object" }, "AlertPolicy": { - "description": "A description of the conditions under which some aspect of your system is considered to be \"unhealthy\" and the ways to notify people or services about this state. For an overview of alert policies, see Introduction to Alerting (https://cloud.google.com/monitoring/alerts/).", + "description": "A description of the conditions under which some aspect of your system is considered to be \"unhealthy\" and the ways to notify people or services about this state. For an overview of alerting policies, see Introduction to Alerting (https://cloud.google.com/monitoring/alerts/).", "id": "AlertPolicy", "properties": { "alertStrategy": { "$ref": "AlertStrategy", - "description": "Control over how this alert policy's notification channels are notified." + "description": "Control over how this alerting policy's notification channels are notified." }, "combiner": { "description": "How to combine the results of multiple conditions to determine if an incident should be opened. If condition_time_series_query_language is present, this must be COMBINE_UNSPECIFIED.", @@ -2882,7 +2882,7 @@ "type": "array" }, "severity": { - "description": "Optional. The severity of an alert policy indicates how important incidents generated by that policy are. The severity level will be displayed on the Incident detail page and in notifications.", + "description": "Optional. The severity of an alerting policy indicates how important incidents generated by that policy are. The severity level will be displayed on the Incident detail page and in notifications.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -2906,7 +2906,7 @@ }, "validity": { "$ref": "Status", - "description": "Read-only description of how the alert policy is invalid. This field is only set when the alert policy is invalid. An invalid alert policy will not generate incidents." + "description": "Read-only description of how the alerting policy is invalid. This field is only set when the alerting policy is invalid. An invalid alerting policy will not generate incidents." } }, "type": "object" @@ -2916,7 +2916,7 @@ "id": "AlertStrategy", "properties": { "autoClose": { - "description": "If an alert policy that was active has no data for this long, any open incidents will close", + "description": "If an alerting policy that was active has no data for this long, any open incidents will close", "format": "google-duration", "type": "string" }, @@ -2927,9 +2927,26 @@ }, "type": "array" }, + "notificationPrompts": { + "description": "For log-based alert policies, the notification prompts is always OPENED. For non log-based alert policies, the notification prompts can be OPENED or OPENED, CLOSED.", + "items": { + "enum": [ + "NOTIFICATION_PROMPT_UNSPECIFIED", + "OPENED", + "CLOSED" + ], + "enumDescriptions": [ + "No strategy specified. Treated as error.", + "Notify when an incident is opened.", + "Notify when an incident is closed." + ], + "type": "string" + }, + "type": "array" + }, "notificationRateLimit": { "$ref": "NotificationRateLimit", - "description": "Required for log-based alert policies, i.e. policies with a LogMatch condition.This limit is not implemented for alert policies that do not have a LogMatch condition." + "description": "Required for log-based alerting policies, i.e. policies with a LogMatch condition.This limit is not implemented for alerting policies that do not have a LogMatch condition." } }, "type": "object" @@ -3256,7 +3273,7 @@ }, "conditionSql": { "$ref": "SqlCondition", - "description": "A condition that uses SQL to define alerts in Logs Analytics." + "description": "A condition that periodically evaluates a SQL query result." }, "conditionThreshold": { "$ref": "MetricThreshold", @@ -3417,7 +3434,7 @@ "description": "Optional. The time of day (in UTC) at which the query should run. If left unspecified, the server picks an arbitrary time of day and runs the query at the same time each day." }, "periodicity": { - "description": "Required. LINT.IfChange The number of days between runs. Must be greater than or equal to 1 day and less than or equal to 31 days. LINT.ThenChange(//depot/google3/cloud/monitoring/api/alerts/policy_validation.cc)", + "description": "Required. The number of days between runs. Must be greater than or equal to 1 day and less than or equal to 31 days.", "format": "int32", "type": "integer" } @@ -3890,12 +3907,12 @@ "id": "Hourly", "properties": { "minuteOffset": { - "description": "Optional. LINT.IfChange The number of minutes after the hour (in UTC) to run the query. Must be between 0 and 59 inclusive. If left unspecified, then an arbitrary offset is used. LINT.ThenChange(//depot/google3/cloud/monitoring/api/alerts/policy_validation.cc)", + "description": "Optional. The number of minutes after the hour (in UTC) to run the query. Must be greater than or equal to 0 minutes and less than or equal to 59 minutes. If left unspecified, then an arbitrary offset is used.", "format": "int32", "type": "integer" }, "periodicity": { - "description": "Required. LINT.IfChange The number of hours between runs. Must be greater than or equal to 1 hour and less than or equal to 48 hours. LINT.ThenChange(//depot/google3/cloud/monitoring/api/alerts/policy_validation.cc)", + "description": "Required. The number of hours between runs. Must be greater than or equal to 1 hour and less than or equal to 48 hours.", "format": "int32", "type": "integer" } @@ -4797,7 +4814,7 @@ "id": "Minutes", "properties": { "periodicity": { - "description": "Required. LINT.IfChange Number of minutes between runs. The interval must be between 5 minutes and 1440 minutes. LINT.ThenChange(//depot/google3/cloud/monitoring/api/alerts/policy_validation.cc)", + "description": "Required. Number of minutes between runs. The interval must be greater than or equal to 5 minutes and less than or equal to 1440 minutes.", "format": "int32", "type": "integer" } @@ -4899,7 +4916,7 @@ "type": "object" }, "MonitoringQueryLanguageCondition": { - "description": "A condition type that allows alert policies to be defined using Monitoring Query Language (https://cloud.google.com/monitoring/mql).", + "description": "A condition type that allows alerting policies to be defined using Monitoring Query Language (https://cloud.google.com/monitoring/mql).", "id": "MonitoringQueryLanguageCondition", "properties": { "duration": { @@ -5108,7 +5125,7 @@ "type": "object" }, "NotificationRateLimit": { - "description": "Control over the rate of notifications sent to this alert policy's notification channels.", + "description": "Control over the rate of notifications sent to this alerting policy's notification channels.", "id": "NotificationRateLimit", "properties": { "period": { @@ -5239,7 +5256,7 @@ "type": "object" }, "PrometheusQueryLanguageCondition": { - "description": "A condition type that allows alert policies to be defined using Prometheus Query Language (PromQL) (https://prometheus.io/docs/prometheus/latest/querying/basics/).The PrometheusQueryLanguageCondition message contains information from a Prometheus alerting rule and its associated rule group.A Prometheus alerting rule is described here (https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/). The semantics of a Prometheus alerting rule is described here (https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#rule).A Prometheus rule group is described here (https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/). The semantics of a Prometheus rule group is described here (https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#rule_group).Because Cloud Alerting has no representation of a Prometheus rule group resource, we must embed the information of the parent rule group inside each of the conditions that refer to it. We must also update the contents of all Prometheus alerts in case the information of their rule group changes.The PrometheusQueryLanguageCondition protocol buffer combines the information of the corresponding rule group and alerting rule. The structure of the PrometheusQueryLanguageCondition protocol buffer does NOT mimic the structure of the Prometheus rule group and alerting rule YAML declarations. The PrometheusQueryLanguageCondition protocol buffer may change in the future to support future rule group and/or alerting rule features. There are no new such features at the present time (2023-06-26).", + "description": "A condition type that allows alerting policies to be defined using Prometheus Query Language (PromQL) (https://prometheus.io/docs/prometheus/latest/querying/basics/).The PrometheusQueryLanguageCondition message contains information from a Prometheus alerting rule and its associated rule group.A Prometheus alerting rule is described here (https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/). The semantics of a Prometheus alerting rule is described here (https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#rule).A Prometheus rule group is described here (https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/). The semantics of a Prometheus rule group is described here (https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#rule_group).Because Cloud Alerting has no representation of a Prometheus rule group resource, we must embed the information of the parent rule group inside each of the conditions that refer to it. We must also update the contents of all Prometheus alerts in case the information of their rule group changes.The PrometheusQueryLanguageCondition protocol buffer combines the information of the corresponding rule group and alerting rule. The structure of the PrometheusQueryLanguageCondition protocol buffer does NOT mimic the structure of the Prometheus rule group and alerting rule YAML declarations. The PrometheusQueryLanguageCondition protocol buffer may change in the future to support future rule group and/or alerting rule features. There are no new such features at the present time (2023-06-26).", "id": "PrometheusQueryLanguageCondition", "properties": { "alertRule": { @@ -5670,7 +5687,7 @@ "type": "object" }, "SqlCondition": { - "description": "A condition that allows alert policies to be defined using GoogleSQL. SQL conditions examine a sliding window of logs using GoogleSQL. Alert policies with SQL conditions may incur additional billing.", + "description": "A condition that allows alerting policies to be defined using GoogleSQL. SQL conditions examine a sliding window of logs using GoogleSQL. Alert policies with SQL conditions may incur additional billing.", "id": "SqlCondition", "properties": { "booleanTest": { @@ -5690,7 +5707,7 @@ "description": "Schedule the query to execute every so many minutes." }, "query": { - "description": "Required. The Log Analytics SQL query to run, as a string. The query must conform to the required shape. Specifically, the query must not try to filter the input by time. A filter will automatically be applied to filter the input so that the query receives all rows received since the last time the query was run.E.g. Extract all log entries containing an HTTP request:SELECT timestamp, log_name, severity, http_request, resource, labels FROM my-project.global._Default._AllLogs WHERE http_request IS NOT NULL", + "description": "Required. The Log Analytics SQL query to run, as a string. The query must conform to the required shape. Specifically, the query must not try to filter the input by time. A filter will automatically be applied to filter the input so that the query receives all rows received since the last time the query was run.For example, the following query extracts all log entries containing an HTTP request:SELECT timestamp, log_name, severity, http_request, resource, labels FROM my-project.global._Default._AllLogs WHERE http_request IS NOT NULL", "type": "string" }, "rowCountTest": { @@ -5787,22 +5804,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/Src/Generated/Google.Apis.Monitoring.v3/Google.Apis.Monitoring.v3.cs b/Src/Generated/Google.Apis.Monitoring.v3/Google.Apis.Monitoring.v3.cs index 10289228e8..c749921c27 100644 --- a/Src/Generated/Google.Apis.Monitoring.v3/Google.Apis.Monitoring.v3.cs +++ b/Src/Generated/Google.Apis.Monitoring.v3/Google.Apis.Monitoring.v3.cs @@ -7665,12 +7665,12 @@ public class Aggregation : Google.Apis.Requests.IDirectResponseSchema /// /// A description of the conditions under which some aspect of your system is considered to be "unhealthy" and the - /// ways to notify people or services about this state. For an overview of alert policies, see Introduction to + /// ways to notify people or services about this state. For an overview of alerting policies, see Introduction to /// Alerting (https://cloud.google.com/monitoring/alerts/). /// public class AlertPolicy : Google.Apis.Requests.IDirectResponseSchema { - /// Control over how this alert policy's notification channels are notified. + /// Control over how this alerting policy's notification channels are notified. [Newtonsoft.Json.JsonPropertyAttribute("alertStrategy")] public virtual AlertStrategy AlertStrategy { get; set; } @@ -7753,7 +7753,7 @@ public class AlertPolicy : Google.Apis.Requests.IDirectResponseSchema public virtual System.Collections.Generic.IList NotificationChannels { get; set; } /// - /// Optional. The severity of an alert policy indicates how important incidents generated by that policy are. + /// Optional. The severity of an alerting policy indicates how important incidents generated by that policy are. /// The severity level will be displayed on the Incident detail page and in notifications. /// [Newtonsoft.Json.JsonPropertyAttribute("severity")] @@ -7772,8 +7772,8 @@ public class AlertPolicy : Google.Apis.Requests.IDirectResponseSchema public virtual System.Collections.Generic.IDictionary UserLabels { get; set; } /// - /// Read-only description of how the alert policy is invalid. This field is only set when the alert policy is - /// invalid. An invalid alert policy will not generate incidents. + /// Read-only description of how the alerting policy is invalid. This field is only set when the alerting policy + /// is invalid. An invalid alerting policy will not generate incidents. /// [Newtonsoft.Json.JsonPropertyAttribute("validity")] public virtual Status Validity { get; set; } @@ -7788,7 +7788,7 @@ public class AlertPolicy : Google.Apis.Requests.IDirectResponseSchema public class AlertStrategy : Google.Apis.Requests.IDirectResponseSchema { /// - /// If an alert policy that was active has no data for this long, any open incidents will close + /// If an alerting policy that was active has no data for this long, any open incidents will close /// [Newtonsoft.Json.JsonPropertyAttribute("autoClose")] public virtual object AutoClose { get; set; } @@ -7798,8 +7798,15 @@ public class AlertStrategy : Google.Apis.Requests.IDirectResponseSchema public virtual System.Collections.Generic.IList NotificationChannelStrategy { get; set; } /// - /// Required for log-based alert policies, i.e. policies with a LogMatch condition.This limit is not implemented - /// for alert policies that do not have a LogMatch condition. + /// For log-based alert policies, the notification prompts is always OPENED. For non log-based alert policies, + /// the notification prompts can be OPENED or OPENED, CLOSED. + /// + [Newtonsoft.Json.JsonPropertyAttribute("notificationPrompts")] + public virtual System.Collections.Generic.IList NotificationPrompts { get; set; } + + /// + /// Required for log-based alerting policies, i.e. policies with a LogMatch condition.This limit is not + /// implemented for alerting policies that do not have a LogMatch condition. /// [Newtonsoft.Json.JsonPropertyAttribute("notificationRateLimit")] public virtual NotificationRateLimit NotificationRateLimit { get; set; } @@ -8261,7 +8268,7 @@ public class Condition : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("conditionPrometheusQueryLanguage")] public virtual PrometheusQueryLanguageCondition ConditionPrometheusQueryLanguage { get; set; } - /// A condition that uses SQL to define alerts in Logs Analytics. + /// A condition that periodically evaluates a SQL query result. [Newtonsoft.Json.JsonPropertyAttribute("conditionSql")] public virtual SqlCondition ConditionSql { get; set; } @@ -8444,8 +8451,8 @@ public class Daily : Google.Apis.Requests.IDirectResponseSchema public virtual TimeOfDay ExecutionTime { get; set; } /// - /// Required. LINT.IfChange The number of days between runs. Must be greater than or equal to 1 day and less - /// than or equal to 31 days. LINT.ThenChange(//depot/google3/cloud/monitoring/api/alerts/policy_validation.cc) + /// Required. The number of days between runs. Must be greater than or equal to 1 day and less than or equal to + /// 31 days. /// [Newtonsoft.Json.JsonPropertyAttribute("periodicity")] public virtual System.Nullable Periodicity { get; set; } @@ -9084,16 +9091,15 @@ public class Group : Google.Apis.Requests.IDirectResponseSchema public class Hourly : Google.Apis.Requests.IDirectResponseSchema { /// - /// Optional. LINT.IfChange The number of minutes after the hour (in UTC) to run the query. Must be between 0 - /// and 59 inclusive. If left unspecified, then an arbitrary offset is used. - /// LINT.ThenChange(//depot/google3/cloud/monitoring/api/alerts/policy_validation.cc) + /// Optional. The number of minutes after the hour (in UTC) to run the query. Must be greater than or equal to 0 + /// minutes and less than or equal to 59 minutes. If left unspecified, then an arbitrary offset is used. /// [Newtonsoft.Json.JsonPropertyAttribute("minuteOffset")] public virtual System.Nullable MinuteOffset { get; set; } /// - /// Required. LINT.IfChange The number of hours between runs. Must be greater than or equal to 1 hour and less - /// than or equal to 48 hours. LINT.ThenChange(//depot/google3/cloud/monitoring/api/alerts/policy_validation.cc) + /// Required. The number of hours between runs. Must be greater than or equal to 1 hour and less than or equal + /// to 48 hours. /// [Newtonsoft.Json.JsonPropertyAttribute("periodicity")] public virtual System.Nullable Periodicity { get; set; } @@ -10102,8 +10108,8 @@ public class MetricThreshold : Google.Apis.Requests.IDirectResponseSchema public class Minutes : Google.Apis.Requests.IDirectResponseSchema { /// - /// Required. LINT.IfChange Number of minutes between runs. The interval must be between 5 minutes and 1440 - /// minutes. LINT.ThenChange(//depot/google3/cloud/monitoring/api/alerts/policy_validation.cc) + /// Required. Number of minutes between runs. The interval must be greater than or equal to 5 minutes and less + /// than or equal to 1440 minutes. /// [Newtonsoft.Json.JsonPropertyAttribute("periodicity")] public virtual System.Nullable Periodicity { get; set; } @@ -10225,7 +10231,7 @@ public class MonitoredResourceMetadata : Google.Apis.Requests.IDirectResponseSch } /// - /// A condition type that allows alert policies to be defined using Monitoring Query Language + /// A condition type that allows alerting policies to be defined using Monitoring Query Language /// (https://cloud.google.com/monitoring/mql). /// public class MonitoringQueryLanguageCondition : Google.Apis.Requests.IDirectResponseSchema @@ -10484,7 +10490,7 @@ public class NotificationChannelStrategy : Google.Apis.Requests.IDirectResponseS public virtual string ETag { get; set; } } - /// Control over the rate of notifications sent to this alert policy's notification channels. + /// Control over the rate of notifications sent to this alerting policy's notification channels. public class NotificationRateLimit : Google.Apis.Requests.IDirectResponseSchema { /// Not more than one notification per period. @@ -10679,7 +10685,7 @@ public class PointData : Google.Apis.Requests.IDirectResponseSchema } /// - /// A condition type that allows alert policies to be defined using Prometheus Query Language (PromQL) + /// A condition type that allows alerting policies to be defined using Prometheus Query Language (PromQL) /// (https://prometheus.io/docs/prometheus/latest/querying/basics/).The PrometheusQueryLanguageCondition message /// contains information from a Prometheus alerting rule and its associated rule group.A Prometheus alerting rule is /// described here (https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/). The semantics of a @@ -11182,8 +11188,8 @@ public class SpanContext : Google.Apis.Requests.IDirectResponseSchema } /// - /// A condition that allows alert policies to be defined using GoogleSQL. SQL conditions examine a sliding window of - /// logs using GoogleSQL. Alert policies with SQL conditions may incur additional billing. + /// A condition that allows alerting policies to be defined using GoogleSQL. SQL conditions examine a sliding window + /// of logs using GoogleSQL. Alert policies with SQL conditions may incur additional billing. /// public class SqlCondition : Google.Apis.Requests.IDirectResponseSchema { @@ -11206,9 +11212,10 @@ public class SqlCondition : Google.Apis.Requests.IDirectResponseSchema /// /// Required. The Log Analytics SQL query to run, as a string. The query must conform to the required shape. /// Specifically, the query must not try to filter the input by time. A filter will automatically be applied to - /// filter the input so that the query receives all rows received since the last time the query was run.E.g. - /// Extract all log entries containing an HTTP request:SELECT timestamp, log_name, severity, http_request, - /// resource, labels FROM my-project.global._Default._AllLogs WHERE http_request IS NOT NULL + /// filter the input so that the query receives all rows received since the last time the query was run.For + /// example, the following query extracts all log entries containing an HTTP request:SELECT timestamp, log_name, + /// severity, http_request, resource, labels FROM my-project.global._Default._AllLogs WHERE http_request IS NOT + /// NULL /// [Newtonsoft.Json.JsonPropertyAttribute("query")] public virtual string Query { get; set; } @@ -11405,23 +11412,26 @@ public virtual System.DateTimeOffset? StartTimeDateTimeOffset public class TimeOfDay : Google.Apis.Requests.IDirectResponseSchema { /// - /// Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for - /// scenarios like business closing time. + /// Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or + /// equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. /// [Newtonsoft.Json.JsonPropertyAttribute("hours")] public virtual System.Nullable Hours { get; set; } - /// Minutes of hour of day. Must be from 0 to 59. + /// Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. [Newtonsoft.Json.JsonPropertyAttribute("minutes")] public virtual System.Nullable Minutes { get; set; } - /// Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + /// + /// Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to + /// 999,999,999. + /// [Newtonsoft.Json.JsonPropertyAttribute("nanos")] public virtual System.Nullable Nanos { get; set; } /// - /// Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows - /// leap-seconds. + /// Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An + /// API may allow the value 60 if it allows leap-seconds. /// [Newtonsoft.Json.JsonPropertyAttribute("seconds")] public virtual System.Nullable Seconds { get; set; } diff --git a/Src/Generated/Google.Apis.Monitoring.v3/Google.Apis.Monitoring.v3.csproj b/Src/Generated/Google.Apis.Monitoring.v3/Google.Apis.Monitoring.v3.csproj index 9f80904290..cdc3ce6fee 100644 --- a/Src/Generated/Google.Apis.Monitoring.v3/Google.Apis.Monitoring.v3.csproj +++ b/Src/Generated/Google.Apis.Monitoring.v3/Google.Apis.Monitoring.v3.csproj @@ -3,7 +3,7 @@ Google.Apis.Monitoring.v3 Client Library - 1.68.0.3559 + 1.68.0.3563 Google LLC Copyright 2024 Google LLC Google From c1d527562dd3cb18dc4337c22100bb7c85a126aa Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:13:19 -0700 Subject: [PATCH 51/78] feat: Generate Google.Apis.OracleDatabase.v1 version 1.68.0.3562 --- DiscoveryJson/oracledatabase.v1.json | 10 +++++----- .../Google.Apis.OracleDatabase.v1.cs | 15 +++++++++------ .../Google.Apis.OracleDatabase.v1.csproj | 2 +- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/DiscoveryJson/oracledatabase.v1.json b/DiscoveryJson/oracledatabase.v1.json index 8f3cc2636d..52dd18df47 100644 --- a/DiscoveryJson/oracledatabase.v1.json +++ b/DiscoveryJson/oracledatabase.v1.json @@ -1119,7 +1119,7 @@ } } }, - "revision": "20240918", + "revision": "20241002", "rootUrl": "https://oracledatabase.googleapis.com/", "schemas": { "AllConnectionStrings": { @@ -3719,22 +3719,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/Src/Generated/Google.Apis.OracleDatabase.v1/Google.Apis.OracleDatabase.v1.cs b/Src/Generated/Google.Apis.OracleDatabase.v1/Google.Apis.OracleDatabase.v1.cs index af526d9244..07c4228844 100644 --- a/Src/Generated/Google.Apis.OracleDatabase.v1/Google.Apis.OracleDatabase.v1.cs +++ b/Src/Generated/Google.Apis.OracleDatabase.v1/Google.Apis.OracleDatabase.v1.cs @@ -5150,23 +5150,26 @@ public class Status : Google.Apis.Requests.IDirectResponseSchema public class TimeOfDay : Google.Apis.Requests.IDirectResponseSchema { /// - /// Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for - /// scenarios like business closing time. + /// Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or + /// equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. /// [Newtonsoft.Json.JsonPropertyAttribute("hours")] public virtual System.Nullable Hours { get; set; } - /// Minutes of hour of day. Must be from 0 to 59. + /// Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. [Newtonsoft.Json.JsonPropertyAttribute("minutes")] public virtual System.Nullable Minutes { get; set; } - /// Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + /// + /// Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to + /// 999,999,999. + /// [Newtonsoft.Json.JsonPropertyAttribute("nanos")] public virtual System.Nullable Nanos { get; set; } /// - /// Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows - /// leap-seconds. + /// Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An + /// API may allow the value 60 if it allows leap-seconds. /// [Newtonsoft.Json.JsonPropertyAttribute("seconds")] public virtual System.Nullable Seconds { get; set; } diff --git a/Src/Generated/Google.Apis.OracleDatabase.v1/Google.Apis.OracleDatabase.v1.csproj b/Src/Generated/Google.Apis.OracleDatabase.v1/Google.Apis.OracleDatabase.v1.csproj index 9ba7216e67..a531ed0f69 100644 --- a/Src/Generated/Google.Apis.OracleDatabase.v1/Google.Apis.OracleDatabase.v1.csproj +++ b/Src/Generated/Google.Apis.OracleDatabase.v1/Google.Apis.OracleDatabase.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.OracleDatabase.v1 Client Library - 1.68.0.3548 + 1.68.0.3562 Google LLC Copyright 2024 Google LLC Google From d894ec1b17e0d151298764e66c27c3279c818678 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:13:22 -0700 Subject: [PATCH 52/78] feat: Generate Google.Apis.Playdeveloperreporting.v1alpha1 version 1.68.0.3569 --- .../playdeveloperreporting.v1alpha1.json | 28 +++++++++++++++++- ...le.Apis.Playdeveloperreporting.v1alpha1.cs | 29 +++++++++++++++++++ ...pis.Playdeveloperreporting.v1alpha1.csproj | 2 +- 3 files changed, 57 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/playdeveloperreporting.v1alpha1.json b/DiscoveryJson/playdeveloperreporting.v1alpha1.json index 245060182c..353a243d14 100644 --- a/DiscoveryJson/playdeveloperreporting.v1alpha1.json +++ b/DiscoveryJson/playdeveloperreporting.v1alpha1.json @@ -947,7 +947,7 @@ } } }, - "revision": "20240926", + "revision": "20241009", "rootUrl": "https://playdeveloperreporting.googleapis.com/", "schemas": { "GooglePlayDeveloperReportingV1alpha1Anomaly": { @@ -1133,6 +1133,13 @@ "description": "A group of related ErrorReports received for an app. Similar error reports are grouped together into issues with a likely identical root cause. **Please note:** this resource is currently in Alpha. There could be changes to the issue grouping that would result in similar but more recent error reports being assigned to different issues. This could also cause some issues disappearing entirely and being replaced by new ones. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app.", "id": "GooglePlayDeveloperReportingV1alpha1ErrorIssue", "properties": { + "annotations": { + "description": "List of annotations for an issue. Annotations provide additional information that may help in diagnosing and fixing the issue.", + "items": { + "$ref": "GooglePlayDeveloperReportingV1alpha1IssueAnnotation" + }, + "type": "array" + }, "cause": { "description": "Cause of the issue. Depending on the type this can be either: * APPLICATION_NOT_RESPONDING: the type of ANR that occurred, e.g., 'Input dispatching timed out'. * CRASH: for Java unhandled exception errors, the type of the innermost exception that was thrown, e.g., IllegalArgumentException. For signals in native code, the signal that was raised, e.g. SIGSEGV.", "type": "string" @@ -1323,6 +1330,25 @@ }, "type": "object" }, + "GooglePlayDeveloperReportingV1alpha1IssueAnnotation": { + "description": "Representation of an annotation message for an issue.", + "id": "GooglePlayDeveloperReportingV1alpha1IssueAnnotation", + "properties": { + "body": { + "description": "Contains the contents of the annotation message.", + "type": "string" + }, + "category": { + "description": "Category that the annotation belongs to. An annotation will belong to a single category. Example categories: \"Potential fix\", \"Insight\".", + "type": "string" + }, + "title": { + "description": "Title for the annotation.", + "type": "string" + } + }, + "type": "object" + }, "GooglePlayDeveloperReportingV1alpha1ListAnomaliesResponse": { "description": "Response with a list of anomalies in datasets.", "id": "GooglePlayDeveloperReportingV1alpha1ListAnomaliesResponse", diff --git a/Src/Generated/Google.Apis.Playdeveloperreporting.v1alpha1/Google.Apis.Playdeveloperreporting.v1alpha1.cs b/Src/Generated/Google.Apis.Playdeveloperreporting.v1alpha1/Google.Apis.Playdeveloperreporting.v1alpha1.cs index 34d1d68bec..216110955a 100644 --- a/Src/Generated/Google.Apis.Playdeveloperreporting.v1alpha1/Google.Apis.Playdeveloperreporting.v1alpha1.cs +++ b/Src/Generated/Google.Apis.Playdeveloperreporting.v1alpha1/Google.Apis.Playdeveloperreporting.v1alpha1.cs @@ -2558,6 +2558,13 @@ public class GooglePlayDeveloperReportingV1alpha1ErrorCountMetricSet : Google.Ap /// public class GooglePlayDeveloperReportingV1alpha1ErrorIssue : Google.Apis.Requests.IDirectResponseSchema { + /// + /// List of annotations for an issue. Annotations provide additional information that may help in diagnosing and + /// fixing the issue. + /// + [Newtonsoft.Json.JsonPropertyAttribute("annotations")] + public virtual System.Collections.Generic.IList Annotations { get; set; } + /// /// Cause of the issue. Depending on the type this can be either: * APPLICATION_NOT_RESPONDING: the type of ANR /// that occurred, e.g., 'Input dispatching timed out'. * CRASH: for Java unhandled exception errors, the type @@ -2868,6 +2875,28 @@ public class GooglePlayDeveloperReportingV1alpha1FreshnessInfoFreshness : Google public virtual string ETag { get; set; } } + /// Representation of an annotation message for an issue. + public class GooglePlayDeveloperReportingV1alpha1IssueAnnotation : Google.Apis.Requests.IDirectResponseSchema + { + /// Contains the contents of the annotation message. + [Newtonsoft.Json.JsonPropertyAttribute("body")] + public virtual string Body { get; set; } + + /// + /// Category that the annotation belongs to. An annotation will belong to a single category. Example categories: + /// "Potential fix", "Insight". + /// + [Newtonsoft.Json.JsonPropertyAttribute("category")] + public virtual string Category { get; set; } + + /// Title for the annotation. + [Newtonsoft.Json.JsonPropertyAttribute("title")] + public virtual string Title { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Response with a list of anomalies in datasets. public class GooglePlayDeveloperReportingV1alpha1ListAnomaliesResponse : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.Playdeveloperreporting.v1alpha1/Google.Apis.Playdeveloperreporting.v1alpha1.csproj b/Src/Generated/Google.Apis.Playdeveloperreporting.v1alpha1/Google.Apis.Playdeveloperreporting.v1alpha1.csproj index 5951e0e8ab..1ab2b52de4 100644 --- a/Src/Generated/Google.Apis.Playdeveloperreporting.v1alpha1/Google.Apis.Playdeveloperreporting.v1alpha1.csproj +++ b/Src/Generated/Google.Apis.Playdeveloperreporting.v1alpha1/Google.Apis.Playdeveloperreporting.v1alpha1.csproj @@ -3,7 +3,7 @@ Google.Apis.Playdeveloperreporting.v1alpha1 Client Library - 1.68.0.3556 + 1.68.0.3569 Google LLC Copyright 2024 Google LLC Google From ee98ab41128bc2ee54a43f88334c1b92bd29b453 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:13:25 -0700 Subject: [PATCH 53/78] feat: Generate Google.Apis.Playdeveloperreporting.v1beta1 version 1.68.0.3569 --- .../playdeveloperreporting.v1beta1.json | 28 +++++++++++++++++- ...gle.Apis.Playdeveloperreporting.v1beta1.cs | 29 +++++++++++++++++++ ...Apis.Playdeveloperreporting.v1beta1.csproj | 2 +- 3 files changed, 57 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/playdeveloperreporting.v1beta1.json b/DiscoveryJson/playdeveloperreporting.v1beta1.json index 0879eb1b3c..a3dc76855a 100644 --- a/DiscoveryJson/playdeveloperreporting.v1beta1.json +++ b/DiscoveryJson/playdeveloperreporting.v1beta1.json @@ -947,7 +947,7 @@ } } }, - "revision": "20240926", + "revision": "20241009", "rootUrl": "https://playdeveloperreporting.googleapis.com/", "schemas": { "GooglePlayDeveloperReportingV1beta1Anomaly": { @@ -1133,6 +1133,13 @@ "description": "A group of related ErrorReports received for an app. Similar error reports are grouped together into issues with a likely identical root cause. **Please note:** this resource is currently in Alpha. There could be changes to the issue grouping that would result in similar but more recent error reports being assigned to different issues. This could also cause some issues disappearing entirely and being replaced by new ones. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app.", "id": "GooglePlayDeveloperReportingV1beta1ErrorIssue", "properties": { + "annotations": { + "description": "List of annotations for an issue. Annotations provide additional information that may help in diagnosing and fixing the issue.", + "items": { + "$ref": "GooglePlayDeveloperReportingV1beta1IssueAnnotation" + }, + "type": "array" + }, "cause": { "description": "Cause of the issue. Depending on the type this can be either: * APPLICATION_NOT_RESPONDING: the type of ANR that occurred, e.g., 'Input dispatching timed out'. * CRASH: for Java unhandled exception errors, the type of the innermost exception that was thrown, e.g., IllegalArgumentException. For signals in native code, the signal that was raised, e.g. SIGSEGV.", "type": "string" @@ -1323,6 +1330,25 @@ }, "type": "object" }, + "GooglePlayDeveloperReportingV1beta1IssueAnnotation": { + "description": "Representation of an annotation message for an issue.", + "id": "GooglePlayDeveloperReportingV1beta1IssueAnnotation", + "properties": { + "body": { + "description": "Contains the contents of the annotation message.", + "type": "string" + }, + "category": { + "description": "Category that the annotation belongs to. An annotation will belong to a single category. Example categories: \"Potential fix\", \"Insight\".", + "type": "string" + }, + "title": { + "description": "Title for the annotation.", + "type": "string" + } + }, + "type": "object" + }, "GooglePlayDeveloperReportingV1beta1ListAnomaliesResponse": { "description": "Response with a list of anomalies in datasets.", "id": "GooglePlayDeveloperReportingV1beta1ListAnomaliesResponse", diff --git a/Src/Generated/Google.Apis.Playdeveloperreporting.v1beta1/Google.Apis.Playdeveloperreporting.v1beta1.cs b/Src/Generated/Google.Apis.Playdeveloperreporting.v1beta1/Google.Apis.Playdeveloperreporting.v1beta1.cs index a9892007e4..755a787467 100644 --- a/Src/Generated/Google.Apis.Playdeveloperreporting.v1beta1/Google.Apis.Playdeveloperreporting.v1beta1.cs +++ b/Src/Generated/Google.Apis.Playdeveloperreporting.v1beta1/Google.Apis.Playdeveloperreporting.v1beta1.cs @@ -2558,6 +2558,13 @@ public class GooglePlayDeveloperReportingV1beta1ErrorCountMetricSet : Google.Api /// public class GooglePlayDeveloperReportingV1beta1ErrorIssue : Google.Apis.Requests.IDirectResponseSchema { + /// + /// List of annotations for an issue. Annotations provide additional information that may help in diagnosing and + /// fixing the issue. + /// + [Newtonsoft.Json.JsonPropertyAttribute("annotations")] + public virtual System.Collections.Generic.IList Annotations { get; set; } + /// /// Cause of the issue. Depending on the type this can be either: * APPLICATION_NOT_RESPONDING: the type of ANR /// that occurred, e.g., 'Input dispatching timed out'. * CRASH: for Java unhandled exception errors, the type @@ -2868,6 +2875,28 @@ public class GooglePlayDeveloperReportingV1beta1FreshnessInfoFreshness : Google. public virtual string ETag { get; set; } } + /// Representation of an annotation message for an issue. + public class GooglePlayDeveloperReportingV1beta1IssueAnnotation : Google.Apis.Requests.IDirectResponseSchema + { + /// Contains the contents of the annotation message. + [Newtonsoft.Json.JsonPropertyAttribute("body")] + public virtual string Body { get; set; } + + /// + /// Category that the annotation belongs to. An annotation will belong to a single category. Example categories: + /// "Potential fix", "Insight". + /// + [Newtonsoft.Json.JsonPropertyAttribute("category")] + public virtual string Category { get; set; } + + /// Title for the annotation. + [Newtonsoft.Json.JsonPropertyAttribute("title")] + public virtual string Title { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Response with a list of anomalies in datasets. public class GooglePlayDeveloperReportingV1beta1ListAnomaliesResponse : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.Playdeveloperreporting.v1beta1/Google.Apis.Playdeveloperreporting.v1beta1.csproj b/Src/Generated/Google.Apis.Playdeveloperreporting.v1beta1/Google.Apis.Playdeveloperreporting.v1beta1.csproj index 920697a4b0..848567f98f 100644 --- a/Src/Generated/Google.Apis.Playdeveloperreporting.v1beta1/Google.Apis.Playdeveloperreporting.v1beta1.csproj +++ b/Src/Generated/Google.Apis.Playdeveloperreporting.v1beta1/Google.Apis.Playdeveloperreporting.v1beta1.csproj @@ -3,7 +3,7 @@ Google.Apis.Playdeveloperreporting.v1beta1 Client Library - 1.68.0.3556 + 1.68.0.3569 Google LLC Copyright 2024 Google LLC Google From fda6a0106a5352631cc2fc446c35db9a758bcc8e Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:13:27 -0700 Subject: [PATCH 54/78] feat: Generate Google.Apis.CertificateAuthorityService.v1 version 1.68.0.3562 --- DiscoveryJson/privateca.v1.json | 6 +++--- .../Google.Apis.CertificateAuthorityService.v1.cs | 6 +++--- .../Google.Apis.CertificateAuthorityService.v1.csproj | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/DiscoveryJson/privateca.v1.json b/DiscoveryJson/privateca.v1.json index 56bdaf3238..5c56314973 100644 --- a/DiscoveryJson/privateca.v1.json +++ b/DiscoveryJson/privateca.v1.json @@ -754,7 +754,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name for this CertificateAuthority in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.", + "description": "Output only. Identifier. The resource name for this CertificateAuthority in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+/certificateAuthorities/[^/]+$", "required": true, @@ -1605,7 +1605,7 @@ } } }, - "revision": "20240918", + "revision": "20241002", "rootUrl": "https://privateca.googleapis.com/", "schemas": { "AccessUrls": { @@ -1956,7 +1956,7 @@ "type": "string" }, "name": { - "description": "Output only. The resource name for this CertificateAuthority in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.", + "description": "Output only. Identifier. The resource name for this CertificateAuthority in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.", "readOnly": true, "type": "string" }, diff --git a/Src/Generated/Google.Apis.CertificateAuthorityService.v1/Google.Apis.CertificateAuthorityService.v1.cs b/Src/Generated/Google.Apis.CertificateAuthorityService.v1/Google.Apis.CertificateAuthorityService.v1.cs index 371c8a837d..13ff505ab7 100644 --- a/Src/Generated/Google.Apis.CertificateAuthorityService.v1/Google.Apis.CertificateAuthorityService.v1.cs +++ b/Src/Generated/Google.Apis.CertificateAuthorityService.v1/Google.Apis.CertificateAuthorityService.v1.cs @@ -1437,7 +1437,7 @@ protected override void InitParameters() /// Update a CertificateAuthority. /// The body of the request. /// - /// Output only. The resource name for this CertificateAuthority in the format + /// Output only. Identifier. The resource name for this CertificateAuthority in the format /// `projects/*/locations/*/caPools/*/certificateAuthorities/*`. /// public virtual PatchRequest Patch(Google.Apis.CertificateAuthorityService.v1.Data.CertificateAuthority body, string name) @@ -1457,7 +1457,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Cer } /// - /// Output only. The resource name for this CertificateAuthority in the format + /// Output only. Identifier. The resource name for this CertificateAuthority in the format /// `projects/*/locations/*/caPools/*/certificateAuthorities/*`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] @@ -4420,7 +4420,7 @@ public virtual System.DateTimeOffset? ExpireTimeDateTimeOffset public virtual object Lifetime { get; set; } /// - /// Output only. The resource name for this CertificateAuthority in the format + /// Output only. Identifier. The resource name for this CertificateAuthority in the format /// `projects/*/locations/*/caPools/*/certificateAuthorities/*`. /// [Newtonsoft.Json.JsonPropertyAttribute("name")] diff --git a/Src/Generated/Google.Apis.CertificateAuthorityService.v1/Google.Apis.CertificateAuthorityService.v1.csproj b/Src/Generated/Google.Apis.CertificateAuthorityService.v1/Google.Apis.CertificateAuthorityService.v1.csproj index 8c86a82269..a3ae5b3163 100644 --- a/Src/Generated/Google.Apis.CertificateAuthorityService.v1/Google.Apis.CertificateAuthorityService.v1.csproj +++ b/Src/Generated/Google.Apis.CertificateAuthorityService.v1/Google.Apis.CertificateAuthorityService.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.CertificateAuthorityService.v1 Client Library - 1.68.0.3548 + 1.68.0.3562 Google LLC Copyright 2024 Google LLC Google From 036b3b7bf7e9d3fabfb999de046d57a344f2f5cf Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:13:30 -0700 Subject: [PATCH 55/78] feat: Generate Google.Apis.CloudRedis.v1 version 1.68.0.3563 --- DiscoveryJson/redis.v1.json | 10 +++++----- .../Google.Apis.CloudRedis.v1.cs | 15 +++++++++------ .../Google.Apis.CloudRedis.v1.csproj | 2 +- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/DiscoveryJson/redis.v1.json b/DiscoveryJson/redis.v1.json index d2febffbac..58cd007a4d 100644 --- a/DiscoveryJson/redis.v1.json +++ b/DiscoveryJson/redis.v1.json @@ -849,7 +849,7 @@ } } }, - "revision": "20240924", + "revision": "20241003", "rootUrl": "https://redis.googleapis.com/", "schemas": { "AOFConfig": { @@ -4026,22 +4026,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } 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 ec044cef18..add3255616 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 @@ -5066,23 +5066,26 @@ public class TenantProjectProxy : Google.Apis.Requests.IDirectResponseSchema public class TimeOfDay : Google.Apis.Requests.IDirectResponseSchema { /// - /// Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for - /// scenarios like business closing time. + /// Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or + /// equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. /// [Newtonsoft.Json.JsonPropertyAttribute("hours")] public virtual System.Nullable Hours { get; set; } - /// Minutes of hour of day. Must be from 0 to 59. + /// Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. [Newtonsoft.Json.JsonPropertyAttribute("minutes")] public virtual System.Nullable Minutes { get; set; } - /// Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + /// + /// Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to + /// 999,999,999. + /// [Newtonsoft.Json.JsonPropertyAttribute("nanos")] public virtual System.Nullable Nanos { get; set; } /// - /// Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows - /// leap-seconds. + /// Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An + /// API may allow the value 60 if it allows leap-seconds. /// [Newtonsoft.Json.JsonPropertyAttribute("seconds")] public virtual System.Nullable Seconds { 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 2bc91227b3..9f5c8cbce0 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.68.0.3554 + 1.68.0.3563 Google LLC Copyright 2024 Google LLC Google From 1f202ec4e16fca5fbcfe40fdc97ff0bc34f3957c Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:13:33 -0700 Subject: [PATCH 56/78] feat: Generate Google.Apis.CloudRedis.v1beta1 version 1.68.0.3563 --- DiscoveryJson/redis.v1beta1.json | 10 +++++----- .../Google.Apis.CloudRedis.v1beta1.cs | 15 +++++++++------ .../Google.Apis.CloudRedis.v1beta1.csproj | 2 +- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/DiscoveryJson/redis.v1beta1.json b/DiscoveryJson/redis.v1beta1.json index 4fd9d2fa7b..9e82b3ac4a 100644 --- a/DiscoveryJson/redis.v1beta1.json +++ b/DiscoveryJson/redis.v1beta1.json @@ -849,7 +849,7 @@ } } }, - "revision": "20240924", + "revision": "20241003", "rootUrl": "https://redis.googleapis.com/", "schemas": { "AOFConfig": { @@ -4033,22 +4033,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } 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 947687c3df..f975ab4ecb 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 @@ -5070,23 +5070,26 @@ public class TenantProjectProxy : Google.Apis.Requests.IDirectResponseSchema public class TimeOfDay : Google.Apis.Requests.IDirectResponseSchema { /// - /// Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for - /// scenarios like business closing time. + /// Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or + /// equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. /// [Newtonsoft.Json.JsonPropertyAttribute("hours")] public virtual System.Nullable Hours { get; set; } - /// Minutes of hour of day. Must be from 0 to 59. + /// Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. [Newtonsoft.Json.JsonPropertyAttribute("minutes")] public virtual System.Nullable Minutes { get; set; } - /// Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + /// + /// Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to + /// 999,999,999. + /// [Newtonsoft.Json.JsonPropertyAttribute("nanos")] public virtual System.Nullable Nanos { get; set; } /// - /// Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows - /// leap-seconds. + /// Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An + /// API may allow the value 60 if it allows leap-seconds. /// [Newtonsoft.Json.JsonPropertyAttribute("seconds")] public virtual System.Nullable Seconds { 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 8607b002ee..df2039e940 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.68.0.3554 + 1.68.0.3563 Google LLC Copyright 2024 Google LLC Google From e7ffec93f1a84d82f8106ee6d88de5e71d6c0dc7 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:13:36 -0700 Subject: [PATCH 57/78] feat: Generate Google.Apis.CloudRetail.v2 version 1.68.0.3563 --- DiscoveryJson/retail.v2.json | 19 ++++++++++++-- .../Google.Apis.CloudRetail.v2.cs | 26 ++++++++++++++++--- .../Google.Apis.CloudRetail.v2.csproj | 2 +- 3 files changed, 41 insertions(+), 6 deletions(-) diff --git a/DiscoveryJson/retail.v2.json b/DiscoveryJson/retail.v2.json index 5176c085f4..b8080be5bf 100644 --- a/DiscoveryJson/retail.v2.json +++ b/DiscoveryJson/retail.v2.json @@ -2246,7 +2246,7 @@ } } }, - "revision": "20240920", + "revision": "20241003", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -4349,7 +4349,7 @@ }, "retrievableFields": { "deprecated": true, - "description": "Indicates which fields in the Products are returned in SearchResponse. Supported fields for all types: * audience * availability * brands * color_info * conditions * gtin * materials * name * patterns * price_info * rating * sizes * title * uri Supported fields only for Type.PRIMARY and Type.COLLECTION: * categories * description * images Supported fields only for Type.VARIANT: * Only the first image in images To mark attributes as retrievable, include paths of the form \"attributes.key\" where \"key\" is the key of a custom attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION, the following fields are always returned in SearchResponse by default: * name For Type.VARIANT, the following fields are always returned in by default: * name * color_info The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is returned. Note: Returning more fields in SearchResponse can increase response payload size and serving latency. This field is deprecated. Use the retrievable site-wide control instead.", + "description": "Indicates which fields in the Products are returned in SearchResponse. Supported fields for all types: * audience * availability * brands * color_info * conditions * gtin * materials * name * patterns * price_info * rating * sizes * title * uri Supported fields only for Type.PRIMARY and Type.COLLECTION: * categories * description * images Supported fields only for Type.VARIANT: * Only the first image in images To mark attributes as retrievable, include paths of the form \"attributes.key\" where \"key\" is the key of a custom attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION, the following fields are always returned in SearchResponse by default: * name For Type.VARIANT, the following fields are always returned in by default: * name * color_info Note: Returning more fields in SearchResponse can increase response payload size and serving latency. This field is deprecated. Use the retrievable site-wide control instead.", "format": "google-fieldmask", "type": "string" }, @@ -6697,6 +6697,21 @@ "frequentlyBoughtTogetherConfig": { "$ref": "GoogleCloudRetailV2alphaModelFrequentlyBoughtTogetherFeaturesConfig", "description": "Additional configs for frequently-bought-together models." + }, + "llmEmbeddingConfig": { + "$ref": "GoogleCloudRetailV2alphaModelModelFeaturesConfigLlmEmbeddingConfig", + "description": "Optional. LLM embedding config to use for this model." + } + }, + "type": "object" + }, + "GoogleCloudRetailV2alphaModelModelFeaturesConfigLlmEmbeddingConfig": { + "description": "Config that turns on usage of llm embeddings as features to the model. Embeddings leverage unstructured text fields like description and title.", + "id": "GoogleCloudRetailV2alphaModelModelFeaturesConfigLlmEmbeddingConfig", + "properties": { + "llmEmbeddingVersion": { + "description": "Optional. The LLM embedding version to use. Currently only `v0` is supported. If not specified, feature will not be turned on.", + "type": "string" } }, "type": "object" diff --git a/Src/Generated/Google.Apis.CloudRetail.v2/Google.Apis.CloudRetail.v2.cs b/Src/Generated/Google.Apis.CloudRetail.v2/Google.Apis.CloudRetail.v2.cs index 1eaed76e8c..fdce58b591 100644 --- a/Src/Generated/Google.Apis.CloudRetail.v2/Google.Apis.CloudRetail.v2.cs +++ b/Src/Generated/Google.Apis.CloudRetail.v2/Google.Apis.CloudRetail.v2.cs @@ -8679,9 +8679,8 @@ public virtual System.DateTimeOffset? PublishTimeDateTimeOffset /// attributes as retrievable, include paths of the form "attributes.key" where "key" is the key of a custom /// attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION, the following fields are always /// returned in SearchResponse by default: * name For Type.VARIANT, the following fields are always returned in - /// by default: * name * color_info The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is - /// returned. Note: Returning more fields in SearchResponse can increase response payload size and serving - /// latency. This field is deprecated. Use the retrievable site-wide control instead. + /// by default: * name * color_info Note: Returning more fields in SearchResponse can increase response payload + /// size and serving latency. This field is deprecated. Use the retrievable site-wide control instead. /// [Newtonsoft.Json.JsonPropertyAttribute("retrievableFields")] public virtual object RetrievableFields { get; set; } @@ -12149,6 +12148,27 @@ public class GoogleCloudRetailV2alphaModelModelFeaturesConfig : Google.Apis.Requ [Newtonsoft.Json.JsonPropertyAttribute("frequentlyBoughtTogetherConfig")] public virtual GoogleCloudRetailV2alphaModelFrequentlyBoughtTogetherFeaturesConfig FrequentlyBoughtTogetherConfig { get; set; } + /// Optional. LLM embedding config to use for this model. + [Newtonsoft.Json.JsonPropertyAttribute("llmEmbeddingConfig")] + public virtual GoogleCloudRetailV2alphaModelModelFeaturesConfigLlmEmbeddingConfig LlmEmbeddingConfig { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Config that turns on usage of llm embeddings as features to the model. Embeddings leverage unstructured text + /// fields like description and title. + /// + public class GoogleCloudRetailV2alphaModelModelFeaturesConfigLlmEmbeddingConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Optional. The LLM embedding version to use. Currently only `v0` is supported. If not specified, feature will + /// not be turned on. + /// + [Newtonsoft.Json.JsonPropertyAttribute("llmEmbeddingVersion")] + public virtual string LlmEmbeddingVersion { get; set; } + /// The ETag of the item. public virtual string ETag { get; set; } } diff --git a/Src/Generated/Google.Apis.CloudRetail.v2/Google.Apis.CloudRetail.v2.csproj b/Src/Generated/Google.Apis.CloudRetail.v2/Google.Apis.CloudRetail.v2.csproj index 2a0c957833..5dcdd72d19 100644 --- a/Src/Generated/Google.Apis.CloudRetail.v2/Google.Apis.CloudRetail.v2.csproj +++ b/Src/Generated/Google.Apis.CloudRetail.v2/Google.Apis.CloudRetail.v2.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudRetail.v2 Client Library - 1.68.0.3550 + 1.68.0.3563 Google LLC Copyright 2024 Google LLC Google From e0a53da2edf47c52ddf5ddf9cd14a7001b14e2d9 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:13:39 -0700 Subject: [PATCH 58/78] feat: Generate Google.Apis.CloudRetail.v2alpha version 1.68.0.3563 --- DiscoveryJson/retail.v2alpha.json | 19 ++++++++++++-- .../Google.Apis.CloudRetail.v2alpha.cs | 26 ++++++++++++++++--- .../Google.Apis.CloudRetail.v2alpha.csproj | 2 +- 3 files changed, 41 insertions(+), 6 deletions(-) diff --git a/DiscoveryJson/retail.v2alpha.json b/DiscoveryJson/retail.v2alpha.json index d31971f759..dfbd039d4b 100644 --- a/DiscoveryJson/retail.v2alpha.json +++ b/DiscoveryJson/retail.v2alpha.json @@ -2767,7 +2767,7 @@ } } }, - "revision": "20240920", + "revision": "20241003", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -5705,6 +5705,21 @@ "frequentlyBoughtTogetherConfig": { "$ref": "GoogleCloudRetailV2alphaModelFrequentlyBoughtTogetherFeaturesConfig", "description": "Additional configs for frequently-bought-together models." + }, + "llmEmbeddingConfig": { + "$ref": "GoogleCloudRetailV2alphaModelModelFeaturesConfigLlmEmbeddingConfig", + "description": "Optional. LLM embedding config to use for this model." + } + }, + "type": "object" + }, + "GoogleCloudRetailV2alphaModelModelFeaturesConfigLlmEmbeddingConfig": { + "description": "Config that turns on usage of llm embeddings as features to the model. Embeddings leverage unstructured text fields like description and title.", + "id": "GoogleCloudRetailV2alphaModelModelFeaturesConfigLlmEmbeddingConfig", + "properties": { + "llmEmbeddingVersion": { + "description": "Optional. The LLM embedding version to use. Currently only `v0` is supported. If not specified, feature will not be turned on.", + "type": "string" } }, "type": "object" @@ -6172,7 +6187,7 @@ }, "retrievableFields": { "deprecated": true, - "description": "Indicates which fields in the Products are returned in SearchResponse. Supported fields for all types: * audience * availability * brands * color_info * conditions * gtin * materials * name * patterns * price_info * rating * sizes * title * uri Supported fields only for Type.PRIMARY and Type.COLLECTION: * categories * description * images Supported fields only for Type.VARIANT: * Only the first image in images To mark attributes as retrievable, include paths of the form \"attributes.key\" where \"key\" is the key of a custom attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION, the following fields are always returned in SearchResponse by default: * name For Type.VARIANT, the following fields are always returned in by default: * name * color_info The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is returned. Note: Returning more fields in SearchResponse can increase response payload size and serving latency. This field is deprecated. Use the retrievable site-wide control instead.", + "description": "Indicates which fields in the Products are returned in SearchResponse. Supported fields for all types: * audience * availability * brands * color_info * conditions * gtin * materials * name * patterns * price_info * rating * sizes * title * uri Supported fields only for Type.PRIMARY and Type.COLLECTION: * categories * description * images Supported fields only for Type.VARIANT: * Only the first image in images To mark attributes as retrievable, include paths of the form \"attributes.key\" where \"key\" is the key of a custom attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION, the following fields are always returned in SearchResponse by default: * name For Type.VARIANT, the following fields are always returned in by default: * name * color_info Note: Returning more fields in SearchResponse can increase response payload size and serving latency. This field is deprecated. Use the retrievable site-wide control instead.", "format": "google-fieldmask", "type": "string" }, diff --git a/Src/Generated/Google.Apis.CloudRetail.v2alpha/Google.Apis.CloudRetail.v2alpha.cs b/Src/Generated/Google.Apis.CloudRetail.v2alpha/Google.Apis.CloudRetail.v2alpha.cs index 6282151a01..fa90aadb96 100644 --- a/Src/Generated/Google.Apis.CloudRetail.v2alpha/Google.Apis.CloudRetail.v2alpha.cs +++ b/Src/Generated/Google.Apis.CloudRetail.v2alpha/Google.Apis.CloudRetail.v2alpha.cs @@ -10825,6 +10825,27 @@ public class GoogleCloudRetailV2alphaModelModelFeaturesConfig : Google.Apis.Requ [Newtonsoft.Json.JsonPropertyAttribute("frequentlyBoughtTogetherConfig")] public virtual GoogleCloudRetailV2alphaModelFrequentlyBoughtTogetherFeaturesConfig FrequentlyBoughtTogetherConfig { get; set; } + /// Optional. LLM embedding config to use for this model. + [Newtonsoft.Json.JsonPropertyAttribute("llmEmbeddingConfig")] + public virtual GoogleCloudRetailV2alphaModelModelFeaturesConfigLlmEmbeddingConfig LlmEmbeddingConfig { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Config that turns on usage of llm embeddings as features to the model. Embeddings leverage unstructured text + /// fields like description and title. + /// + public class GoogleCloudRetailV2alphaModelModelFeaturesConfigLlmEmbeddingConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Optional. The LLM embedding version to use. Currently only `v0` is supported. If not specified, feature will + /// not be turned on. + /// + [Newtonsoft.Json.JsonPropertyAttribute("llmEmbeddingVersion")] + public virtual string LlmEmbeddingVersion { get; set; } + /// The ETag of the item. public virtual string ETag { get; set; } } @@ -11640,9 +11661,8 @@ public virtual System.DateTimeOffset? PublishTimeDateTimeOffset /// attributes as retrievable, include paths of the form "attributes.key" where "key" is the key of a custom /// attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION, the following fields are always /// returned in SearchResponse by default: * name For Type.VARIANT, the following fields are always returned in - /// by default: * name * color_info The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is - /// returned. Note: Returning more fields in SearchResponse can increase response payload size and serving - /// latency. This field is deprecated. Use the retrievable site-wide control instead. + /// by default: * name * color_info Note: Returning more fields in SearchResponse can increase response payload + /// size and serving latency. This field is deprecated. Use the retrievable site-wide control instead. /// [Newtonsoft.Json.JsonPropertyAttribute("retrievableFields")] public virtual object RetrievableFields { get; set; } diff --git a/Src/Generated/Google.Apis.CloudRetail.v2alpha/Google.Apis.CloudRetail.v2alpha.csproj b/Src/Generated/Google.Apis.CloudRetail.v2alpha/Google.Apis.CloudRetail.v2alpha.csproj index ca59bdb840..74eecdc4cc 100644 --- a/Src/Generated/Google.Apis.CloudRetail.v2alpha/Google.Apis.CloudRetail.v2alpha.csproj +++ b/Src/Generated/Google.Apis.CloudRetail.v2alpha/Google.Apis.CloudRetail.v2alpha.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudRetail.v2alpha Client Library - 1.68.0.3550 + 1.68.0.3563 Google LLC Copyright 2024 Google LLC Google From c0f3feb0be2eea07df1c45b54763aaa737af4964 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:13:42 -0700 Subject: [PATCH 59/78] feat: Generate Google.Apis.CloudRetail.v2beta version 1.68.0.3563 --- DiscoveryJson/retail.v2beta.json | 19 ++++++++++++-- .../Google.Apis.CloudRetail.v2beta.cs | 26 ++++++++++++++++--- .../Google.Apis.CloudRetail.v2beta.csproj | 2 +- 3 files changed, 41 insertions(+), 6 deletions(-) diff --git a/DiscoveryJson/retail.v2beta.json b/DiscoveryJson/retail.v2beta.json index 4924bc8fbb..a250edaae2 100644 --- a/DiscoveryJson/retail.v2beta.json +++ b/DiscoveryJson/retail.v2beta.json @@ -2391,7 +2391,7 @@ } } }, - "revision": "20240920", + "revision": "20241003", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -3662,6 +3662,21 @@ "frequentlyBoughtTogetherConfig": { "$ref": "GoogleCloudRetailV2alphaModelFrequentlyBoughtTogetherFeaturesConfig", "description": "Additional configs for frequently-bought-together models." + }, + "llmEmbeddingConfig": { + "$ref": "GoogleCloudRetailV2alphaModelModelFeaturesConfigLlmEmbeddingConfig", + "description": "Optional. LLM embedding config to use for this model." + } + }, + "type": "object" + }, + "GoogleCloudRetailV2alphaModelModelFeaturesConfigLlmEmbeddingConfig": { + "description": "Config that turns on usage of llm embeddings as features to the model. Embeddings leverage unstructured text fields like description and title.", + "id": "GoogleCloudRetailV2alphaModelModelFeaturesConfigLlmEmbeddingConfig", + "properties": { + "llmEmbeddingVersion": { + "description": "Optional. The LLM embedding version to use. Currently only `v0` is supported. If not specified, feature will not be turned on.", + "type": "string" } }, "type": "object" @@ -6150,7 +6165,7 @@ }, "retrievableFields": { "deprecated": true, - "description": "Indicates which fields in the Products are returned in SearchResponse. Supported fields for all types: * audience * availability * brands * color_info * conditions * gtin * materials * name * patterns * price_info * rating * sizes * title * uri Supported fields only for Type.PRIMARY and Type.COLLECTION: * categories * description * images Supported fields only for Type.VARIANT: * Only the first image in images To mark attributes as retrievable, include paths of the form \"attributes.key\" where \"key\" is the key of a custom attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION, the following fields are always returned in SearchResponse by default: * name For Type.VARIANT, the following fields are always returned in by default: * name * color_info The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is returned. Note: Returning more fields in SearchResponse can increase response payload size and serving latency. This field is deprecated. Use the retrievable site-wide control instead.", + "description": "Indicates which fields in the Products are returned in SearchResponse. Supported fields for all types: * audience * availability * brands * color_info * conditions * gtin * materials * name * patterns * price_info * rating * sizes * title * uri Supported fields only for Type.PRIMARY and Type.COLLECTION: * categories * description * images Supported fields only for Type.VARIANT: * Only the first image in images To mark attributes as retrievable, include paths of the form \"attributes.key\" where \"key\" is the key of a custom attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION, the following fields are always returned in SearchResponse by default: * name For Type.VARIANT, the following fields are always returned in by default: * name * color_info Note: Returning more fields in SearchResponse can increase response payload size and serving latency. This field is deprecated. Use the retrievable site-wide control instead.", "format": "google-fieldmask", "type": "string" }, diff --git a/Src/Generated/Google.Apis.CloudRetail.v2beta/Google.Apis.CloudRetail.v2beta.cs b/Src/Generated/Google.Apis.CloudRetail.v2beta/Google.Apis.CloudRetail.v2beta.cs index 2c0bd6b8a0..478e4c4e56 100644 --- a/Src/Generated/Google.Apis.CloudRetail.v2beta/Google.Apis.CloudRetail.v2beta.cs +++ b/Src/Generated/Google.Apis.CloudRetail.v2beta/Google.Apis.CloudRetail.v2beta.cs @@ -7790,6 +7790,27 @@ public class GoogleCloudRetailV2alphaModelModelFeaturesConfig : Google.Apis.Requ [Newtonsoft.Json.JsonPropertyAttribute("frequentlyBoughtTogetherConfig")] public virtual GoogleCloudRetailV2alphaModelFrequentlyBoughtTogetherFeaturesConfig FrequentlyBoughtTogetherConfig { get; set; } + /// Optional. LLM embedding config to use for this model. + [Newtonsoft.Json.JsonPropertyAttribute("llmEmbeddingConfig")] + public virtual GoogleCloudRetailV2alphaModelModelFeaturesConfigLlmEmbeddingConfig LlmEmbeddingConfig { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Config that turns on usage of llm embeddings as features to the model. Embeddings leverage unstructured text + /// fields like description and title. + /// + public class GoogleCloudRetailV2alphaModelModelFeaturesConfigLlmEmbeddingConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Optional. The LLM embedding version to use. Currently only `v0` is supported. If not specified, feature will + /// not be turned on. + /// + [Newtonsoft.Json.JsonPropertyAttribute("llmEmbeddingVersion")] + public virtual string LlmEmbeddingVersion { get; set; } + /// The ETag of the item. public virtual string ETag { get; set; } } @@ -11436,9 +11457,8 @@ public virtual System.DateTimeOffset? PublishTimeDateTimeOffset /// attributes as retrievable, include paths of the form "attributes.key" where "key" is the key of a custom /// attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION, the following fields are always /// returned in SearchResponse by default: * name For Type.VARIANT, the following fields are always returned in - /// by default: * name * color_info The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is - /// returned. Note: Returning more fields in SearchResponse can increase response payload size and serving - /// latency. This field is deprecated. Use the retrievable site-wide control instead. + /// by default: * name * color_info Note: Returning more fields in SearchResponse can increase response payload + /// size and serving latency. This field is deprecated. Use the retrievable site-wide control instead. /// [Newtonsoft.Json.JsonPropertyAttribute("retrievableFields")] public virtual object RetrievableFields { get; set; } diff --git a/Src/Generated/Google.Apis.CloudRetail.v2beta/Google.Apis.CloudRetail.v2beta.csproj b/Src/Generated/Google.Apis.CloudRetail.v2beta/Google.Apis.CloudRetail.v2beta.csproj index 424de2e71f..9640e79756 100644 --- a/Src/Generated/Google.Apis.CloudRetail.v2beta/Google.Apis.CloudRetail.v2beta.csproj +++ b/Src/Generated/Google.Apis.CloudRetail.v2beta/Google.Apis.CloudRetail.v2beta.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudRetail.v2beta Client Library - 1.68.0.3550 + 1.68.0.3563 Google LLC Copyright 2024 Google LLC Google From 77058e9c419dbdaa62889a3e1a88752c4e657f40 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:13:45 -0700 Subject: [PATCH 60/78] feat: Generate Google.Apis.CloudRun.v1 version 1.68.0.3564 --- DiscoveryJson/run.v1.json | 6 +++--- .../Google.Apis.CloudRun.v1/Google.Apis.CloudRun.v1.cs | 8 +++++--- .../Google.Apis.CloudRun.v1.csproj | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/DiscoveryJson/run.v1.json b/DiscoveryJson/run.v1.json index 4b38f83514..47696547c2 100644 --- a/DiscoveryJson/run.v1.json +++ b/DiscoveryJson/run.v1.json @@ -2614,7 +2614,7 @@ } } }, - "revision": "20240927", + "revision": "20241004", "rootUrl": "https://run.googleapis.com/", "schemas": { "Addressable": { @@ -5383,7 +5383,7 @@ "additionalProperties": { "type": "string" }, - "description": "Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service. * `run.googleapis.com/build-id`: Service. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/ingress`: Service. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution. * `run.googleapis.com/vpc-access-egress`: Revision, Execution.", + "description": "Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service. * `run.googleapis.com/build-id`: Service. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution. * `run.googleapis.com/vpc-access-egress`: Revision, Execution.", "type": "object" }, "clusterName": { @@ -5770,7 +5770,7 @@ "properties": { "metadata": { "$ref": "ObjectMeta", - "description": "Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`." + "description": "Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`." }, "spec": { "$ref": "RevisionSpec", 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 4147f640af..b5d1d123a4 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 @@ -9114,8 +9114,9 @@ public class ObjectMeta : Google.Apis.Requests.IDirectResponseSchema /// Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: /// Revision * `run.googleapis.com/encryption-key`: Revision, Execution. * /// `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: - /// Service. * `run.googleapis.com/ingress`: Service. * `run.googleapis.com/launch-stage`: Service, Job. * - /// `run.googleapis.com/minScale`: Service * `run.googleapis.com/network-interfaces`: Revision, Execution. * + /// Service. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service. * + /// `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service * + /// `run.googleapis.com/network-interfaces`: Revision, Execution. * /// `run.googleapis.com/post-key-revocation-action-type`: Revision. * `run.googleapis.com/secrets`: Revision, /// Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: /// Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: @@ -9667,7 +9668,8 @@ public class RevisionTemplate : Google.Apis.Requests.IDirectResponseSchema /// `autoscaling.knative.dev/minScale` sets the minimum number of instances. * /// `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * /// `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma - /// separated. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * + /// separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run + /// for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * /// `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` /// (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is /// deprecated but will continue to be supported. Prefer `all-traffic`. 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 7c8b8074f9..611c8901f9 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.68.0.3557 + 1.68.0.3564 Google LLC Copyright 2024 Google LLC Google From 99c6e8f64c935519dbfb6354fa7d260d4085cee0 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:13:48 -0700 Subject: [PATCH 61/78] feat: Generate Google.Apis.CloudRun.v2 version 1.68.0.3564 --- DiscoveryJson/run.v2.json | 14 +++++------ .../Google.Apis.CloudRun.v2.cs | 23 ++++++++++--------- .../Google.Apis.CloudRun.v2.csproj | 2 +- 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/DiscoveryJson/run.v2.json b/DiscoveryJson/run.v2.json index 7c80c2bd79..86a10b0e26 100644 --- a/DiscoveryJson/run.v2.json +++ b/DiscoveryJson/run.v2.json @@ -428,7 +428,7 @@ ], "parameters": { "parent": { - "description": "Required. The project and location to build in. Location must be a region, e.g., 'us-central1' or 'global' if the global builder is to be used. Format: projects/{project}/locations/{location}", + "description": "Required. The project and location to build in. Location must be a region, e.g., 'us-central1' or 'global' if the global builder is to be used. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -1526,7 +1526,7 @@ } } }, - "revision": "20240927", + "revision": "20241004", "rootUrl": "https://run.googleapis.com/", "schemas": { "GoogleCloudRunV2BinaryAuthorization": { @@ -1538,7 +1538,7 @@ "type": "string" }, "policy": { - "description": "Optional. The path to a binary authorization policy. Format: projects/{project}/platforms/cloudRun/{policy-name}", + "description": "Optional. The path to a binary authorization policy. Format: `projects/{project}/platforms/cloudRun/{policy-name}`", "type": "string" }, "useDefault": { @@ -3056,7 +3056,7 @@ "type": "object" }, "maxInstanceRequestConcurrency": { - "description": "Optional. Sets the maximum number of requests that each serving instance can receive. If not specified or 0, defaults to 80 when requested CPU >= 1 and defaults to 1 when requested CPU < 1.", + "description": "Optional. Sets the maximum number of requests that each serving instance can receive. If not specified or 0, defaults to 80 when requested `CPU >= 1` and defaults to 1 when requested `CPU < 1`.", "format": "int32", "type": "integer" }, @@ -3388,7 +3388,7 @@ "id": "GoogleCloudRunV2ServiceMesh", "properties": { "mesh": { - "description": "The Mesh resource name. Format: projects/{project}/locations/global/meshes/{mesh}, where {project} can be project id or number.", + "description": "The Mesh resource name. Format: `projects/{project}/locations/global/meshes/{mesh}`, where `{project}` can be project id or number.", "type": "string" } }, @@ -3472,7 +3472,7 @@ "type": "array" }, "workerPool": { - "description": "Optional. Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool.", + "description": "Optional. Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool.", "type": "string" } }, @@ -3921,7 +3921,7 @@ "id": "GoogleCloudRunV2VpcAccess", "properties": { "connector": { - "description": "VPC Access connector name. Format: projects/{project}/locations/{location}/connectors/{connector}, where {project} can be project id or number. For more information on sending traffic to a VPC network via a connector, visit https://cloud.google.com/run/docs/configuring/vpc-connectors.", + "description": "VPC Access connector name. Format: `projects/{project}/locations/{location}/connectors/{connector}`, where `{project}` can be project id or number. For more information on sending traffic to a VPC network via a connector, visit https://cloud.google.com/run/docs/configuring/vpc-connectors.", "type": "string" }, "egress": { 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 e56178250b..5a416ba881 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 @@ -319,7 +319,7 @@ public BuildsResource(Google.Apis.Services.IClientService service) /// The body of the request. /// /// Required. The project and location to build in. Location must be a region, e.g., 'us-central1' or - /// 'global' if the global builder is to be used. Format: projects/{project}/locations/{location} + /// 'global' if the global builder is to be used. Format: `projects/{project}/locations/{location}` /// public virtual SubmitRequest Submit(Google.Apis.CloudRun.v2.Data.GoogleCloudRunV2SubmitBuildRequest body, string parent) { @@ -339,7 +339,8 @@ public SubmitRequest(Google.Apis.Services.IClientService service, Google.Apis.Cl /// /// Required. The project and location to build in. Location must be a region, e.g., 'us-central1' - /// or 'global' if the global builder is to be used. Format: projects/{project}/locations/{location} + /// or 'global' if the global builder is to be used. Format: + /// `projects/{project}/locations/{location}` /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -3121,7 +3122,7 @@ public class GoogleCloudRunV2BinaryAuthorization : Google.Apis.Requests.IDirectR /// /// Optional. The path to a binary authorization policy. Format: - /// projects/{project}/platforms/cloudRun/{policy-name} + /// `projects/{project}/platforms/cloudRun/{policy-name}` /// [Newtonsoft.Json.JsonPropertyAttribute("policy")] public virtual string Policy { get; set; } @@ -5139,7 +5140,7 @@ public class GoogleCloudRunV2RevisionTemplate : Google.Apis.Requests.IDirectResp /// /// Optional. Sets the maximum number of requests that each serving instance can receive. If not specified or 0, - /// defaults to 80 when requested CPU &gt;= 1 and defaults to 1 when requested CPU &lt; 1. + /// defaults to 80 when requested `CPU &gt;= 1` and defaults to 1 when requested `CPU &lt; 1`. /// [Newtonsoft.Json.JsonPropertyAttribute("maxInstanceRequestConcurrency")] public virtual System.Nullable MaxInstanceRequestConcurrency { get; set; } @@ -5642,8 +5643,8 @@ public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset public class GoogleCloudRunV2ServiceMesh : Google.Apis.Requests.IDirectResponseSchema { /// - /// The Mesh resource name. Format: projects/{project}/locations/global/meshes/{mesh}, where {project} can be - /// project id or number. + /// The Mesh resource name. Format: `projects/{project}/locations/global/meshes/{mesh}`, where `{project}` can + /// be project id or number. /// [Newtonsoft.Json.JsonPropertyAttribute("mesh")] public virtual string Mesh { get; set; } @@ -5730,9 +5731,9 @@ public class GoogleCloudRunV2SubmitBuildRequest : Google.Apis.Requests.IDirectRe /// /// Optional. Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format - /// of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and - /// {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the - /// short name of the worker pool. + /// of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and + /// `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is + /// the short name of the worker pool. /// [Newtonsoft.Json.JsonPropertyAttribute("workerPool")] public virtual string WorkerPool { get; set; } @@ -6420,8 +6421,8 @@ public class GoogleCloudRunV2VolumeMount : Google.Apis.Requests.IDirectResponseS public class GoogleCloudRunV2VpcAccess : Google.Apis.Requests.IDirectResponseSchema { /// - /// VPC Access connector name. Format: projects/{project}/locations/{location}/connectors/{connector}, where - /// {project} can be project id or number. For more information on sending traffic to a VPC network via a + /// VPC Access connector name. Format: `projects/{project}/locations/{location}/connectors/{connector}`, where + /// `{project}` can be project id or number. For more information on sending traffic to a VPC network via a /// connector, visit https://cloud.google.com/run/docs/configuring/vpc-connectors. /// [Newtonsoft.Json.JsonPropertyAttribute("connector")] 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 27e12d00f1..ea946a1cd9 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.68.0.3557 + 1.68.0.3564 Google LLC Copyright 2024 Google LLC Google From dcbf43a8fdd627d90d11f15aab1697aaa3bf87d5 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:13:50 -0700 Subject: [PATCH 62/78] feat: Generate Google.Apis.SecurityCommandCenter.v1beta2 version 1.68.0.3564 --- DiscoveryJson/securitycenter.v1beta2.json | 25 +++++++++++- ...ogle.Apis.SecurityCommandCenter.v1beta2.cs | 39 +++++++++++++++++++ ....Apis.SecurityCommandCenter.v1beta2.csproj | 2 +- 3 files changed, 64 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/securitycenter.v1beta2.json b/DiscoveryJson/securitycenter.v1beta2.json index 1f663e629f..db0d7caa67 100644 --- a/DiscoveryJson/securitycenter.v1beta2.json +++ b/DiscoveryJson/securitycenter.v1beta2.json @@ -1993,7 +1993,7 @@ } } }, - "revision": "20240918", + "revision": "20241004", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { @@ -2291,6 +2291,10 @@ "description": "Represents an Azure resource group.", "id": "AzureResourceGroup", "properties": { + "id": { + "description": "The ID of the Azure resource group.", + "type": "string" + }, "name": { "description": "The name of the Azure resource group. This is not a UUID.", "type": "string" @@ -2385,6 +2389,17 @@ }, "type": "object" }, + "CelPolicySpec": { + "description": "YAML-based rule that uses CEL, which supports the declaration of variables and a filtering predicate. A vulnerable resource is emitted if the evaluation is false. Given: 1) the resource types as: - resource_types: \"compute.googleapis.com/Instance\" - resource_types: \"compute.googleapis.com/Firewall\" 2) the CEL policy spec as: name: bad_instance resource_filters: - name: instance resource_type: compute.googleapis.com/Instance filter: > instance.status == 'RUNNING' && 'public' in instance.tags.items - name: firewall resource_type: compute.googleapis.com/Firewall filter: > firewall.direction == 'INGRESS' && !firewall.disabled && firewall.allowed.exists(rule, rule.IPProtocol.upperAscii() in ['TCP', 'ALL'] && rule.ports.exists(port, network.portsInRange(port, '11-256'))) rule: match: - predicate: > instance.networkInterfaces.exists(net, firewall.network == net.network) output: > {'message': 'Compute instance with publicly accessible ports', 'instance': instance.name} Users are able to join resource types together using the exact format as Kubernetes Validating Admission policies.", + "id": "CelPolicySpec", + "properties": { + "spec": { + "description": "The CEL policy to evaluate to produce findings. A finding is generated when the policy validation evaluates to false.", + "type": "string" + } + }, + "type": "object" + }, "CloudArmor": { "description": "Fields related to Google Cloud Armor findings.", "id": "CloudArmor", @@ -3782,6 +3797,10 @@ "description": "Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify.", "id": "GoogleCloudSecuritycenterV1CustomConfig", "properties": { + "celPolicy": { + "$ref": "CelPolicySpec", + "description": "The CEL policy spec attached to the custom module." + }, "customOutput": { "$ref": "GoogleCloudSecuritycenterV1CustomOutputSpec", "description": "Custom output properties." @@ -4864,6 +4883,10 @@ "description": "Represents an Azure resource group.", "id": "GoogleCloudSecuritycenterV2AzureResourceGroup", "properties": { + "id": { + "description": "The ID of the Azure resource group.", + "type": "string" + }, "name": { "description": "The name of the Azure resource group. This is not a UUID.", "type": "string" diff --git a/Src/Generated/Google.Apis.SecurityCommandCenter.v1beta2/Google.Apis.SecurityCommandCenter.v1beta2.cs b/Src/Generated/Google.Apis.SecurityCommandCenter.v1beta2/Google.Apis.SecurityCommandCenter.v1beta2.cs index 9a09b9f14c..3548201cc1 100644 --- a/Src/Generated/Google.Apis.SecurityCommandCenter.v1beta2/Google.Apis.SecurityCommandCenter.v1beta2.cs +++ b/Src/Generated/Google.Apis.SecurityCommandCenter.v1beta2/Google.Apis.SecurityCommandCenter.v1beta2.cs @@ -5486,6 +5486,10 @@ public class AzureMetadata : Google.Apis.Requests.IDirectResponseSchema /// Represents an Azure resource group. public class AzureResourceGroup : Google.Apis.Requests.IDirectResponseSchema { + /// The ID of the Azure resource group. + [Newtonsoft.Json.JsonPropertyAttribute("id")] + public virtual string Id { get; set; } + /// The name of the Azure resource group. This is not a UUID. [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -5643,6 +5647,33 @@ public virtual System.DateTimeOffset? BackupCreateTimeDateTimeOffset public virtual string ETag { get; set; } } + /// + /// YAML-based rule that uses CEL, which supports the declaration of variables and a filtering predicate. A + /// vulnerable resource is emitted if the evaluation is false. Given: 1) the resource types as: - resource_types: + /// "compute.googleapis.com/Instance" - resource_types: "compute.googleapis.com/Firewall" 2) the CEL policy spec as: + /// name: bad_instance resource_filters: - name: instance resource_type: compute.googleapis.com/Instance filter: + /// &gt; instance.status == 'RUNNING' &amp;&amp; 'public' in instance.tags.items - name: firewall + /// resource_type: compute.googleapis.com/Firewall filter: &gt; firewall.direction == 'INGRESS' + /// &amp;&amp; !firewall.disabled &amp;&amp; firewall.allowed.exists(rule, + /// rule.IPProtocol.upperAscii() in ['TCP', 'ALL'] &amp;&amp; rule.ports.exists(port, + /// network.portsInRange(port, '11-256'))) rule: match: - predicate: &gt; instance.networkInterfaces.exists(net, + /// firewall.network == net.network) output: &gt; {'message': 'Compute instance with publicly accessible ports', + /// 'instance': instance.name} Users are able to join resource types together using the exact format as Kubernetes + /// Validating Admission policies. + /// + public class CelPolicySpec : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The CEL policy to evaluate to produce findings. A finding is generated when the policy validation evaluates + /// to false. + /// + [Newtonsoft.Json.JsonPropertyAttribute("spec")] + public virtual string Spec { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Fields related to Google Cloud Armor findings. public class CloudArmor : Google.Apis.Requests.IDirectResponseSchema { @@ -7501,6 +7532,10 @@ public class GoogleCloudSecuritycenterV1BulkMuteFindingsResponse : Google.Apis.R /// public class GoogleCloudSecuritycenterV1CustomConfig : Google.Apis.Requests.IDirectResponseSchema { + /// The CEL policy spec attached to the custom module. + [Newtonsoft.Json.JsonPropertyAttribute("celPolicy")] + public virtual CelPolicySpec CelPolicy { get; set; } + /// Custom output properties. [Newtonsoft.Json.JsonPropertyAttribute("customOutput")] public virtual GoogleCloudSecuritycenterV1CustomOutputSpec CustomOutput { get; set; } @@ -9066,6 +9101,10 @@ public class GoogleCloudSecuritycenterV2AzureMetadata : Google.Apis.Requests.IDi /// Represents an Azure resource group. public class GoogleCloudSecuritycenterV2AzureResourceGroup : Google.Apis.Requests.IDirectResponseSchema { + /// The ID of the Azure resource group. + [Newtonsoft.Json.JsonPropertyAttribute("id")] + public virtual string Id { get; set; } + /// The name of the Azure resource group. This is not a UUID. [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } diff --git a/Src/Generated/Google.Apis.SecurityCommandCenter.v1beta2/Google.Apis.SecurityCommandCenter.v1beta2.csproj b/Src/Generated/Google.Apis.SecurityCommandCenter.v1beta2/Google.Apis.SecurityCommandCenter.v1beta2.csproj index fcb18058b6..8d0b0fd707 100644 --- a/Src/Generated/Google.Apis.SecurityCommandCenter.v1beta2/Google.Apis.SecurityCommandCenter.v1beta2.csproj +++ b/Src/Generated/Google.Apis.SecurityCommandCenter.v1beta2/Google.Apis.SecurityCommandCenter.v1beta2.csproj @@ -3,7 +3,7 @@ Google.Apis.SecurityCommandCenter.v1beta2 Client Library - 1.68.0.3548 + 1.68.0.3564 Google LLC Copyright 2024 Google LLC Google From 39f642040dc870082d5534ad358072cf1afe6118 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:13:53 -0700 Subject: [PATCH 63/78] feat: Generate Google.Apis.Sheets.v4 version 1.68.0.3561 --- DiscoveryJson/sheets.v4.json | 4 ++-- Src/Generated/Google.Apis.Sheets.v4/Google.Apis.Sheets.v4.cs | 2 +- .../Google.Apis.Sheets.v4/Google.Apis.Sheets.v4.csproj | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/sheets.v4.json b/DiscoveryJson/sheets.v4.json index 294feaebf9..4b25e9a628 100644 --- a/DiscoveryJson/sheets.v4.json +++ b/DiscoveryJson/sheets.v4.json @@ -870,7 +870,7 @@ } } }, - "revision": "20240917", + "revision": "20241001", "rootUrl": "https://sheets.googleapis.com/", "schemas": { "AddBandingRequest": { @@ -4195,7 +4195,7 @@ "type": "string" }, "visibility": { - "description": "Limits the selected developer metadata to that which has a matching DeveloperMetadata.visibility. If left unspecified, all developer metadata visibile to the requesting project is considered.", + "description": "Limits the selected developer metadata to that which has a matching DeveloperMetadata.visibility. If left unspecified, all developer metadata visible to the requesting project is considered.", "enum": [ "DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED", "DOCUMENT", diff --git a/Src/Generated/Google.Apis.Sheets.v4/Google.Apis.Sheets.v4.cs b/Src/Generated/Google.Apis.Sheets.v4/Google.Apis.Sheets.v4.cs index 0e12c85eec..d3658ec8a2 100644 --- a/Src/Generated/Google.Apis.Sheets.v4/Google.Apis.Sheets.v4.cs +++ b/Src/Generated/Google.Apis.Sheets.v4/Google.Apis.Sheets.v4.cs @@ -5079,7 +5079,7 @@ public class DeveloperMetadataLookup : Google.Apis.Requests.IDirectResponseSchem /// /// Limits the selected developer metadata to that which has a matching DeveloperMetadata.visibility. If left - /// unspecified, all developer metadata visibile to the requesting project is considered. + /// unspecified, all developer metadata visible to the requesting project is considered. /// [Newtonsoft.Json.JsonPropertyAttribute("visibility")] public virtual string Visibility { get; set; } diff --git a/Src/Generated/Google.Apis.Sheets.v4/Google.Apis.Sheets.v4.csproj b/Src/Generated/Google.Apis.Sheets.v4/Google.Apis.Sheets.v4.csproj index 0b1e46d336..70a92330c8 100644 --- a/Src/Generated/Google.Apis.Sheets.v4/Google.Apis.Sheets.v4.csproj +++ b/Src/Generated/Google.Apis.Sheets.v4/Google.Apis.Sheets.v4.csproj @@ -3,7 +3,7 @@ Google.Apis.Sheets.v4 Client Library - 1.68.0.3547 + 1.68.0.3561 Google LLC Copyright 2024 Google LLC Google From 0bb35457aa755d9d365a345e12218733e23c4788 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:13:56 -0700 Subject: [PATCH 64/78] feat: Generate Google.Apis.Spanner.v1 version 1.68.0.3560 --- DiscoveryJson/spanner.v1.json | 22 ++++++++++++++++++- .../Google.Apis.Spanner.v1.csproj | 2 +- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/spanner.v1.json b/DiscoveryJson/spanner.v1.json index 53aa9378f1..66ac3ec2ce 100644 --- a/DiscoveryJson/spanner.v1.json +++ b/DiscoveryJson/spanner.v1.json @@ -22,6 +22,11 @@ "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/spanner/", "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://spanner.europe-west8.rep.googleapis.com/", + "location": "europe-west8" + }, { "description": "Regional Endpoint", "endpointUrl": "https://spanner.me-central2.rep.googleapis.com/", @@ -47,15 +52,30 @@ "endpointUrl": "https://spanner.us-east5.rep.googleapis.com/", "location": "us-east5" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://spanner.us-south1.rep.googleapis.com/", + "location": "us-south1" + }, { "description": "Regional Endpoint", "endpointUrl": "https://spanner.us-west1.rep.googleapis.com/", "location": "us-west1" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://spanner.us-west2.rep.googleapis.com/", + "location": "us-west2" + }, { "description": "Regional Endpoint", "endpointUrl": "https://spanner.us-west4.rep.googleapis.com/", "location": "us-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://spanner.us-west8.rep.googleapis.com/", + "location": "us-west8" } ], "fullyEncodeReservedExpansion": true, @@ -3284,7 +3304,7 @@ } } }, - "revision": "20240918", + "revision": "20240930", "rootUrl": "https://spanner.googleapis.com/", "schemas": { "AutoscalingConfig": { diff --git a/Src/Generated/Google.Apis.Spanner.v1/Google.Apis.Spanner.v1.csproj b/Src/Generated/Google.Apis.Spanner.v1/Google.Apis.Spanner.v1.csproj index 95d9d24af9..a6d3d52b94 100644 --- a/Src/Generated/Google.Apis.Spanner.v1/Google.Apis.Spanner.v1.csproj +++ b/Src/Generated/Google.Apis.Spanner.v1/Google.Apis.Spanner.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Spanner.v1 Client Library - 1.68.0.3548 + 1.68.0.3560 Google LLC Copyright 2024 Google LLC Google From f6ba338f1b7ff5d1250efc19d7a803ff405a4bd1 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:13:59 -0700 Subject: [PATCH 65/78] feat: Generate Google.Apis.SQLAdmin.v1 version 1.68.0.3564 --- DiscoveryJson/sqladmin.v1.json | 99 +++++----- .../Google.Apis.SQLAdmin.v1.cs | 178 ++++++------------ .../Google.Apis.SQLAdmin.v1.csproj | 2 +- 3 files changed, 97 insertions(+), 182 deletions(-) diff --git a/DiscoveryJson/sqladmin.v1.json b/DiscoveryJson/sqladmin.v1.json index 971b0ebc76..b94f6845a7 100644 --- a/DiscoveryJson/sqladmin.v1.json +++ b/DiscoveryJson/sqladmin.v1.json @@ -641,7 +641,7 @@ ] }, "RotateServerCertificate": { - "description": "Rotates the server certificate version to one previously added with the addServerCertificate method. For instances not using Certificate Authority Service (CAS) server CA, please use RotateServerCa instead.", + "description": "Rotates the server certificate version to one previously added with the addServerCertificate method. For instances not using Certificate Authority Service (CAS) server CA, use RotateServerCa instead.", "flatPath": "v1/projects/{project}/instances/{instance}/rotateServerCertificate", "httpMethod": "POST", "id": "sql.instances.RotateServerCertificate", @@ -711,7 +711,7 @@ ] }, "addServerCa": { - "description": "Adds a new trusted Certificate Authority (CA) version for the specified instance. Required to prepare for a certificate rotation. If a CA version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one CA version waiting to be rotated in. For instances that have enabled Certificate Authority Service (CAS) based server CA, please use AddServerCertificate to add a new server certificate.", + "description": "Adds a new trusted Certificate Authority (CA) version for the specified instance. Required to prepare for a certificate rotation. If a CA version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one CA version waiting to be rotated in. For instances that have enabled Certificate Authority Service (CAS) based server CA, use AddServerCertificate to add a new server certificate.", "flatPath": "v1/projects/{project}/instances/{instance}/addServerCa", "httpMethod": "POST", "id": "sql.instances.addServerCa", @@ -743,7 +743,7 @@ ] }, "addServerCertificate": { - "description": "Add a new trusted server certificate version for the specified instance using Certificate Authority Service (CAS) server CA. Required to prepare for a certificate rotation. If a server certificate version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one certificate version waiting to be rotated in. For instances not using CAS server CA, please use AddServerCa instead.", + "description": "Add a new trusted server certificate version for the specified instance using Certificate Authority Service (CAS) server CA. Required to prepare for a certificate rotation. If a server certificate version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one certificate version waiting to be rotated in. For instances not using CAS server CA, use AddServerCa instead.", "flatPath": "v1/projects/{project}/instances/{instance}/addServerCertificate", "httpMethod": "POST", "id": "sql.instances.addServerCertificate", @@ -819,28 +819,6 @@ "instance" ], "parameters": { - "enableFinalBackup": { - "description": "Flag to opt-in for final backup. By default, it is turned off.", - "location": "query", - "type": "boolean" - }, - "finalBackupDescription": { - "description": "Optional. The description of the final backup.", - "location": "query", - "type": "string" - }, - "finalBackupExpiryTime": { - "description": "Optional. Final Backup expiration time. Timestamp in UTC of when this resource is considered expired.", - "format": "google-datetime", - "location": "query", - "type": "string" - }, - "finalBackupTtlDays": { - "description": "Optional. Retention period of the final backup.", - "format": "int64", - "location": "query", - "type": "string" - }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", @@ -1408,7 +1386,7 @@ ] }, "rotateServerCa": { - "description": "Rotates the server certificate to one signed by the Certificate Authority (CA) version previously added with the addServerCA method. For instances that have enabled Certificate Authority Service (CAS) based server CA, please use RotateServerCertificate to rotate the server certificate.", + "description": "Rotates the server certificate to one signed by the Certificate Authority (CA) version previously added with the addServerCA method. For instances that have enabled Certificate Authority Service (CAS) based server CA, use RotateServerCertificate to rotate the server certificate.", "flatPath": "v1/projects/{project}/instances/{instance}/rotateServerCa", "httpMethod": "POST", "id": "sql.instances.rotateServerCa", @@ -1691,11 +1669,6 @@ "project" ], "parameters": { - "filter": { - "description": "Optional. A filter string that follows the rules of EBNF grammar (https://google.aip.dev/assets/misc/ebnf-filtering.txt). Cloud SQL provides filters for status, operationType, and startTime.", - "location": "query", - "type": "string" - }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "query", @@ -2393,7 +2366,7 @@ } } }, - "revision": "20240925", + "revision": "20241004", "rootUrl": "https://sqladmin.googleapis.com/", "schemas": { "AclEntry": { @@ -2583,10 +2556,6 @@ "kind": { "description": "This is always `sql#backupContext`.", "type": "string" - }, - "name": { - "description": "The name of the backup. Format: projects/{project}/backups/{backup}", - "type": "string" } }, "type": "object" @@ -2654,8 +2623,8 @@ ], "enumDescriptions": [ "This is an unknown BackupKind.", - "The snapshot based backups", - "Physical backups" + "Snapshot-based backups.", + "Physical backups." ], "type": "string" }, @@ -4628,17 +4597,9 @@ "description": "Database instance restore backup request.", "id": "InstancesRestoreBackupRequest", "properties": { - "backup": { - "description": "The name of the backup to restore from in following format: projects/{project-id}/backups/{backup-uid} Only one of restore_backup_context or backup can be passed to the input.", - "type": "string" - }, "restoreBackupContext": { "$ref": "RestoreBackupContext", "description": "Parameters required to perform the restore backup operation." - }, - "restoreInstanceSettings": { - "$ref": "DatabaseInstance", - "description": "Optional. Restore instance settings overrides the instance settings stored as part of the backup. Instance's major database version cannot be changed and the disk size can only be increased. This feature is only available for restores to new instances using the backup name." } }, "type": "object" @@ -4719,7 +4680,7 @@ "GOOGLE_MANAGED_CAS_CA" ], "enumDescriptions": [ - "CA mode is unknown.", + "CA mode is unspecified. It is effectively the same as `GOOGLE_MANAGED_INTERNAL_CA`.", "Google-managed self-signed internal CA.", "Google-managed regional CA part of root CA hierarchy hosted on Google Cloud's Certificate Authority Service (CAS)." ], @@ -5037,7 +4998,6 @@ "AUTO_RESTART", "REENCRYPT", "SWITCHOVER", - "UPDATE_BACKUP", "ACQUIRE_SSRS_LEASE", "RELEASE_SSRS_LEASE", "RECONFIGURE_OLD_PRIMARY", @@ -5089,7 +5049,6 @@ false, false, false, - false, true, true, false, @@ -5135,7 +5094,6 @@ "Performs auto-restart of an HA-enabled Cloud SQL database for auto recovery.", "Re-encrypts CMEK instances with latest key version.", "Switches the roles of the primary and replica pair. The target instance should be the replica.", - "Update a backup.", "Acquire a lease for the setup of SQL Server Reporting Services (SSRS).", "Release a lease for the setup of SQL Server Reporting Services (SSRS).", "Reconfigures old primary after a promote replica operation. Effect of a promote operation to the old primary is executed in this operation, asynchronously from the promote replica operation executed to the replica.", @@ -5288,13 +5246,6 @@ "nextPageToken": { "description": "The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.", "type": "string" - }, - "warnings": { - "description": "List of warnings that occurred while handling the request.", - "items": { - "$ref": "ApiWarning" - }, - "type": "array" } }, "type": "object" @@ -5374,6 +5325,33 @@ }, "type": "object" }, + "PscAutoConnectionConfig": { + "description": "Settings for an automatically-setup Private Service Connect consumer endpoint that is used to connect to a Cloud SQL instance.", + "id": "PscAutoConnectionConfig", + "properties": { + "consumerNetwork": { + "description": "The consumer network of this consumer endpoint. This must be a resource path that includes both the host project and the network name. For example, `projects/project1/global/networks/network1`. The consumer host project of this network might be different from the consumer service project.", + "type": "string" + }, + "consumerNetworkStatus": { + "description": "The connection policy status of the consumer network.", + "type": "string" + }, + "consumerProject": { + "description": "This is the project ID of consumer service project of this consumer endpoint. Optional. This is only applicable if consumer_network is a shared vpc network.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address of the consumer endpoint.", + "type": "string" + }, + "status": { + "description": "The connection status of the consumer endpoint.", + "type": "string" + } + }, + "type": "object" + }, "PscConfig": { "description": "PSC settings for a Cloud SQL instance.", "id": "PscConfig", @@ -5385,6 +5363,13 @@ }, "type": "array" }, + "pscAutoConnections": { + "description": "Optional. The list of settings for requested Private Service Connect consumer endpoints that can be used to connect to this Cloud SQL instance.", + "items": { + "$ref": "PscAutoConnectionConfig" + }, + "type": "array" + }, "pscEnabled": { "description": "Whether PSC connectivity is enabled for this instance.", "type": "boolean" diff --git a/Src/Generated/Google.Apis.SQLAdmin.v1/Google.Apis.SQLAdmin.v1.cs b/Src/Generated/Google.Apis.SQLAdmin.v1/Google.Apis.SQLAdmin.v1.cs index 3ccc7f7d4d..a7073b1817 100644 --- a/Src/Generated/Google.Apis.SQLAdmin.v1/Google.Apis.SQLAdmin.v1.cs +++ b/Src/Generated/Google.Apis.SQLAdmin.v1/Google.Apis.SQLAdmin.v1.cs @@ -1426,7 +1426,7 @@ protected override void InitParameters() /// /// Rotates the server certificate version to one previously added with the addServerCertificate method. For - /// instances not using Certificate Authority Service (CAS) server CA, please use RotateServerCa instead. + /// instances not using Certificate Authority Service (CAS) server CA, use RotateServerCa instead. /// /// The body of the request. /// Required. Project ID of the project that contains the instance. @@ -1438,7 +1438,7 @@ public virtual RotateServerCertificateRequest RotateServerCertificate(Google.Api /// /// Rotates the server certificate version to one previously added with the addServerCertificate method. For - /// instances not using Certificate Authority Service (CAS) server CA, please use RotateServerCa instead. + /// instances not using Certificate Authority Service (CAS) server CA, use RotateServerCa instead. /// public class RotateServerCertificateRequest : SQLAdminBaseServiceRequest { @@ -1578,8 +1578,8 @@ protected override void InitParameters() /// Adds a new trusted Certificate Authority (CA) version for the specified instance. Required to prepare for a /// certificate rotation. If a CA version was previously added but never used in a certificate rotation, this /// operation replaces that version. There cannot be more than one CA version waiting to be rotated in. For - /// instances that have enabled Certificate Authority Service (CAS) based server CA, please use - /// AddServerCertificate to add a new server certificate. + /// instances that have enabled Certificate Authority Service (CAS) based server CA, use AddServerCertificate to + /// add a new server certificate. /// /// Project ID of the project that contains the instance. /// Cloud SQL instance ID. This does not include the project ID. @@ -1592,8 +1592,8 @@ public virtual AddServerCaRequest AddServerCa(string project, string instance) /// Adds a new trusted Certificate Authority (CA) version for the specified instance. Required to prepare for a /// certificate rotation. If a CA version was previously added but never used in a certificate rotation, this /// operation replaces that version. There cannot be more than one CA version waiting to be rotated in. For - /// instances that have enabled Certificate Authority Service (CAS) based server CA, please use - /// AddServerCertificate to add a new server certificate. + /// instances that have enabled Certificate Authority Service (CAS) based server CA, use AddServerCertificate to + /// add a new server certificate. /// public class AddServerCaRequest : SQLAdminBaseServiceRequest { @@ -1650,7 +1650,7 @@ protected override void InitParameters() /// (CAS) server CA. Required to prepare for a certificate rotation. If a server certificate version was /// previously added but never used in a certificate rotation, this operation replaces that version. There /// cannot be more than one certificate version waiting to be rotated in. For instances not using CAS server CA, - /// please use AddServerCa instead. + /// use AddServerCa instead. /// /// Project ID of the project that contains the instance. /// Cloud SQL instance ID. This does not include the project ID. @@ -1664,7 +1664,7 @@ public virtual AddServerCertificateRequest AddServerCertificate(string project, /// (CAS) server CA. Required to prepare for a certificate rotation. If a server certificate version was /// previously added but never used in a certificate rotation, this operation replaces that version. There /// cannot be more than one certificate version waiting to be rotated in. For instances not using CAS server CA, - /// please use AddServerCa instead. + /// use AddServerCa instead. /// public class AddServerCertificateRequest : SQLAdminBaseServiceRequest { @@ -1820,49 +1820,6 @@ public DeleteRequest(Google.Apis.Services.IClientService service, string project [Google.Apis.Util.RequestParameterAttribute("instance", Google.Apis.Util.RequestParameterType.Path)] public virtual string Instance { get; private set; } - /// Flag to opt-in for final backup. By default, it is turned off. - [Google.Apis.Util.RequestParameterAttribute("enableFinalBackup", Google.Apis.Util.RequestParameterType.Query)] - public virtual System.Nullable EnableFinalBackup { get; set; } - - /// Optional. The description of the final backup. - [Google.Apis.Util.RequestParameterAttribute("finalBackupDescription", Google.Apis.Util.RequestParameterType.Query)] - public virtual string FinalBackupDescription { get; set; } - - private object _finalBackupExpiryTime; - - /// - /// String representation of , formatted for inclusion in - /// the HTTP request. - /// - [Google.Apis.Util.RequestParameterAttribute("finalBackupExpiryTime", Google.Apis.Util.RequestParameterType.Query)] - public virtual string FinalBackupExpiryTimeRaw { get; private set; } - - /// representation of . - [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use FinalBackupExpiryTimeDateTimeOffset instead.")] - public virtual object FinalBackupExpiryTime - { - get => _finalBackupExpiryTime; - set - { - FinalBackupExpiryTimeRaw = Google.Apis.Util.Utilities.ConvertToString(value); - _finalBackupExpiryTime = value; - } - } - - public virtual System.DateTimeOffset? FinalBackupExpiryTimeDateTimeOffset - { - get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(FinalBackupExpiryTimeRaw); - set - { - FinalBackupExpiryTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); - _finalBackupExpiryTime = value; - } - } - - /// Optional. Retention period of the final backup. - [Google.Apis.Util.RequestParameterAttribute("finalBackupTtlDays", Google.Apis.Util.RequestParameterType.Query)] - public virtual System.Nullable FinalBackupTtlDays { get; set; } - /// Gets the method name. public override string MethodName => "delete"; @@ -1892,38 +1849,6 @@ protected override void InitParameters() DefaultValue = null, Pattern = null, }); - RequestParameters.Add("enableFinalBackup", new Google.Apis.Discovery.Parameter - { - Name = "enableFinalBackup", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("finalBackupDescription", new Google.Apis.Discovery.Parameter - { - Name = "finalBackupDescription", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("finalBackupExpiryTime", new Google.Apis.Discovery.Parameter - { - Name = "finalBackupExpiryTime", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("finalBackupTtlDays", new Google.Apis.Discovery.Parameter - { - Name = "finalBackupTtlDays", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); } } @@ -3046,7 +2971,7 @@ protected override void InitParameters() /// /// Rotates the server certificate to one signed by the Certificate Authority (CA) version previously added with /// the addServerCA method. For instances that have enabled Certificate Authority Service (CAS) based server CA, - /// please use RotateServerCertificate to rotate the server certificate. + /// use RotateServerCertificate to rotate the server certificate. /// /// The body of the request. /// Project ID of the project that contains the instance. @@ -3059,7 +2984,7 @@ public virtual RotateServerCaRequest RotateServerCa(Google.Apis.SQLAdmin.v1.Data /// /// Rotates the server certificate to one signed by the Certificate Authority (CA) version previously added with /// the addServerCA method. For instances that have enabled Certificate Authority Service (CAS) based server CA, - /// please use RotateServerCertificate to rotate the server certificate. + /// use RotateServerCertificate to rotate the server certificate. /// public class RotateServerCaRequest : SQLAdminBaseServiceRequest { @@ -3608,14 +3533,6 @@ public ListRequest(Google.Apis.Services.IClientService service, string project) [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] public virtual string Project { get; private set; } - /// - /// Optional. A filter string that follows the rules of EBNF grammar - /// (https://google.aip.dev/assets/misc/ebnf-filtering.txt). Cloud SQL provides filters for status, - /// operationType, and startTime. - /// - [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] - public virtual string Filter { get; set; } - /// Cloud SQL instance ID. This does not include the project ID. [Google.Apis.Util.RequestParameterAttribute("instance", Google.Apis.Util.RequestParameterType.Query)] public virtual string Instance { get; set; } @@ -3651,14 +3568,6 @@ protected override void InitParameters() DefaultValue = null, Pattern = null, }); - RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter - { - Name = "filter", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); RequestParameters.Add("instance", new Google.Apis.Discovery.Parameter { Name = "instance", @@ -5227,10 +5136,6 @@ public class BackupContext : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("kind")] public virtual string Kind { get; set; } - /// The name of the backup. Format: projects/{project}/backups/{backup} - [Newtonsoft.Json.JsonPropertyAttribute("name")] - public virtual string Name { get; set; } - /// The ETag of the item. public virtual string ETag { get; set; } } @@ -7163,25 +7068,10 @@ public class InstancesReencryptRequest : Google.Apis.Requests.IDirectResponseSch /// Database instance restore backup request. public class InstancesRestoreBackupRequest : Google.Apis.Requests.IDirectResponseSchema { - /// - /// The name of the backup to restore from in following format: projects/{project-id}/backups/{backup-uid} Only - /// one of restore_backup_context or backup can be passed to the input. - /// - [Newtonsoft.Json.JsonPropertyAttribute("backup")] - public virtual string Backup { get; set; } - /// Parameters required to perform the restore backup operation. [Newtonsoft.Json.JsonPropertyAttribute("restoreBackupContext")] public virtual RestoreBackupContext RestoreBackupContext { get; set; } - /// - /// Optional. Restore instance settings overrides the instance settings stored as part of the backup. Instance's - /// major database version cannot be changed and the disk size can only be increased. This feature is only - /// available for restores to new instances using the backup name. - /// - [Newtonsoft.Json.JsonPropertyAttribute("restoreInstanceSettings")] - public virtual DatabaseInstance RestoreInstanceSettings { get; set; } - /// The ETag of the item. public virtual string ETag { get; set; } } @@ -7888,10 +7778,6 @@ public class OperationsListResponse : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] public virtual string NextPageToken { get; set; } - /// List of warnings that occurred while handling the request. - [Newtonsoft.Json.JsonPropertyAttribute("warnings")] - public virtual System.Collections.Generic.IList Warnings { get; set; } - /// The ETag of the item. public virtual string ETag { get; set; } } @@ -7994,6 +7880,43 @@ public class PerformDiskShrinkContext : Google.Apis.Requests.IDirectResponseSche public virtual string ETag { get; set; } } + /// + /// Settings for an automatically-setup Private Service Connect consumer endpoint that is used to connect to a Cloud + /// SQL instance. + /// + public class PscAutoConnectionConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The consumer network of this consumer endpoint. This must be a resource path that includes both the host + /// project and the network name. For example, `projects/project1/global/networks/network1`. The consumer host + /// project of this network might be different from the consumer service project. + /// + [Newtonsoft.Json.JsonPropertyAttribute("consumerNetwork")] + public virtual string ConsumerNetwork { get; set; } + + /// The connection policy status of the consumer network. + [Newtonsoft.Json.JsonPropertyAttribute("consumerNetworkStatus")] + public virtual string ConsumerNetworkStatus { get; set; } + + /// + /// This is the project ID of consumer service project of this consumer endpoint. Optional. This is only + /// applicable if consumer_network is a shared vpc network. + /// + [Newtonsoft.Json.JsonPropertyAttribute("consumerProject")] + public virtual string ConsumerProject { get; set; } + + /// The IP address of the consumer endpoint. + [Newtonsoft.Json.JsonPropertyAttribute("ipAddress")] + public virtual string IpAddress { get; set; } + + /// The connection status of the consumer endpoint. + [Newtonsoft.Json.JsonPropertyAttribute("status")] + public virtual string Status { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// PSC settings for a Cloud SQL instance. public class PscConfig : Google.Apis.Requests.IDirectResponseSchema { @@ -8005,6 +7928,13 @@ public class PscConfig : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("allowedConsumerProjects")] public virtual System.Collections.Generic.IList AllowedConsumerProjects { get; set; } + /// + /// Optional. The list of settings for requested Private Service Connect consumer endpoints that can be used to + /// connect to this Cloud SQL instance. + /// + [Newtonsoft.Json.JsonPropertyAttribute("pscAutoConnections")] + public virtual System.Collections.Generic.IList PscAutoConnections { get; set; } + /// Whether PSC connectivity is enabled for this instance. [Newtonsoft.Json.JsonPropertyAttribute("pscEnabled")] public virtual System.Nullable PscEnabled { get; set; } diff --git a/Src/Generated/Google.Apis.SQLAdmin.v1/Google.Apis.SQLAdmin.v1.csproj b/Src/Generated/Google.Apis.SQLAdmin.v1/Google.Apis.SQLAdmin.v1.csproj index 9a00ba3c35..bee57905db 100644 --- a/Src/Generated/Google.Apis.SQLAdmin.v1/Google.Apis.SQLAdmin.v1.csproj +++ b/Src/Generated/Google.Apis.SQLAdmin.v1/Google.Apis.SQLAdmin.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.SQLAdmin.v1 Client Library - 1.68.0.3555 + 1.68.0.3564 Google LLC Copyright 2024 Google LLC Google From 16735695094eeda9e105fb6f579400d5de25cd86 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:14:02 -0700 Subject: [PATCH 66/78] feat: Generate Google.Apis.SQLAdmin.v1beta4 version 1.68.0.3564 --- DiscoveryJson/sqladmin.v1beta4.json | 89 ++++++------ .../Google.Apis.SQLAdmin.v1beta4.cs | 127 ++++++++---------- .../Google.Apis.SQLAdmin.v1beta4.csproj | 2 +- 3 files changed, 98 insertions(+), 120 deletions(-) diff --git a/DiscoveryJson/sqladmin.v1beta4.json b/DiscoveryJson/sqladmin.v1beta4.json index b49cffaae8..61ed8ad2d2 100644 --- a/DiscoveryJson/sqladmin.v1beta4.json +++ b/DiscoveryJson/sqladmin.v1beta4.json @@ -641,7 +641,7 @@ ] }, "RotateServerCertificate": { - "description": "Rotates the server certificate version to one previously added with the addServerCertificate method. For instances not using Certificate Authority Service (CAS) server CA, please use RotateServerCa instead.", + "description": "Rotates the server certificate version to one previously added with the addServerCertificate method. For instances not using Certificate Authority Service (CAS) server CA, use RotateServerCa instead.", "flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/rotateServerCertificate", "httpMethod": "POST", "id": "sql.instances.RotateServerCertificate", @@ -711,7 +711,7 @@ ] }, "addServerCa": { - "description": "Add a new trusted Certificate Authority (CA) version for the specified instance. Required to prepare for a certificate rotation. If a CA version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one CA version waiting to be rotated in. For instances that have enabled Certificate Authority Service (CAS) based server CA, please use AddServerCertificate to add a new server certificate.", + "description": "Add a new trusted Certificate Authority (CA) version for the specified instance. Required to prepare for a certificate rotation. If a CA version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one CA version waiting to be rotated in. For instances that have enabled Certificate Authority Service (CAS) based server CA, use AddServerCertificate to add a new server certificate.", "flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/addServerCa", "httpMethod": "POST", "id": "sql.instances.addServerCa", @@ -743,7 +743,7 @@ ] }, "addServerCertificate": { - "description": "Add a new trusted server certificate version for the specified instance using Certificate Authority Service (CAS) server CA. Required to prepare for a certificate rotation. If a server certificate version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one certificate version waiting to be rotated in. For instances not using CAS server CA, please use AddServerCa instead.", + "description": "Add a new trusted server certificate version for the specified instance using Certificate Authority Service (CAS) server CA. Required to prepare for a certificate rotation. If a server certificate version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one certificate version waiting to be rotated in. For instances not using CAS server CA, use AddServerCa instead.", "flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/addServerCertificate", "httpMethod": "POST", "id": "sql.instances.addServerCertificate", @@ -819,16 +819,6 @@ "instance" ], "parameters": { - "enableFinalBackup": { - "description": "Flag to opt-in for final backup. By default, it is turned off.", - "location": "query", - "type": "boolean" - }, - "finalBackupDescription": { - "description": "Optional. The description of the final backup.", - "location": "query", - "type": "string" - }, "finalBackupExpiryTime": { "description": "Optional. Final Backup expiration time. Timestamp in UTC of when this resource is considered expired.", "format": "google-datetime", @@ -1408,7 +1398,7 @@ ] }, "rotateServerCa": { - "description": "Rotates the server certificate to one signed by the Certificate Authority (CA) version previously added with the addServerCA method. For instances that have enabled Certificate Authority Service (CAS) based server CA, please use RotateServerCertificate to rotate the server certificate.", + "description": "Rotates the server certificate to one signed by the Certificate Authority (CA) version previously added with the addServerCA method. For instances that have enabled Certificate Authority Service (CAS) based server CA, use RotateServerCertificate to rotate the server certificate.", "flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/rotateServerCa", "httpMethod": "POST", "id": "sql.instances.rotateServerCa", @@ -1691,11 +1681,6 @@ "project" ], "parameters": { - "filter": { - "description": "Optional. A filter string that follows the rules of EBNF grammar (https://google.aip.dev/assets/misc/ebnf-filtering.txt). Cloud SQL provides filters for status, operationType, and startTime.", - "location": "query", - "type": "string" - }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "query", @@ -2393,7 +2378,7 @@ } } }, - "revision": "20240925", + "revision": "20241004", "rootUrl": "https://sqladmin.googleapis.com/", "schemas": { "AclEntry": { @@ -2583,10 +2568,6 @@ "kind": { "description": "This is always `sql#backupContext`.", "type": "string" - }, - "name": { - "description": "The name of the backup. Format: projects/{project}/backups/{backup}", - "type": "string" } }, "type": "object" @@ -2654,8 +2635,8 @@ ], "enumDescriptions": [ "This is an unknown BackupKind.", - "The snapshot based backups", - "Physical backups" + "Snapshot-based backups.", + "Physical backups." ], "type": "string" }, @@ -3064,7 +3045,7 @@ "GOOGLE_MANAGED_CAS_CA" ], "enumDescriptions": [ - "CA mode is unknown.", + "CA mode is unspecified. It is effectively the same as `GOOGLE_MANAGED_INTERNAL_CA`.", "Google-managed self-signed internal CA.", "Google-managed regional CA part of root CA hierarchy hosted on Google Cloud's Certificate Authority Service (CAS)." ], @@ -4629,17 +4610,9 @@ "description": "Database instance restore backup request.", "id": "InstancesRestoreBackupRequest", "properties": { - "backup": { - "description": "The name of the backup to restore from in following format: projects/{project-id}/backups/{backup-uid} Only one of restore_backup_context or backup can be passed to the input.", - "type": "string" - }, "restoreBackupContext": { "$ref": "RestoreBackupContext", "description": "Parameters required to perform the restore backup operation." - }, - "restoreInstanceSettings": { - "$ref": "DatabaseInstance", - "description": "Optional. Restore instance settings overrides the instance settings stored as part of the backup. Instance's major database version cannot be changed and the disk size can only be increased. This feature is only available for restores to new instances using the backup name." } }, "type": "object" @@ -4720,7 +4693,7 @@ "GOOGLE_MANAGED_CAS_CA" ], "enumDescriptions": [ - "CA mode is unknown.", + "CA mode is unspecified. It is effectively the same as `GOOGLE_MANAGED_INTERNAL_CA`.", "Google-managed self-signed internal CA.", "Google-managed regional CA part of root CA hierarchy hosted on Google Cloud's Certificate Authority Service (CAS)." ], @@ -5038,7 +5011,6 @@ "AUTO_RESTART", "REENCRYPT", "SWITCHOVER", - "UPDATE_BACKUP", "ACQUIRE_SSRS_LEASE", "RELEASE_SSRS_LEASE", "RECONFIGURE_OLD_PRIMARY", @@ -5090,7 +5062,6 @@ false, false, false, - false, true, true, false, @@ -5136,7 +5107,6 @@ "Performs auto-restart of an HA-enabled Cloud SQL database for auto recovery.", "Re-encrypts CMEK instances with latest key version.", "Switches the roles of the primary and replica pair. The target instance should be the replica.", - "Update a backup.", "Acquire a lease for the setup of SQL Server Reporting Services (SSRS).", "Release a lease for the setup of SQL Server Reporting Services (SSRS).", "Reconfigures old primary after a promote replica operation. Effect of a promote operation to the old primary is executed in this operation, asynchronously from the promote replica operation executed to the replica.", @@ -5289,13 +5259,6 @@ "nextPageToken": { "description": "The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.", "type": "string" - }, - "warnings": { - "description": "List of warnings that occurred while handling the request.", - "items": { - "$ref": "ApiWarning" - }, - "type": "array" } }, "type": "object" @@ -5375,6 +5338,33 @@ }, "type": "object" }, + "PscAutoConnectionConfig": { + "description": "Settings for an automatically-setup Private Service Connect consumer endpoint that is used to connect to a Cloud SQL instance.", + "id": "PscAutoConnectionConfig", + "properties": { + "consumerNetwork": { + "description": "The consumer network of this consumer endpoint. This must be a resource path that includes both the host project and the network name. For example, `projects/project1/global/networks/network1`. The consumer host project of this network might be different from the consumer service project.", + "type": "string" + }, + "consumerNetworkStatus": { + "description": "The connection policy status of the consumer network.", + "type": "string" + }, + "consumerProject": { + "description": "This is the project ID of consumer service project of this consumer endpoint. Optional. This is only applicable if consumer_network is a shared vpc network.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address of the consumer endpoint.", + "type": "string" + }, + "status": { + "description": "The connection status of the consumer endpoint.", + "type": "string" + } + }, + "type": "object" + }, "PscConfig": { "description": "PSC settings for a Cloud SQL instance.", "id": "PscConfig", @@ -5386,6 +5376,13 @@ }, "type": "array" }, + "pscAutoConnections": { + "description": "Optional. The list of settings for requested Private Service Connect consumer endpoints that can be used to connect to this Cloud SQL instance.", + "items": { + "$ref": "PscAutoConnectionConfig" + }, + "type": "array" + }, "pscEnabled": { "description": "Whether PSC connectivity is enabled for this instance.", "type": "boolean" diff --git a/Src/Generated/Google.Apis.SQLAdmin.v1beta4/Google.Apis.SQLAdmin.v1beta4.cs b/Src/Generated/Google.Apis.SQLAdmin.v1beta4/Google.Apis.SQLAdmin.v1beta4.cs index 6cdec46701..97a508d94c 100644 --- a/Src/Generated/Google.Apis.SQLAdmin.v1beta4/Google.Apis.SQLAdmin.v1beta4.cs +++ b/Src/Generated/Google.Apis.SQLAdmin.v1beta4/Google.Apis.SQLAdmin.v1beta4.cs @@ -1426,7 +1426,7 @@ protected override void InitParameters() /// /// Rotates the server certificate version to one previously added with the addServerCertificate method. For - /// instances not using Certificate Authority Service (CAS) server CA, please use RotateServerCa instead. + /// instances not using Certificate Authority Service (CAS) server CA, use RotateServerCa instead. /// /// The body of the request. /// Required. Project ID of the project that contains the instance. @@ -1438,7 +1438,7 @@ public virtual RotateServerCertificateRequest RotateServerCertificate(Google.Api /// /// Rotates the server certificate version to one previously added with the addServerCertificate method. For - /// instances not using Certificate Authority Service (CAS) server CA, please use RotateServerCa instead. + /// instances not using Certificate Authority Service (CAS) server CA, use RotateServerCa instead. /// public class RotateServerCertificateRequest : SQLAdminBaseServiceRequest { @@ -1576,8 +1576,8 @@ protected override void InitParameters() /// Add a new trusted Certificate Authority (CA) version for the specified instance. Required to prepare for a /// certificate rotation. If a CA version was previously added but never used in a certificate rotation, this /// operation replaces that version. There cannot be more than one CA version waiting to be rotated in. For - /// instances that have enabled Certificate Authority Service (CAS) based server CA, please use - /// AddServerCertificate to add a new server certificate. + /// instances that have enabled Certificate Authority Service (CAS) based server CA, use AddServerCertificate to + /// add a new server certificate. /// /// Project ID of the project that contains the instance. /// Cloud SQL instance ID. This does not include the project ID. @@ -1590,8 +1590,8 @@ public virtual AddServerCaRequest AddServerCa(string project, string instance) /// Add a new trusted Certificate Authority (CA) version for the specified instance. Required to prepare for a /// certificate rotation. If a CA version was previously added but never used in a certificate rotation, this /// operation replaces that version. There cannot be more than one CA version waiting to be rotated in. For - /// instances that have enabled Certificate Authority Service (CAS) based server CA, please use - /// AddServerCertificate to add a new server certificate. + /// instances that have enabled Certificate Authority Service (CAS) based server CA, use AddServerCertificate to + /// add a new server certificate. /// public class AddServerCaRequest : SQLAdminBaseServiceRequest { @@ -1648,7 +1648,7 @@ protected override void InitParameters() /// (CAS) server CA. Required to prepare for a certificate rotation. If a server certificate version was /// previously added but never used in a certificate rotation, this operation replaces that version. There /// cannot be more than one certificate version waiting to be rotated in. For instances not using CAS server CA, - /// please use AddServerCa instead. + /// use AddServerCa instead. /// /// Required. Project ID of the project that contains the instance. /// Required. Cloud SQL instance ID. This does not include the project ID. @@ -1662,7 +1662,7 @@ public virtual AddServerCertificateRequest AddServerCertificate(string project, /// (CAS) server CA. Required to prepare for a certificate rotation. If a server certificate version was /// previously added but never used in a certificate rotation, this operation replaces that version. There /// cannot be more than one certificate version waiting to be rotated in. For instances not using CAS server CA, - /// please use AddServerCa instead. + /// use AddServerCa instead. /// public class AddServerCertificateRequest : SQLAdminBaseServiceRequest { @@ -1818,14 +1818,6 @@ public DeleteRequest(Google.Apis.Services.IClientService service, string project [Google.Apis.Util.RequestParameterAttribute("instance", Google.Apis.Util.RequestParameterType.Path)] public virtual string Instance { get; private set; } - /// Flag to opt-in for final backup. By default, it is turned off. - [Google.Apis.Util.RequestParameterAttribute("enableFinalBackup", Google.Apis.Util.RequestParameterType.Query)] - public virtual System.Nullable EnableFinalBackup { get; set; } - - /// Optional. The description of the final backup. - [Google.Apis.Util.RequestParameterAttribute("finalBackupDescription", Google.Apis.Util.RequestParameterType.Query)] - public virtual string FinalBackupDescription { get; set; } - private object _finalBackupExpiryTime; /// @@ -1890,22 +1882,6 @@ protected override void InitParameters() DefaultValue = null, Pattern = null, }); - RequestParameters.Add("enableFinalBackup", new Google.Apis.Discovery.Parameter - { - Name = "enableFinalBackup", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("finalBackupDescription", new Google.Apis.Discovery.Parameter - { - Name = "finalBackupDescription", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); RequestParameters.Add("finalBackupExpiryTime", new Google.Apis.Discovery.Parameter { Name = "finalBackupExpiryTime", @@ -3046,7 +3022,7 @@ protected override void InitParameters() /// /// Rotates the server certificate to one signed by the Certificate Authority (CA) version previously added with /// the addServerCA method. For instances that have enabled Certificate Authority Service (CAS) based server CA, - /// please use RotateServerCertificate to rotate the server certificate. + /// use RotateServerCertificate to rotate the server certificate. /// /// The body of the request. /// Project ID of the project that contains the instance. @@ -3059,7 +3035,7 @@ public virtual RotateServerCaRequest RotateServerCa(Google.Apis.SQLAdmin.v1beta4 /// /// Rotates the server certificate to one signed by the Certificate Authority (CA) version previously added with /// the addServerCA method. For instances that have enabled Certificate Authority Service (CAS) based server CA, - /// please use RotateServerCertificate to rotate the server certificate. + /// use RotateServerCertificate to rotate the server certificate. /// public class RotateServerCaRequest : SQLAdminBaseServiceRequest { @@ -3608,14 +3584,6 @@ public ListRequest(Google.Apis.Services.IClientService service, string project) [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] public virtual string Project { get; private set; } - /// - /// Optional. A filter string that follows the rules of EBNF grammar - /// (https://google.aip.dev/assets/misc/ebnf-filtering.txt). Cloud SQL provides filters for status, - /// operationType, and startTime. - /// - [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] - public virtual string Filter { get; set; } - /// Cloud SQL instance ID. This does not include the project ID. [Google.Apis.Util.RequestParameterAttribute("instance", Google.Apis.Util.RequestParameterType.Query)] public virtual string Instance { get; set; } @@ -3651,14 +3619,6 @@ protected override void InitParameters() DefaultValue = null, Pattern = null, }); - RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter - { - Name = "filter", - IsRequired = false, - ParameterType = "query", - DefaultValue = null, - Pattern = null, - }); RequestParameters.Add("instance", new Google.Apis.Discovery.Parameter { Name = "instance", @@ -5227,10 +5187,6 @@ public class BackupContext : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("kind")] public virtual string Kind { get; set; } - /// The name of the backup. Format: projects/{project}/backups/{backup} - [Newtonsoft.Json.JsonPropertyAttribute("name")] - public virtual string Name { get; set; } - /// The ETag of the item. public virtual string ETag { get; set; } } @@ -7167,25 +7123,10 @@ public class InstancesReencryptRequest : Google.Apis.Requests.IDirectResponseSch /// Database instance restore backup request. public class InstancesRestoreBackupRequest : Google.Apis.Requests.IDirectResponseSchema { - /// - /// The name of the backup to restore from in following format: projects/{project-id}/backups/{backup-uid} Only - /// one of restore_backup_context or backup can be passed to the input. - /// - [Newtonsoft.Json.JsonPropertyAttribute("backup")] - public virtual string Backup { get; set; } - /// Parameters required to perform the restore backup operation. [Newtonsoft.Json.JsonPropertyAttribute("restoreBackupContext")] public virtual RestoreBackupContext RestoreBackupContext { get; set; } - /// - /// Optional. Restore instance settings overrides the instance settings stored as part of the backup. Instance's - /// major database version cannot be changed and the disk size can only be increased. This feature is only - /// available for restores to new instances using the backup name. - /// - [Newtonsoft.Json.JsonPropertyAttribute("restoreInstanceSettings")] - public virtual DatabaseInstance RestoreInstanceSettings { get; set; } - /// The ETag of the item. public virtual string ETag { get; set; } } @@ -7892,10 +7833,6 @@ public class OperationsListResponse : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] public virtual string NextPageToken { get; set; } - /// List of warnings that occurred while handling the request. - [Newtonsoft.Json.JsonPropertyAttribute("warnings")] - public virtual System.Collections.Generic.IList Warnings { get; set; } - /// The ETag of the item. public virtual string ETag { get; set; } } @@ -7998,6 +7935,43 @@ public class PerformDiskShrinkContext : Google.Apis.Requests.IDirectResponseSche public virtual string ETag { get; set; } } + /// + /// Settings for an automatically-setup Private Service Connect consumer endpoint that is used to connect to a Cloud + /// SQL instance. + /// + public class PscAutoConnectionConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The consumer network of this consumer endpoint. This must be a resource path that includes both the host + /// project and the network name. For example, `projects/project1/global/networks/network1`. The consumer host + /// project of this network might be different from the consumer service project. + /// + [Newtonsoft.Json.JsonPropertyAttribute("consumerNetwork")] + public virtual string ConsumerNetwork { get; set; } + + /// The connection policy status of the consumer network. + [Newtonsoft.Json.JsonPropertyAttribute("consumerNetworkStatus")] + public virtual string ConsumerNetworkStatus { get; set; } + + /// + /// This is the project ID of consumer service project of this consumer endpoint. Optional. This is only + /// applicable if consumer_network is a shared vpc network. + /// + [Newtonsoft.Json.JsonPropertyAttribute("consumerProject")] + public virtual string ConsumerProject { get; set; } + + /// The IP address of the consumer endpoint. + [Newtonsoft.Json.JsonPropertyAttribute("ipAddress")] + public virtual string IpAddress { get; set; } + + /// The connection status of the consumer endpoint. + [Newtonsoft.Json.JsonPropertyAttribute("status")] + public virtual string Status { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// PSC settings for a Cloud SQL instance. public class PscConfig : Google.Apis.Requests.IDirectResponseSchema { @@ -8009,6 +7983,13 @@ public class PscConfig : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("allowedConsumerProjects")] public virtual System.Collections.Generic.IList AllowedConsumerProjects { get; set; } + /// + /// Optional. The list of settings for requested Private Service Connect consumer endpoints that can be used to + /// connect to this Cloud SQL instance. + /// + [Newtonsoft.Json.JsonPropertyAttribute("pscAutoConnections")] + public virtual System.Collections.Generic.IList PscAutoConnections { get; set; } + /// Whether PSC connectivity is enabled for this instance. [Newtonsoft.Json.JsonPropertyAttribute("pscEnabled")] public virtual System.Nullable PscEnabled { get; set; } diff --git a/Src/Generated/Google.Apis.SQLAdmin.v1beta4/Google.Apis.SQLAdmin.v1beta4.csproj b/Src/Generated/Google.Apis.SQLAdmin.v1beta4/Google.Apis.SQLAdmin.v1beta4.csproj index c7bdd67446..716f8ab8f3 100644 --- a/Src/Generated/Google.Apis.SQLAdmin.v1beta4/Google.Apis.SQLAdmin.v1beta4.csproj +++ b/Src/Generated/Google.Apis.SQLAdmin.v1beta4/Google.Apis.SQLAdmin.v1beta4.csproj @@ -3,7 +3,7 @@ Google.Apis.SQLAdmin.v1beta4 Client Library - 1.68.0.3555 + 1.68.0.3564 Google LLC Copyright 2024 Google LLC Google From 6add24a4dcf1376181e8d55d195c888769ce915d Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:14:05 -0700 Subject: [PATCH 67/78] feat: Generate Google.Apis.Storage.v1 version 1.68.0.3568 --- DiscoveryJson/storage.v1.json | 53 ++++++++- .../Google.Apis.Storage.v1.cs | 112 ++++++++++++++++++ .../Google.Apis.Storage.v1.csproj | 2 +- 3 files changed, 164 insertions(+), 3 deletions(-) diff --git a/DiscoveryJson/storage.v1.json b/DiscoveryJson/storage.v1.json index 0800cc9613..ec72646115 100644 --- a/DiscoveryJson/storage.v1.json +++ b/DiscoveryJson/storage.v1.json @@ -93,7 +93,7 @@ "location": "us-west4" } ], - "etag": "\"3133363239393031373133303332303839383336\"", + "etag": "\"3132333635343336333933383332343134323139\"", "icons": { "x16": "https://www.google.com/images/icons/product/cloud_storage-16.png", "x32": "https://www.google.com/images/icons/product/cloud_storage-32.png" @@ -3869,6 +3869,38 @@ }, "operations": { "methods": { + "advanceRelocateBucket": { + "description": "Starts asynchronous advancement of the relocate bucket operation in the case of required write downtime, to allow it to lock the bucket at the source location, and proceed with the bucket location swap. The server makes a best effort to advance the relocate bucket operation, but success is not guaranteed.", + "httpMethod": "POST", + "id": "storage.buckets.operations.advanceRelocateBucket", + "parameterOrder": [ + "bucket", + "operationId" + ], + "parameters": { + "bucket": { + "description": "Name of the bucket to advance the relocate for.", + "location": "path", + "required": true, + "type": "string" + }, + "operationId": { + "description": "ID of the operation resource.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "b/{bucket}/operations/{operationId}/advanceRelocateBucket", + "request": { + "$ref": "AdvanceRelocateBucketOperationRequest" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/devstorage.full_control", + "https://www.googleapis.com/auth/devstorage.read_write" + ] + }, "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed.", "httpMethod": "POST", @@ -4224,9 +4256,26 @@ } } }, - "revision": "20240924", + "revision": "20241008", "rootUrl": "https://storage.googleapis.com/", "schemas": { + "AdvanceRelocateBucketOperationRequest": { + "description": "An AdvanceRelocateBucketOperation request.", + "id": "AdvanceRelocateBucketOperationRequest", + "properties": { + "expireTime": { + "description": "Specifies the time when the relocation will revert to the sync stage if the relocation hasn't succeeded.", + "format": "date-time", + "type": "string" + }, + "ttl": { + "description": "Specifies the duration after which the relocation will revert to the sync stage if the relocation hasn't succeeded. Optional, if not supplied, a default value of 12h will be used.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "AnywhereCache": { "description": "An Anywhere Cache instance.", "id": "AnywhereCache", diff --git a/Src/Generated/Google.Apis.Storage.v1/Google.Apis.Storage.v1.cs b/Src/Generated/Google.Apis.Storage.v1/Google.Apis.Storage.v1.cs index 56a28b4722..db5ab3918c 100644 --- a/Src/Generated/Google.Apis.Storage.v1/Google.Apis.Storage.v1.cs +++ b/Src/Generated/Google.Apis.Storage.v1/Google.Apis.Storage.v1.cs @@ -8571,6 +8571,81 @@ public OperationsResource(Google.Apis.Services.IClientService service) this.service = service; } + /// + /// Starts asynchronous advancement of the relocate bucket operation in the case of required write downtime, to + /// allow it to lock the bucket at the source location, and proceed with the bucket location swap. The server + /// makes a best effort to advance the relocate bucket operation, but success is not guaranteed. + /// + /// The body of the request. + /// Name of the bucket to advance the relocate for. + /// ID of the operation resource. + public virtual AdvanceRelocateBucketRequest AdvanceRelocateBucket(Google.Apis.Storage.v1.Data.AdvanceRelocateBucketOperationRequest body, string bucket, string operationId) + { + return new AdvanceRelocateBucketRequest(this.service, body, bucket, operationId); + } + + /// + /// Starts asynchronous advancement of the relocate bucket operation in the case of required write downtime, to + /// allow it to lock the bucket at the source location, and proceed with the bucket location swap. The server + /// makes a best effort to advance the relocate bucket operation, but success is not guaranteed. + /// + public class AdvanceRelocateBucketRequest : StorageBaseServiceRequest + { + /// Constructs a new AdvanceRelocateBucket request. + public AdvanceRelocateBucketRequest(Google.Apis.Services.IClientService service, Google.Apis.Storage.v1.Data.AdvanceRelocateBucketOperationRequest body, string bucket, string operationId) : base(service) + { + Bucket = bucket; + OperationId = operationId; + Body = body; + InitParameters(); + } + + /// Name of the bucket to advance the relocate for. + [Google.Apis.Util.RequestParameterAttribute("bucket", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Bucket { get; private set; } + + /// ID of the operation resource. + [Google.Apis.Util.RequestParameterAttribute("operationId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string OperationId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.Storage.v1.Data.AdvanceRelocateBucketOperationRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "advanceRelocateBucket"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "b/{bucket}/operations/{operationId}/advanceRelocateBucket"; + + /// Initializes AdvanceRelocateBucket parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("bucket", new Google.Apis.Discovery.Parameter + { + Name = "bucket", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("operationId", new Google.Apis.Discovery.Parameter + { + Name = "operationId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + } + } + /// /// Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the /// operation, but success is not guaranteed. @@ -9309,6 +9384,43 @@ protected override void InitParameters() } namespace Google.Apis.Storage.v1.Data { + /// An AdvanceRelocateBucketOperation request. + public class AdvanceRelocateBucketOperationRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Specifies the time when the relocation will revert to the sync stage if the relocation hasn't succeeded. + /// + [Newtonsoft.Json.JsonPropertyAttribute("expireTime")] + public virtual string ExpireTimeRaw { get; set; } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? ExpireTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseDateTimeToDateTimeOffset(ExpireTimeRaw); + set => ExpireTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToDateTime(value); + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use ExpireTimeDateTimeOffset instead.")] + public virtual System.DateTime? ExpireTime + { + get => Google.Apis.Util.Utilities.GetDateTimeFromString(ExpireTimeRaw); + set => ExpireTimeRaw = Google.Apis.Util.Utilities.GetStringFromDateTime(value); + } + + /// + /// Specifies the duration after which the relocation will revert to the sync stage if the relocation hasn't + /// succeeded. Optional, if not supplied, a default value of 12h will be used. + /// + [Newtonsoft.Json.JsonPropertyAttribute("ttl")] + public virtual object Ttl { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// An Anywhere Cache instance. public class AnywhereCache : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.Storage.v1/Google.Apis.Storage.v1.csproj b/Src/Generated/Google.Apis.Storage.v1/Google.Apis.Storage.v1.csproj index e080237ad9..ccc8490bbd 100644 --- a/Src/Generated/Google.Apis.Storage.v1/Google.Apis.Storage.v1.csproj +++ b/Src/Generated/Google.Apis.Storage.v1/Google.Apis.Storage.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Storage.v1 Client Library - 1.68.0.3554 + 1.68.0.3568 Google LLC Copyright 2024 Google LLC Google From a7526992b83396922ef2d1c18e618b557e422417 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:14:08 -0700 Subject: [PATCH 68/78] feat: Generate Google.Apis.Storagetransfer.v1 version 1.68.0.3565 --- DiscoveryJson/storagetransfer.v1.json | 10 +++++----- .../Google.Apis.Storagetransfer.v1.cs | 15 +++++++++------ .../Google.Apis.Storagetransfer.v1.csproj | 2 +- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/DiscoveryJson/storagetransfer.v1.json b/DiscoveryJson/storagetransfer.v1.json index 6ed0486637..4165d13bde 100644 --- a/DiscoveryJson/storagetransfer.v1.json +++ b/DiscoveryJson/storagetransfer.v1.json @@ -632,7 +632,7 @@ } } }, - "revision": "20240928", + "revision": "20241005", "rootUrl": "https://storagetransfer.googleapis.com/", "schemas": { "AgentPool": { @@ -1530,22 +1530,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/Src/Generated/Google.Apis.Storagetransfer.v1/Google.Apis.Storagetransfer.v1.cs b/Src/Generated/Google.Apis.Storagetransfer.v1/Google.Apis.Storagetransfer.v1.cs index 9ab95cf532..c7921fc954 100644 --- a/Src/Generated/Google.Apis.Storagetransfer.v1/Google.Apis.Storagetransfer.v1.cs +++ b/Src/Generated/Google.Apis.Storagetransfer.v1/Google.Apis.Storagetransfer.v1.cs @@ -2544,23 +2544,26 @@ public class Status : Google.Apis.Requests.IDirectResponseSchema public class TimeOfDay : Google.Apis.Requests.IDirectResponseSchema { /// - /// Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for - /// scenarios like business closing time. + /// Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or + /// equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. /// [Newtonsoft.Json.JsonPropertyAttribute("hours")] public virtual System.Nullable Hours { get; set; } - /// Minutes of hour of day. Must be from 0 to 59. + /// Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. [Newtonsoft.Json.JsonPropertyAttribute("minutes")] public virtual System.Nullable Minutes { get; set; } - /// Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + /// + /// Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to + /// 999,999,999. + /// [Newtonsoft.Json.JsonPropertyAttribute("nanos")] public virtual System.Nullable Nanos { get; set; } /// - /// Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows - /// leap-seconds. + /// Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An + /// API may allow the value 60 if it allows leap-seconds. /// [Newtonsoft.Json.JsonPropertyAttribute("seconds")] public virtual System.Nullable Seconds { get; set; } diff --git a/Src/Generated/Google.Apis.Storagetransfer.v1/Google.Apis.Storagetransfer.v1.csproj b/Src/Generated/Google.Apis.Storagetransfer.v1/Google.Apis.Storagetransfer.v1.csproj index bc66429d62..5ffafc1876 100644 --- a/Src/Generated/Google.Apis.Storagetransfer.v1/Google.Apis.Storagetransfer.v1.csproj +++ b/Src/Generated/Google.Apis.Storagetransfer.v1/Google.Apis.Storagetransfer.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Storagetransfer.v1 Client Library - 1.68.0.3558 + 1.68.0.3565 Google LLC Copyright 2024 Google LLC Google From ccdec1eee9c2b36852c1fb9b77e35a8556021a05 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:14:10 -0700 Subject: [PATCH 69/78] feat: Generate Google.Apis.TPU.v1 version 1.68.0.3569 --- DiscoveryJson/tpu.v1.json | 8 +++++--- .../Google.Apis.TPU.v1/Google.Apis.TPU.v1.csproj | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/tpu.v1.json b/DiscoveryJson/tpu.v1.json index 603dbc140d..b6c2847ea5 100644 --- a/DiscoveryJson/tpu.v1.json +++ b/DiscoveryJson/tpu.v1.json @@ -659,7 +659,7 @@ } } }, - "revision": "20230803", + "revision": "20241009", "rootUrl": "https://tpu.googleapis.com/", "schemas": { "AcceleratorType": { @@ -968,7 +968,8 @@ "TERMINATED", "HIDING", "HIDDEN", - "UNHIDING" + "UNHIDING", + "UNKNOWN" ], "enumDescriptions": [ "TPU node state is not known/set.", @@ -985,7 +986,8 @@ "TPU node has been terminated due to maintenance or has reached the end of its life cycle (for preemptible nodes).", "TPU node is currently hiding.", "TPU node has been hidden.", - "TPU node is currently unhiding." + "TPU node is currently unhiding.", + "TPU node has unknown state after a failed repair." ], "readOnly": true, "type": "string" diff --git a/Src/Generated/Google.Apis.TPU.v1/Google.Apis.TPU.v1.csproj b/Src/Generated/Google.Apis.TPU.v1/Google.Apis.TPU.v1.csproj index ad7dba69c5..1d93608394 100644 --- a/Src/Generated/Google.Apis.TPU.v1/Google.Apis.TPU.v1.csproj +++ b/Src/Generated/Google.Apis.TPU.v1/Google.Apis.TPU.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.TPU.v1 Client Library - 1.68.0.3136 + 1.68.0.3569 Google LLC Copyright 2024 Google LLC Google From 1b42645e143fe93df6745d75c00b540820ccd587 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:14:13 -0700 Subject: [PATCH 70/78] feat: Generate Google.Apis.TPU.v1alpha1 version 1.68.0.3569 --- DiscoveryJson/tpu.v1alpha1.json | 8 +++++--- .../Google.Apis.TPU.v1alpha1.csproj | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/tpu.v1alpha1.json b/DiscoveryJson/tpu.v1alpha1.json index 681b0d24d2..ef7a9350bc 100644 --- a/DiscoveryJson/tpu.v1alpha1.json +++ b/DiscoveryJson/tpu.v1alpha1.json @@ -669,7 +669,7 @@ } } }, - "revision": "20230803", + "revision": "20241009", "rootUrl": "https://tpu.googleapis.com/", "schemas": { "AcceleratorType": { @@ -978,7 +978,8 @@ "TERMINATED", "HIDING", "HIDDEN", - "UNHIDING" + "UNHIDING", + "UNKNOWN" ], "enumDescriptions": [ "TPU node state is not known/set.", @@ -995,7 +996,8 @@ "TPU node has been terminated due to maintenance or has reached the end of its life cycle (for preemptible nodes).", "TPU node is currently hiding.", "TPU node has been hidden.", - "TPU node is currently unhiding." + "TPU node is currently unhiding.", + "TPU node has unknown state after a failed repair." ], "readOnly": true, "type": "string" diff --git a/Src/Generated/Google.Apis.TPU.v1alpha1/Google.Apis.TPU.v1alpha1.csproj b/Src/Generated/Google.Apis.TPU.v1alpha1/Google.Apis.TPU.v1alpha1.csproj index f015b2b5b7..a7a134e540 100644 --- a/Src/Generated/Google.Apis.TPU.v1alpha1/Google.Apis.TPU.v1alpha1.csproj +++ b/Src/Generated/Google.Apis.TPU.v1alpha1/Google.Apis.TPU.v1alpha1.csproj @@ -3,7 +3,7 @@ Google.Apis.TPU.v1alpha1 Client Library - 1.68.0.3136 + 1.68.0.3569 Google LLC Copyright 2024 Google LLC Google From 8f1c619e10d768aae616da5d67431caa9d09bdf9 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:14:16 -0700 Subject: [PATCH 71/78] feat: Generate Google.Apis.TPU.v2 version 1.68.0.3569 --- DiscoveryJson/tpu.v2.json | 8 +++++--- .../Google.Apis.TPU.v2/Google.Apis.TPU.v2.csproj | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/tpu.v2.json b/DiscoveryJson/tpu.v2.json index a42a149c45..dff6ce49cc 100644 --- a/DiscoveryJson/tpu.v2.json +++ b/DiscoveryJson/tpu.v2.json @@ -887,7 +887,7 @@ } } }, - "revision": "20240530", + "revision": "20241009", "rootUrl": "https://tpu.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -1537,7 +1537,8 @@ "TERMINATED", "HIDING", "HIDDEN", - "UNHIDING" + "UNHIDING", + "UNKNOWN" ], "enumDescriptions": [ "TPU node state is not known/set.", @@ -1554,7 +1555,8 @@ "TPU node has been terminated due to maintenance or has reached the end of its life cycle (for preemptible nodes).", "TPU node is currently hiding.", "TPU node has been hidden.", - "TPU node is currently unhiding." + "TPU node is currently unhiding.", + "TPU node has unknown state after a failed repair." ], "readOnly": true, "type": "string" diff --git a/Src/Generated/Google.Apis.TPU.v2/Google.Apis.TPU.v2.csproj b/Src/Generated/Google.Apis.TPU.v2/Google.Apis.TPU.v2.csproj index 74fcda4014..5e88e5518c 100644 --- a/Src/Generated/Google.Apis.TPU.v2/Google.Apis.TPU.v2.csproj +++ b/Src/Generated/Google.Apis.TPU.v2/Google.Apis.TPU.v2.csproj @@ -3,7 +3,7 @@ Google.Apis.TPU.v2 Client Library - 1.68.0.3437 + 1.68.0.3569 Google LLC Copyright 2024 Google LLC Google From 621eab46da86a49ef149afd6a5222a963550e9b6 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:14:19 -0700 Subject: [PATCH 72/78] feat: Generate Google.Apis.TPU.v2alpha1 version 1.68.0.3569 --- DiscoveryJson/tpu.v2alpha1.json | 8 +++++--- .../Google.Apis.TPU.v2alpha1.csproj | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/tpu.v2alpha1.json b/DiscoveryJson/tpu.v2alpha1.json index 8615ae6957..953f1a3913 100644 --- a/DiscoveryJson/tpu.v2alpha1.json +++ b/DiscoveryJson/tpu.v2alpha1.json @@ -965,7 +965,7 @@ } } }, - "revision": "20240916", + "revision": "20241009", "rootUrl": "https://tpu.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -1681,7 +1681,8 @@ "TERMINATED", "HIDING", "HIDDEN", - "UNHIDING" + "UNHIDING", + "UNKNOWN" ], "enumDescriptions": [ "TPU node state is not known/set.", @@ -1698,7 +1699,8 @@ "TPU node has been terminated due to maintenance or has reached the end of its life cycle (for preemptible nodes).", "TPU node is currently hiding.", "TPU node has been hidden.", - "TPU node is currently unhiding." + "TPU node is currently unhiding.", + "TPU node has unknown state after a failed repair." ], "readOnly": true, "type": "string" diff --git a/Src/Generated/Google.Apis.TPU.v2alpha1/Google.Apis.TPU.v2alpha1.csproj b/Src/Generated/Google.Apis.TPU.v2alpha1/Google.Apis.TPU.v2alpha1.csproj index 8a64e36f8f..2f9c716658 100644 --- a/Src/Generated/Google.Apis.TPU.v2alpha1/Google.Apis.TPU.v2alpha1.csproj +++ b/Src/Generated/Google.Apis.TPU.v2alpha1/Google.Apis.TPU.v2alpha1.csproj @@ -3,7 +3,7 @@ Google.Apis.TPU.v2alpha1 Client Library - 1.68.0.3546 + 1.68.0.3569 Google LLC Copyright 2024 Google LLC Google From fb266b721f14686b75f8392de921d41cb7eb3465 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:14:22 -0700 Subject: [PATCH 73/78] feat: Generate Google.Apis.Verifiedaccess.v2 version 1.68.0.3561 --- DiscoveryJson/verifiedaccess.v2.json | 4 ++-- .../Google.Apis.Verifiedaccess.v2.cs | 2 +- .../Google.Apis.Verifiedaccess.v2.csproj | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/verifiedaccess.v2.json b/DiscoveryJson/verifiedaccess.v2.json index 55b6eeb919..28993902b1 100644 --- a/DiscoveryJson/verifiedaccess.v2.json +++ b/DiscoveryJson/verifiedaccess.v2.json @@ -146,7 +146,7 @@ } } }, - "revision": "20240402", + "revision": "20241001", "rootUrl": "https://verifiedaccess.googleapis.com/", "schemas": { "Challenge": { @@ -285,7 +285,7 @@ "type": "string" }, "osFirewall": { - "description": "The state of the OS level firewall. On ChromeOS, the value will always be ENABLED on regular devices and UNKNOWN on devices in developer mode.", + "description": "The state of the OS level firewall. On ChromeOS, the value will always be ENABLED on regular devices and UNKNOWN on devices in developer mode. The signal is currently not available on MacOS 15 (Sequoia) and later.", "enum": [ "OS_FIREWALL_UNSPECIFIED", "OS_FIREWALL_UNKNOWN", diff --git a/Src/Generated/Google.Apis.Verifiedaccess.v2/Google.Apis.Verifiedaccess.v2.cs b/Src/Generated/Google.Apis.Verifiedaccess.v2/Google.Apis.Verifiedaccess.v2.cs index 3e0b0160f0..d4149a08c4 100644 --- a/Src/Generated/Google.Apis.Verifiedaccess.v2/Google.Apis.Verifiedaccess.v2.cs +++ b/Src/Generated/Google.Apis.Verifiedaccess.v2/Google.Apis.Verifiedaccess.v2.cs @@ -464,7 +464,7 @@ public class DeviceSignals : Google.Apis.Requests.IDirectResponseSchema /// /// The state of the OS level firewall. On ChromeOS, the value will always be ENABLED on regular devices and - /// UNKNOWN on devices in developer mode. + /// UNKNOWN on devices in developer mode. The signal is currently not available on MacOS 15 (Sequoia) and later. /// [Newtonsoft.Json.JsonPropertyAttribute("osFirewall")] public virtual string OsFirewall { get; set; } diff --git a/Src/Generated/Google.Apis.Verifiedaccess.v2/Google.Apis.Verifiedaccess.v2.csproj b/Src/Generated/Google.Apis.Verifiedaccess.v2/Google.Apis.Verifiedaccess.v2.csproj index 9a16c49093..1b2e1843ee 100644 --- a/Src/Generated/Google.Apis.Verifiedaccess.v2/Google.Apis.Verifiedaccess.v2.csproj +++ b/Src/Generated/Google.Apis.Verifiedaccess.v2/Google.Apis.Verifiedaccess.v2.csproj @@ -3,7 +3,7 @@ Google.Apis.Verifiedaccess.v2 Client Library - 1.68.0.3379 + 1.68.0.3561 Google LLC Copyright 2024 Google LLC Google From 209f0c8390bb2149984aca9464aadd690adaa745 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:14:25 -0700 Subject: [PATCH 74/78] feat: Generate Google.Apis.WorkflowExecutions.v1 version 1.68.0.3561 --- DiscoveryJson/workflowexecutions.v1.json | 4 ++-- .../Google.Apis.WorkflowExecutions.v1.cs | 3 ++- .../Google.Apis.WorkflowExecutions.v1.csproj | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/workflowexecutions.v1.json b/DiscoveryJson/workflowexecutions.v1.json index b0450bc486..3ef4fd20ec 100644 --- a/DiscoveryJson/workflowexecutions.v1.json +++ b/DiscoveryJson/workflowexecutions.v1.json @@ -517,7 +517,7 @@ } } }, - "revision": "20240916", + "revision": "20241001", "rootUrl": "https://workflowexecutions.googleapis.com/", "schemas": { "Callback": { @@ -1105,7 +1105,7 @@ "type": "string" }, "progressNumber": { - "description": "Progress number represents the current state of the current progress. eg: A step entry represents the 4th iteration in a progress of PROGRESS_TYPE_FOR.", + "description": "Progress number represents the current state of the current progress. eg: A step entry represents the 4th iteration in a progress of PROGRESS_TYPE_FOR. Note: This field is only populated when an iteration exists and the starting value is 1.", "format": "int64", "type": "string" }, diff --git a/Src/Generated/Google.Apis.WorkflowExecutions.v1/Google.Apis.WorkflowExecutions.v1.cs b/Src/Generated/Google.Apis.WorkflowExecutions.v1/Google.Apis.WorkflowExecutions.v1.cs index 6d6265a5a9..35b90f2a8f 100644 --- a/Src/Generated/Google.Apis.WorkflowExecutions.v1/Google.Apis.WorkflowExecutions.v1.cs +++ b/Src/Generated/Google.Apis.WorkflowExecutions.v1/Google.Apis.WorkflowExecutions.v1.cs @@ -1982,7 +1982,8 @@ public class StepEntryMetadata : Google.Apis.Requests.IDirectResponseSchema /// /// Progress number represents the current state of the current progress. eg: A step entry represents the 4th - /// iteration in a progress of PROGRESS_TYPE_FOR. + /// iteration in a progress of PROGRESS_TYPE_FOR. Note: This field is only populated when an iteration exists + /// and the starting value is 1. /// [Newtonsoft.Json.JsonPropertyAttribute("progressNumber")] public virtual System.Nullable ProgressNumber { get; set; } diff --git a/Src/Generated/Google.Apis.WorkflowExecutions.v1/Google.Apis.WorkflowExecutions.v1.csproj b/Src/Generated/Google.Apis.WorkflowExecutions.v1/Google.Apis.WorkflowExecutions.v1.csproj index 7403fa6372..ad4897786a 100644 --- a/Src/Generated/Google.Apis.WorkflowExecutions.v1/Google.Apis.WorkflowExecutions.v1.csproj +++ b/Src/Generated/Google.Apis.WorkflowExecutions.v1/Google.Apis.WorkflowExecutions.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.WorkflowExecutions.v1 Client Library - 1.68.0.3546 + 1.68.0.3561 Google LLC Copyright 2024 Google LLC Google From 13b33c5f57d80d28a6f836b8527e46b329179f78 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:14:27 -0700 Subject: [PATCH 75/78] feat: Generate Google.Apis.WorkloadManager.v1 version 1.68.0.3562 --- DiscoveryJson/workloadmanager.v1.json | 20 ++++++++++++++++++- .../Google.Apis.WorkloadManager.v1.cs | 8 ++++++++ .../Google.Apis.WorkloadManager.v1.csproj | 2 +- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/DiscoveryJson/workloadmanager.v1.json b/DiscoveryJson/workloadmanager.v1.json index fbaa2d0f87..54acd339bd 100644 --- a/DiscoveryJson/workloadmanager.v1.json +++ b/DiscoveryJson/workloadmanager.v1.json @@ -772,7 +772,7 @@ } } }, - "revision": "20240821", + "revision": "20241002", "rootUrl": "https://workloadmanager.googleapis.com/", "schemas": { "AgentCommand": { @@ -1096,6 +1096,20 @@ "description": "The severity of violation.", "type": "string" }, + "type": { + "description": "Execution result type of the scanned resource", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_PASSED", + "TYPE_VIOLATED" + ], + "enumDescriptions": [ + "Unknown state", + "resource successfully passed the rule", + "resource violated the rule" + ], + "type": "string" + }, "violationDetails": { "$ref": "ViolationDetails", "description": "The details of violation in an evaluation result." @@ -2204,6 +2218,10 @@ ], "type": "string" }, + "isDrSite": { + "description": "Optional. Instance is part of a DR site.", + "type": "boolean" + }, "virtualHostname": { "description": "Optional. A virtual hostname of the instance if it has one.", "type": "string" diff --git a/Src/Generated/Google.Apis.WorkloadManager.v1/Google.Apis.WorkloadManager.v1.cs b/Src/Generated/Google.Apis.WorkloadManager.v1/Google.Apis.WorkloadManager.v1.cs index 4c2233e557..c20d6e5f53 100644 --- a/Src/Generated/Google.Apis.WorkloadManager.v1/Google.Apis.WorkloadManager.v1.cs +++ b/Src/Generated/Google.Apis.WorkloadManager.v1/Google.Apis.WorkloadManager.v1.cs @@ -2215,6 +2215,10 @@ public class ExecutionResult : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("severity")] public virtual string Severity { get; set; } + /// Execution result type of the scanned resource + [Newtonsoft.Json.JsonPropertyAttribute("type")] + public virtual string Type { get; set; } + /// The details of violation in an evaluation result. [Newtonsoft.Json.JsonPropertyAttribute("violationDetails")] public virtual ViolationDetails ViolationDetails { get; set; } @@ -3200,6 +3204,10 @@ public class SapDiscoveryResourceInstanceProperties : Google.Apis.Requests.IDire [Newtonsoft.Json.JsonPropertyAttribute("instanceRole")] public virtual string InstanceRole { get; set; } + /// Optional. Instance is part of a DR site. + [Newtonsoft.Json.JsonPropertyAttribute("isDrSite")] + public virtual System.Nullable IsDrSite { get; set; } + /// Optional. A virtual hostname of the instance if it has one. [Newtonsoft.Json.JsonPropertyAttribute("virtualHostname")] public virtual string VirtualHostname { get; set; } diff --git a/Src/Generated/Google.Apis.WorkloadManager.v1/Google.Apis.WorkloadManager.v1.csproj b/Src/Generated/Google.Apis.WorkloadManager.v1/Google.Apis.WorkloadManager.v1.csproj index aa545e25fd..c01eb2e718 100644 --- a/Src/Generated/Google.Apis.WorkloadManager.v1/Google.Apis.WorkloadManager.v1.csproj +++ b/Src/Generated/Google.Apis.WorkloadManager.v1/Google.Apis.WorkloadManager.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.WorkloadManager.v1 Client Library - 1.68.0.3520 + 1.68.0.3562 Google LLC Copyright 2024 Google LLC Google From fc430e70c5dad021961f7a8423f19104c57154b1 Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:14:30 -0700 Subject: [PATCH 76/78] feat: Generate Google.Apis.WorkspaceEvents.v1 version 1.68.0.3568 --- DiscoveryJson/workspaceevents.v1.json | 6 +++--- .../Google.Apis.WorkspaceEvents.v1.cs | 11 +++-------- .../Google.Apis.WorkspaceEvents.v1.csproj | 2 +- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/DiscoveryJson/workspaceevents.v1.json b/DiscoveryJson/workspaceevents.v1.json index a0aae35e1c..4b38496ec7 100644 --- a/DiscoveryJson/workspaceevents.v1.json +++ b/DiscoveryJson/workspaceevents.v1.json @@ -346,7 +346,7 @@ ], "parameters": { "name": { - "description": "Optional. Immutable. Identifier. Resource name of the subscription. Format: `subscriptions/{subscription}`", + "description": "Identifier. Resource name of the subscription. Format: `subscriptions/{subscription}`", "location": "path", "pattern": "^subscriptions/[^/]+$", "required": true, @@ -424,7 +424,7 @@ } } }, - "revision": "20240827", + "revision": "20241008", "rootUrl": "https://workspaceevents.googleapis.com/", "schemas": { "ListSubscriptionsResponse": { @@ -572,7 +572,7 @@ "type": "string" }, "name": { - "description": "Optional. Immutable. Identifier. Resource name of the subscription. Format: `subscriptions/{subscription}`", + "description": "Identifier. Resource name of the subscription. Format: `subscriptions/{subscription}`", "type": "string" }, "notificationEndpoint": { 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 80a0c52fe6..a2ce399fab 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 @@ -740,7 +740,7 @@ protected override void InitParameters() /// /// The body of the request. /// - /// Optional. Immutable. Identifier. Resource name of the subscription. Format: `subscriptions/{subscription}` + /// Identifier. Resource name of the subscription. Format: `subscriptions/{subscription}` /// public virtual PatchRequest Patch(Google.Apis.WorkspaceEvents.v1.Data.Subscription body, string name) { @@ -762,10 +762,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Wor InitParameters(); } - /// - /// Optional. Immutable. Identifier. Resource name of the subscription. Format: - /// `subscriptions/{subscription}` - /// + /// Identifier. Resource name of the subscription. Format: `subscriptions/{subscription}` [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -1155,9 +1152,7 @@ public virtual System.DateTimeOffset? ExpireTimeDateTimeOffset set => ExpireTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); } - /// - /// Optional. Immutable. Identifier. Resource name of the subscription. Format: `subscriptions/{subscription}` - /// + /// Identifier. Resource name of the subscription. Format: `subscriptions/{subscription}` [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { 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 9a365e35ef..8e8ff43fbe 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.68.0.3526 + 1.68.0.3568 Google LLC Copyright 2024 Google LLC Google From 7f18f1ded78d905d37520a542652bb1d9a7c67cd Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:14:33 -0700 Subject: [PATCH 77/78] feat: Generate Google.Apis.YouTube.v3 version 1.68.0.3570 --- DiscoveryJson/youtube.v3.json | 65 +++++++- .../Google.Apis.YouTube.v3.cs | 157 +++++++++++++++++- .../Google.Apis.YouTube.v3.csproj | 2 +- 3 files changed, 220 insertions(+), 4 deletions(-) diff --git a/DiscoveryJson/youtube.v3.json b/DiscoveryJson/youtube.v3.json index 8bd10bceb9..b63f47563f 100644 --- a/DiscoveryJson/youtube.v3.json +++ b/DiscoveryJson/youtube.v3.json @@ -1757,7 +1757,7 @@ }, "maxResults": { "default": "500", - "description": "The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.", + "description": "The *maxResults* parameter specifies the maximum number of items that should be returned in the result set. Not used in the streaming RPC.", "format": "uint32", "location": "query", "maximum": "2000", @@ -4067,12 +4067,73 @@ "$ref": "CommentThread" } } + }, + "resources": { + "liveChat": { + "resources": { + "messages": { + "methods": { + "stream": { + "description": "Allows a user to load live chat through a server-streamed RPC.", + "flatPath": "youtube/v3/liveChat/messages/stream", + "httpMethod": "GET", + "id": "youtube.youtube.v3.liveChat.messages.stream", + "parameterOrder": [], + "parameters": { + "hl": { + "description": "Specifies the localization language in which the system messages should be returned.", + "location": "query", + "type": "string" + }, + "liveChatId": { + "description": "The id of the live chat for which comments should be returned.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The *maxResults* parameter specifies the maximum number of items that should be returned in the result set. Not used in the streaming RPC.", + "format": "uint32", + "location": "query", + "maximum": "2000", + "minimum": "200", + "type": "integer" + }, + "pageToken": { + "description": "The *pageToken* parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken property identify other pages that could be retrieved.", + "location": "query", + "type": "string" + }, + "part": { + "description": "The *part* parameter specifies the liveChatComment resource parts that the API response will include. Supported values are id, snippet, and authorDetails.", + "location": "query", + "repeated": true, + "type": "string" + }, + "profileImageSize": { + "description": "Specifies the size of the profile image that should be returned for each user.", + "format": "uint32", + "location": "query", + "maximum": "720", + "minimum": "16", + "type": "integer" + } + }, + "path": "youtube/v3/liveChat/messages/stream", + "response": { + "$ref": "LiveChatMessageListResponse" + } + } + } + } + } + } } } } } }, - "revision": "20240926", + "revision": "20241010", "rootUrl": "https://youtube.googleapis.com/", "schemas": { "AbuseReport": { diff --git a/Src/Generated/Google.Apis.YouTube.v3/Google.Apis.YouTube.v3.cs b/Src/Generated/Google.Apis.YouTube.v3/Google.Apis.YouTube.v3.cs index 4b446cc1d4..1cbce5b260 100644 --- a/Src/Generated/Google.Apis.YouTube.v3/Google.Apis.YouTube.v3.cs +++ b/Src/Generated/Google.Apis.YouTube.v3/Google.Apis.YouTube.v3.cs @@ -4768,7 +4768,7 @@ public ListRequest(Google.Apis.Services.IClientService service, string liveChatI /// /// The *maxResults* parameter specifies the maximum number of items that should be returned in the result - /// set. + /// set. Not used in the streaming RPC. /// [Google.Apis.Util.RequestParameterAttribute("maxResults", Google.Apis.Util.RequestParameterType.Query)] public virtual System.Nullable MaxResults { get; set; } @@ -10738,6 +10738,161 @@ public class V3Resource public V3Resource(Google.Apis.Services.IClientService service) { this.service = service; + LiveChat = new LiveChatResource(service); + } + + /// Gets the LiveChat resource. + public virtual LiveChatResource LiveChat { get; } + + /// The "liveChat" collection of methods. + public class LiveChatResource + { + private const string Resource = "liveChat"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public LiveChatResource(Google.Apis.Services.IClientService service) + { + this.service = service; + Messages = new MessagesResource(service); + } + + /// Gets the Messages resource. + public virtual MessagesResource Messages { get; } + + /// The "messages" collection of methods. + public class MessagesResource + { + private const string Resource = "messages"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public MessagesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Allows a user to load live chat through a server-streamed RPC. + public virtual StreamRequest Stream() + { + return new StreamRequest(this.service); + } + + /// Allows a user to load live chat through a server-streamed RPC. + public class StreamRequest : YouTubeBaseServiceRequest + { + /// Constructs a new Stream request. + public StreamRequest(Google.Apis.Services.IClientService service) : base(service) + { + InitParameters(); + } + + /// + /// Specifies the localization language in which the system messages should be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("hl", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Hl { get; set; } + + /// The id of the live chat for which comments should be returned. + [Google.Apis.Util.RequestParameterAttribute("liveChatId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string LiveChatId { get; set; } + + /// + /// The *maxResults* parameter specifies the maximum number of items that should be returned in + /// the result set. Not used in the streaming RPC. + /// + [Google.Apis.Util.RequestParameterAttribute("maxResults", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable MaxResults { get; set; } + + /// + /// The *pageToken* parameter identifies a specific page in the result set that should be + /// returned. In an API response, the nextPageToken property identify other pages that could be + /// retrieved. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// + /// The *part* parameter specifies the liveChatComment resource parts that the API response will + /// include. Supported values are id, snippet, and authorDetails. + /// + [Google.Apis.Util.RequestParameterAttribute("part", Google.Apis.Util.RequestParameterType.Query)] + public virtual Google.Apis.Util.Repeatable Part { get; set; } + + /// + /// Specifies the size of the profile image that should be returned for each user. + /// + [Google.Apis.Util.RequestParameterAttribute("profileImageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable ProfileImageSize { get; set; } + + /// Gets the method name. + public override string MethodName => "stream"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "youtube/v3/liveChat/messages/stream"; + + /// Initializes Stream parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("hl", new Google.Apis.Discovery.Parameter + { + Name = "hl", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("liveChatId", new Google.Apis.Discovery.Parameter + { + Name = "liveChatId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("maxResults", new Google.Apis.Discovery.Parameter + { + Name = "maxResults", + IsRequired = false, + ParameterType = "query", + DefaultValue = "500", + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("part", new Google.Apis.Discovery.Parameter + { + Name = "part", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("profileImageSize", new Google.Apis.Discovery.Parameter + { + Name = "profileImageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } } /// Updates an existing resource. diff --git a/Src/Generated/Google.Apis.YouTube.v3/Google.Apis.YouTube.v3.csproj b/Src/Generated/Google.Apis.YouTube.v3/Google.Apis.YouTube.v3.csproj index 11dbe83116..03572960b2 100644 --- a/Src/Generated/Google.Apis.YouTube.v3/Google.Apis.YouTube.v3.csproj +++ b/Src/Generated/Google.Apis.YouTube.v3/Google.Apis.YouTube.v3.csproj @@ -3,7 +3,7 @@ Google.Apis.YouTube.v3 Client Library - 1.68.0.3556 + 1.68.0.3570 Google LLC Copyright 2024 Google LLC Google From 663d51007bf599498d64b8563a5e5e689c9795bf Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Mon, 14 Oct 2024 01:14:33 -0700 Subject: [PATCH 78/78] chore: Delete obsolete Discovery docs --- DiscoveryJson/cloudidentity.v1.json | 4277 ------------------ DiscoveryJson/cloudidentity.v1beta1.json | 5204 ---------------------- 2 files changed, 9481 deletions(-) delete mode 100644 DiscoveryJson/cloudidentity.v1.json delete mode 100644 DiscoveryJson/cloudidentity.v1beta1.json diff --git a/DiscoveryJson/cloudidentity.v1.json b/DiscoveryJson/cloudidentity.v1.json deleted file mode 100644 index 8f0943f734..0000000000 --- a/DiscoveryJson/cloudidentity.v1.json +++ /dev/null @@ -1,4277 +0,0 @@ -{ - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/cloud-identity.devices": { - "description": "Private Service: https://www.googleapis.com/auth/cloud-identity.devices" - }, - "https://www.googleapis.com/auth/cloud-identity.devices.lookup": { - "description": "See your device details" - }, - "https://www.googleapis.com/auth/cloud-identity.devices.readonly": { - "description": "Private Service: https://www.googleapis.com/auth/cloud-identity.devices.readonly" - }, - "https://www.googleapis.com/auth/cloud-identity.groups": { - "description": "See, change, create, and delete any of the Cloud Identity Groups that you can access, including the members of each group" - }, - "https://www.googleapis.com/auth/cloud-identity.groups.readonly": { - "description": "See any Cloud Identity Groups that you can access, including group members and their emails" - }, - "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." - } - } - } - }, - "basePath": "", - "baseUrl": "https://cloudidentity.googleapis.com/", - "batchPath": "batch", - "canonicalName": "Cloud Identity", - "description": "API for provisioning and managing identity resources.", - "discoveryVersion": "v1", - "documentationLink": "https://cloud.google.com/identity/", - "fullyEncodeReservedExpansion": true, - "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" - }, - "id": "cloudidentity:v1", - "kind": "discovery#restDescription", - "mtlsRootUrl": "https://cloudidentity.mtls.googleapis.com/", - "name": "cloudidentity", - "ownerDomain": "google.com", - "ownerName": "Google", - "parameters": { - "$.xgafv": { - "description": "V1 error format.", - "enum": [ - "1", - "2" - ], - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "type": "string" - }, - "access_token": { - "description": "OAuth access token.", - "location": "query", - "type": "string" - }, - "alt": { - "default": "json", - "description": "Data format for response.", - "enum": [ - "json", - "media", - "proto" - ], - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query", - "type": "string" - }, - "callback": { - "description": "JSONP", - "location": "query", - "type": "string" - }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "location": "query", - "type": "string" - }, - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "location": "query", - "type": "string" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "location": "query", - "type": "string" - }, - "prettyPrint": { - "default": "true", - "description": "Returns response with indentations and line breaks.", - "location": "query", - "type": "boolean" - }, - "quotaUser": { - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "location": "query", - "type": "string" - }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "location": "query", - "type": "string" - }, - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "location": "query", - "type": "string" - } - }, - "protocol": "rest", - "resources": { - "customers": { - "resources": { - "userinvitations": { - "methods": { - "cancel": { - "description": "Cancels a UserInvitation that was already sent.", - "flatPath": "v1/customers/{customersId}/userinvitations/{userinvitationsId}:cancel", - "httpMethod": "POST", - "id": "cloudidentity.customers.userinvitations.cancel", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. `UserInvitation` name in the format `customers/{customer}/userinvitations/{user_email_address}`", - "location": "path", - "pattern": "^customers/[^/]+/userinvitations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}:cancel", - "request": { - "$ref": "CancelUserInvitationRequest" - }, - "response": { - "$ref": "Operation" - } - }, - "get": { - "description": "Retrieves a UserInvitation resource. **Note:** New consumer accounts with the customer's verified domain created within the previous 48 hours will not appear in the result. This delay also applies to newly-verified domains.", - "flatPath": "v1/customers/{customersId}/userinvitations/{userinvitationsId}", - "httpMethod": "GET", - "id": "cloudidentity.customers.userinvitations.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. `UserInvitation` name in the format `customers/{customer}/userinvitations/{user_email_address}`", - "location": "path", - "pattern": "^customers/[^/]+/userinvitations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "UserInvitation" - } - }, - "isInvitableUser": { - "description": "Verifies whether a user account is eligible to receive a UserInvitation (is an unmanaged account). Eligibility is based on the following criteria: * the email address is a consumer account and it's the primary email address of the account, and * the domain of the email address matches an existing verified Google Workspace or Cloud Identity domain If both conditions are met, the user is eligible. **Note:** This method is not supported for Workspace Essentials customers.", - "flatPath": "v1/customers/{customersId}/userinvitations/{userinvitationsId}:isInvitableUser", - "httpMethod": "GET", - "id": "cloudidentity.customers.userinvitations.isInvitableUser", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. `UserInvitation` name in the format `customers/{customer}/userinvitations/{user_email_address}`", - "location": "path", - "pattern": "^customers/[^/]+/userinvitations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}:isInvitableUser", - "response": { - "$ref": "IsInvitableUserResponse" - } - }, - "list": { - "description": "Retrieves a list of UserInvitation resources. **Note:** New consumer accounts with the customer's verified domain created within the previous 48 hours will not appear in the result. This delay also applies to newly-verified domains.", - "flatPath": "v1/customers/{customersId}/userinvitations", - "httpMethod": "GET", - "id": "cloudidentity.customers.userinvitations.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "filter": { - "description": "Optional. A query string for filtering `UserInvitation` results by their current state, in the format: `\"state=='invited'\"`.", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "Optional. The sort order of the list results. You can sort the results in descending order based on either email or last update timestamp but not both, using `order_by=\"email desc\"`. Currently, sorting is supported for `update_time asc`, `update_time desc`, `email asc`, and `email desc`. If not specified, results will be returned based on `email asc` order.", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Optional. The maximum number of UserInvitation resources to return. If unspecified, at most 100 resources will be returned. The maximum value is 200; values above 200 will be set to 200.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Optional. A page token, received from a previous `ListUserInvitations` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBooks` must match the call that provided the page token.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The customer ID of the Google Workspace or Cloud Identity account the UserInvitation resources are associated with.", - "location": "path", - "pattern": "^customers/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+parent}/userinvitations", - "response": { - "$ref": "ListUserInvitationsResponse" - } - }, - "send": { - "description": "Sends a UserInvitation to email. If the `UserInvitation` does not exist for this request and it is a valid request, the request creates a `UserInvitation`. **Note:** The `get` and `list` methods have a 48-hour delay where newly-created consumer accounts will not appear in the results. You can still send a `UserInvitation` to those accounts if you know the unmanaged email address and IsInvitableUser==True.", - "flatPath": "v1/customers/{customersId}/userinvitations/{userinvitationsId}:send", - "httpMethod": "POST", - "id": "cloudidentity.customers.userinvitations.send", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. `UserInvitation` name in the format `customers/{customer}/userinvitations/{user_email_address}`", - "location": "path", - "pattern": "^customers/[^/]+/userinvitations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}:send", - "request": { - "$ref": "SendUserInvitationRequest" - }, - "response": { - "$ref": "Operation" - } - } - } - } - } - }, - "devices": { - "methods": { - "cancelWipe": { - "description": "Cancels an unfinished device wipe. This operation can be used to cancel device wipe in the gap between the wipe operation returning success and the device being wiped. This operation is possible when the device is in a \"pending wipe\" state. The device enters the \"pending wipe\" state when a wipe device command is issued, but has not yet been sent to the device. The cancel wipe will fail if the wipe command has already been issued to the device.", - "flatPath": "v1/devices/{devicesId}:cancelWipe", - "httpMethod": "POST", - "id": "cloudidentity.devices.cancelWipe", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}`, where device is the unique ID assigned to the Device.", - "location": "path", - "pattern": "^devices/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}:cancelWipe", - "request": { - "$ref": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices" - ] - }, - "create": { - "description": "Creates a device. Only company-owned device may be created. **Note**: This method is available only to customers who have one of the following SKUs: Enterprise Standard, Enterprise Plus, Enterprise for Education, and Cloud Identity Premium", - "flatPath": "v1/devices", - "httpMethod": "POST", - "id": "cloudidentity.devices.create", - "parameterOrder": [], - "parameters": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", - "location": "query", - "type": "string" - } - }, - "path": "v1/devices", - "request": { - "$ref": "GoogleAppsCloudidentityDevicesV1Device" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices" - ] - }, - "delete": { - "description": "Deletes the specified device.", - "flatPath": "v1/devices/{devicesId}", - "httpMethod": "DELETE", - "id": "cloudidentity.devices.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", - "location": "query", - "type": "string" - }, - "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}`, where device is the unique ID assigned to the Device.", - "location": "path", - "pattern": "^devices/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices" - ] - }, - "get": { - "description": "Retrieves the specified device.", - "flatPath": "v1/devices/{devicesId}", - "httpMethod": "GET", - "id": "cloudidentity.devices.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Customer in the format: `customers/{customer}`, where customer is the customer to whom the device belongs. If you're using this API for your own organization, use `customers/my_customer`. If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", - "location": "query", - "type": "string" - }, - "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in the format: `devices/{device}`, where device is the unique ID assigned to the Device.", - "location": "path", - "pattern": "^devices/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "GoogleAppsCloudidentityDevicesV1Device" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices", - "https://www.googleapis.com/auth/cloud-identity.devices.readonly" - ] - }, - "list": { - "description": "Lists/Searches devices.", - "flatPath": "v1/devices", - "httpMethod": "GET", - "id": "cloudidentity.devices.list", - "parameterOrder": [], - "parameters": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer in the format: `customers/{customer}`, where customer is the customer to whom the device belongs. If you're using this API for your own organization, use `customers/my_customer`. If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", - "location": "query", - "type": "string" - }, - "filter": { - "description": "Optional. Additional restrictions when fetching list of devices. For a list of search fields, refer to [Mobile device search fields](https://developers.google.com/admin-sdk/directory/v1/search-operators). Multiple search fields are separated by the space character.", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "Optional. Order specification for devices in the response. Only one of the following field names may be used to specify the order: `create_time`, `last_sync_time`, `model`, `os_version`, `device_type` and `serial_number`. `desc` may be specified optionally at the end to specify results to be sorted in descending order. Default order is ascending.", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Optional. The maximum number of Devices to return. If unspecified, at most 20 Devices will be returned. The maximum value is 100; values above 100 will be coerced to 100.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Optional. A page token, received from a previous `ListDevices` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDevices` must match the call that provided the page token.", - "location": "query", - "type": "string" - }, - "view": { - "description": "Optional. The view to use for the List request.", - "enum": [ - "VIEW_UNSPECIFIED", - "COMPANY_INVENTORY", - "USER_ASSIGNED_DEVICES" - ], - "enumDescriptions": [ - "Default value. The value is unused.", - "This view contains all devices imported by the company admin. Each device in the response contains all information specified by the company admin when importing the device (i.e. asset tags). This includes devices that may be unassigned or assigned to users.", - "This view contains all devices with at least one user registered on the device. Each device in the response contains all device information, except for asset tags." - ], - "location": "query", - "type": "string" - } - }, - "path": "v1/devices", - "response": { - "$ref": "GoogleAppsCloudidentityDevicesV1ListDevicesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices", - "https://www.googleapis.com/auth/cloud-identity.devices.readonly" - ] - }, - "wipe": { - "description": "Wipes all data on the specified device.", - "flatPath": "v1/devices/{devicesId}:wipe", - "httpMethod": "POST", - "id": "cloudidentity.devices.wipe", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}/deviceUsers/{device_user}`, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User.", - "location": "path", - "pattern": "^devices/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}:wipe", - "request": { - "$ref": "GoogleAppsCloudidentityDevicesV1WipeDeviceRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices" - ] - } - }, - "resources": { - "deviceUsers": { - "methods": { - "approve": { - "description": "Approves device to access user data.", - "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}:approve", - "httpMethod": "POST", - "id": "cloudidentity.devices.deviceUsers.approve", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}/deviceUsers/{device_user}`, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User.", - "location": "path", - "pattern": "^devices/[^/]+/deviceUsers/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}:approve", - "request": { - "$ref": "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices" - ] - }, - "block": { - "description": "Blocks device from accessing user data", - "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}:block", - "httpMethod": "POST", - "id": "cloudidentity.devices.deviceUsers.block", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}/deviceUsers/{device_user}`, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User.", - "location": "path", - "pattern": "^devices/[^/]+/deviceUsers/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}:block", - "request": { - "$ref": "GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices" - ] - }, - "cancelWipe": { - "description": "Cancels an unfinished user account wipe. This operation can be used to cancel device wipe in the gap between the wipe operation returning success and the device being wiped.", - "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}:cancelWipe", - "httpMethod": "POST", - "id": "cloudidentity.devices.deviceUsers.cancelWipe", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}/deviceUsers/{device_user}`, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User.", - "location": "path", - "pattern": "^devices/[^/]+/deviceUsers/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}:cancelWipe", - "request": { - "$ref": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices" - ] - }, - "delete": { - "description": "Deletes the specified DeviceUser. This also revokes the user's access to device data.", - "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}", - "httpMethod": "DELETE", - "id": "cloudidentity.devices.deviceUsers.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", - "location": "query", - "type": "string" - }, - "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}/deviceUsers/{device_user}`, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User.", - "location": "path", - "pattern": "^devices/[^/]+/deviceUsers/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices" - ] - }, - "get": { - "description": "Retrieves the specified DeviceUser", - "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}", - "httpMethod": "GET", - "id": "cloudidentity.devices.deviceUsers.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", - "location": "query", - "type": "string" - }, - "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}/deviceUsers/{device_user}`, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User.", - "location": "path", - "pattern": "^devices/[^/]+/deviceUsers/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices", - "https://www.googleapis.com/auth/cloud-identity.devices.readonly" - ] - }, - "list": { - "description": "Lists/Searches DeviceUsers.", - "flatPath": "v1/devices/{devicesId}/deviceUsers", - "httpMethod": "GET", - "id": "cloudidentity.devices.deviceUsers.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", - "location": "query", - "type": "string" - }, - "filter": { - "description": "Optional. Additional restrictions when fetching list of devices. For a list of search fields, refer to [Mobile device search fields](https://developers.google.com/admin-sdk/directory/v1/search-operators). Multiple search fields are separated by the space character.", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "Optional. Order specification for devices in the response.", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Optional. The maximum number of DeviceUsers to return. If unspecified, at most 5 DeviceUsers will be returned. The maximum value is 20; values above 20 will be coerced to 20.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Optional. A page token, received from a previous `ListDeviceUsers` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBooks` must match the call that provided the page token.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. To list all DeviceUsers, set this to \"devices/-\". To list all DeviceUsers owned by a device, set this to the resource name of the device. Format: devices/{device}", - "location": "path", - "pattern": "^devices/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+parent}/deviceUsers", - "response": { - "$ref": "GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices", - "https://www.googleapis.com/auth/cloud-identity.devices.readonly" - ] - }, - "lookup": { - "description": "Looks up resource names of the DeviceUsers associated with the caller's credentials, as well as the properties provided in the request. This method must be called with end-user credentials with the scope: https://www.googleapis.com/auth/cloud-identity.devices.lookup If multiple properties are provided, only DeviceUsers having all of these properties are considered as matches - i.e. the query behaves like an AND. Different platforms require different amounts of information from the caller to ensure that the DeviceUser is uniquely identified. - iOS: No properties need to be passed, the caller's credentials are sufficient to identify the corresponding DeviceUser. - Android: Specifying the 'android_id' field is required. - Desktop: Specifying the 'raw_resource_id' field is required.", - "flatPath": "v1/devices/{devicesId}/deviceUsers:lookup", - "httpMethod": "GET", - "id": "cloudidentity.devices.deviceUsers.lookup", - "parameterOrder": [ - "parent" - ], - "parameters": { - "androidId": { - "description": "Android Id returned by [Settings.Secure#ANDROID_ID](https://developer.android.com/reference/android/provider/Settings.Secure.html#ANDROID_ID).", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "The maximum number of DeviceUsers to return. If unspecified, at most 20 DeviceUsers will be returned. The maximum value is 20; values above 20 will be coerced to 20.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "A page token, received from a previous `LookupDeviceUsers` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `LookupDeviceUsers` must match the call that provided the page token.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Must be set to \"devices/-/deviceUsers\" to search across all DeviceUser belonging to the user.", - "location": "path", - "pattern": "^devices/[^/]+/deviceUsers$", - "required": true, - "type": "string" - }, - "rawResourceId": { - "description": "Raw Resource Id used by Google Endpoint Verification. If the user is enrolled into Google Endpoint Verification, this id will be saved as the 'device_resource_id' field in the following platform dependent files. * macOS: ~/.secureConnect/context_aware_config.json * Windows: %USERPROFILE%\\AppData\\Local\\Google\\Endpoint Verification\\accounts.json * Linux: ~/.secureConnect/context_aware_config.json", - "location": "query", - "type": "string" - }, - "userId": { - "description": "The user whose DeviceUser's resource name will be fetched. Must be set to 'me' to fetch the DeviceUser's resource name for the calling user.", - "location": "query", - "type": "string" - } - }, - "path": "v1/{+parent}:lookup", - "response": { - "$ref": "GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices.lookup" - ] - }, - "wipe": { - "description": "Wipes the user's account on a device. Other data on the device that is not associated with the user's work account is not affected. For example, if a Gmail app is installed on a device that is used for personal and work purposes, and the user is logged in to the Gmail app with their personal account as well as their work account, wiping the \"deviceUser\" by their work administrator will not affect their personal account within Gmail or other apps such as Photos.", - "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}:wipe", - "httpMethod": "POST", - "id": "cloudidentity.devices.deviceUsers.wipe", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}/deviceUsers/{device_user}`, where device is the unique ID assigned to the Device, and device_user is the unique ID assigned to the User.", - "location": "path", - "pattern": "^devices/[^/]+/deviceUsers/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}:wipe", - "request": { - "$ref": "GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices" - ] - } - }, - "resources": { - "clientStates": { - "methods": { - "get": { - "description": "Gets the client state for the device user", - "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}/clientStates/{clientStatesId}", - "httpMethod": "GET", - "id": "cloudidentity.devices.deviceUsers.clientStates.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", - "location": "query", - "type": "string" - }, - "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device}/deviceUsers/{device_user}/clientStates/{partner}`, where `device` is the unique ID assigned to the Device, `device_user` is the unique ID assigned to the User and `partner` identifies the partner storing the data. To get the client state for devices belonging to your own organization, the `partnerId` is in the format: `customerId-*anystring*`. Where the `customerId` is your organization's customer ID and `anystring` is any suffix. This suffix is used in setting up Custom Access Levels in Context-Aware Access. You may use `my_customer` instead of the customer ID for devices managed by your own organization. You may specify `-` in place of the `{device}`, so the ClientState resource name can be: `devices/-/deviceUsers/{device_user_resource}/clientStates/{partner}`.", - "location": "path", - "pattern": "^devices/[^/]+/deviceUsers/[^/]+/clientStates/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "GoogleAppsCloudidentityDevicesV1ClientState" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices", - "https://www.googleapis.com/auth/cloud-identity.devices.readonly" - ] - }, - "list": { - "description": "Lists the client states for the given search query.", - "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}/clientStates", - "httpMethod": "GET", - "id": "cloudidentity.devices.deviceUsers.clientStates.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", - "location": "query", - "type": "string" - }, - "filter": { - "description": "Optional. Additional restrictions when fetching list of client states.", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "Optional. Order specification for client states in the response.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Optional. A page token, received from a previous `ListClientStates` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListClientStates` must match the call that provided the page token.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. To list all ClientStates, set this to \"devices/-/deviceUsers/-\". To list all ClientStates owned by a DeviceUser, set this to the resource name of the DeviceUser. Format: devices/{device}/deviceUsers/{deviceUser}", - "location": "path", - "pattern": "^devices/[^/]+/deviceUsers/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+parent}/clientStates", - "response": { - "$ref": "GoogleAppsCloudidentityDevicesV1ListClientStatesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices", - "https://www.googleapis.com/auth/cloud-identity.devices.readonly" - ] - }, - "patch": { - "description": "Updates the client state for the device user **Note**: This method is available only to customers who have one of the following SKUs: Enterprise Standard, Enterprise Plus, Enterprise for Education, and Cloud Identity Premium", - "flatPath": "v1/devices/{devicesId}/deviceUsers/{deviceUsersId}/clientStates/{clientStatesId}", - "httpMethod": "PATCH", - "id": "cloudidentity.devices.deviceUsers.clientStates.patch", - "parameterOrder": [ - "name" - ], - "parameters": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", - "location": "query", - "type": "string" - }, - "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device}/deviceUsers/{device_user}/clientState/{partner}`, where partner corresponds to the partner storing the data. For partners belonging to the \"BeyondCorp Alliance\", this is the partner ID specified to you by Google. For all other callers, this is a string of the form: `{customer}-suffix`, where `customer` is your customer ID. The *suffix* is any string the caller specifies. This string will be displayed verbatim in the administration console. This suffix is used in setting up Custom Access Levels in Context-Aware Access. Your organization's customer ID can be obtained from the URL: `GET https://www.googleapis.com/admin/directory/v1/customers/my_customer` The `id` field in the response contains the customer ID starting with the letter 'C'. The customer ID to be used in this API is the string after the letter 'C' (not including 'C')", - "location": "path", - "pattern": "^devices/[^/]+/deviceUsers/[^/]+/clientStates/[^/]+$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Optional. Comma-separated list of fully qualified names of fields to be updated. If not specified, all updatable fields in ClientState are updated.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1/{+name}", - "request": { - "$ref": "GoogleAppsCloudidentityDevicesV1ClientState" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices" - ] - } - } - } - } - } - } - }, - "groups": { - "methods": { - "create": { - "description": "Creates a Group.", - "flatPath": "v1/groups", - "httpMethod": "POST", - "id": "cloudidentity.groups.create", - "parameterOrder": [], - "parameters": { - "initialGroupConfig": { - "description": "Optional. The initial configuration option for the `Group`.", - "enum": [ - "INITIAL_GROUP_CONFIG_UNSPECIFIED", - "WITH_INITIAL_OWNER", - "EMPTY" - ], - "enumDescriptions": [ - "Default. Should not be used.", - "The end user making the request will be added as the initial owner of the `Group`.", - "An empty group is created without any initial owners. This can only be used by admins of the domain." - ], - "location": "query", - "type": "string" - } - }, - "path": "v1/groups", - "request": { - "$ref": "Group" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "delete": { - "description": "Deletes a `Group`.", - "flatPath": "v1/groups/{groupsId}", - "httpMethod": "DELETE", - "id": "cloudidentity.groups.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group` to retrieve. Must be of the form `groups/{group}`.", - "location": "path", - "pattern": "^groups/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Retrieves a `Group`.", - "flatPath": "v1/groups/{groupsId}", - "httpMethod": "GET", - "id": "cloudidentity.groups.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group` to retrieve. Must be of the form `groups/{group}`.", - "location": "path", - "pattern": "^groups/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "Group" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "getSecuritySettings": { - "description": "Get Security Settings", - "flatPath": "v1/groups/{groupsId}/securitySettings", - "httpMethod": "GET", - "id": "cloudidentity.groups.getSecuritySettings", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The security settings to retrieve. Format: `groups/{group_id}/securitySettings`", - "location": "path", - "pattern": "^groups/[^/]+/securitySettings$", - "required": true, - "type": "string" - }, - "readMask": { - "description": "Field-level read mask of which fields to return. \"*\" returns all fields. If not specified, all fields will be returned. May only contain the following field: `member_restriction`.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "SecuritySettings" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists the `Group` resources under a customer or namespace.", - "flatPath": "v1/groups", - "httpMethod": "GET", - "id": "cloudidentity.groups.list", - "parameterOrder": [], - "parameters": { - "pageSize": { - "description": "The maximum number of results to return. Note that the number of results returned may be less than this value even if there are more available results. To fetch all results, clients must continue calling this method repeatedly until the response no longer contains a `next_page_token`. If unspecified, defaults to 200 for `View.BASIC` and to 50 for `View.FULL`. Must not be greater than 1000 for `View.BASIC` or 500 for `View.FULL`.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "The `next_page_token` value returned from a previous list request, if any.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent resource under which to list all `Group` resources. Must be of the form `identitysources/{identity_source}` for external- identity-mapped groups or `customers/{customer_id}` for Google Groups. The `customer_id` must begin with \"C\" (for example, 'C046psxkn'). [Find your customer ID.] (https://support.google.com/cloudidentity/answer/10070793)", - "location": "query", - "type": "string" - }, - "view": { - "description": "The level of detail to be returned. If unspecified, defaults to `View.BASIC`.", - "enum": [ - "VIEW_UNSPECIFIED", - "BASIC", - "FULL" - ], - "enumDescriptions": [ - "Default. Should not be used.", - "Only basic resource information is returned.", - "All resource information is returned." - ], - "location": "query", - "type": "string" - } - }, - "path": "v1/groups", - "response": { - "$ref": "ListGroupsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "lookup": { - "description": "Looks up the [resource name](https://cloud.google.com/apis/design/resource_names) of a `Group` by its `EntityKey`.", - "flatPath": "v1/groups:lookup", - "httpMethod": "GET", - "id": "cloudidentity.groups.lookup", - "parameterOrder": [], - "parameters": { - "groupKey.id": { - "description": "The ID of the entity. For Google-managed entities, the `id` should be the email address of an existing group or user. Email addresses need to adhere to [name guidelines for users and groups](https://support.google.com/a/answer/9193374). For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source's requirements. Must be unique within a `namespace`.", - "location": "query", - "type": "string" - }, - "groupKey.namespace": { - "description": "The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source}`.", - "location": "query", - "type": "string" - } - }, - "path": "v1/groups:lookup", - "response": { - "$ref": "LookupGroupNameResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "patch": { - "description": "Updates a `Group`.", - "flatPath": "v1/groups/{groupsId}", - "httpMethod": "PATCH", - "id": "cloudidentity.groups.patch", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group`. Shall be of the form `groups/{group}`.", - "location": "path", - "pattern": "^groups/[^/]+$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The names of fields to update. May only contain the following field names: `display_name`, `description`, `labels`.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1/{+name}", - "request": { - "$ref": "Group" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "search": { - "description": "Searches for `Group` resources matching a specified query.", - "flatPath": "v1/groups:search", - "httpMethod": "GET", - "id": "cloudidentity.groups.search", - "parameterOrder": [], - "parameters": { - "pageSize": { - "description": "The maximum number of results to return. Note that the number of results returned may be less than this value even if there are more available results. To fetch all results, clients must continue calling this method repeatedly until the response no longer contains a `next_page_token`. If unspecified, defaults to 200 for `GroupView.BASIC` and 50 for `GroupView.FULL`. Must not be greater than 1000 for `GroupView.BASIC` or 500 for `GroupView.FULL`.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "The `next_page_token` value returned from a previous search request, if any.", - "location": "query", - "type": "string" - }, - "query": { - "description": "Required. The search query. * Must be specified in [Common Expression Language](https://opensource.google/projects/cel). * Must contain equality operators on the parent, e.g. `parent == 'customers/{customer_id}'`. The `customer_id` must begin with \"C\" (for example, 'C046psxkn'). [Find your customer ID.] (https://support.google.com/cloudidentity/answer/10070793) * Can contain optional inclusion operators on `labels` such as `'cloudidentity.googleapis.com/groups.discussion_forum' in labels`). * Can contain an optional equality operator on `domain_name`. e.g. `domain_name == 'examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `group_key`, e.g. `group_key.startsWith('dev')`, `group_key.contains('dev'), group_key == 'dev@examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `display_name`, such as `display_name.startsWith('dev')` , `display_name.contains('dev')`, `display_name == 'dev'`", - "location": "query", - "type": "string" - }, - "view": { - "description": "The level of detail to be returned. If unspecified, defaults to `View.BASIC`.", - "enum": [ - "VIEW_UNSPECIFIED", - "BASIC", - "FULL" - ], - "enumDescriptions": [ - "Default. Should not be used.", - "Only basic resource information is returned.", - "All resource information is returned." - ], - "location": "query", - "type": "string" - } - }, - "path": "v1/groups:search", - "response": { - "$ref": "SearchGroupsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "updateSecuritySettings": { - "description": "Update Security Settings", - "flatPath": "v1/groups/{groupsId}/securitySettings", - "httpMethod": "PATCH", - "id": "cloudidentity.groups.updateSecuritySettings", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Output only. The resource name of the security settings. Shall be of the form `groups/{group_id}/securitySettings`.", - "location": "path", - "pattern": "^groups/[^/]+/securitySettings$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The fully-qualified names of fields to update. May only contain the following field: `member_restriction.query`.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1/{+name}", - "request": { - "$ref": "SecuritySettings" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-platform" - ] - } - }, - "resources": { - "memberships": { - "methods": { - "checkTransitiveMembership": { - "description": "Check a potential member for membership in a group. **Note:** This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. If the account of the member is not one of these, a 403 (PERMISSION_DENIED) HTTP status code will be returned. A member has membership to a group as long as there is a single viewable transitive membership between the group and the member. The actor must have view permissions to at least one transitive membership between the member and group.", - "flatPath": "v1/groups/{groupsId}/memberships:checkTransitiveMembership", - "httpMethod": "GET", - "id": "cloudidentity.groups.memberships.checkTransitiveMembership", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the group to check the transitive membership in. Format: `groups/{group}`, where `group` is the unique id assigned to the Group to which the Membership belongs to.", - "location": "path", - "pattern": "^groups/[^/]+$", - "required": true, - "type": "string" - }, - "query": { - "description": "Required. A CEL expression that MUST include member specification. This is a `required` field. Certain groups are uniquely identified by both a 'member_key_id' and a 'member_key_namespace', which requires an additional query input: 'member_key_namespace'. Example query: `member_key_id == 'member_key_id_value'`", - "location": "query", - "type": "string" - } - }, - "path": "v1/{+parent}/memberships:checkTransitiveMembership", - "response": { - "$ref": "CheckTransitiveMembershipResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "create": { - "description": "Creates a `Membership`.", - "flatPath": "v1/groups/{groupsId}/memberships", - "httpMethod": "POST", - "id": "cloudidentity.groups.memberships.create", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "Required. The parent `Group` resource under which to create the `Membership`. Must be of the form `groups/{group}`.", - "location": "path", - "pattern": "^groups/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+parent}/memberships", - "request": { - "$ref": "Membership" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "delete": { - "description": "Deletes a `Membership`.", - "flatPath": "v1/groups/{groupsId}/memberships/{membershipsId}", - "httpMethod": "DELETE", - "id": "cloudidentity.groups.memberships.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership` to delete. Must be of the form `groups/{group}/memberships/{membership}`", - "location": "path", - "pattern": "^groups/[^/]+/memberships/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Retrieves a `Membership`.", - "flatPath": "v1/groups/{groupsId}/memberships/{membershipsId}", - "httpMethod": "GET", - "id": "cloudidentity.groups.memberships.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership` to retrieve. Must be of the form `groups/{group}/memberships/{membership}`.", - "location": "path", - "pattern": "^groups/[^/]+/memberships/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "Membership" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "getMembershipGraph": { - "description": "Get a membership graph of just a member or both a member and a group. **Note:** This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. If the account of the member is not one of these, a 403 (PERMISSION_DENIED) HTTP status code will be returned. Given a member, the response will contain all membership paths from the member. Given both a group and a member, the response will contain all membership paths between the group and the member.", - "flatPath": "v1/groups/{groupsId}/memberships:getMembershipGraph", - "httpMethod": "GET", - "id": "cloudidentity.groups.memberships.getMembershipGraph", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group}`, where `group` is the unique ID assigned to the Group to which the Membership belongs to. group can be a wildcard collection id \"-\". When a group is specified, the membership graph will be constrained to paths between the member (defined in the query) and the parent. If a wildcard collection is provided, all membership paths connected to the member will be returned.", - "location": "path", - "pattern": "^groups/[^/]+$", - "required": true, - "type": "string" - }, - "query": { - "description": "Required. A CEL expression that MUST include member specification AND label(s). Certain groups are uniquely identified by both a 'member_key_id' and a 'member_key_namespace', which requires an additional query input: 'member_key_namespace'. Example query: `member_key_id == 'member_key_id_value' && in labels`", - "location": "query", - "type": "string" - } - }, - "path": "v1/{+parent}/memberships:getMembershipGraph", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists the `Membership`s within a `Group`.", - "flatPath": "v1/groups/{groupsId}/memberships", - "httpMethod": "GET", - "id": "cloudidentity.groups.memberships.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "pageSize": { - "description": "The maximum number of results to return. Note that the number of results returned may be less than this value even if there are more available results. To fetch all results, clients must continue calling this method repeatedly until the response no longer contains a `next_page_token`. If unspecified, defaults to 200 for `GroupView.BASIC` and to 50 for `GroupView.FULL`. Must not be greater than 1000 for `GroupView.BASIC` or 500 for `GroupView.FULL`.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "The `next_page_token` value returned from a previous search request, if any.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent `Group` resource under which to lookup the `Membership` name. Must be of the form `groups/{group}`.", - "location": "path", - "pattern": "^groups/[^/]+$", - "required": true, - "type": "string" - }, - "view": { - "description": "The level of detail to be returned. If unspecified, defaults to `View.BASIC`.", - "enum": [ - "VIEW_UNSPECIFIED", - "BASIC", - "FULL" - ], - "enumDescriptions": [ - "Default. Should not be used.", - "Only basic resource information is returned.", - "All resource information is returned." - ], - "location": "query", - "type": "string" - } - }, - "path": "v1/{+parent}/memberships", - "response": { - "$ref": "ListMembershipsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "lookup": { - "description": "Looks up the [resource name](https://cloud.google.com/apis/design/resource_names) of a `Membership` by its `EntityKey`.", - "flatPath": "v1/groups/{groupsId}/memberships:lookup", - "httpMethod": "GET", - "id": "cloudidentity.groups.memberships.lookup", - "parameterOrder": [ - "parent" - ], - "parameters": { - "memberKey.id": { - "description": "The ID of the entity. For Google-managed entities, the `id` should be the email address of an existing group or user. Email addresses need to adhere to [name guidelines for users and groups](https://support.google.com/a/answer/9193374). For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source's requirements. Must be unique within a `namespace`.", - "location": "query", - "type": "string" - }, - "memberKey.namespace": { - "description": "The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source}`.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent `Group` resource under which to lookup the `Membership` name. Must be of the form `groups/{group}`.", - "location": "path", - "pattern": "^groups/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+parent}/memberships:lookup", - "response": { - "$ref": "LookupMembershipNameResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "modifyMembershipRoles": { - "description": "Modifies the `MembershipRole`s of a `Membership`.", - "flatPath": "v1/groups/{groupsId}/memberships/{membershipsId}:modifyMembershipRoles", - "httpMethod": "POST", - "id": "cloudidentity.groups.memberships.modifyMembershipRoles", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership` whose roles are to be modified. Must be of the form `groups/{group}/memberships/{membership}`.", - "location": "path", - "pattern": "^groups/[^/]+/memberships/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}:modifyMembershipRoles", - "request": { - "$ref": "ModifyMembershipRolesRequest" - }, - "response": { - "$ref": "ModifyMembershipRolesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "searchDirectGroups": { - "description": "Searches direct groups of a member.", - "flatPath": "v1/groups/{groupsId}/memberships:searchDirectGroups", - "httpMethod": "GET", - "id": "cloudidentity.groups.memberships.searchDirectGroups", - "parameterOrder": [ - "parent" - ], - "parameters": { - "orderBy": { - "description": "The ordering of membership relation for the display name or email in the response. The syntax for this field can be found at https://cloud.google.com/apis/design/design_patterns#sorting_order. Example: Sort by the ascending display name: order_by=\"group_name\" or order_by=\"group_name asc\". Sort by the descending display name: order_by=\"group_name desc\". Sort by the ascending group key: order_by=\"group_key\" or order_by=\"group_key asc\". Sort by the descending group key: order_by=\"group_key desc\".", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "The default page size is 200 (max 1000).", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "The next_page_token value returned from a previous list request, if any", - "location": "query", - "type": "string" - }, - "parent": { - "description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: groups/{group_id}, where group_id is always '-' as this API will search across all groups for a given member.", - "location": "path", - "pattern": "^groups/[^/]+$", - "required": true, - "type": "string" - }, - "query": { - "description": "Required. A CEL expression that MUST include member specification AND label(s). Users can search on label attributes of groups. CONTAINS match ('in') is supported on labels. Identity-mapped groups are uniquely identified by both a `member_key_id` and a `member_key_namespace`, which requires an additional query input: `member_key_namespace`. Example query: `member_key_id == 'member_key_id_value' && 'label_value' in labels`", - "location": "query", - "type": "string" - } - }, - "path": "v1/{+parent}/memberships:searchDirectGroups", - "response": { - "$ref": "SearchDirectGroupsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "searchTransitiveGroups": { - "description": "Search transitive groups of a member. **Note:** This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. If the account of the member is not one of these, a 403 (PERMISSION_DENIED) HTTP status code will be returned. A transitive group is any group that has a direct or indirect membership to the member. Actor must have view permissions all transitive groups.", - "flatPath": "v1/groups/{groupsId}/memberships:searchTransitiveGroups", - "httpMethod": "GET", - "id": "cloudidentity.groups.memberships.searchTransitiveGroups", - "parameterOrder": [ - "parent" - ], - "parameters": { - "pageSize": { - "description": "The default page size is 200 (max 1000).", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "The next_page_token value returned from a previous list request, if any.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group}`, where `group` is always '-' as this API will search across all groups for a given member.", - "location": "path", - "pattern": "^groups/[^/]+$", - "required": true, - "type": "string" - }, - "query": { - "description": "Required. A CEL expression that MUST include member specification AND label(s). This is a `required` field. Users can search on label attributes of groups. CONTAINS match ('in') is supported on labels. Identity-mapped groups are uniquely identified by both a `member_key_id` and a `member_key_namespace`, which requires an additional query input: `member_key_namespace`. Example query: `member_key_id == 'member_key_id_value' && in labels` Query may optionally contain equality operators on the parent of the group restricting the search within a particular customer, e.g. `parent == 'customers/{customer_id}'`. The `customer_id` must begin with \"C\" (for example, 'C046psxkn'). This filtering is only supported for Admins with groups read permissons on the input customer. Example query: `member_key_id == 'member_key_id_value' && in labels && parent == 'customers/C046psxkn'`", - "location": "query", - "type": "string" - } - }, - "path": "v1/{+parent}/memberships:searchTransitiveGroups", - "response": { - "$ref": "SearchTransitiveGroupsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "searchTransitiveMemberships": { - "description": "Search transitive memberships of a group. **Note:** This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. If the account of the group is not one of these, a 403 (PERMISSION_DENIED) HTTP status code will be returned. A transitive membership is any direct or indirect membership of a group. Actor must have view permissions to all transitive memberships.", - "flatPath": "v1/groups/{groupsId}/memberships:searchTransitiveMemberships", - "httpMethod": "GET", - "id": "cloudidentity.groups.memberships.searchTransitiveMemberships", - "parameterOrder": [ - "parent" - ], - "parameters": { - "pageSize": { - "description": "The default page size is 200 (max 1000).", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "The next_page_token value returned from a previous list request, if any.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group}`, where `group` is the unique ID assigned to the Group.", - "location": "path", - "pattern": "^groups/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+parent}/memberships:searchTransitiveMemberships", - "response": { - "$ref": "SearchTransitiveMembershipsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - } - } - }, - "inboundSamlSsoProfiles": { - "methods": { - "create": { - "description": "Creates an InboundSamlSsoProfile for a customer. When the target customer has enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448), the `Operation` in the response will have `\"done\": false`, it will not have a response, and the metadata will have `\"state\": \"awaiting-multi-party-approval\"`.", - "flatPath": "v1/inboundSamlSsoProfiles", - "httpMethod": "POST", - "id": "cloudidentity.inboundSamlSsoProfiles.create", - "parameterOrder": [], - "parameters": {}, - "path": "v1/inboundSamlSsoProfiles", - "request": { - "$ref": "InboundSamlSsoProfile" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "delete": { - "description": "Deletes an InboundSamlSsoProfile.", - "flatPath": "v1/inboundSamlSsoProfiles/{inboundSamlSsoProfilesId}", - "httpMethod": "DELETE", - "id": "cloudidentity.inboundSamlSsoProfiles.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the InboundSamlSsoProfile to delete. Format: `inboundSamlSsoProfiles/{sso_profile_id}`", - "location": "path", - "pattern": "^inboundSamlSsoProfiles/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Gets an InboundSamlSsoProfile.", - "flatPath": "v1/inboundSamlSsoProfiles/{inboundSamlSsoProfilesId}", - "httpMethod": "GET", - "id": "cloudidentity.inboundSamlSsoProfiles.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the InboundSamlSsoProfile to get. Format: `inboundSamlSsoProfiles/{sso_profile_id}`", - "location": "path", - "pattern": "^inboundSamlSsoProfiles/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "InboundSamlSsoProfile" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists InboundSamlSsoProfiles for a customer.", - "flatPath": "v1/inboundSamlSsoProfiles", - "httpMethod": "GET", - "id": "cloudidentity.inboundSamlSsoProfiles.list", - "parameterOrder": [], - "parameters": { - "filter": { - "description": "A [Common Expression Language](https://github.com/google/cel-spec) expression to filter the results. The only supported filter is filtering by customer. For example: `customer==\"customers/C0123abc\"`. Omitting the filter or specifying a filter of `customer==\"customers/my_customer\"` will return the profiles for the customer that the caller (authenticated user) belongs to.", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "The maximum number of InboundSamlSsoProfiles to return. The service may return fewer than this value. If omitted (or defaulted to zero) the server will use a sensible default. This default may change over time. The maximum allowed value is 100. Requests with page_size greater than that will be silently interpreted as having this maximum value.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "A page token, received from a previous `ListInboundSamlSsoProfiles` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListInboundSamlSsoProfiles` must match the call that provided the page token.", - "location": "query", - "type": "string" - } - }, - "path": "v1/inboundSamlSsoProfiles", - "response": { - "$ref": "ListInboundSamlSsoProfilesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "patch": { - "description": "Updates an InboundSamlSsoProfile. When the target customer has enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448), the `Operation` in the response will have `\"done\": false`, it will not have a response, and the metadata will have `\"state\": \"awaiting-multi-party-approval\"`.", - "flatPath": "v1/inboundSamlSsoProfiles/{inboundSamlSsoProfilesId}", - "httpMethod": "PATCH", - "id": "cloudidentity.inboundSamlSsoProfiles.patch", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the SAML SSO profile.", - "location": "path", - "pattern": "^inboundSamlSsoProfiles/[^/]+$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The list of fields to be updated.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1/{+name}", - "request": { - "$ref": "InboundSamlSsoProfile" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - }, - "resources": { - "idpCredentials": { - "methods": { - "add": { - "description": "Adds an IdpCredential. Up to 2 credentials are allowed. When the target customer has enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448), the `Operation` in the response will have `\"done\": false`, it will not have a response, and the metadata will have `\"state\": \"awaiting-multi-party-approval\"`.", - "flatPath": "v1/inboundSamlSsoProfiles/{inboundSamlSsoProfilesId}/idpCredentials:add", - "httpMethod": "POST", - "id": "cloudidentity.inboundSamlSsoProfiles.idpCredentials.add", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "Required. The InboundSamlSsoProfile that owns the IdpCredential. Format: `inboundSamlSsoProfiles/{sso_profile_id}`", - "location": "path", - "pattern": "^inboundSamlSsoProfiles/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+parent}/idpCredentials:add", - "request": { - "$ref": "AddIdpCredentialRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "delete": { - "description": "Deletes an IdpCredential.", - "flatPath": "v1/inboundSamlSsoProfiles/{inboundSamlSsoProfilesId}/idpCredentials/{idpCredentialsId}", - "httpMethod": "DELETE", - "id": "cloudidentity.inboundSamlSsoProfiles.idpCredentials.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the IdpCredential to delete. Format: `inboundSamlSsoProfiles/{sso_profile_id}/idpCredentials/{idp_credential_id}`", - "location": "path", - "pattern": "^inboundSamlSsoProfiles/[^/]+/idpCredentials/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Gets an IdpCredential.", - "flatPath": "v1/inboundSamlSsoProfiles/{inboundSamlSsoProfilesId}/idpCredentials/{idpCredentialsId}", - "httpMethod": "GET", - "id": "cloudidentity.inboundSamlSsoProfiles.idpCredentials.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the IdpCredential to retrieve. Format: `inboundSamlSsoProfiles/{sso_profile_id}/idpCredentials/{idp_credential_id}`", - "location": "path", - "pattern": "^inboundSamlSsoProfiles/[^/]+/idpCredentials/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "IdpCredential" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Returns a list of IdpCredentials in an InboundSamlSsoProfile.", - "flatPath": "v1/inboundSamlSsoProfiles/{inboundSamlSsoProfilesId}/idpCredentials", - "httpMethod": "GET", - "id": "cloudidentity.inboundSamlSsoProfiles.idpCredentials.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "pageSize": { - "description": "The maximum number of `IdpCredential`s to return. The service may return fewer than this value.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "A page token, received from a previous `ListIdpCredentials` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListIdpCredentials` must match the call that provided the page token.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent, which owns this collection of `IdpCredential`s. Format: `inboundSamlSsoProfiles/{sso_profile_id}`", - "location": "path", - "pattern": "^inboundSamlSsoProfiles/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+parent}/idpCredentials", - "response": { - "$ref": "ListIdpCredentialsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - } - } - }, - "inboundSsoAssignments": { - "methods": { - "create": { - "description": "Creates an InboundSsoAssignment for users and devices in a `Customer` under a given `Group` or `OrgUnit`.", - "flatPath": "v1/inboundSsoAssignments", - "httpMethod": "POST", - "id": "cloudidentity.inboundSsoAssignments.create", - "parameterOrder": [], - "parameters": {}, - "path": "v1/inboundSsoAssignments", - "request": { - "$ref": "InboundSsoAssignment" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "delete": { - "description": "Deletes an InboundSsoAssignment. To disable SSO, Create (or Update) an assignment that has `sso_mode` == `SSO_OFF`.", - "flatPath": "v1/inboundSsoAssignments/{inboundSsoAssignmentsId}", - "httpMethod": "DELETE", - "id": "cloudidentity.inboundSsoAssignments.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the InboundSsoAssignment to delete. Format: `inboundSsoAssignments/{assignment}`", - "location": "path", - "pattern": "^inboundSsoAssignments/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Gets an InboundSsoAssignment.", - "flatPath": "v1/inboundSsoAssignments/{inboundSsoAssignmentsId}", - "httpMethod": "GET", - "id": "cloudidentity.inboundSsoAssignments.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the InboundSsoAssignment to fetch. Format: `inboundSsoAssignments/{assignment}`", - "location": "path", - "pattern": "^inboundSsoAssignments/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "InboundSsoAssignment" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists the InboundSsoAssignments for a `Customer`.", - "flatPath": "v1/inboundSsoAssignments", - "httpMethod": "GET", - "id": "cloudidentity.inboundSsoAssignments.list", - "parameterOrder": [], - "parameters": { - "filter": { - "description": "A CEL expression to filter the results. The only supported filter is filtering by customer. For example: `customer==customers/C0123abc`. Omitting the filter or specifying a filter of `customer==customers/my_customer` will return the assignments for the customer that the caller (authenticated user) belongs to.", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "The maximum number of assignments to return. The service may return fewer than this value. If omitted (or defaulted to zero) the server will use a sensible default. This default may change over time. The maximum allowed value is 100, though requests with page_size greater than that will be silently interpreted as having this maximum value. This may increase in the futue.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "A page token, received from a previous `ListInboundSsoAssignments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListInboundSsoAssignments` must match the call that provided the page token.", - "location": "query", - "type": "string" - } - }, - "path": "v1/inboundSsoAssignments", - "response": { - "$ref": "ListInboundSsoAssignmentsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "patch": { - "description": "Updates an InboundSsoAssignment. The body of this request is the `inbound_sso_assignment` field and the `update_mask` is relative to that. For example: a PATCH to `/v1/inboundSsoAssignments/0abcdefg1234567&update_mask=rank` with a body of `{ \"rank\": 1 }` moves that (presumably group-targeted) SSO assignment to the highest priority and shifts any other group-targeted assignments down in priority.", - "flatPath": "v1/inboundSsoAssignments/{inboundSsoAssignmentsId}", - "httpMethod": "PATCH", - "id": "cloudidentity.inboundSsoAssignments.patch", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Inbound SSO Assignment.", - "location": "path", - "pattern": "^inboundSsoAssignments/[^/]+$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The list of fields to be updated.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1/{+name}", - "request": { - "$ref": "InboundSsoAssignment" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - } - }, - "revision": "20240924", - "rootUrl": "https://cloudidentity.googleapis.com/", - "schemas": { - "AddIdpCredentialOperationMetadata": { - "description": "LRO response metadata for InboundSamlSsoProfilesService.AddIdpCredential.", - "id": "AddIdpCredentialOperationMetadata", - "properties": { - "state": { - "description": "State of this Operation Will be \"awaiting-multi-party-approval\" when the operation is deferred due to the target customer having enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448).", - "type": "string" - } - }, - "type": "object" - }, - "AddIdpCredentialRequest": { - "description": "The request for creating an IdpCredential with its associated payload. An InboundSamlSsoProfile can own up to 2 credentials.", - "id": "AddIdpCredentialRequest", - "properties": { - "pemData": { - "description": "PEM encoded x509 certificate containing the public key for verifying IdP signatures.", - "type": "string" - } - }, - "type": "object" - }, - "CancelUserInvitationRequest": { - "description": "Request to cancel sent invitation for target email in UserInvitation.", - "id": "CancelUserInvitationRequest", - "properties": {}, - "type": "object" - }, - "CheckTransitiveMembershipResponse": { - "description": "The response message for MembershipsService.CheckTransitiveMembership.", - "id": "CheckTransitiveMembershipResponse", - "properties": { - "hasMembership": { - "description": "Response does not include the possible roles of a member since the behavior of this rpc is not all-or-nothing unlike the other rpcs. So, it may not be possible to list all the roles definitively, due to possible lack of authorization in some of the paths.", - "type": "boolean" - } - }, - "type": "object" - }, - "CreateGroupMetadata": { - "description": "Metadata for CreateGroup LRO.", - "id": "CreateGroupMetadata", - "properties": {}, - "type": "object" - }, - "CreateInboundSamlSsoProfileOperationMetadata": { - "description": "LRO response metadata for InboundSamlSsoProfilesService.CreateInboundSamlSsoProfile.", - "id": "CreateInboundSamlSsoProfileOperationMetadata", - "properties": { - "state": { - "description": "State of this Operation Will be \"awaiting-multi-party-approval\" when the operation is deferred due to the target customer having enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448).", - "type": "string" - } - }, - "type": "object" - }, - "CreateInboundSsoAssignmentOperationMetadata": { - "description": "LRO response metadata for InboundSsoAssignmentsService.CreateInboundSsoAssignment.", - "id": "CreateInboundSsoAssignmentOperationMetadata", - "properties": {}, - "type": "object" - }, - "CreateMembershipMetadata": { - "description": "Metadata for CreateMembership LRO.", - "id": "CreateMembershipMetadata", - "properties": {}, - "type": "object" - }, - "DeleteGroupMetadata": { - "description": "Metadata for DeleteGroup LRO.", - "id": "DeleteGroupMetadata", - "properties": {}, - "type": "object" - }, - "DeleteIdpCredentialOperationMetadata": { - "description": "LRO response metadata for InboundSamlSsoProfilesService.DeleteIdpCredential.", - "id": "DeleteIdpCredentialOperationMetadata", - "properties": {}, - "type": "object" - }, - "DeleteInboundSamlSsoProfileOperationMetadata": { - "description": "LRO response metadata for InboundSamlSsoProfilesService.DeleteInboundSamlSsoProfile.", - "id": "DeleteInboundSamlSsoProfileOperationMetadata", - "properties": {}, - "type": "object" - }, - "DeleteInboundSsoAssignmentOperationMetadata": { - "description": "LRO response metadata for InboundSsoAssignmentsService.DeleteInboundSsoAssignment.", - "id": "DeleteInboundSsoAssignmentOperationMetadata", - "properties": {}, - "type": "object" - }, - "DeleteMembershipMetadata": { - "description": "Metadata for DeleteMembership LRO.", - "id": "DeleteMembershipMetadata", - "properties": {}, - "type": "object" - }, - "DsaPublicKeyInfo": { - "description": "Information of a DSA public key.", - "id": "DsaPublicKeyInfo", - "properties": { - "keySize": { - "description": "Key size in bits (size of parameter P).", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "DynamicGroupMetadata": { - "description": "Dynamic group metadata like queries and status.", - "id": "DynamicGroupMetadata", - "properties": { - "queries": { - "description": "Memberships will be the union of all queries. Only one entry with USER resource is currently supported. Customers can create up to 500 dynamic groups.", - "items": { - "$ref": "DynamicGroupQuery" - }, - "type": "array" - }, - "status": { - "$ref": "DynamicGroupStatus", - "description": "Output only. Status of the dynamic group.", - "readOnly": true - } - }, - "type": "object" - }, - "DynamicGroupQuery": { - "description": "Defines a query on a resource.", - "id": "DynamicGroupQuery", - "properties": { - "query": { - "description": "Query that determines the memberships of the dynamic group. Examples: All users with at least one `organizations.department` of engineering. `user.organizations.exists(org, org.department=='engineering')` All users with at least one location that has `area` of `foo` and `building_id` of `bar`. `user.locations.exists(loc, loc.area=='foo' && loc.building_id=='bar')` All users with any variation of the name John Doe (case-insensitive queries add `equalsIgnoreCase()` to the value being queried). `user.name.value.equalsIgnoreCase('jOhn DoE')`", - "type": "string" - }, - "resourceType": { - "description": "Resource type for the Dynamic Group Query", - "enum": [ - "RESOURCE_TYPE_UNSPECIFIED", - "USER" - ], - "enumDescriptions": [ - "Default value (not valid)", - "For queries on User" - ], - "type": "string" - } - }, - "type": "object" - }, - "DynamicGroupStatus": { - "description": "The current status of a dynamic group along with timestamp.", - "id": "DynamicGroupStatus", - "properties": { - "status": { - "description": "Status of the dynamic group.", - "enum": [ - "STATUS_UNSPECIFIED", - "UP_TO_DATE", - "UPDATING_MEMBERSHIPS", - "INVALID_QUERY" - ], - "enumDescriptions": [ - "Default.", - "The dynamic group is up-to-date.", - "The dynamic group has just been created and memberships are being updated.", - "Group is in an unrecoverable state and its memberships can't be updated." - ], - "type": "string" - }, - "statusTime": { - "description": "The latest time at which the dynamic group is guaranteed to be in the given status. If status is `UP_TO_DATE`, the latest time at which the dynamic group was confirmed to be up-to-date. If status is `UPDATING_MEMBERSHIPS`, the time at which dynamic group was created.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "EntityKey": { - "description": "A unique identifier for an entity in the Cloud Identity Groups API. An entity can represent either a group with an optional `namespace` or a user without a `namespace`. The combination of `id` and `namespace` must be unique; however, the same `id` can be used with different `namespace`s.", - "id": "EntityKey", - "properties": { - "id": { - "description": "The ID of the entity. For Google-managed entities, the `id` should be the email address of an existing group or user. Email addresses need to adhere to [name guidelines for users and groups](https://support.google.com/a/answer/9193374). For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source's requirements. Must be unique within a `namespace`.", - "type": "string" - }, - "namespace": { - "description": "The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source}`.", - "type": "string" - } - }, - "type": "object" - }, - "ExpiryDetail": { - "description": "The `MembershipRole` expiry details.", - "id": "ExpiryDetail", - "properties": { - "expireTime": { - "description": "The time at which the `MembershipRole` will expire.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "GetMembershipGraphMetadata": { - "description": "Metadata of GetMembershipGraphResponse LRO. This is currently empty to permit future extensibility.", - "id": "GetMembershipGraphMetadata", - "properties": {}, - "type": "object" - }, - "GetMembershipGraphResponse": { - "description": "The response message for MembershipsService.GetMembershipGraph.", - "id": "GetMembershipGraphResponse", - "properties": { - "adjacencyList": { - "description": "The membership graph's path information represented as an adjacency list.", - "items": { - "$ref": "MembershipAdjacencyList" - }, - "type": "array" - }, - "groups": { - "description": "The resources representing each group in the adjacency list. Each group in this list can be correlated to a 'group' of the MembershipAdjacencyList using the 'name' of the Group resource.", - "items": { - "$ref": "Group" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1AndroidAttributes": { - "description": "Resource representing the Android specific attributes of a Device.", - "id": "GoogleAppsCloudidentityDevicesV1AndroidAttributes", - "properties": { - "ctsProfileMatch": { - "description": "Whether the device passes Android CTS compliance.", - "type": "boolean" - }, - "enabledUnknownSources": { - "description": "Whether applications from unknown sources can be installed on device.", - "type": "boolean" - }, - "hasPotentiallyHarmfulApps": { - "description": "Whether any potentially harmful apps were detected on the device.", - "type": "boolean" - }, - "ownerProfileAccount": { - "description": "Whether this account is on an owner/primary profile. For phones, only true for owner profiles. Android 4+ devices can have secondary or restricted user profiles.", - "type": "boolean" - }, - "ownershipPrivilege": { - "description": "Ownership privileges on device.", - "enum": [ - "OWNERSHIP_PRIVILEGE_UNSPECIFIED", - "DEVICE_ADMINISTRATOR", - "PROFILE_OWNER", - "DEVICE_OWNER" - ], - "enumDescriptions": [ - "Ownership privilege is not set.", - "Active device administrator privileges on the device.", - "Profile Owner privileges. The account is in a managed corporate profile.", - "Device Owner privileges on the device." - ], - "type": "string" - }, - "supportsWorkProfile": { - "description": "Whether device supports Android work profiles. If false, this service will not block access to corp data even if an administrator turns on the \"Enforce Work Profile\" policy.", - "type": "boolean" - }, - "verifiedBoot": { - "description": "Whether Android verified boot status is GREEN.", - "type": "boolean" - }, - "verifyAppsEnabled": { - "description": "Whether Google Play Protect Verify Apps is enabled.", - "type": "boolean" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata": { - "description": "Metadata for ApproveDeviceUser LRO.", - "id": "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest": { - "description": "Request message for approving the device to access user data.", - "id": "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserRequest", - "properties": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse": { - "description": "Response message for approving the device to access user data.", - "id": "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse", - "properties": { - "deviceUser": { - "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser", - "description": "Resultant DeviceUser object for the action." - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata": { - "description": "Metadata for BlockDeviceUser LRO.", - "id": "GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest": { - "description": "Request message for blocking account on device.", - "id": "GoogleAppsCloudidentityDevicesV1BlockDeviceUserRequest", - "properties": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse": { - "description": "Response message for blocking the device from accessing user data.", - "id": "GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse", - "properties": { - "deviceUser": { - "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser", - "description": "Resultant DeviceUser object for the action." - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1BrowserAttributes": { - "description": "Contains information about browser profiles reported by the [Endpoint Verification extension](https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1).", - "id": "GoogleAppsCloudidentityDevicesV1BrowserAttributes", - "properties": { - "chromeBrowserInfo": { - "$ref": "GoogleAppsCloudidentityDevicesV1BrowserInfo", - "description": "Represents the current state of the [Chrome browser attributes](https://cloud.google.com/access-context-manager/docs/browser-attributes) sent by the [Endpoint Verification extension](https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1)." - }, - "chromeProfileId": { - "description": "Chrome profile ID that is exposed by the Chrome API. It is unique for each device.", - "type": "string" - }, - "lastProfileSyncTime": { - "description": "Timestamp in milliseconds since the Unix epoch when the profile/gcm id was last synced.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1BrowserInfo": { - "description": "Browser-specific fields reported by the [Endpoint Verification extension](https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1).", - "id": "GoogleAppsCloudidentityDevicesV1BrowserInfo", - "properties": { - "browserManagementState": { - "description": "Output only. Browser's management state.", - "enum": [ - "UNSPECIFIED", - "UNMANAGED", - "MANAGED_BY_OTHER_DOMAIN", - "PROFILE_MANAGED", - "BROWSER_MANAGED" - ], - "enumDescriptions": [ - "Management state is not specified.", - "Browser/Profile is not managed by any customer.", - "Browser/Profile is managed, but by some other customer.", - "Profile is managed by customer.", - "Browser is managed by customer." - ], - "readOnly": true, - "type": "string" - }, - "browserVersion": { - "description": "Version of the request initiating browser. E.g. `91.0.4442.4`.", - "type": "string" - }, - "isBuiltInDnsClientEnabled": { - "description": "Current state of [built-in DNS client](https://chromeenterprise.google/policies/#BuiltInDnsClientEnabled).", - "type": "boolean" - }, - "isBulkDataEntryAnalysisEnabled": { - "description": "Current state of [bulk data analysis](https://chromeenterprise.google/policies/#OnBulkDataEntryEnterpriseConnector). Set to true if provider list from Chrome is non-empty.", - "type": "boolean" - }, - "isChromeCleanupEnabled": { - "description": "Current state of [Chrome Cleanup](https://chromeenterprise.google/policies/#ChromeCleanupEnabled).", - "type": "boolean" - }, - "isChromeRemoteDesktopAppBlocked": { - "description": "Current state of [Chrome Remote Desktop app](https://chromeenterprise.google/policies/#URLBlocklist).", - "type": "boolean" - }, - "isFileDownloadAnalysisEnabled": { - "description": "Current state of [file download analysis](https://chromeenterprise.google/policies/#OnFileDownloadedEnterpriseConnector). Set to true if provider list from Chrome is non-empty.", - "type": "boolean" - }, - "isFileUploadAnalysisEnabled": { - "description": "Current state of [file upload analysis](https://chromeenterprise.google/policies/#OnFileAttachedEnterpriseConnector). Set to true if provider list from Chrome is non-empty.", - "type": "boolean" - }, - "isRealtimeUrlCheckEnabled": { - "description": "Current state of [real-time URL check](https://chromeenterprise.google/policies/#EnterpriseRealTimeUrlCheckMode). Set to true if provider list from Chrome is non-empty.", - "type": "boolean" - }, - "isSecurityEventAnalysisEnabled": { - "description": "Current state of [security event analysis](https://chromeenterprise.google/policies/#OnSecurityEventEnterpriseConnector). Set to true if provider list from Chrome is non-empty.", - "type": "boolean" - }, - "isSiteIsolationEnabled": { - "description": "Current state of [site isolation](https://chromeenterprise.google/policies/?policy=IsolateOrigins).", - "type": "boolean" - }, - "isThirdPartyBlockingEnabled": { - "description": "Current state of [third-party blocking](https://chromeenterprise.google/policies/#ThirdPartyBlockingEnabled).", - "type": "boolean" - }, - "passwordProtectionWarningTrigger": { - "description": "Current state of [password protection trigger](https://chromeenterprise.google/policies/#PasswordProtectionWarningTrigger).", - "enum": [ - "PASSWORD_PROTECTION_TRIGGER_UNSPECIFIED", - "PROTECTION_OFF", - "PASSWORD_REUSE", - "PHISHING_REUSE" - ], - "enumDescriptions": [ - "Password protection is not specified.", - "Password reuse is never detected.", - "Warning is shown when the user reuses their protected password on a non-allowed site.", - "Warning is shown when the user reuses their protected password on a phishing site." - ], - "type": "string" - }, - "safeBrowsingProtectionLevel": { - "description": "Current state of [Safe Browsing protection level](https://chromeenterprise.google/policies/#SafeBrowsingProtectionLevel).", - "enum": [ - "SAFE_BROWSING_LEVEL_UNSPECIFIED", - "DISABLED", - "STANDARD", - "ENHANCED" - ], - "enumDescriptions": [ - "Browser protection level is not specified.", - "No protection against dangerous websites, downloads, and extensions.", - "Standard protection against websites, downloads, and extensions that are known to be dangerous.", - "Faster, proactive protection against dangerous websites, downloads, and extensions." - ], - "type": "string" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata": { - "description": "Metadata for CancelWipeDevice LRO.", - "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest": { - "description": "Request message for cancelling an unfinished device wipe.", - "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceRequest", - "properties": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse": { - "description": "Response message for cancelling an unfinished device wipe.", - "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse", - "properties": { - "device": { - "$ref": "GoogleAppsCloudidentityDevicesV1Device", - "description": "Resultant Device object for the action. Note that asset tags will not be returned in the device object." - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata": { - "description": "Metadata for CancelWipeDeviceUser LRO.", - "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest": { - "description": "Request message for cancelling an unfinished user account wipe.", - "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserRequest", - "properties": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse": { - "description": "Response message for cancelling an unfinished user account wipe.", - "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse", - "properties": { - "deviceUser": { - "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser", - "description": "Resultant DeviceUser object for the action." - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1CertificateAttributes": { - "description": "Stores information about a certificate.", - "id": "GoogleAppsCloudidentityDevicesV1CertificateAttributes", - "properties": { - "certificateTemplate": { - "$ref": "GoogleAppsCloudidentityDevicesV1CertificateTemplate", - "description": "The X.509 extension for CertificateTemplate." - }, - "fingerprint": { - "description": "The encoded certificate fingerprint.", - "type": "string" - }, - "issuer": { - "description": "The name of the issuer of this certificate.", - "type": "string" - }, - "serialNumber": { - "description": "Serial number of the certificate, Example: \"123456789\".", - "type": "string" - }, - "subject": { - "description": "The subject name of this certificate.", - "type": "string" - }, - "thumbprint": { - "description": "The certificate thumbprint.", - "type": "string" - }, - "validationState": { - "description": "Output only. Validation state of this certificate.", - "enum": [ - "CERTIFICATE_VALIDATION_STATE_UNSPECIFIED", - "VALIDATION_SUCCESSFUL", - "VALIDATION_FAILED" - ], - "enumDescriptions": [ - "Default value.", - "Certificate validation was successful.", - "Certificate validation failed." - ], - "readOnly": true, - "type": "string" - }, - "validityExpirationTime": { - "description": "Certificate not valid at or after this timestamp.", - "format": "google-datetime", - "type": "string" - }, - "validityStartTime": { - "description": "Certificate not valid before this timestamp.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1CertificateTemplate": { - "description": "CertificateTemplate (v3 Extension in X.509).", - "id": "GoogleAppsCloudidentityDevicesV1CertificateTemplate", - "properties": { - "id": { - "description": "The template id of the template. Example: \"1.3.6.1.4.1.311.21.8.15608621.11768144.5720724.16068415.6889630.81.2472537.7784047\".", - "type": "string" - }, - "majorVersion": { - "description": "The Major version of the template. Example: 100.", - "format": "int32", - "type": "integer" - }, - "minorVersion": { - "description": "The minor version of the template. Example: 12.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1ClientState": { - "description": "Represents the state associated with an API client calling the Devices API. Resource representing ClientState and supports updates from API users", - "id": "GoogleAppsCloudidentityDevicesV1ClientState", - "properties": { - "assetTags": { - "description": "The caller can specify asset tags for this resource", - "items": { - "type": "string" - }, - "type": "array" - }, - "complianceState": { - "description": "The compliance state of the resource as specified by the API client.", - "enum": [ - "COMPLIANCE_STATE_UNSPECIFIED", - "COMPLIANT", - "NON_COMPLIANT" - ], - "enumDescriptions": [ - "The compliance state of the resource is unknown or unspecified.", - "Device is compliant with third party policies", - "Device is not compliant with third party policies" - ], - "type": "string" - }, - "createTime": { - "description": "Output only. The time the client state data was created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "customId": { - "description": "This field may be used to store a unique identifier for the API resource within which these CustomAttributes are a field.", - "type": "string" - }, - "etag": { - "description": "The token that needs to be passed back for concurrency control in updates. Token needs to be passed back in UpdateRequest", - "type": "string" - }, - "healthScore": { - "description": "The Health score of the resource. The Health score is the callers specification of the condition of the device from a usability point of view. For example, a third-party device management provider may specify a health score based on its compliance with organizational policies.", - "enum": [ - "HEALTH_SCORE_UNSPECIFIED", - "VERY_POOR", - "POOR", - "NEUTRAL", - "GOOD", - "VERY_GOOD" - ], - "enumDescriptions": [ - "Default value", - "The object is in very poor health as defined by the caller.", - "The object is in poor health as defined by the caller.", - "The object health is neither good nor poor, as defined by the caller.", - "The object is in good health as defined by the caller.", - "The object is in very good health as defined by the caller." - ], - "type": "string" - }, - "keyValuePairs": { - "additionalProperties": { - "$ref": "GoogleAppsCloudidentityDevicesV1CustomAttributeValue" - }, - "description": "The map of key-value attributes stored by callers specific to a device. The total serialized length of this map may not exceed 10KB. No limit is placed on the number of attributes in a map.", - "type": "object" - }, - "lastUpdateTime": { - "description": "Output only. The time the client state data was last updated.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "managed": { - "description": "The management state of the resource as specified by the API client.", - "enum": [ - "MANAGED_STATE_UNSPECIFIED", - "MANAGED", - "UNMANAGED" - ], - "enumDescriptions": [ - "The management state of the resource is unknown or unspecified.", - "The resource is managed.", - "The resource is not managed." - ], - "type": "string" - }, - "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device}/deviceUsers/{device_user}/clientState/{partner}`, where partner corresponds to the partner storing the data. For partners belonging to the \"BeyondCorp Alliance\", this is the partner ID specified to you by Google. For all other callers, this is a string of the form: `{customer}-suffix`, where `customer` is your customer ID. The *suffix* is any string the caller specifies. This string will be displayed verbatim in the administration console. This suffix is used in setting up Custom Access Levels in Context-Aware Access. Your organization's customer ID can be obtained from the URL: `GET https://www.googleapis.com/admin/directory/v1/customers/my_customer` The `id` field in the response contains the customer ID starting with the letter 'C'. The customer ID to be used in this API is the string after the letter 'C' (not including 'C')", - "readOnly": true, - "type": "string" - }, - "ownerType": { - "description": "Output only. The owner of the ClientState", - "enum": [ - "OWNER_TYPE_UNSPECIFIED", - "OWNER_TYPE_CUSTOMER", - "OWNER_TYPE_PARTNER" - ], - "enumDescriptions": [ - "Unknown owner type", - "Customer is the owner", - "Partner is the owner" - ], - "readOnly": true, - "type": "string" - }, - "scoreReason": { - "description": "A descriptive cause of the health score.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata": { - "description": "Metadata for CreateDevice LRO.", - "id": "GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1CustomAttributeValue": { - "description": "Additional custom attribute values may be one of these types", - "id": "GoogleAppsCloudidentityDevicesV1CustomAttributeValue", - "properties": { - "boolValue": { - "description": "Represents a boolean value.", - "type": "boolean" - }, - "numberValue": { - "description": "Represents a double value.", - "format": "double", - "type": "number" - }, - "stringValue": { - "description": "Represents a string value.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata": { - "description": "Metadata for DeleteDevice LRO.", - "id": "GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata": { - "description": "Metadata for DeleteDeviceUser LRO.", - "id": "GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1Device": { - "description": " A Device within the Cloud Identity Devices API. Represents a Device known to Google Cloud, independent of the device ownership, type, and whether it is assigned or in use by a user.", - "id": "GoogleAppsCloudidentityDevicesV1Device", - "properties": { - "androidSpecificAttributes": { - "$ref": "GoogleAppsCloudidentityDevicesV1AndroidAttributes", - "description": "Output only. Attributes specific to Android devices.", - "readOnly": true - }, - "assetTag": { - "description": "Asset tag of the device.", - "type": "string" - }, - "basebandVersion": { - "description": "Output only. Baseband version of the device.", - "readOnly": true, - "type": "string" - }, - "bootloaderVersion": { - "description": "Output only. Device bootloader version. Example: 0.6.7.", - "readOnly": true, - "type": "string" - }, - "brand": { - "description": "Output only. Device brand. Example: Samsung.", - "readOnly": true, - "type": "string" - }, - "buildNumber": { - "description": "Output only. Build number of the device.", - "readOnly": true, - "type": "string" - }, - "compromisedState": { - "description": "Output only. Represents whether the Device is compromised.", - "enum": [ - "COMPROMISED_STATE_UNSPECIFIED", - "COMPROMISED", - "UNCOMPROMISED" - ], - "enumDescriptions": [ - "Default value.", - "The device is compromised (currently, this means Android device is rooted).", - "The device is safe (currently, this means Android device is unrooted)." - ], - "readOnly": true, - "type": "string" - }, - "createTime": { - "description": "Output only. When the Company-Owned device was imported. This field is empty for BYOD devices.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "deviceId": { - "description": "Unique identifier for the device.", - "type": "string" - }, - "deviceType": { - "description": "Output only. Type of device.", - "enum": [ - "DEVICE_TYPE_UNSPECIFIED", - "ANDROID", - "IOS", - "GOOGLE_SYNC", - "WINDOWS", - "MAC_OS", - "LINUX", - "CHROME_OS" - ], - "enumDescriptions": [ - "Unknown device type", - "Device is an Android device", - "Device is an iOS device", - "Device is a Google Sync device.", - "Device is a Windows device.", - "Device is a MacOS device.", - "Device is a Linux device.", - "Device is a ChromeOS device." - ], - "readOnly": true, - "type": "string" - }, - "enabledDeveloperOptions": { - "description": "Output only. Whether developer options is enabled on device.", - "readOnly": true, - "type": "boolean" - }, - "enabledUsbDebugging": { - "description": "Output only. Whether USB debugging is enabled on device.", - "readOnly": true, - "type": "boolean" - }, - "encryptionState": { - "description": "Output only. Device encryption state.", - "enum": [ - "ENCRYPTION_STATE_UNSPECIFIED", - "UNSUPPORTED_BY_DEVICE", - "ENCRYPTED", - "NOT_ENCRYPTED" - ], - "enumDescriptions": [ - "Encryption Status is not set.", - "Device doesn't support encryption.", - "Device is encrypted.", - "Device is not encrypted." - ], - "readOnly": true, - "type": "string" - }, - "endpointVerificationSpecificAttributes": { - "$ref": "GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes", - "description": "Output only. Attributes specific to [Endpoint Verification](https://cloud.google.com/endpoint-verification/docs/overview) devices.", - "readOnly": true - }, - "hostname": { - "description": "Host name of the device.", - "type": "string" - }, - "imei": { - "description": "Output only. IMEI number of device if GSM device; empty otherwise.", - "readOnly": true, - "type": "string" - }, - "kernelVersion": { - "description": "Output only. Kernel version of the device.", - "readOnly": true, - "type": "string" - }, - "lastSyncTime": { - "description": "Most recent time when device synced with this service.", - "format": "google-datetime", - "type": "string" - }, - "managementState": { - "description": "Output only. Management state of the device", - "enum": [ - "MANAGEMENT_STATE_UNSPECIFIED", - "APPROVED", - "BLOCKED", - "PENDING", - "UNPROVISIONED", - "WIPING", - "WIPED" - ], - "enumDescriptions": [ - "Default value. This value is unused.", - "Device is approved.", - "Device is blocked.", - "Device is pending approval.", - "The device is not provisioned. Device will start from this state until some action is taken (i.e. a user starts using the device).", - "Data and settings on the device are being removed.", - "All data and settings on the device are removed." - ], - "readOnly": true, - "type": "string" - }, - "manufacturer": { - "description": "Output only. Device manufacturer. Example: Motorola.", - "readOnly": true, - "type": "string" - }, - "meid": { - "description": "Output only. MEID number of device if CDMA device; empty otherwise.", - "readOnly": true, - "type": "string" - }, - "model": { - "description": "Output only. Model name of device. Example: Pixel 3.", - "readOnly": true, - "type": "string" - }, - "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}`, where device is the unique id assigned to the Device.", - "readOnly": true, - "type": "string" - }, - "networkOperator": { - "description": "Output only. Mobile or network operator of device, if available.", - "readOnly": true, - "type": "string" - }, - "osVersion": { - "description": "Output only. OS version of the device. Example: Android 8.1.0.", - "readOnly": true, - "type": "string" - }, - "otherAccounts": { - "description": "Output only. Domain name for Google accounts on device. Type for other accounts on device. On Android, will only be populated if |ownership_privilege| is |PROFILE_OWNER| or |DEVICE_OWNER|. Does not include the account signed in to the device policy app if that account's domain has only one account. Examples: \"com.example\", \"xyz.com\".", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "ownerType": { - "description": "Output only. Whether the device is owned by the company or an individual", - "enum": [ - "DEVICE_OWNERSHIP_UNSPECIFIED", - "COMPANY", - "BYOD" - ], - "enumDescriptions": [ - "Default value. The value is unused.", - "Company owns the device.", - "Bring Your Own Device (i.e. individual owns the device)" - ], - "readOnly": true, - "type": "string" - }, - "releaseVersion": { - "description": "Output only. OS release version. Example: 6.0.", - "readOnly": true, - "type": "string" - }, - "securityPatchTime": { - "description": "Output only. OS security patch update time on device.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "serialNumber": { - "description": "Serial Number of device. Example: HT82V1A01076.", - "type": "string" - }, - "unifiedDeviceId": { - "description": "Output only. Unified device id of the device.", - "readOnly": true, - "type": "string" - }, - "wifiMacAddresses": { - "description": "WiFi MAC addresses of device.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1DeviceUser": { - "description": "Represents a user's use of a Device in the Cloud Identity Devices API. A DeviceUser is a resource representing a user's use of a Device", - "id": "GoogleAppsCloudidentityDevicesV1DeviceUser", - "properties": { - "compromisedState": { - "description": "Compromised State of the DeviceUser object", - "enum": [ - "COMPROMISED_STATE_UNSPECIFIED", - "COMPROMISED", - "NOT_COMPROMISED" - ], - "enumDescriptions": [ - "Compromised state of Device User account is unknown or unspecified.", - "Device User Account is compromised.", - "Device User Account is not compromised." - ], - "type": "string" - }, - "createTime": { - "description": "When the user first signed in to the device", - "format": "google-datetime", - "type": "string" - }, - "firstSyncTime": { - "description": "Output only. Most recent time when user registered with this service.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "languageCode": { - "description": "Output only. Default locale used on device, in IETF BCP-47 format.", - "readOnly": true, - "type": "string" - }, - "lastSyncTime": { - "description": "Output only. Last time when user synced with policies.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "managementState": { - "description": "Output only. Management state of the user on the device.", - "enum": [ - "MANAGEMENT_STATE_UNSPECIFIED", - "WIPING", - "WIPED", - "APPROVED", - "BLOCKED", - "PENDING_APPROVAL", - "UNENROLLED" - ], - "enumDescriptions": [ - "Default value. This value is unused.", - "This user's data and profile is being removed from the device.", - "This user's data and profile is removed from the device.", - "User is approved to access data on the device.", - "User is blocked from accessing data on the device.", - "User is awaiting approval.", - "User is unenrolled from Advanced Windows Management, but the Windows account is still intact." - ], - "readOnly": true, - "type": "string" - }, - "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the DeviceUser in format: `devices/{device}/deviceUsers/{device_user}`, where `device_user` uniquely identifies a user's use of a device.", - "readOnly": true, - "type": "string" - }, - "passwordState": { - "description": "Password state of the DeviceUser object", - "enum": [ - "PASSWORD_STATE_UNSPECIFIED", - "PASSWORD_SET", - "PASSWORD_NOT_SET" - ], - "enumDescriptions": [ - "Password state not set.", - "Password set in object.", - "Password not set in object." - ], - "type": "string" - }, - "userAgent": { - "description": "Output only. User agent on the device for this specific user", - "readOnly": true, - "type": "string" - }, - "userEmail": { - "description": "Email address of the user registered on the device.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes": { - "description": "Resource representing the [Endpoint Verification-specific attributes](https://cloud.google.com/endpoint-verification/docs/device-information) of a device.", - "id": "GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes", - "properties": { - "additionalSignals": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "[Additional signals](https://cloud.google.com/endpoint-verification/docs/device-information) reported by Endpoint Verification. It includes the following attributes: * Non-configurable attributes: hotfixes, av_installed, av_enabled, windows_domain_name, is_os_native_firewall_enabled, and is_secure_boot_enabled. * [Configurable attributes](https://cloud.google.com/endpoint-verification/docs/collect-config-attributes): file, folder, and binary attributes; registry entries; and properties in a plist.", - "type": "object" - }, - "browserAttributes": { - "description": "Details of browser profiles reported by Endpoint Verification.", - "items": { - "$ref": "GoogleAppsCloudidentityDevicesV1BrowserAttributes" - }, - "type": "array" - }, - "certificateAttributes": { - "description": "Details of certificates.", - "items": { - "$ref": "GoogleAppsCloudidentityDevicesV1CertificateAttributes" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1ListClientStatesResponse": { - "description": "Response message that is returned in ListClientStates.", - "id": "GoogleAppsCloudidentityDevicesV1ListClientStatesResponse", - "properties": { - "clientStates": { - "description": "Client states meeting the list restrictions.", - "items": { - "$ref": "GoogleAppsCloudidentityDevicesV1ClientState" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Token to retrieve the next page of results. Empty if there are no more results.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse": { - "description": "Response message that is returned from the ListDeviceUsers method.", - "id": "GoogleAppsCloudidentityDevicesV1ListDeviceUsersResponse", - "properties": { - "deviceUsers": { - "description": "Devices meeting the list restrictions.", - "items": { - "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Token to retrieve the next page of results. Empty if there are no more results.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1ListDevicesResponse": { - "description": "Response message that is returned from the ListDevices method.", - "id": "GoogleAppsCloudidentityDevicesV1ListDevicesResponse", - "properties": { - "devices": { - "description": "Devices meeting the list restrictions.", - "items": { - "$ref": "GoogleAppsCloudidentityDevicesV1Device" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Token to retrieve the next page of results. Empty if there are no more results.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata": { - "description": "Metadata for ListEndpointApps LRO.", - "id": "GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse": { - "description": "Response containing resource names of the DeviceUsers associated with the caller's credentials.", - "id": "GoogleAppsCloudidentityDevicesV1LookupSelfDeviceUsersResponse", - "properties": { - "customer": { - "description": "The customer resource name that may be passed back to other Devices API methods such as List, Get, etc.", - "type": "string" - }, - "names": { - "description": "[Resource names](https://cloud.google.com/apis/design/resource_names) of the DeviceUsers in the format: `devices/{device}/deviceUsers/{user_resource}`, where device is the unique ID assigned to a Device and user_resource is the unique user ID", - "items": { - "type": "string" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Token to retrieve the next page of results. Empty if there are no more results.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata": { - "description": "Metadata for SignoutDeviceUser LRO.", - "id": "GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata": { - "description": "Metadata for UpdateClientState LRO.", - "id": "GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata": { - "description": "Metadata for UpdateDevice LRO.", - "id": "GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata": { - "description": "Metadata for WipeDevice LRO.", - "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1WipeDeviceRequest": { - "description": "Request message for wiping all data on the device.", - "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceRequest", - "properties": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", - "type": "string" - }, - "removeResetLock": { - "description": "Optional. Specifies if a user is able to factory reset a device after a Device Wipe. On iOS, this is called \"Activation Lock\", while on Android, this is known as \"Factory Reset Protection\". If true, this protection will be removed from the device, so that a user can successfully factory reset. If false, the setting is untouched on the device.", - "type": "boolean" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1WipeDeviceResponse": { - "description": "Response message for wiping all data on the device.", - "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceResponse", - "properties": { - "device": { - "$ref": "GoogleAppsCloudidentityDevicesV1Device", - "description": "Resultant Device object for the action. Note that asset tags will not be returned in the device object." - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata": { - "description": "Metadata for WipeDeviceUser LRO.", - "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest": { - "description": "Request message for starting an account wipe on device.", - "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceUserRequest", - "properties": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer}`, where customer is the customer to whom the device belongs.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse": { - "description": "Response message for wiping the user's account from the device.", - "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse", - "properties": { - "deviceUser": { - "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser", - "description": "Resultant DeviceUser object for the action." - } - }, - "type": "object" - }, - "Group": { - "description": "A group within the Cloud Identity Groups API. A `Group` is a collection of entities, where each entity is either a user, another group, or a service account.", - "id": "Group", - "properties": { - "additionalGroupKeys": { - "description": "Output only. Additional group keys associated with the Group.", - "items": { - "$ref": "EntityKey" - }, - "readOnly": true, - "type": "array" - }, - "createTime": { - "description": "Output only. The time when the `Group` was created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "description": { - "description": "An extended description to help users determine the purpose of a `Group`. Must not be longer than 4,096 characters.", - "type": "string" - }, - "displayName": { - "description": "The display name of the `Group`.", - "type": "string" - }, - "dynamicGroupMetadata": { - "$ref": "DynamicGroupMetadata", - "description": "Optional. Dynamic group metadata like queries and status." - }, - "groupKey": { - "$ref": "EntityKey", - "description": "Required. The `EntityKey` of the `Group`." - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Required. One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value. Google Groups are the default type of group and have a label with a key of `cloudidentity.googleapis.com/groups.discussion_forum` and an empty value. Existing Google Groups can have an additional label with a key of `cloudidentity.googleapis.com/groups.security` and an empty value added to them. **This is an immutable change and the security label cannot be removed once added.** Dynamic groups have a label with a key of `cloudidentity.googleapis.com/groups.dynamic`. Identity-mapped groups for Cloud Search have a label with a key of `system/groups/external` and an empty value.", - "type": "object" - }, - "name": { - "description": "Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group`. Shall be of the form `groups/{group}`.", - "readOnly": true, - "type": "string" - }, - "parent": { - "description": "Required. Immutable. The resource name of the entity under which this `Group` resides in the Cloud Identity resource hierarchy. Must be of the form `identitysources/{identity_source}` for external [identity-mapped groups](https://support.google.com/a/answer/9039510) or `customers/{customer_id}` for Google Groups. The `customer_id` must begin with \"C\" (for example, 'C046psxkn'). [Find your customer ID.] (https://support.google.com/cloudidentity/answer/10070793)", - "type": "string" - }, - "updateTime": { - "description": "Output only. The time when the `Group` was last updated.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GroupRelation": { - "description": "Message representing a transitive group of a user or a group.", - "id": "GroupRelation", - "properties": { - "displayName": { - "description": "Display name for this group.", - "type": "string" - }, - "group": { - "description": "Resource name for this group.", - "type": "string" - }, - "groupKey": { - "$ref": "EntityKey", - "description": "Entity key has an id and a namespace. In case of discussion forums, the id will be an email address without a namespace." - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Labels for Group resource.", - "type": "object" - }, - "relationType": { - "description": "The relation between the member and the transitive group.", - "enum": [ - "RELATION_TYPE_UNSPECIFIED", - "DIRECT", - "INDIRECT", - "DIRECT_AND_INDIRECT" - ], - "enumDescriptions": [ - "The relation type is undefined or undetermined.", - "The two entities have only a direct membership with each other.", - "The two entities have only an indirect membership with each other.", - "The two entities have both a direct and an indirect membership with each other." - ], - "type": "string" - }, - "roles": { - "description": "Membership roles of the member for the group.", - "items": { - "$ref": "TransitiveMembershipRole" - }, - "type": "array" - } - }, - "type": "object" - }, - "IdpCredential": { - "description": "Credential for verifying signatures produced by the Identity Provider.", - "id": "IdpCredential", - "properties": { - "dsaKeyInfo": { - "$ref": "DsaPublicKeyInfo", - "description": "Output only. Information of a DSA public key.", - "readOnly": true - }, - "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the credential.", - "readOnly": true, - "type": "string" - }, - "rsaKeyInfo": { - "$ref": "RsaPublicKeyInfo", - "description": "Output only. Information of a RSA public key.", - "readOnly": true - }, - "updateTime": { - "description": "Output only. Time when the `IdpCredential` was last updated.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "InboundSamlSsoProfile": { - "description": "A [SAML 2.0](https://www.oasis-open.org/standards#samlv2.0) federation between a Google enterprise customer and a SAML identity provider.", - "id": "InboundSamlSsoProfile", - "properties": { - "customer": { - "description": "Immutable. The customer. For example: `customers/C0123abc`.", - "type": "string" - }, - "displayName": { - "description": "Human-readable name of the SAML SSO profile.", - "type": "string" - }, - "idpConfig": { - "$ref": "SamlIdpConfig", - "description": "SAML identity provider configuration." - }, - "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the SAML SSO profile.", - "readOnly": true, - "type": "string" - }, - "spConfig": { - "$ref": "SamlSpConfig", - "description": "SAML service provider configuration for this SAML SSO profile. These are the service provider details provided by Google that should be configured on the corresponding identity provider." - } - }, - "type": "object" - }, - "InboundSsoAssignment": { - "description": "Targets with \"set\" SSO assignments and their respective assignments.", - "id": "InboundSsoAssignment", - "properties": { - "customer": { - "description": "Immutable. The customer. For example: `customers/C0123abc`.", - "type": "string" - }, - "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Inbound SSO Assignment.", - "readOnly": true, - "type": "string" - }, - "rank": { - "description": "Must be zero (which is the default value so it can be omitted) for assignments with `target_org_unit` set and must be greater-than-or-equal-to one for assignments with `target_group` set.", - "format": "int32", - "type": "integer" - }, - "samlSsoInfo": { - "$ref": "SamlSsoInfo", - "description": "SAML SSO details. Must be set if and only if `sso_mode` is set to `SAML_SSO`." - }, - "signInBehavior": { - "$ref": "SignInBehavior", - "description": "Assertions about users assigned to an IdP will always be accepted from that IdP. This controls whether/when Google should redirect a user to the IdP. Unset (defaults) is the recommended configuration." - }, - "ssoMode": { - "description": "Inbound SSO behavior.", - "enum": [ - "SSO_MODE_UNSPECIFIED", - "SSO_OFF", - "SAML_SSO", - "DOMAIN_WIDE_SAML_IF_ENABLED" - ], - "enumDescriptions": [ - "Not allowed.", - "Disable SSO for the targeted users.", - "Use an external SAML Identity Provider for SSO for the targeted users.", - "Use the domain-wide SAML Identity Provider for the targeted users if one is configured; otherwise, this is equivalent to `SSO_OFF`. Note that this will also be equivalent to `SSO_OFF` if/when support for domain-wide SAML is removed. Google may disallow this mode at that point and existing assignments with this mode may be automatically changed to `SSO_OFF`." - ], - "type": "string" - }, - "targetGroup": { - "description": "Immutable. Must be of the form `groups/{group}`.", - "type": "string" - }, - "targetOrgUnit": { - "description": "Immutable. Must be of the form `orgUnits/{org_unit}`.", - "type": "string" - } - }, - "type": "object" - }, - "IsInvitableUserResponse": { - "description": "Response for IsInvitableUser RPC.", - "id": "IsInvitableUserResponse", - "properties": { - "isInvitableUser": { - "description": "Returns true if the email address is invitable.", - "type": "boolean" - } - }, - "type": "object" - }, - "ListGroupsResponse": { - "description": "Response message for ListGroups operation.", - "id": "ListGroupsResponse", - "properties": { - "groups": { - "description": "Groups returned in response to list request. The results are not sorted.", - "items": { - "$ref": "Group" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results available for listing.", - "type": "string" - } - }, - "type": "object" - }, - "ListIdpCredentialsResponse": { - "description": "Response of the InboundSamlSsoProfilesService.ListIdpCredentials method.", - "id": "ListIdpCredentialsResponse", - "properties": { - "idpCredentials": { - "description": "The IdpCredentials from the specified InboundSamlSsoProfile.", - "items": { - "$ref": "IdpCredential" - }, - "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" - }, - "ListInboundSamlSsoProfilesResponse": { - "description": "Response of the InboundSamlSsoProfilesService.ListInboundSamlSsoProfiles method.", - "id": "ListInboundSamlSsoProfilesResponse", - "properties": { - "inboundSamlSsoProfiles": { - "description": "List of InboundSamlSsoProfiles.", - "items": { - "$ref": "InboundSamlSsoProfile" - }, - "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" - }, - "ListInboundSsoAssignmentsResponse": { - "description": "Response of the InboundSsoAssignmentsService.ListInboundSsoAssignments method.", - "id": "ListInboundSsoAssignmentsResponse", - "properties": { - "inboundSsoAssignments": { - "description": "The assignments.", - "items": { - "$ref": "InboundSsoAssignment" - }, - "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" - }, - "ListMembershipsResponse": { - "description": "The response message for MembershipsService.ListMemberships.", - "id": "ListMembershipsResponse", - "properties": { - "memberships": { - "description": "The `Membership`s under the specified `parent`.", - "items": { - "$ref": "Membership" - }, - "type": "array" - }, - "nextPageToken": { - "description": "A continuation token to retrieve the next page of results, or empty if there are no more results available.", - "type": "string" - } - }, - "type": "object" - }, - "ListUserInvitationsResponse": { - "description": "Response message for UserInvitation listing request.", - "id": "ListUserInvitationsResponse", - "properties": { - "nextPageToken": { - "description": "The token for the next page. If not empty, indicates that there may be more `UserInvitation` resources that match the listing request; this value can be used in a subsequent ListUserInvitationsRequest to get continued results with the current list call.", - "type": "string" - }, - "userInvitations": { - "description": "The list of UserInvitation resources.", - "items": { - "$ref": "UserInvitation" - }, - "type": "array" - } - }, - "type": "object" - }, - "LookupGroupNameResponse": { - "description": "The response message for GroupsService.LookupGroupName.", - "id": "LookupGroupNameResponse", - "properties": { - "name": { - "description": "The [resource name](https://cloud.google.com/apis/design/resource_names) of the looked-up `Group`.", - "type": "string" - } - }, - "type": "object" - }, - "LookupMembershipNameResponse": { - "description": "The response message for MembershipsService.LookupMembershipName.", - "id": "LookupMembershipNameResponse", - "properties": { - "name": { - "description": "The [resource name](https://cloud.google.com/apis/design/resource_names) of the looked-up `Membership`. Must be of the form `groups/{group}/memberships/{membership}`.", - "type": "string" - } - }, - "type": "object" - }, - "MemberRelation": { - "description": "Message representing a transitive membership of a group.", - "id": "MemberRelation", - "properties": { - "member": { - "description": "Resource name for this member.", - "type": "string" - }, - "preferredMemberKey": { - "description": "Entity key has an id and a namespace. In case of discussion forums, the id will be an email address without a namespace.", - "items": { - "$ref": "EntityKey" - }, - "type": "array" - }, - "relationType": { - "description": "The relation between the group and the transitive member.", - "enum": [ - "RELATION_TYPE_UNSPECIFIED", - "DIRECT", - "INDIRECT", - "DIRECT_AND_INDIRECT" - ], - "enumDescriptions": [ - "The relation type is undefined or undetermined.", - "The two entities have only a direct membership with each other.", - "The two entities have only an indirect membership with each other.", - "The two entities have both a direct and an indirect membership with each other." - ], - "type": "string" - }, - "roles": { - "description": "The membership role details (i.e name of role and expiry time).", - "items": { - "$ref": "TransitiveMembershipRole" - }, - "type": "array" - } - }, - "type": "object" - }, - "MemberRestriction": { - "description": "The definition of MemberRestriction", - "id": "MemberRestriction", - "properties": { - "evaluation": { - "$ref": "RestrictionEvaluation", - "description": "The evaluated state of this restriction on a group." - }, - "query": { - "description": "Member Restriction as defined by CEL expression. Supported restrictions are: `member.customer_id` and `member.type`. Valid values for `member.type` are `1`, `2` and `3`. They correspond to USER, SERVICE_ACCOUNT, and GROUP respectively. The value for `member.customer_id` only supports `groupCustomerId()` currently which means the customer id of the group will be used for restriction. Supported operators are `&&`, `||` and `==`, corresponding to AND, OR, and EQUAL. Examples: Allow only service accounts of given customer to be members. `member.type == 2 && member.customer_id == groupCustomerId()` Allow only users or groups to be members. `member.type == 1 || member.type == 3`", - "type": "string" - } - }, - "type": "object" - }, - "Membership": { - "description": "A membership within the Cloud Identity Groups API. A `Membership` defines a relationship between a `Group` and an entity belonging to that `Group`, referred to as a \"member\".", - "id": "Membership", - "properties": { - "createTime": { - "description": "Output only. The time when the `Membership` was created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "deliverySetting": { - "description": "Output only. Delivery setting associated with the membership.", - "enum": [ - "DELIVERY_SETTING_UNSPECIFIED", - "ALL_MAIL", - "DIGEST", - "DAILY", - "NONE", - "DISABLED" - ], - "enumDescriptions": [ - "Default. Should not be used.", - "Represents each mail should be delivered", - "Represents 1 email for every 25 messages.", - "Represents daily summary of messages.", - "Represents no delivery.", - "Represents disabled state." - ], - "readOnly": true, - "type": "string" - }, - "name": { - "description": "Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership`. Shall be of the form `groups/{group}/memberships/{membership}`.", - "readOnly": true, - "type": "string" - }, - "preferredMemberKey": { - "$ref": "EntityKey", - "description": "Required. Immutable. The `EntityKey` of the member." - }, - "roles": { - "description": "The `MembershipRole`s that apply to the `Membership`. If unspecified, defaults to a single `MembershipRole` with `name` `MEMBER`. Must not contain duplicate `MembershipRole`s with the same `name`.", - "items": { - "$ref": "MembershipRole" - }, - "type": "array" - }, - "type": { - "description": "Output only. The type of the membership.", - "enum": [ - "TYPE_UNSPECIFIED", - "USER", - "SERVICE_ACCOUNT", - "GROUP", - "SHARED_DRIVE", - "CBCM_BROWSER", - "OTHER" - ], - "enumDescriptions": [ - "Default. Should not be used.", - "Represents user type.", - "Represents service account type.", - "Represents group type.", - "Represents Shared drive.", - "Represents a CBCM-managed Chrome Browser type.", - "Represents other type." - ], - "readOnly": true, - "type": "string" - }, - "updateTime": { - "description": "Output only. The time when the `Membership` was last updated.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "MembershipAdjacencyList": { - "description": "Membership graph's path information as an adjacency list.", - "id": "MembershipAdjacencyList", - "properties": { - "edges": { - "description": "Each edge contains information about the member that belongs to this group. Note: Fields returned here will help identify the specific Membership resource (e.g name, preferred_member_key and role), but may not be a comprehensive list of all fields.", - "items": { - "$ref": "Membership" - }, - "type": "array" - }, - "group": { - "description": "Resource name of the group that the members belong to.", - "type": "string" - } - }, - "type": "object" - }, - "MembershipRelation": { - "description": "Message containing membership relation.", - "id": "MembershipRelation", - "properties": { - "description": { - "description": "An extended description to help users determine the purpose of a `Group`.", - "type": "string" - }, - "displayName": { - "description": "The display name of the `Group`.", - "type": "string" - }, - "group": { - "description": "The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group`. Shall be of the form `groups/{group_id}`.", - "type": "string" - }, - "groupKey": { - "$ref": "EntityKey", - "description": "The `EntityKey` of the `Group`." - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value.", - "type": "object" - }, - "membership": { - "description": "The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership`. Shall be of the form `groups/{group_id}/memberships/{membership_id}`.", - "type": "string" - }, - "roles": { - "description": "The `MembershipRole`s that apply to the `Membership`.", - "items": { - "$ref": "MembershipRole" - }, - "type": "array" - } - }, - "type": "object" - }, - "MembershipRole": { - "description": "A membership role within the Cloud Identity Groups API. A `MembershipRole` defines the privileges granted to a `Membership`.", - "id": "MembershipRole", - "properties": { - "expiryDetail": { - "$ref": "ExpiryDetail", - "description": "The expiry details of the `MembershipRole`. Expiry details are only supported for `MEMBER` `MembershipRoles`. May be set if `name` is `MEMBER`. Must not be set if `name` is any other value." - }, - "name": { - "description": "The name of the `MembershipRole`. Must be one of `OWNER`, `MANAGER`, `MEMBER`.", - "type": "string" - }, - "restrictionEvaluations": { - "$ref": "RestrictionEvaluations", - "description": "Evaluations of restrictions applied to parent group on this membership." - } - }, - "type": "object" - }, - "MembershipRoleRestrictionEvaluation": { - "description": "The evaluated state of this restriction.", - "id": "MembershipRoleRestrictionEvaluation", - "properties": { - "state": { - "description": "Output only. The current state of the restriction", - "enum": [ - "STATE_UNSPECIFIED", - "COMPLIANT", - "FORWARD_COMPLIANT", - "NON_COMPLIANT", - "EVALUATING" - ], - "enumDescriptions": [ - "Default. Should not be used.", - "The member adheres to the parent group's restriction.", - "The group-group membership might be currently violating some parent group's restriction but in future, it will never allow any new member in the child group which can violate parent group's restriction.", - "The member violates the parent group's restriction.", - "The state of the membership is under evaluation." - ], - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "ModifyMembershipRolesRequest": { - "description": "The request message for MembershipsService.ModifyMembershipRoles.", - "id": "ModifyMembershipRolesRequest", - "properties": { - "addRoles": { - "description": "The `MembershipRole`s to be added. Adding or removing roles in the same request as updating roles is not supported. Must not be set if `update_roles_params` is set.", - "items": { - "$ref": "MembershipRole" - }, - "type": "array" - }, - "removeRoles": { - "description": "The `name`s of the `MembershipRole`s to be removed. Adding or removing roles in the same request as updating roles is not supported. It is not possible to remove the `MEMBER` `MembershipRole`. If you wish to delete a `Membership`, call MembershipsService.DeleteMembership instead. Must not contain `MEMBER`. Must not be set if `update_roles_params` is set.", - "items": { - "type": "string" - }, - "type": "array" - }, - "updateRolesParams": { - "description": "The `MembershipRole`s to be updated. Updating roles in the same request as adding or removing roles is not supported. Must not be set if either `add_roles` or `remove_roles` is set.", - "items": { - "$ref": "UpdateMembershipRolesParams" - }, - "type": "array" - } - }, - "type": "object" - }, - "ModifyMembershipRolesResponse": { - "description": "The response message for MembershipsService.ModifyMembershipRoles.", - "id": "ModifyMembershipRolesResponse", - "properties": { - "membership": { - "$ref": "Membership", - "description": "The `Membership` resource after modifying its `MembershipRole`s." - } - }, - "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" - }, - "RestrictionEvaluation": { - "description": "The evaluated state of this restriction.", - "id": "RestrictionEvaluation", - "properties": { - "state": { - "description": "Output only. The current state of the restriction", - "enum": [ - "STATE_UNSPECIFIED", - "EVALUATING", - "COMPLIANT", - "FORWARD_COMPLIANT", - "NON_COMPLIANT" - ], - "enumDescriptions": [ - "Default. Should not be used.", - "The restriction state is currently being evaluated.", - "All transitive memberships are adhering to restriction.", - "Some transitive memberships violate the restriction. No new violating memberships can be added.", - "Some transitive memberships violate the restriction. New violating direct memberships will be denied while indirect memberships may be added." - ], - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "RestrictionEvaluations": { - "description": "Evaluations of restrictions applied to parent group on this membership.", - "id": "RestrictionEvaluations", - "properties": { - "memberRestrictionEvaluation": { - "$ref": "MembershipRoleRestrictionEvaluation", - "description": "Evaluation of the member restriction applied to this membership. Empty if the user lacks permission to view the restriction evaluation." - } - }, - "type": "object" - }, - "RsaPublicKeyInfo": { - "description": "Information of a RSA public key.", - "id": "RsaPublicKeyInfo", - "properties": { - "keySize": { - "description": "Key size in bits (size of the modulus).", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "SamlIdpConfig": { - "description": "SAML IDP (identity provider) configuration.", - "id": "SamlIdpConfig", - "properties": { - "changePasswordUri": { - "description": "The **Change Password URL** of the identity provider. Users will be sent to this URL when changing their passwords at `myaccount.google.com`. This takes precedence over the change password URL configured at customer-level. Must use `HTTPS`.", - "type": "string" - }, - "entityId": { - "description": "Required. The SAML **Entity ID** of the identity provider.", - "type": "string" - }, - "logoutRedirectUri": { - "description": "The **Logout Redirect URL** (sign-out page URL) of the identity provider. When a user clicks the sign-out link on a Google page, they will be redirected to this URL. This is a pure redirect with no attached SAML `LogoutRequest` i.e. SAML single logout is not supported. Must use `HTTPS`.", - "type": "string" - }, - "singleSignOnServiceUri": { - "description": "Required. The `SingleSignOnService` endpoint location (sign-in page URL) of the identity provider. This is the URL where the `AuthnRequest` will be sent. Must use `HTTPS`. Assumed to accept the `HTTP-Redirect` binding.", - "type": "string" - } - }, - "type": "object" - }, - "SamlSpConfig": { - "description": "SAML SP (service provider) configuration.", - "id": "SamlSpConfig", - "properties": { - "assertionConsumerServiceUri": { - "description": "Output only. The SAML **Assertion Consumer Service (ACS) URL** to be used for the IDP-initiated login. Assumed to accept response messages via the `HTTP-POST` binding.", - "readOnly": true, - "type": "string" - }, - "entityId": { - "description": "Output only. The SAML **Entity ID** for this service provider.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "SamlSsoInfo": { - "description": "Details that are applicable when `sso_mode` == `SAML_SSO`.", - "id": "SamlSsoInfo", - "properties": { - "inboundSamlSsoProfile": { - "description": "Required. Name of the `InboundSamlSsoProfile` to use. Must be of the form `inboundSamlSsoProfiles/{inbound_saml_sso_profile}`. ", - "type": "string" - } - }, - "type": "object" - }, - "SearchDirectGroupsResponse": { - "description": "The response message for MembershipsService.SearchDirectGroups.", - "id": "SearchDirectGroupsResponse", - "properties": { - "memberships": { - "description": "List of direct groups satisfying the query.", - "items": { - "$ref": "MembershipRelation" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results available for listing.", - "type": "string" - } - }, - "type": "object" - }, - "SearchGroupsResponse": { - "description": "The response message for GroupsService.SearchGroups.", - "id": "SearchGroupsResponse", - "properties": { - "groups": { - "description": "The `Group` resources that match the search query.", - "items": { - "$ref": "Group" - }, - "type": "array" - }, - "nextPageToken": { - "description": "A continuation token to retrieve the next page of results, or empty if there are no more results available.", - "type": "string" - } - }, - "type": "object" - }, - "SearchTransitiveGroupsResponse": { - "description": "The response message for MembershipsService.SearchTransitiveGroups.", - "id": "SearchTransitiveGroupsResponse", - "properties": { - "memberships": { - "description": "List of transitive groups satisfying the query.", - "items": { - "$ref": "GroupRelation" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results available for listing.", - "type": "string" - } - }, - "type": "object" - }, - "SearchTransitiveMembershipsResponse": { - "description": "The response message for MembershipsService.SearchTransitiveMemberships.", - "id": "SearchTransitiveMembershipsResponse", - "properties": { - "memberships": { - "description": "List of transitive members satisfying the query.", - "items": { - "$ref": "MemberRelation" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results.", - "type": "string" - } - }, - "type": "object" - }, - "SecuritySettings": { - "description": "The definition of security settings.", - "id": "SecuritySettings", - "properties": { - "memberRestriction": { - "$ref": "MemberRestriction", - "description": "The Member Restriction value" - }, - "name": { - "description": "Output only. The resource name of the security settings. Shall be of the form `groups/{group_id}/securitySettings`.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "SendUserInvitationRequest": { - "description": "A request to send email for inviting target user corresponding to the UserInvitation.", - "id": "SendUserInvitationRequest", - "properties": {}, - "type": "object" - }, - "SignInBehavior": { - "description": "Controls sign-in behavior.", - "id": "SignInBehavior", - "properties": { - "redirectCondition": { - "description": "When to redirect sign-ins to the IdP.", - "enum": [ - "REDIRECT_CONDITION_UNSPECIFIED", - "NEVER" - ], - "enumDescriptions": [ - "Default and means \"always\"", - "Sign-in flows where the user is prompted for their identity will not redirect to the IdP (so the user will most likely be prompted by Google for a password), but special flows like IdP-initiated SAML and sign-in following automatic redirection to the IdP by domain-specific service URLs will accept the IdP's assertion of the user's identity." - ], - "type": "string" - } - }, - "type": "object" - }, - "Status": { - "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", - "id": "Status", - "properties": { - "code": { - "description": "The status code, which should be an enum value of google.rpc.Code.", - "format": "int32", - "type": "integer" - }, - "details": { - "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", - "items": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", - "type": "string" - } - }, - "type": "object" - }, - "TransitiveMembershipRole": { - "description": "Message representing the role of a TransitiveMembership.", - "id": "TransitiveMembershipRole", - "properties": { - "role": { - "description": "TransitiveMembershipRole in string format. Currently supported TransitiveMembershipRoles: `\"MEMBER\"`, `\"OWNER\"`, and `\"MANAGER\"`.", - "type": "string" - } - }, - "type": "object" - }, - "UpdateGroupMetadata": { - "description": "Metadata for UpdateGroup LRO.", - "id": "UpdateGroupMetadata", - "properties": {}, - "type": "object" - }, - "UpdateInboundSamlSsoProfileOperationMetadata": { - "description": "LRO response metadata for InboundSamlSsoProfilesService.UpdateInboundSamlSsoProfile.", - "id": "UpdateInboundSamlSsoProfileOperationMetadata", - "properties": { - "state": { - "description": "State of this Operation Will be \"awaiting-multi-party-approval\" when the operation is deferred due to the target customer having enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448).", - "type": "string" - } - }, - "type": "object" - }, - "UpdateInboundSsoAssignmentOperationMetadata": { - "description": "LRO response metadata for InboundSsoAssignmentsService.UpdateInboundSsoAssignment.", - "id": "UpdateInboundSsoAssignmentOperationMetadata", - "properties": {}, - "type": "object" - }, - "UpdateMembershipMetadata": { - "description": "Metadata for UpdateMembership LRO.", - "id": "UpdateMembershipMetadata", - "properties": {}, - "type": "object" - }, - "UpdateMembershipRolesParams": { - "description": "The details of an update to a `MembershipRole`.", - "id": "UpdateMembershipRolesParams", - "properties": { - "fieldMask": { - "description": "The fully-qualified names of fields to update. May only contain the field `expiry_detail.expire_time`.", - "format": "google-fieldmask", - "type": "string" - }, - "membershipRole": { - "$ref": "MembershipRole", - "description": "The `MembershipRole`s to be updated. Only `MEMBER` `MembershipRole` can currently be updated." - } - }, - "type": "object" - }, - "UserInvitation": { - "description": "The `UserInvitation` resource represents an email that can be sent to an unmanaged user account inviting them to join the customer's Google Workspace or Cloud Identity account. An unmanaged account shares an email address domain with the Google Workspace or Cloud Identity account but is not managed by it yet. If the user accepts the `UserInvitation`, the user account will become managed.", - "id": "UserInvitation", - "properties": { - "mailsSentCount": { - "description": "Number of invitation emails sent to the user.", - "format": "int64", - "type": "string" - }, - "name": { - "description": "Shall be of the form `customers/{customer}/userinvitations/{user_email_address}`.", - "type": "string" - }, - "state": { - "description": "State of the `UserInvitation`.", - "enum": [ - "STATE_UNSPECIFIED", - "NOT_YET_SENT", - "INVITED", - "ACCEPTED", - "DECLINED" - ], - "enumDescriptions": [ - "The default value. This value is used if the state is omitted.", - "The `UserInvitation` has been created and is ready for sending as an email.", - "The user has been invited by email.", - "The user has accepted the invitation and is part of the organization.", - "The user declined the invitation." - ], - "type": "string" - }, - "updateTime": { - "description": "Time when the `UserInvitation` was last updated.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - } - }, - "servicePath": "", - "title": "Cloud Identity API", - "version": "v1", - "version_module": true -} \ No newline at end of file diff --git a/DiscoveryJson/cloudidentity.v1beta1.json b/DiscoveryJson/cloudidentity.v1beta1.json deleted file mode 100644 index b7592661d4..0000000000 --- a/DiscoveryJson/cloudidentity.v1beta1.json +++ /dev/null @@ -1,5204 +0,0 @@ -{ - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/cloud-identity.devices": { - "description": "Private Service: https://www.googleapis.com/auth/cloud-identity.devices" - }, - "https://www.googleapis.com/auth/cloud-identity.devices.lookup": { - "description": "See your device details" - }, - "https://www.googleapis.com/auth/cloud-identity.devices.readonly": { - "description": "Private Service: https://www.googleapis.com/auth/cloud-identity.devices.readonly" - }, - "https://www.googleapis.com/auth/cloud-identity.groups": { - "description": "See, change, create, and delete any of the Cloud Identity Groups that you can access, including the members of each group" - }, - "https://www.googleapis.com/auth/cloud-identity.groups.readonly": { - "description": "See any Cloud Identity Groups that you can access, including group members and their emails" - }, - "https://www.googleapis.com/auth/cloud-platform": { - "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." - } - } - } - }, - "basePath": "", - "baseUrl": "https://cloudidentity.googleapis.com/", - "batchPath": "batch", - "canonicalName": "Cloud Identity", - "description": "API for provisioning and managing identity resources.", - "discoveryVersion": "v1", - "documentationLink": "https://cloud.google.com/identity/", - "fullyEncodeReservedExpansion": true, - "icons": { - "x16": "http://www.google.com/images/icons/product/search-16.gif", - "x32": "http://www.google.com/images/icons/product/search-32.gif" - }, - "id": "cloudidentity:v1beta1", - "kind": "discovery#restDescription", - "mtlsRootUrl": "https://cloudidentity.mtls.googleapis.com/", - "name": "cloudidentity", - "ownerDomain": "google.com", - "ownerName": "Google", - "parameters": { - "$.xgafv": { - "description": "V1 error format.", - "enum": [ - "1", - "2" - ], - "enumDescriptions": [ - "v1 error format", - "v2 error format" - ], - "location": "query", - "type": "string" - }, - "access_token": { - "description": "OAuth access token.", - "location": "query", - "type": "string" - }, - "alt": { - "default": "json", - "description": "Data format for response.", - "enum": [ - "json", - "media", - "proto" - ], - "enumDescriptions": [ - "Responses with Content-Type of application/json", - "Media download with context-dependent Content-Type", - "Responses with Content-Type of application/x-protobuf" - ], - "location": "query", - "type": "string" - }, - "callback": { - "description": "JSONP", - "location": "query", - "type": "string" - }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "location": "query", - "type": "string" - }, - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "location": "query", - "type": "string" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "location": "query", - "type": "string" - }, - "prettyPrint": { - "default": "true", - "description": "Returns response with indentations and line breaks.", - "location": "query", - "type": "boolean" - }, - "quotaUser": { - "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", - "location": "query", - "type": "string" - }, - "uploadType": { - "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", - "location": "query", - "type": "string" - }, - "upload_protocol": { - "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", - "location": "query", - "type": "string" - } - }, - "protocol": "rest", - "resources": { - "customers": { - "resources": { - "userinvitations": { - "methods": { - "cancel": { - "description": "Cancels a UserInvitation that was already sent.", - "flatPath": "v1beta1/customers/{customersId}/userinvitations/{userinvitationsId}:cancel", - "httpMethod": "POST", - "id": "cloudidentity.customers.userinvitations.cancel", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. `UserInvitation` name in the format `customers/{customer}/userinvitations/{user_email_address}`", - "location": "path", - "pattern": "^customers/[^/]+/userinvitations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}:cancel", - "request": { - "$ref": "CancelUserInvitationRequest" - }, - "response": { - "$ref": "Operation" - } - }, - "get": { - "description": "Retrieves a UserInvitation resource. **Note:** New consumer accounts with the customer's verified domain created within the previous 48 hours will not appear in the result. This delay also applies to newly-verified domains.", - "flatPath": "v1beta1/customers/{customersId}/userinvitations/{userinvitationsId}", - "httpMethod": "GET", - "id": "cloudidentity.customers.userinvitations.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. `UserInvitation` name in the format `customers/{customer}/userinvitations/{user_email_address}`", - "location": "path", - "pattern": "^customers/[^/]+/userinvitations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}", - "response": { - "$ref": "UserInvitation" - } - }, - "isInvitableUser": { - "description": "Verifies whether a user account is eligible to receive a UserInvitation (is an unmanaged account). Eligibility is based on the following criteria: * the email address is a consumer account and it's the primary email address of the account, and * the domain of the email address matches an existing verified Google Workspace or Cloud Identity domain If both conditions are met, the user is eligible. **Note:** This method is not supported for Workspace Essentials customers.", - "flatPath": "v1beta1/customers/{customersId}/userinvitations/{userinvitationsId}:isInvitableUser", - "httpMethod": "GET", - "id": "cloudidentity.customers.userinvitations.isInvitableUser", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. `UserInvitation` name in the format `customers/{customer}/userinvitations/{user_email_address}`", - "location": "path", - "pattern": "^customers/[^/]+/userinvitations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}:isInvitableUser", - "response": { - "$ref": "IsInvitableUserResponse" - } - }, - "list": { - "description": "Retrieves a list of UserInvitation resources. **Note:** New consumer accounts with the customer's verified domain created within the previous 48 hours will not appear in the result. This delay also applies to newly-verified domains.", - "flatPath": "v1beta1/customers/{customersId}/userinvitations", - "httpMethod": "GET", - "id": "cloudidentity.customers.userinvitations.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "filter": { - "description": "Optional. A query string for filtering `UserInvitation` results by their current state, in the format: `\"state=='invited'\"`.", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "Optional. The sort order of the list results. You can sort the results in descending order based on either email or last update timestamp but not both, using `order_by=\"email desc\"`. Currently, sorting is supported for `update_time asc`, `update_time desc`, `email asc`, and `email desc`. If not specified, results will be returned based on `email asc` order.", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Optional. The maximum number of UserInvitation resources to return. If unspecified, at most 100 resources will be returned. The maximum value is 200; values above 200 will be set to 200.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Optional. A page token, received from a previous `ListUserInvitations` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBooks` must match the call that provided the page token.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The customer ID of the Google Workspace or Cloud Identity account the UserInvitation resources are associated with.", - "location": "path", - "pattern": "^customers/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+parent}/userinvitations", - "response": { - "$ref": "ListUserInvitationsResponse" - } - }, - "send": { - "description": "Sends a UserInvitation to email. If the `UserInvitation` does not exist for this request and it is a valid request, the request creates a `UserInvitation`. **Note:** The `get` and `list` methods have a 48-hour delay where newly-created consumer accounts will not appear in the results. You can still send a `UserInvitation` to those accounts if you know the unmanaged email address and IsInvitableUser==True.", - "flatPath": "v1beta1/customers/{customersId}/userinvitations/{userinvitationsId}:send", - "httpMethod": "POST", - "id": "cloudidentity.customers.userinvitations.send", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. `UserInvitation` name in the format `customers/{customer}/userinvitations/{user_email_address}`", - "location": "path", - "pattern": "^customers/[^/]+/userinvitations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}:send", - "request": { - "$ref": "SendUserInvitationRequest" - }, - "response": { - "$ref": "Operation" - } - } - } - } - } - }, - "devices": { - "methods": { - "cancelWipe": { - "description": "Cancels an unfinished device wipe. This operation can be used to cancel device wipe in the gap between the wipe operation returning success and the device being wiped.", - "flatPath": "v1beta1/devices/{devicesId}:cancelWipe", - "httpMethod": "POST", - "id": "cloudidentity.devices.cancelWipe", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}`, where device_id is the unique ID assigned to the Device.", - "location": "path", - "pattern": "^devices/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}:cancelWipe", - "request": { - "$ref": "CancelWipeDeviceRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices" - ] - }, - "create": { - "description": "Creates a device. Only company-owned device may be created. **Note**: This method is available only to customers who have one of the following SKUs: Enterprise Standard, Enterprise Plus, Enterprise for Education, and Cloud Identity Premium", - "flatPath": "v1beta1/devices", - "httpMethod": "POST", - "id": "cloudidentity.devices.create", - "parameterOrder": [], - "parameters": {}, - "path": "v1beta1/devices", - "request": { - "$ref": "CreateDeviceRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices" - ] - }, - "delete": { - "description": "Deletes the specified device.", - "flatPath": "v1beta1/devices/{devicesId}", - "httpMethod": "DELETE", - "id": "cloudidentity.devices.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", - "location": "query", - "type": "string" - }, - "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}`, where device_id is the unique ID assigned to the Device.", - "location": "path", - "pattern": "^devices/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices" - ] - }, - "get": { - "description": "Retrieves the specified device.", - "flatPath": "v1beta1/devices/{devicesId}", - "httpMethod": "GET", - "id": "cloudidentity.devices.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Customer in format: `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", - "location": "query", - "type": "string" - }, - "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}`, where device_id is the unique ID assigned to the Device.", - "location": "path", - "pattern": "^devices/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}", - "response": { - "$ref": "Device" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices", - "https://www.googleapis.com/auth/cloud-identity.devices.readonly" - ] - }, - "list": { - "description": "Lists/Searches devices.", - "flatPath": "v1beta1/devices", - "httpMethod": "GET", - "id": "cloudidentity.devices.list", - "parameterOrder": [], - "parameters": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer.", - "location": "query", - "type": "string" - }, - "filter": { - "description": "Optional. Additional restrictions when fetching list of devices. For a list of search fields, refer to [Mobile device search fields](https://developers.google.com/admin-sdk/directory/v1/search-operators). Multiple search fields are separated by the space character.", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "Optional. Order specification for devices in the response. Only one of the following field names may be used to specify the order: `create_time`, `last_sync_time`, `model`, `os_version`, `device_type` and `serial_number`. `desc` may be specified optionally to specify results to be sorted in descending order. Default order is ascending.", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Optional. The maximum number of Devices to return. If unspecified, at most 20 Devices will be returned. The maximum value is 100; values above 100 will be coerced to 100.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Optional. A page token, received from a previous `ListDevices` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDevices` must match the call that provided the page token.", - "location": "query", - "type": "string" - }, - "view": { - "description": "Optional. The view to use for the List request.", - "enum": [ - "VIEW_UNSPECIFIED", - "COMPANY_INVENTORY", - "USER_ASSIGNED_DEVICES" - ], - "enumDescriptions": [ - "Default value. The value is unused.", - "This view contains all devices imported by the company admin. Each device in the response contains all information specified by the company admin when importing the device (i.e. asset tags).", - "This view contains all devices with at least one user registered on the device. Each device in the response contains all device information, except for asset tags." - ], - "location": "query", - "type": "string" - } - }, - "path": "v1beta1/devices", - "response": { - "$ref": "ListDevicesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices", - "https://www.googleapis.com/auth/cloud-identity.devices.readonly" - ] - }, - "wipe": { - "description": "Wipes all data on the specified device.", - "flatPath": "v1beta1/devices/{devicesId}:wipe", - "httpMethod": "POST", - "id": "cloudidentity.devices.wipe", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.", - "location": "path", - "pattern": "^devices/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}:wipe", - "request": { - "$ref": "WipeDeviceRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices" - ] - } - }, - "resources": { - "deviceUsers": { - "methods": { - "approve": { - "description": "Approves device to access user data.", - "flatPath": "v1beta1/devices/{devicesId}/deviceUsers/{deviceUsersId}:approve", - "httpMethod": "POST", - "id": "cloudidentity.devices.deviceUsers.approve", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.", - "location": "path", - "pattern": "^devices/[^/]+/deviceUsers/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}:approve", - "request": { - "$ref": "ApproveDeviceUserRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices" - ] - }, - "block": { - "description": "Blocks device from accessing user data", - "flatPath": "v1beta1/devices/{devicesId}/deviceUsers/{deviceUsersId}:block", - "httpMethod": "POST", - "id": "cloudidentity.devices.deviceUsers.block", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.", - "location": "path", - "pattern": "^devices/[^/]+/deviceUsers/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}:block", - "request": { - "$ref": "BlockDeviceUserRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices" - ] - }, - "cancelWipe": { - "description": "Cancels an unfinished user account wipe. This operation can be used to cancel device wipe in the gap between the wipe operation returning success and the device being wiped.", - "flatPath": "v1beta1/devices/{devicesId}/deviceUsers/{deviceUsersId}:cancelWipe", - "httpMethod": "POST", - "id": "cloudidentity.devices.deviceUsers.cancelWipe", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.", - "location": "path", - "pattern": "^devices/[^/]+/deviceUsers/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}:cancelWipe", - "request": { - "$ref": "CancelWipeDeviceUserRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices" - ] - }, - "delete": { - "description": "Deletes the specified DeviceUser. This also revokes the user's access to device data.", - "flatPath": "v1beta1/devices/{devicesId}/deviceUsers/{deviceUsersId}", - "httpMethod": "DELETE", - "id": "cloudidentity.devices.deviceUsers.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", - "location": "query", - "type": "string" - }, - "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.", - "location": "path", - "pattern": "^devices/[^/]+/deviceUsers/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices" - ] - }, - "get": { - "description": "Retrieves the specified DeviceUser", - "flatPath": "v1beta1/devices/{devicesId}/deviceUsers/{deviceUsersId}", - "httpMethod": "GET", - "id": "cloudidentity.devices.deviceUsers.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", - "location": "query", - "type": "string" - }, - "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.", - "location": "path", - "pattern": "^devices/[^/]+/deviceUsers/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}", - "response": { - "$ref": "DeviceUser" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices", - "https://www.googleapis.com/auth/cloud-identity.devices.readonly" - ] - }, - "list": { - "description": "Lists/Searches DeviceUsers.", - "flatPath": "v1beta1/devices/{devicesId}/deviceUsers", - "httpMethod": "GET", - "id": "cloudidentity.devices.deviceUsers.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", - "location": "query", - "type": "string" - }, - "filter": { - "description": "Optional. Additional restrictions when fetching list of devices. For a list of search fields, refer to [Mobile device search fields](https://developers.google.com/admin-sdk/directory/v1/search-operators). Multiple search fields are separated by the space character.", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "Optional. Order specification for devices in the response.", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Optional. The maximum number of DeviceUsers to return. If unspecified, at most 5 DeviceUsers will be returned. The maximum value is 20; values above 20 will be coerced to 20.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Optional. A page token, received from a previous `ListDeviceUsers` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBooks` must match the call that provided the page token.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. To list all DeviceUsers, set this to \"devices/-\". To list all DeviceUsers owned by a device, set this to the resource name of the device. Format: devices/{device}", - "location": "path", - "pattern": "^devices/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+parent}/deviceUsers", - "response": { - "$ref": "ListDeviceUsersResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices", - "https://www.googleapis.com/auth/cloud-identity.devices.readonly" - ] - }, - "lookup": { - "description": "Looks up resource names of the DeviceUsers associated with the caller's credentials, as well as the properties provided in the request. This method must be called with end-user credentials with the scope: https://www.googleapis.com/auth/cloud-identity.devices.lookup If multiple properties are provided, only DeviceUsers having all of these properties are considered as matches - i.e. the query behaves like an AND. Different platforms require different amounts of information from the caller to ensure that the DeviceUser is uniquely identified. - iOS: No properties need to be passed, the caller's credentials are sufficient to identify the corresponding DeviceUser. - Android: Specifying the 'android_id' field is required. - Desktop: Specifying the 'raw_resource_id' field is required.", - "flatPath": "v1beta1/devices/{devicesId}/deviceUsers:lookup", - "httpMethod": "GET", - "id": "cloudidentity.devices.deviceUsers.lookup", - "parameterOrder": [ - "parent" - ], - "parameters": { - "androidId": { - "description": "Android Id returned by [Settings.Secure#ANDROID_ID](https://developer.android.com/reference/android/provider/Settings.Secure.html#ANDROID_ID).", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "The maximum number of DeviceUsers to return. If unspecified, at most 20 DeviceUsers will be returned. The maximum value is 20; values above 20 will be coerced to 20.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "A page token, received from a previous `LookupDeviceUsers` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `LookupDeviceUsers` must match the call that provided the page token.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Must be set to \"devices/-/deviceUsers\" to search across all DeviceUser belonging to the user.", - "location": "path", - "pattern": "^devices/[^/]+/deviceUsers$", - "required": true, - "type": "string" - }, - "rawResourceId": { - "description": "Raw Resource Id used by Google Endpoint Verification. If the user is enrolled into Google Endpoint Verification, this id will be saved as the 'device_resource_id' field in the following platform dependent files. Mac: ~/.secureConnect/context_aware_config.json Windows: C:\\Users\\%USERPROFILE%\\.secureConnect\\context_aware_config.json Linux: ~/.secureConnect/context_aware_config.json", - "location": "query", - "type": "string" - }, - "userId": { - "description": "The user whose DeviceUser's resource name will be fetched. Must be set to 'me' to fetch the DeviceUser's resource name for the calling user.", - "location": "query", - "type": "string" - } - }, - "path": "v1beta1/{+parent}:lookup", - "response": { - "$ref": "LookupSelfDeviceUsersResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices.lookup" - ] - }, - "wipe": { - "description": "Wipes the user's account on a device.", - "flatPath": "v1beta1/devices/{devicesId}/deviceUsers/{deviceUsersId}:wipe", - "httpMethod": "POST", - "id": "cloudidentity.devices.deviceUsers.wipe", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where device_id is the unique ID assigned to the Device, and device_user_id is the unique ID assigned to the User.", - "location": "path", - "pattern": "^devices/[^/]+/deviceUsers/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}:wipe", - "request": { - "$ref": "WipeDeviceUserRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices" - ] - } - }, - "resources": { - "clientStates": { - "methods": { - "get": { - "description": "Gets the client state for the device user", - "flatPath": "v1beta1/devices/{devicesId}/deviceUsers/{deviceUsersId}/clientStates/{clientStatesId}", - "httpMethod": "GET", - "id": "cloudidentity.devices.deviceUsers.clientStates.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", - "location": "query", - "type": "string" - }, - "name": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device_id}/deviceUsers/{device_user_id}/clientStates/{partner_id}`, where `device_id` is the unique ID assigned to the Device, `device_user_id` is the unique ID assigned to the User and `partner_id` identifies the partner storing the data. To get the client state for devices belonging to your own organization, the `partnerId` is in the format: `customerId-*anystring*`. Where the `customerId` is your organization's customer ID and `anystring` is any suffix. This suffix is used in setting up Custom Access Levels in Context-Aware Access. You may use `my_customer` instead of the customer ID for devices managed by your own organization. You may specify `-` in place of the `{device_id}`, so the ClientState resource name can be: `devices/-/deviceUsers/{device_user_resource_id}/clientStates/{partner_id}`.", - "location": "path", - "pattern": "^devices/[^/]+/deviceUsers/[^/]+/clientStates/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}", - "response": { - "$ref": "ClientState" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices", - "https://www.googleapis.com/auth/cloud-identity.devices.readonly" - ] - }, - "patch": { - "description": "Updates the client state for the device user **Note**: This method is available only to customers who have one of the following SKUs: Enterprise Standard, Enterprise Plus, Enterprise for Education, and Cloud Identity Premium", - "flatPath": "v1beta1/devices/{devicesId}/deviceUsers/{deviceUsersId}/clientStates/{clientStatesId}", - "httpMethod": "PATCH", - "id": "cloudidentity.devices.deviceUsers.clientStates.patch", - "parameterOrder": [ - "name" - ], - "parameters": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", - "location": "query", - "type": "string" - }, - "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device_id}/deviceUsers/{device_user_id}/clientState/{partner_id}`, where partner_id corresponds to the partner storing the data.", - "location": "path", - "pattern": "^devices/[^/]+/deviceUsers/[^/]+/clientStates/[^/]+$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Optional. Comma-separated list of fully qualified names of fields to be updated. If not specified, all updatable fields in ClientState are updated.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1beta1/{+name}", - "request": { - "$ref": "ClientState" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.devices" - ] - } - } - } - } - } - } - }, - "groups": { - "methods": { - "create": { - "description": "Creates a `Group`.", - "flatPath": "v1beta1/groups", - "httpMethod": "POST", - "id": "cloudidentity.groups.create", - "parameterOrder": [], - "parameters": { - "initialGroupConfig": { - "description": "Required. The initial configuration option for the `Group`.", - "enum": [ - "INITIAL_GROUP_CONFIG_UNSPECIFIED", - "WITH_INITIAL_OWNER", - "EMPTY" - ], - "enumDescriptions": [ - "Default. Should not be used.", - "The end user making the request will be added as the initial owner of the `Group`.", - "An empty group is created without any initial owners. This can only be used by admins of the domain." - ], - "location": "query", - "type": "string" - } - }, - "path": "v1beta1/groups", - "request": { - "$ref": "Group" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "delete": { - "description": "Deletes a `Group`.", - "flatPath": "v1beta1/groups/{groupsId}", - "httpMethod": "DELETE", - "id": "cloudidentity.groups.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group` to retrieve. Must be of the form `groups/{group_id}`.", - "location": "path", - "pattern": "^groups/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Retrieves a `Group`.", - "flatPath": "v1beta1/groups/{groupsId}", - "httpMethod": "GET", - "id": "cloudidentity.groups.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group` to retrieve. Must be of the form `groups/{group_id}`.", - "location": "path", - "pattern": "^groups/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}", - "response": { - "$ref": "Group" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "getSecuritySettings": { - "description": "Get Security Settings", - "flatPath": "v1beta1/groups/{groupsId}/securitySettings", - "httpMethod": "GET", - "id": "cloudidentity.groups.getSecuritySettings", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The security settings to retrieve. Format: `groups/{group_id}/securitySettings`", - "location": "path", - "pattern": "^groups/[^/]+/securitySettings$", - "required": true, - "type": "string" - }, - "readMask": { - "description": "Field-level read mask of which fields to return. \"*\" returns all fields. If not specified, all fields will be returned. May only contain the following field: `member_restriction`.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1beta1/{+name}", - "response": { - "$ref": "SecuritySettings" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists the `Group` resources under a customer or namespace.", - "flatPath": "v1beta1/groups", - "httpMethod": "GET", - "id": "cloudidentity.groups.list", - "parameterOrder": [], - "parameters": { - "pageSize": { - "description": "The maximum number of results to return. Note that the number of results returned may be less than this value even if there are more available results. To fetch all results, clients must continue calling this method repeatedly until the response no longer contains a `next_page_token`. If unspecified, defaults to 200 for `View.BASIC` and to 50 for `View.FULL`. Must not be greater than 1000 for `View.BASIC` or 500 for `View.FULL`.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "The `next_page_token` value returned from a previous list request, if any.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent resource under which to list all `Group` resources. Must be of the form `identitysources/{identity_source_id}` for external- identity-mapped groups or `customers/{customer_id}` for Google Groups. The `customer_id` must begin with \"C\" (for example, 'C046psxkn'). [Find your customer ID.] (https://support.google.com/cloudidentity/answer/10070793)", - "location": "query", - "type": "string" - }, - "view": { - "description": "The level of detail to be returned. If unspecified, defaults to `View.BASIC`.", - "enum": [ - "VIEW_UNSPECIFIED", - "BASIC", - "FULL" - ], - "enumDescriptions": [ - "Default. Should not be used.", - "Only basic resource information is returned.", - "All resource information is returned." - ], - "location": "query", - "type": "string" - } - }, - "path": "v1beta1/groups", - "response": { - "$ref": "ListGroupsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "lookup": { - "description": "Looks up the [resource name](https://cloud.google.com/apis/design/resource_names) of a `Group` by its `EntityKey`.", - "flatPath": "v1beta1/groups:lookup", - "httpMethod": "GET", - "id": "cloudidentity.groups.lookup", - "parameterOrder": [], - "parameters": { - "groupKey.id": { - "description": "The ID of the entity. For Google-managed entities, the `id` must be the email address of an existing group or user. For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source's requirements. Must be unique within a `namespace`.", - "location": "query", - "type": "string" - }, - "groupKey.namespace": { - "description": "The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}`.", - "location": "query", - "type": "string" - } - }, - "path": "v1beta1/groups:lookup", - "response": { - "$ref": "LookupGroupNameResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "patch": { - "description": "Updates a `Group`.", - "flatPath": "v1beta1/groups/{groupsId}", - "httpMethod": "PATCH", - "id": "cloudidentity.groups.patch", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group`. Shall be of the form `groups/{group_id}`.", - "location": "path", - "pattern": "^groups/[^/]+$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The names of fields to update. May only contain the following field names: `display_name`, `description`, `labels`, `dynamic_group_metadata`, `posix_groups`.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1beta1/{+name}", - "request": { - "$ref": "Group" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "search": { - "description": "Searches for `Group` resources matching a specified query.", - "flatPath": "v1beta1/groups:search", - "httpMethod": "GET", - "id": "cloudidentity.groups.search", - "parameterOrder": [], - "parameters": { - "orderBy": { - "description": "The ordering of groups for the display name or email in the search groups response. The syntax for this field can be found at https://cloud.google.com/apis/design/design_patterns#sorting_order. Example: Sort by the ascending name: order_by=\"display_name\" Sort by the descending group key email: order_by=\"group_key desc\"", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "The maximum number of results to return. Note that the number of results returned may be less than this value even if there are more available results. To fetch all results, clients must continue calling this method repeatedly until the response no longer contains a `next_page_token`. If unspecified, defaults to 200 for `GroupView.BASIC` and to 50 for `GroupView.FULL`. Must not be greater than 1000 for `GroupView.BASIC` or 500 for `GroupView.FULL`.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "The `next_page_token` value returned from a previous search request, if any.", - "location": "query", - "type": "string" - }, - "query": { - "description": "Required. The search query. * Must be specified in [Common Expression Language](https://opensource.google/projects/cel). * Must contain equality operators on the parent, e.g. `parent == 'customers/{customer_id}'`. The `customer_id` must begin with \"C\" (for example, 'C046psxkn'). [Find your customer ID.] (https://support.google.com/cloudidentity/answer/10070793) * Can contain optional inclusion operators on `labels` such as `'cloudidentity.googleapis.com/groups.discussion_forum' in labels`). * Can contain an optional equality operator on `domain_name`. e.g. `domain_name == 'examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `group_key`, e.g. `group_key.startsWith('dev')`, `group_key.contains('dev'), group_key == 'dev@examplepetstore.com'` * Can contain optional `startsWith/contains/equality` operators on `display_name`, such as `display_name.startsWith('dev')` , `display_name.contains('dev')`, `display_name == 'dev'`", - "location": "query", - "type": "string" - }, - "view": { - "description": "The level of detail to be returned. If unspecified, defaults to `View.BASIC`.", - "enum": [ - "BASIC", - "FULL" - ], - "enumDescriptions": [ - "Default. Only basic resource information is returned.", - "All resource information is returned." - ], - "location": "query", - "type": "string" - } - }, - "path": "v1beta1/groups:search", - "response": { - "$ref": "SearchGroupsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "updateSecuritySettings": { - "description": "Update Security Settings", - "flatPath": "v1beta1/groups/{groupsId}/securitySettings", - "httpMethod": "PATCH", - "id": "cloudidentity.groups.updateSecuritySettings", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Output only. The resource name of the security settings. Shall be of the form `groups/{group_id}/securitySettings`.", - "location": "path", - "pattern": "^groups/[^/]+/securitySettings$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The fully-qualified names of fields to update. May only contain the following field: `member_restriction.query`.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1beta1/{+name}", - "request": { - "$ref": "SecuritySettings" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-platform" - ] - } - }, - "resources": { - "memberships": { - "methods": { - "checkTransitiveMembership": { - "description": "Check a potential member for membership in a group. **Note:** This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. A member has membership to a group as long as there is a single viewable transitive membership between the group and the member. The actor must have view permissions to at least one transitive membership between the member and group.", - "flatPath": "v1beta1/groups/{groupsId}/memberships:checkTransitiveMembership", - "httpMethod": "GET", - "id": "cloudidentity.groups.memberships.checkTransitiveMembership", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the group to check the transitive membership in. Format: `groups/{group_id}`, where `group_id` is the unique id assigned to the Group to which the Membership belongs to.", - "location": "path", - "pattern": "^groups/[^/]+$", - "required": true, - "type": "string" - }, - "query": { - "description": "Required. A CEL expression that MUST include member specification. This is a `required` field. Certain groups are uniquely identified by both a 'member_key_id' and a 'member_key_namespace', which requires an additional query input: 'member_key_namespace'. Example query: `member_key_id == 'member_key_id_value'`", - "location": "query", - "type": "string" - } - }, - "path": "v1beta1/{+parent}/memberships:checkTransitiveMembership", - "response": { - "$ref": "CheckTransitiveMembershipResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "create": { - "description": "Creates a `Membership`.", - "flatPath": "v1beta1/groups/{groupsId}/memberships", - "httpMethod": "POST", - "id": "cloudidentity.groups.memberships.create", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "Required. The parent `Group` resource under which to create the `Membership`. Must be of the form `groups/{group_id}`.", - "location": "path", - "pattern": "^groups/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+parent}/memberships", - "request": { - "$ref": "Membership" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "delete": { - "description": "Deletes a `Membership`.", - "flatPath": "v1beta1/groups/{groupsId}/memberships/{membershipsId}", - "httpMethod": "DELETE", - "id": "cloudidentity.groups.memberships.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership` to delete. Must be of the form `groups/{group_id}/memberships/{membership_id}`.", - "location": "path", - "pattern": "^groups/[^/]+/memberships/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Retrieves a `Membership`.", - "flatPath": "v1beta1/groups/{groupsId}/memberships/{membershipsId}", - "httpMethod": "GET", - "id": "cloudidentity.groups.memberships.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership` to retrieve. Must be of the form `groups/{group_id}/memberships/{membership_id}`.", - "location": "path", - "pattern": "^groups/[^/]+/memberships/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}", - "response": { - "$ref": "Membership" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "getMembershipGraph": { - "description": "Get a membership graph of just a member or both a member and a group. **Note:** This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. Given a member, the response will contain all membership paths from the member. Given both a group and a member, the response will contain all membership paths between the group and the member.", - "flatPath": "v1beta1/groups/{groupsId}/memberships:getMembershipGraph", - "httpMethod": "GET", - "id": "cloudidentity.groups.memberships.getMembershipGraph", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group_id}`, where `group_id` is the unique ID assigned to the Group to which the Membership belongs to. group_id can be a wildcard collection id \"-\". When a group_id is specified, the membership graph will be constrained to paths between the member (defined in the query) and the parent. If a wildcard collection is provided, all membership paths connected to the member will be returned.", - "location": "path", - "pattern": "^groups/[^/]+$", - "required": true, - "type": "string" - }, - "query": { - "description": "Required. A CEL expression that MUST include member specification AND label(s). Certain groups are uniquely identified by both a 'member_key_id' and a 'member_key_namespace', which requires an additional query input: 'member_key_namespace'. Example query: `member_key_id == 'member_key_id_value' && in labels`", - "location": "query", - "type": "string" - } - }, - "path": "v1beta1/{+parent}/memberships:getMembershipGraph", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists the `Membership`s within a `Group`.", - "flatPath": "v1beta1/groups/{groupsId}/memberships", - "httpMethod": "GET", - "id": "cloudidentity.groups.memberships.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "pageSize": { - "description": "The maximum number of results to return. Note that the number of results returned may be less than this value even if there are more available results. To fetch all results, clients must continue calling this method repeatedly until the response no longer contains a `next_page_token`. If unspecified, defaults to 200 for `GroupView.BASIC` and to 50 for `GroupView.FULL`. Must not be greater than 1000 for `GroupView.BASIC` or 500 for `GroupView.FULL`.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "The `next_page_token` value returned from a previous search request, if any.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent `Group` resource under which to lookup the `Membership` name. Must be of the form `groups/{group_id}`.", - "location": "path", - "pattern": "^groups/[^/]+$", - "required": true, - "type": "string" - }, - "view": { - "description": "The level of detail to be returned. If unspecified, defaults to `MembershipView.BASIC`.", - "enum": [ - "BASIC", - "FULL" - ], - "enumDescriptions": [ - "Default. Only basic resource information is returned.", - "All resource information is returned." - ], - "location": "query", - "type": "string" - } - }, - "path": "v1beta1/{+parent}/memberships", - "response": { - "$ref": "ListMembershipsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "lookup": { - "description": "Looks up the [resource name](https://cloud.google.com/apis/design/resource_names) of a `Membership` by its `EntityKey`.", - "flatPath": "v1beta1/groups/{groupsId}/memberships:lookup", - "httpMethod": "GET", - "id": "cloudidentity.groups.memberships.lookup", - "parameterOrder": [ - "parent" - ], - "parameters": { - "memberKey.id": { - "description": "The ID of the entity. For Google-managed entities, the `id` must be the email address of an existing group or user. For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source's requirements. Must be unique within a `namespace`.", - "location": "query", - "type": "string" - }, - "memberKey.namespace": { - "description": "The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}`.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent `Group` resource under which to lookup the `Membership` name. Must be of the form `groups/{group_id}`.", - "location": "path", - "pattern": "^groups/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+parent}/memberships:lookup", - "response": { - "$ref": "LookupMembershipNameResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "modifyMembershipRoles": { - "description": "Modifies the `MembershipRole`s of a `Membership`.", - "flatPath": "v1beta1/groups/{groupsId}/memberships/{membershipsId}:modifyMembershipRoles", - "httpMethod": "POST", - "id": "cloudidentity.groups.memberships.modifyMembershipRoles", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership` whose roles are to be modified. Must be of the form `groups/{group_id}/memberships/{membership_id}`.", - "location": "path", - "pattern": "^groups/[^/]+/memberships/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}:modifyMembershipRoles", - "request": { - "$ref": "ModifyMembershipRolesRequest" - }, - "response": { - "$ref": "ModifyMembershipRolesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "searchDirectGroups": { - "description": "Searches direct groups of a member.", - "flatPath": "v1beta1/groups/{groupsId}/memberships:searchDirectGroups", - "httpMethod": "GET", - "id": "cloudidentity.groups.memberships.searchDirectGroups", - "parameterOrder": [ - "parent" - ], - "parameters": { - "orderBy": { - "description": "The ordering of membership relation for the display name or email in the response. The syntax for this field can be found at https://cloud.google.com/apis/design/design_patterns#sorting_order. Example: Sort by the ascending display name: order_by=\"group_name\" or order_by=\"group_name asc\". Sort by the descending display name: order_by=\"group_name desc\". Sort by the ascending group key: order_by=\"group_key\" or order_by=\"group_key asc\". Sort by the descending group key: order_by=\"group_key desc\".", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "The default page size is 200 (max 1000).", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "The next_page_token value returned from a previous list request, if any", - "location": "query", - "type": "string" - }, - "parent": { - "description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: groups/{group_id}, where group_id is always '-' as this API will search across all groups for a given member.", - "location": "path", - "pattern": "^groups/[^/]+$", - "required": true, - "type": "string" - }, - "query": { - "description": "Required. A CEL expression that MUST include member specification AND label(s). Users can search on label attributes of groups. CONTAINS match ('in') is supported on labels. Identity-mapped groups are uniquely identified by both a `member_key_id` and a `member_key_namespace`, which requires an additional query input: `member_key_namespace`. Example query: `member_key_id == 'member_key_id_value' && 'label_value' in labels`", - "location": "query", - "type": "string" - } - }, - "path": "v1beta1/{+parent}/memberships:searchDirectGroups", - "response": { - "$ref": "SearchDirectGroupsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "searchTransitiveGroups": { - "description": "Search transitive groups of a member. **Note:** This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. A transitive group is any group that has a direct or indirect membership to the member. Actor must have view permissions all transitive groups.", - "flatPath": "v1beta1/groups/{groupsId}/memberships:searchTransitiveGroups", - "httpMethod": "GET", - "id": "cloudidentity.groups.memberships.searchTransitiveGroups", - "parameterOrder": [ - "parent" - ], - "parameters": { - "pageSize": { - "description": "The default page size is 200 (max 1000).", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "The next_page_token value returned from a previous list request, if any.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group_id}`, where `group_id` is always '-' as this API will search across all groups for a given member.", - "location": "path", - "pattern": "^groups/[^/]+$", - "required": true, - "type": "string" - }, - "query": { - "description": "Required. A CEL expression that MUST include member specification AND label(s). This is a `required` field. Users can search on label attributes of groups. CONTAINS match ('in') is supported on labels. Identity-mapped groups are uniquely identified by both a `member_key_id` and a `member_key_namespace`, which requires an additional query input: `member_key_namespace`. Example query: `member_key_id == 'member_key_id_value' && in labels` Query may optionally contain equality operators on the parent of the group restricting the search within a particular customer, e.g. `parent == 'customers/{customer_id}'`. The `customer_id` must begin with \"C\" (for example, 'C046psxkn'). This filtering is only supported for Admins with groups read permissons on the input customer. Example query: `member_key_id == 'member_key_id_value' && in labels && parent == 'customers/C046psxkn'`", - "location": "query", - "type": "string" - } - }, - "path": "v1beta1/{+parent}/memberships:searchTransitiveGroups", - "response": { - "$ref": "SearchTransitiveGroupsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "searchTransitiveMemberships": { - "description": "Search transitive memberships of a group. **Note:** This feature is only available to Google Workspace Enterprise Standard, Enterprise Plus, and Enterprise for Education; and Cloud Identity Premium accounts. A transitive membership is any direct or indirect membership of a group. Actor must have view permissions to all transitive memberships.", - "flatPath": "v1beta1/groups/{groupsId}/memberships:searchTransitiveMemberships", - "httpMethod": "GET", - "id": "cloudidentity.groups.memberships.searchTransitiveMemberships", - "parameterOrder": [ - "parent" - ], - "parameters": { - "pageSize": { - "description": "The default page size is 200 (max 1000).", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "The next_page_token value returned from a previous list request, if any.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group_id}`, where `group_id` is the unique ID assigned to the Group.", - "location": "path", - "pattern": "^groups/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+parent}/memberships:searchTransitiveMemberships", - "response": { - "$ref": "SearchTransitiveMembershipsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity.groups", - "https://www.googleapis.com/auth/cloud-identity.groups.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - } - } - }, - "inboundSamlSsoProfiles": { - "methods": { - "create": { - "description": "Creates an InboundSamlSsoProfile for a customer. When the target customer has enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448), the `Operation` in the response will have `\"done\": false`, it will not have a response, and the metadata will have `\"state\": \"awaiting-multi-party-approval\"`.", - "flatPath": "v1beta1/inboundSamlSsoProfiles", - "httpMethod": "POST", - "id": "cloudidentity.inboundSamlSsoProfiles.create", - "parameterOrder": [], - "parameters": {}, - "path": "v1beta1/inboundSamlSsoProfiles", - "request": { - "$ref": "InboundSamlSsoProfile" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "delete": { - "description": "Deletes an InboundSamlSsoProfile.", - "flatPath": "v1beta1/inboundSamlSsoProfiles/{inboundSamlSsoProfilesId}", - "httpMethod": "DELETE", - "id": "cloudidentity.inboundSamlSsoProfiles.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the InboundSamlSsoProfile to delete. Format: `inboundSamlSsoProfiles/{sso_profile_id}`", - "location": "path", - "pattern": "^inboundSamlSsoProfiles/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Gets an InboundSamlSsoProfile.", - "flatPath": "v1beta1/inboundSamlSsoProfiles/{inboundSamlSsoProfilesId}", - "httpMethod": "GET", - "id": "cloudidentity.inboundSamlSsoProfiles.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the InboundSamlSsoProfile to get. Format: `inboundSamlSsoProfiles/{sso_profile_id}`", - "location": "path", - "pattern": "^inboundSamlSsoProfiles/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}", - "response": { - "$ref": "InboundSamlSsoProfile" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists InboundSamlSsoProfiles for a customer.", - "flatPath": "v1beta1/inboundSamlSsoProfiles", - "httpMethod": "GET", - "id": "cloudidentity.inboundSamlSsoProfiles.list", - "parameterOrder": [], - "parameters": { - "filter": { - "description": "A [Common Expression Language](https://github.com/google/cel-spec) expression to filter the results. The only supported filter is filtering by customer. For example: `customer==\"customers/C0123abc\"`. Omitting the filter or specifying a filter of `customer==\"customers/my_customer\"` will return the profiles for the customer that the caller (authenticated user) belongs to.", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "The maximum number of InboundSamlSsoProfiles to return. The service may return fewer than this value. If omitted (or defaulted to zero) the server will use a sensible default. This default may change over time. The maximum allowed value is 100. Requests with page_size greater than that will be silently interpreted as having this maximum value.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "A page token, received from a previous `ListInboundSamlSsoProfiles` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListInboundSamlSsoProfiles` must match the call that provided the page token.", - "location": "query", - "type": "string" - } - }, - "path": "v1beta1/inboundSamlSsoProfiles", - "response": { - "$ref": "ListInboundSamlSsoProfilesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "patch": { - "description": "Updates an InboundSamlSsoProfile. When the target customer has enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448), the `Operation` in the response will have `\"done\": false`, it will not have a response, and the metadata will have `\"state\": \"awaiting-multi-party-approval\"`.", - "flatPath": "v1beta1/inboundSamlSsoProfiles/{inboundSamlSsoProfilesId}", - "httpMethod": "PATCH", - "id": "cloudidentity.inboundSamlSsoProfiles.patch", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the SAML SSO profile.", - "location": "path", - "pattern": "^inboundSamlSsoProfiles/[^/]+$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The list of fields to be updated.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1beta1/{+name}", - "request": { - "$ref": "InboundSamlSsoProfile" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - }, - "resources": { - "idpCredentials": { - "methods": { - "add": { - "description": "Adds an IdpCredential. Up to 2 credentials are allowed. When the target customer has enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448), the `Operation` in the response will have `\"done\": false`, it will not have a response, and the metadata will have `\"state\": \"awaiting-multi-party-approval\"`.", - "flatPath": "v1beta1/inboundSamlSsoProfiles/{inboundSamlSsoProfilesId}/idpCredentials:add", - "httpMethod": "POST", - "id": "cloudidentity.inboundSamlSsoProfiles.idpCredentials.add", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "Required. The InboundSamlSsoProfile that owns the IdpCredential. Format: `inboundSamlSsoProfiles/{sso_profile_id}`", - "location": "path", - "pattern": "^inboundSamlSsoProfiles/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+parent}/idpCredentials:add", - "request": { - "$ref": "AddIdpCredentialRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "delete": { - "description": "Deletes an IdpCredential.", - "flatPath": "v1beta1/inboundSamlSsoProfiles/{inboundSamlSsoProfilesId}/idpCredentials/{idpCredentialsId}", - "httpMethod": "DELETE", - "id": "cloudidentity.inboundSamlSsoProfiles.idpCredentials.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the IdpCredential to delete. Format: `inboundSamlSsoProfiles/{sso_profile_id}/idpCredentials/{idp_credential_id}`", - "location": "path", - "pattern": "^inboundSamlSsoProfiles/[^/]+/idpCredentials/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Gets an IdpCredential.", - "flatPath": "v1beta1/inboundSamlSsoProfiles/{inboundSamlSsoProfilesId}/idpCredentials/{idpCredentialsId}", - "httpMethod": "GET", - "id": "cloudidentity.inboundSamlSsoProfiles.idpCredentials.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the IdpCredential to retrieve. Format: `inboundSamlSsoProfiles/{sso_profile_id}/idpCredentials/{idp_credential_id}`", - "location": "path", - "pattern": "^inboundSamlSsoProfiles/[^/]+/idpCredentials/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}", - "response": { - "$ref": "IdpCredential" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Returns a list of IdpCredentials in an InboundSamlSsoProfile.", - "flatPath": "v1beta1/inboundSamlSsoProfiles/{inboundSamlSsoProfilesId}/idpCredentials", - "httpMethod": "GET", - "id": "cloudidentity.inboundSamlSsoProfiles.idpCredentials.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "pageSize": { - "description": "The maximum number of `IdpCredential`s to return. The service may return fewer than this value.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "A page token, received from a previous `ListIdpCredentials` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListIdpCredentials` must match the call that provided the page token.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent, which owns this collection of `IdpCredential`s. Format: `inboundSamlSsoProfiles/{sso_profile_id}`", - "location": "path", - "pattern": "^inboundSamlSsoProfiles/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+parent}/idpCredentials", - "response": { - "$ref": "ListIdpCredentialsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - } - } - }, - "inboundSsoAssignments": { - "methods": { - "create": { - "description": "Creates an InboundSsoAssignment for users and devices in a `Customer` under a given `Group` or `OrgUnit`.", - "flatPath": "v1beta1/inboundSsoAssignments", - "httpMethod": "POST", - "id": "cloudidentity.inboundSsoAssignments.create", - "parameterOrder": [], - "parameters": {}, - "path": "v1beta1/inboundSsoAssignments", - "request": { - "$ref": "InboundSsoAssignment" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "delete": { - "description": "Deletes an InboundSsoAssignment. To disable SSO, Create (or Update) an assignment that has `sso_mode` == `SSO_OFF`.", - "flatPath": "v1beta1/inboundSsoAssignments/{inboundSsoAssignmentsId}", - "httpMethod": "DELETE", - "id": "cloudidentity.inboundSsoAssignments.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the InboundSsoAssignment to delete. Format: `inboundSsoAssignments/{assignment}`", - "location": "path", - "pattern": "^inboundSsoAssignments/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Gets an InboundSsoAssignment.", - "flatPath": "v1beta1/inboundSsoAssignments/{inboundSsoAssignmentsId}", - "httpMethod": "GET", - "id": "cloudidentity.inboundSsoAssignments.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The [resource name](https://cloud.google.com/apis/design/resource_names) of the InboundSsoAssignment to fetch. Format: `inboundSsoAssignments/{assignment}`", - "location": "path", - "pattern": "^inboundSsoAssignments/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}", - "response": { - "$ref": "InboundSsoAssignment" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists the InboundSsoAssignments for a `Customer`.", - "flatPath": "v1beta1/inboundSsoAssignments", - "httpMethod": "GET", - "id": "cloudidentity.inboundSsoAssignments.list", - "parameterOrder": [], - "parameters": { - "filter": { - "description": "A CEL expression to filter the results. The only supported filter is filtering by customer. For example: `customer==customers/C0123abc`. Omitting the filter or specifying a filter of `customer==customers/my_customer` will return the assignments for the customer that the caller (authenticated user) belongs to.", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "The maximum number of assignments to return. The service may return fewer than this value. If omitted (or defaulted to zero) the server will use a sensible default. This default may change over time. The maximum allowed value is 100, though requests with page_size greater than that will be silently interpreted as having this maximum value. This may increase in the futue.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "A page token, received from a previous `ListInboundSsoAssignments` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListInboundSsoAssignments` must match the call that provided the page token.", - "location": "query", - "type": "string" - } - }, - "path": "v1beta1/inboundSsoAssignments", - "response": { - "$ref": "ListInboundSsoAssignmentsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "patch": { - "description": "Updates an InboundSsoAssignment. The body of this request is the `inbound_sso_assignment` field and the `update_mask` is relative to that. For example: a PATCH to `/v1beta1/inboundSsoAssignments/0abcdefg1234567&update_mask=rank` with a body of `{ \"rank\": 1 }` moves that (presumably group-targeted) SSO assignment to the highest priority and shifts any other group-targeted assignments down in priority.", - "flatPath": "v1beta1/inboundSsoAssignments/{inboundSsoAssignmentsId}", - "httpMethod": "PATCH", - "id": "cloudidentity.inboundSsoAssignments.patch", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Inbound SSO Assignment.", - "location": "path", - "pattern": "^inboundSsoAssignments/[^/]+$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The list of fields to be updated.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1beta1/{+name}", - "request": { - "$ref": "InboundSsoAssignment" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - }, - "orgUnits": { - "resources": { - "memberships": { - "methods": { - "list": { - "description": "List OrgMembership resources in an OrgUnit treated as 'parent'. Parent format: orgUnits/{$orgUnitId} where `$orgUnitId` is the `orgUnitId` from the [Admin SDK `OrgUnit` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/orgunits)", - "flatPath": "v1beta1/orgUnits/{orgUnitsId}/memberships", - "httpMethod": "GET", - "id": "cloudidentity.orgUnits.memberships.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "customer": { - "description": "Required. Immutable. Customer that this OrgMembership belongs to. All authorization will happen on the role assignments of this customer. Format: customers/{$customerId} where `$customerId` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may also use `customers/my_customer` to specify your own organization.", - "location": "query", - "type": "string" - }, - "filter": { - "description": "The search query. Must be specified in [Common Expression Language](https://opensource.google/projects/cel). May only contain equality operators on the `type` (e.g., `type == 'shared_drive'`).", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "The maximum number of results to return. The service may return fewer than this value. If omitted (or defaulted to zero) the server will default to 50. The maximum allowed value is 100, though requests with page_size greater than that will be silently interpreted as 100.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "A page token, received from a previous `OrgMembershipsService.ListOrgMemberships` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListOrgMembershipsRequest` must match the call that provided the page token.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. Immutable. OrgUnit which is queried for a list of memberships. Format: orgUnits/{$orgUnitId} where `$orgUnitId` is the `orgUnitId` from the [Admin SDK `OrgUnit` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/orgunits).", - "location": "path", - "pattern": "^orgUnits/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+parent}/memberships", - "response": { - "$ref": "ListOrgMembershipsResponse" - } - }, - "move": { - "description": "Move an OrgMembership to a new OrgUnit. NOTE: This is an atomic copy-and-delete. The resource will have a new copy under the destination OrgUnit and be deleted from the source OrgUnit. The resource can only be searched under the destination OrgUnit afterwards.", - "flatPath": "v1beta1/orgUnits/{orgUnitsId}/memberships/{membershipsId}:move", - "httpMethod": "POST", - "id": "cloudidentity.orgUnits.memberships.move", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. Immutable. The [resource name](https://cloud.google.com/apis/design/resource_names) of the OrgMembership. Format: orgUnits/{$orgUnitId}/memberships/{$membership} The `$orgUnitId` is the `orgUnitId` from the [Admin SDK `OrgUnit` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/orgunits). To manage a Membership without specifying source `orgUnitId`, this API also supports the wildcard character '-' for `$orgUnitId` per https://google.aip.dev/159. The `$membership` shall be of the form `{$entityType};{$memberId}`, where `$entityType` is the enum value of OrgMembership.EntityType, and `memberId` is the `id` from [Drive API (V3) `Drive` resource](https://developers.google.com/drive/api/v3/reference/drives#resource) for OrgMembership.EntityType.SHARED_DRIVE.", - "location": "path", - "pattern": "^orgUnits/[^/]+/memberships/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+name}:move", - "request": { - "$ref": "MoveOrgMembershipRequest" - }, - "response": { - "$ref": "Operation" - } - } - } - } - } - } - }, - "revision": "20241001", - "rootUrl": "https://cloudidentity.googleapis.com/", - "schemas": { - "AddIdpCredentialOperationMetadata": { - "description": "LRO response metadata for InboundSamlSsoProfilesService.AddIdpCredential.", - "id": "AddIdpCredentialOperationMetadata", - "properties": { - "state": { - "description": "State of this Operation Will be \"awaiting-multi-party-approval\" when the operation is deferred due to the target customer having enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448).", - "type": "string" - } - }, - "type": "object" - }, - "AddIdpCredentialRequest": { - "description": "The request for creating an IdpCredential with its associated payload. An InboundSamlSsoProfile can own up to 2 credentials.", - "id": "AddIdpCredentialRequest", - "properties": { - "pemData": { - "description": "PEM encoded x509 certificate containing the public key for verifying IdP signatures.", - "type": "string" - } - }, - "type": "object" - }, - "AndroidAttributes": { - "description": "Resource representing the Android specific attributes of a Device.", - "id": "AndroidAttributes", - "properties": { - "ctsProfileMatch": { - "description": "Whether the device passes Android CTS compliance.", - "type": "boolean" - }, - "enabledUnknownSources": { - "description": "Whether applications from unknown sources can be installed on device.", - "type": "boolean" - }, - "hasPotentiallyHarmfulApps": { - "description": "Whether any potentially harmful apps were detected on the device.", - "type": "boolean" - }, - "ownerProfileAccount": { - "description": "Whether this account is on an owner/primary profile. For phones, only true for owner profiles. Android 4+ devices can have secondary or restricted user profiles.", - "type": "boolean" - }, - "ownershipPrivilege": { - "description": "Ownership privileges on device.", - "enum": [ - "OWNERSHIP_PRIVILEGE_UNSPECIFIED", - "DEVICE_ADMINISTRATOR", - "PROFILE_OWNER", - "DEVICE_OWNER" - ], - "enumDescriptions": [ - "Ownership privilege is not set.", - "Active device administrator privileges on the device.", - "Profile Owner privileges. The account is in a managed corporate profile.", - "Device Owner privileges on the device." - ], - "type": "string" - }, - "supportsWorkProfile": { - "description": "Whether device supports Android work profiles. If false, this service will not block access to corp data even if an administrator turns on the \"Enforce Work Profile\" policy.", - "type": "boolean" - }, - "verifiedBoot": { - "description": "Whether Android verified boot status is GREEN.", - "type": "boolean" - }, - "verifyAppsEnabled": { - "description": "Whether Google Play Protect Verify Apps is enabled.", - "type": "boolean" - } - }, - "type": "object" - }, - "ApproveDeviceUserRequest": { - "description": "Request message for approving the device to access user data.", - "id": "ApproveDeviceUserRequest", - "properties": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", - "type": "string" - } - }, - "type": "object" - }, - "ApproveDeviceUserResponse": { - "description": "Response message for approving the device to access user data.", - "id": "ApproveDeviceUserResponse", - "properties": { - "deviceUser": { - "$ref": "DeviceUser", - "description": "Resultant DeviceUser object for the action." - } - }, - "type": "object" - }, - "BlockDeviceUserRequest": { - "description": "Request message for blocking account on device.", - "id": "BlockDeviceUserRequest", - "properties": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", - "type": "string" - } - }, - "type": "object" - }, - "BlockDeviceUserResponse": { - "description": "Response message for blocking the device from accessing user data.", - "id": "BlockDeviceUserResponse", - "properties": { - "deviceUser": { - "$ref": "DeviceUser", - "description": "Resultant DeviceUser object for the action." - } - }, - "type": "object" - }, - "BrowserAttributes": { - "description": "Contains information about browser profiles reported by the [Endpoint Verification extension](https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1).", - "id": "BrowserAttributes", - "properties": { - "chromeBrowserInfo": { - "$ref": "BrowserInfo", - "description": "Represents the current state of the [Chrome browser attributes](https://cloud.google.com/access-context-manager/docs/browser-attributes) sent by the [Endpoint Verification extension](https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1)." - }, - "chromeProfileId": { - "description": "Chrome profile ID that is exposed by the Chrome API. It is unique for each device.", - "type": "string" - }, - "lastProfileSyncTime": { - "description": "Timestamp in milliseconds since the Unix epoch when the profile/gcm id was last synced.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "BrowserInfo": { - "description": "Browser-specific fields reported by the [Endpoint Verification extension](https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1).", - "id": "BrowserInfo", - "properties": { - "browserManagementState": { - "description": "Output only. Browser's management state.", - "enum": [ - "UNSPECIFIED", - "UNMANAGED", - "MANAGED_BY_OTHER_DOMAIN", - "PROFILE_MANAGED", - "BROWSER_MANAGED" - ], - "enumDescriptions": [ - "Management state is not specified.", - "Browser/Profile is not managed by any customer.", - "Browser/Profile is managed, but by some other customer.", - "Profile is managed by customer.", - "Browser is managed by customer." - ], - "readOnly": true, - "type": "string" - }, - "browserVersion": { - "description": "Version of the request initiating browser. E.g. `91.0.4442.4`.", - "type": "string" - }, - "isBuiltInDnsClientEnabled": { - "description": "Current state of [built-in DNS client](https://chromeenterprise.google/policies/#BuiltInDnsClientEnabled).", - "type": "boolean" - }, - "isBulkDataEntryAnalysisEnabled": { - "description": "Current state of [bulk data analysis](https://chromeenterprise.google/policies/#OnBulkDataEntryEnterpriseConnector). Set to true if provider list from Chrome is non-empty.", - "type": "boolean" - }, - "isChromeCleanupEnabled": { - "description": "Current state of [Chrome Cleanup](https://chromeenterprise.google/policies/#ChromeCleanupEnabled).", - "type": "boolean" - }, - "isChromeRemoteDesktopAppBlocked": { - "description": "Current state of [Chrome Remote Desktop app](https://chromeenterprise.google/policies/#URLBlocklist).", - "type": "boolean" - }, - "isFileDownloadAnalysisEnabled": { - "description": "Current state of [file download analysis](https://chromeenterprise.google/policies/#OnFileDownloadedEnterpriseConnector). Set to true if provider list from Chrome is non-empty.", - "type": "boolean" - }, - "isFileUploadAnalysisEnabled": { - "description": "Current state of [file upload analysis](https://chromeenterprise.google/policies/#OnFileAttachedEnterpriseConnector). Set to true if provider list from Chrome is non-empty.", - "type": "boolean" - }, - "isRealtimeUrlCheckEnabled": { - "description": "Current state of [real-time URL check](https://chromeenterprise.google/policies/#EnterpriseRealTimeUrlCheckMode). Set to true if provider list from Chrome is non-empty.", - "type": "boolean" - }, - "isSecurityEventAnalysisEnabled": { - "description": "Current state of [security event analysis](https://chromeenterprise.google/policies/#OnSecurityEventEnterpriseConnector). Set to true if provider list from Chrome is non-empty.", - "type": "boolean" - }, - "isSiteIsolationEnabled": { - "description": "Current state of [site isolation](https://chromeenterprise.google/policies/?policy=IsolateOrigins).", - "type": "boolean" - }, - "isThirdPartyBlockingEnabled": { - "description": "Current state of [third-party blocking](https://chromeenterprise.google/policies/#ThirdPartyBlockingEnabled).", - "type": "boolean" - }, - "passwordProtectionWarningTrigger": { - "description": "Current state of [password protection trigger](https://chromeenterprise.google/policies/#PasswordProtectionWarningTrigger).", - "enum": [ - "PASSWORD_PROTECTION_TRIGGER_UNSPECIFIED", - "PROTECTION_OFF", - "PASSWORD_REUSE", - "PHISHING_REUSE" - ], - "enumDescriptions": [ - "Password protection is not specified.", - "Password reuse is never detected.", - "Warning is shown when the user reuses their protected password on a non-allowed site.", - "Warning is shown when the user reuses their protected password on a phishing site." - ], - "type": "string" - }, - "safeBrowsingProtectionLevel": { - "description": "Current state of [Safe Browsing protection level](https://chromeenterprise.google/policies/#SafeBrowsingProtectionLevel).", - "enum": [ - "SAFE_BROWSING_LEVEL_UNSPECIFIED", - "DISABLED", - "STANDARD", - "ENHANCED" - ], - "enumDescriptions": [ - "Browser protection level is not specified.", - "No protection against dangerous websites, downloads, and extensions.", - "Standard protection against websites, downloads, and extensions that are known to be dangerous.", - "Faster, proactive protection against dangerous websites, downloads, and extensions." - ], - "type": "string" - } - }, - "type": "object" - }, - "CancelUserInvitationRequest": { - "description": "Request to cancel sent invitation for target email in UserInvitation.", - "id": "CancelUserInvitationRequest", - "properties": {}, - "type": "object" - }, - "CancelWipeDeviceRequest": { - "description": "Request message for cancelling an unfinished device wipe.", - "id": "CancelWipeDeviceRequest", - "properties": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", - "type": "string" - } - }, - "type": "object" - }, - "CancelWipeDeviceResponse": { - "description": "Response message for cancelling an unfinished device wipe.", - "id": "CancelWipeDeviceResponse", - "properties": { - "device": { - "$ref": "Device", - "description": "Resultant Device object for the action. Note that asset tags will not be returned in the device object." - } - }, - "type": "object" - }, - "CancelWipeDeviceUserRequest": { - "description": "Request message for cancelling an unfinished user account wipe.", - "id": "CancelWipeDeviceUserRequest", - "properties": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", - "type": "string" - } - }, - "type": "object" - }, - "CancelWipeDeviceUserResponse": { - "description": "Response message for cancelling an unfinished user account wipe.", - "id": "CancelWipeDeviceUserResponse", - "properties": { - "deviceUser": { - "$ref": "DeviceUser", - "description": "Resultant DeviceUser object for the action." - } - }, - "type": "object" - }, - "CertificateAttributes": { - "description": "Stores information about a certificate.", - "id": "CertificateAttributes", - "properties": { - "certificateTemplate": { - "$ref": "CertificateTemplate", - "description": "The X.509 extension for CertificateTemplate." - }, - "fingerprint": { - "description": "The encoded certificate fingerprint.", - "type": "string" - }, - "issuer": { - "description": "The name of the issuer of this certificate.", - "type": "string" - }, - "serialNumber": { - "description": "Serial number of the certificate, Example: \"123456789\".", - "type": "string" - }, - "subject": { - "description": "The subject name of this certificate.", - "type": "string" - }, - "thumbprint": { - "description": "The certificate thumbprint.", - "type": "string" - }, - "validationState": { - "description": "Validation state of this certificate.", - "enum": [ - "CERTIFICATE_VALIDATION_STATE_UNSPECIFIED", - "VALIDATION_SUCCESSFUL", - "VALIDATION_FAILED" - ], - "enumDescriptions": [ - "Default value.", - "Certificate validation was successful.", - "Certificate validation failed." - ], - "type": "string" - }, - "validityExpirationTime": { - "description": "Certificate not valid at or after this timestamp.", - "format": "google-datetime", - "type": "string" - }, - "validityStartTime": { - "description": "Certificate not valid before this timestamp.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "CertificateTemplate": { - "description": "CertificateTemplate (v3 Extension in X.509).", - "id": "CertificateTemplate", - "properties": { - "id": { - "description": "The template id of the template. Example: \"1.3.6.1.4.1.311.21.8.15608621.11768144.5720724.16068415.6889630.81.2472537.7784047\".", - "type": "string" - }, - "majorVersion": { - "description": "The Major version of the template. Example: 100.", - "format": "int32", - "type": "integer" - }, - "minorVersion": { - "description": "The minor version of the template. Example: 12.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "CheckTransitiveMembershipResponse": { - "description": "The response message for MembershipsService.CheckTransitiveMembership.", - "id": "CheckTransitiveMembershipResponse", - "properties": { - "hasMembership": { - "description": "Response does not include the possible roles of a member since the behavior of this rpc is not all-or-nothing unlike the other rpcs. So, it may not be possible to list all the roles definitively, due to possible lack of authorization in some of the paths.", - "type": "boolean" - } - }, - "type": "object" - }, - "ClientState": { - "description": "Represents the state associated with an API client calling the Devices API. Resource representing ClientState and supports updates from API users", - "id": "ClientState", - "properties": { - "assetTags": { - "description": "The caller can specify asset tags for this resource", - "items": { - "type": "string" - }, - "type": "array" - }, - "complianceState": { - "description": "The compliance state of the resource as specified by the API client.", - "enum": [ - "COMPLIANCE_STATE_UNSPECIFIED", - "COMPLIANT", - "NON_COMPLIANT" - ], - "enumDescriptions": [ - "The compliance state of the resource is unknown or unspecified.", - "Device is compliant with third party policies", - "Device is not compliant with third party policies" - ], - "type": "string" - }, - "createTime": { - "description": "Output only. The time the client state data was created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "customId": { - "description": "This field may be used to store a unique identifier for the API resource within which these CustomAttributes are a field.", - "type": "string" - }, - "etag": { - "description": "The token that needs to be passed back for concurrency control in updates. Token needs to be passed back in UpdateRequest", - "type": "string" - }, - "healthScore": { - "description": "The Health score of the resource", - "enum": [ - "HEALTH_SCORE_UNSPECIFIED", - "VERY_POOR", - "POOR", - "NEUTRAL", - "GOOD", - "VERY_GOOD" - ], - "enumDescriptions": [ - "Default value", - "The object is in very poor health as defined by the caller.", - "The object is in poor health as defined by the caller.", - "The object health is neither good nor poor, as defined by the caller.", - "The object is in good health as defined by the caller.", - "The object is in very good health as defined by the caller." - ], - "type": "string" - }, - "keyValuePairs": { - "additionalProperties": { - "$ref": "CustomAttributeValue" - }, - "description": "The map of key-value attributes stored by callers specific to a device. The total serialized length of this map may not exceed 10KB. No limit is placed on the number of attributes in a map.", - "type": "object" - }, - "lastUpdateTime": { - "description": "Output only. The time the client state data was last updated.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "managed": { - "description": "The management state of the resource as specified by the API client.", - "enum": [ - "MANAGED_STATE_UNSPECIFIED", - "MANAGED", - "UNMANAGED" - ], - "enumDescriptions": [ - "The management state of the resource is unknown or unspecified.", - "The resource is managed.", - "The resource is not managed." - ], - "type": "string" - }, - "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device_id}/deviceUsers/{device_user_id}/clientState/{partner_id}`, where partner_id corresponds to the partner storing the data.", - "readOnly": true, - "type": "string" - }, - "ownerType": { - "description": "Output only. The owner of the ClientState", - "enum": [ - "OWNER_TYPE_UNSPECIFIED", - "OWNER_TYPE_CUSTOMER", - "OWNER_TYPE_PARTNER" - ], - "enumDescriptions": [ - "Unknown owner type", - "Customer is the owner", - "Partner is the owner" - ], - "readOnly": true, - "type": "string" - }, - "scoreReason": { - "description": "A descriptive cause of the health score.", - "type": "string" - } - }, - "type": "object" - }, - "CreateDeviceRequest": { - "description": "Request message for creating a Company Owned device.", - "id": "CreateDeviceRequest", - "properties": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", - "type": "string" - }, - "device": { - "$ref": "Device", - "description": "Required. The device to be created. The name field within this device is ignored in the create method. A new name is created by the method, and returned within the response. Only the fields `device_type`, `serial_number` and `asset_tag` (if present) are used to create the device. All other fields are ignored. The `device_type` and `serial_number` fields are required." - } - }, - "type": "object" - }, - "CreateInboundSamlSsoProfileOperationMetadata": { - "description": "LRO response metadata for InboundSamlSsoProfilesService.CreateInboundSamlSsoProfile.", - "id": "CreateInboundSamlSsoProfileOperationMetadata", - "properties": { - "state": { - "description": "State of this Operation Will be \"awaiting-multi-party-approval\" when the operation is deferred due to the target customer having enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448).", - "type": "string" - } - }, - "type": "object" - }, - "CreateInboundSsoAssignmentOperationMetadata": { - "description": "LRO response metadata for InboundSsoAssignmentsService.CreateInboundSsoAssignment.", - "id": "CreateInboundSsoAssignmentOperationMetadata", - "properties": {}, - "type": "object" - }, - "CustomAttributeValue": { - "description": "Additional custom attribute values may be one of these types", - "id": "CustomAttributeValue", - "properties": { - "boolValue": { - "description": "Represents a boolean value.", - "type": "boolean" - }, - "numberValue": { - "description": "Represents a double value.", - "format": "double", - "type": "number" - }, - "stringValue": { - "description": "Represents a string value.", - "type": "string" - } - }, - "type": "object" - }, - "DeleteIdpCredentialOperationMetadata": { - "description": "LRO response metadata for InboundSamlSsoProfilesService.DeleteIdpCredential.", - "id": "DeleteIdpCredentialOperationMetadata", - "properties": {}, - "type": "object" - }, - "DeleteInboundSamlSsoProfileOperationMetadata": { - "description": "LRO response metadata for InboundSamlSsoProfilesService.DeleteInboundSamlSsoProfile.", - "id": "DeleteInboundSamlSsoProfileOperationMetadata", - "properties": {}, - "type": "object" - }, - "DeleteInboundSsoAssignmentOperationMetadata": { - "description": "LRO response metadata for InboundSsoAssignmentsService.DeleteInboundSsoAssignment.", - "id": "DeleteInboundSsoAssignmentOperationMetadata", - "properties": {}, - "type": "object" - }, - "Device": { - "description": "A Device within the Cloud Identity Devices API. Represents a Device known to Google Cloud, independent of the device ownership, type, and whether it is assigned or in use by a user.", - "id": "Device", - "properties": { - "androidSpecificAttributes": { - "$ref": "AndroidAttributes", - "description": "Output only. Attributes specific to Android devices.", - "readOnly": true - }, - "assetTag": { - "description": "Asset tag of the device.", - "type": "string" - }, - "basebandVersion": { - "description": "Output only. Baseband version of the device.", - "readOnly": true, - "type": "string" - }, - "bootloaderVersion": { - "description": "Output only. Device bootloader version. Example: 0.6.7.", - "readOnly": true, - "type": "string" - }, - "brand": { - "description": "Output only. Device brand. Example: Samsung.", - "readOnly": true, - "type": "string" - }, - "buildNumber": { - "description": "Output only. Build number of the device.", - "readOnly": true, - "type": "string" - }, - "clientTypes": { - "description": "List of the clients the device is reporting to.", - "items": { - "enum": [ - "CLIENT_TYPE_UNSPECIFIED", - "DRIVE_FS", - "FUNDAMENTAL", - "ENDPOINT_VERIFICATION", - "WINDOWS_ADVANCED", - "GOOGLE_CREDENTIALS_PROVIDER_FOR_WINDOWS" - ], - "enumDescriptions": [ - "Default value", - "Managed by DriveFS", - "Management type for every secure device", - "Managed by Endpoint Verification", - "Managed by Windows", - "Managed by Google credential provider for windows" - ], - "type": "string" - }, - "type": "array" - }, - "compromisedState": { - "description": "Output only. Represents whether the Device is compromised.", - "enum": [ - "COMPROMISED_STATE_UNSPECIFIED", - "COMPROMISED", - "UNCOMPROMISED" - ], - "enumDescriptions": [ - "Default value.", - "The device is compromised (currently, this means Android device is rooted).", - "The device is safe (currently, this means Android device is unrooted)." - ], - "readOnly": true, - "type": "string" - }, - "createTime": { - "description": "Output only. When the Company-Owned device was imported. This field is empty for BYOD devices.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "deviceId": { - "description": "Unique identifier for the device.", - "type": "string" - }, - "deviceType": { - "description": "Output only. Type of device.", - "enum": [ - "DEVICE_TYPE_UNSPECIFIED", - "ANDROID", - "IOS", - "GOOGLE_SYNC", - "WINDOWS", - "MAC_OS", - "LINUX", - "CHROME_OS" - ], - "enumDescriptions": [ - "Unknown device type", - "Device is an Android device", - "Device is an iOS device", - "Device is a Google Sync device.", - "Device is a Windows device.", - "Device is a MacOS device.", - "Device is a Linux device.", - "Device is a ChromeOS device." - ], - "readOnly": true, - "type": "string" - }, - "enabledDeveloperOptions": { - "description": "Output only. Whether developer options is enabled on device.", - "readOnly": true, - "type": "boolean" - }, - "enabledUsbDebugging": { - "description": "Output only. Whether USB debugging is enabled on device.", - "readOnly": true, - "type": "boolean" - }, - "encryptionState": { - "description": "Output only. Device encryption state.", - "enum": [ - "ENCRYPTION_STATE_UNSPECIFIED", - "UNSUPPORTED_BY_DEVICE", - "ENCRYPTED", - "NOT_ENCRYPTED" - ], - "enumDescriptions": [ - "Encryption Status is not set.", - "Device doesn't support encryption.", - "Device is encrypted.", - "Device is not encrypted." - ], - "readOnly": true, - "type": "string" - }, - "endpointVerificationSpecificAttributes": { - "$ref": "EndpointVerificationSpecificAttributes", - "description": "Output only. Attributes specific to [Endpoint Verification](https://cloud.google.com/endpoint-verification/docs/overview) devices.", - "readOnly": true - }, - "hostname": { - "description": "Host name of the device.", - "type": "string" - }, - "imei": { - "description": "Output only. IMEI number of device if GSM device; empty otherwise.", - "readOnly": true, - "type": "string" - }, - "kernelVersion": { - "description": "Output only. Kernel version of the device.", - "readOnly": true, - "type": "string" - }, - "lastSyncTime": { - "description": "Most recent time when device synced with this service.", - "format": "google-datetime", - "type": "string" - }, - "managementState": { - "description": "Output only. Management state of the device", - "enum": [ - "MANAGEMENT_STATE_UNSPECIFIED", - "APPROVED", - "BLOCKED", - "PENDING", - "UNPROVISIONED", - "WIPING", - "WIPED" - ], - "enumDescriptions": [ - "Default value. This value is unused.", - "Device is approved.", - "Device is blocked.", - "Device is pending approval.", - "The device is not provisioned. Device will start from this state until some action is taken (i.e. a user starts using the device).", - "Data and settings on the device are being removed.", - "All data and settings on the device are removed." - ], - "readOnly": true, - "type": "string" - }, - "manufacturer": { - "description": "Output only. Device manufacturer. Example: Motorola.", - "readOnly": true, - "type": "string" - }, - "meid": { - "description": "Output only. MEID number of device if CDMA device; empty otherwise.", - "readOnly": true, - "type": "string" - }, - "model": { - "description": "Output only. Model name of device. Example: Pixel 3.", - "readOnly": true, - "type": "string" - }, - "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device_id}`, where device_id is the unique id assigned to the Device.", - "readOnly": true, - "type": "string" - }, - "networkOperator": { - "description": "Output only. Mobile or network operator of device, if available.", - "readOnly": true, - "type": "string" - }, - "osVersion": { - "description": "Output only. OS version of the device. Example: Android 8.1.0.", - "readOnly": true, - "type": "string" - }, - "otherAccounts": { - "description": "Output only. Domain name for Google accounts on device. Type for other accounts on device. On Android, will only be populated if |ownership_privilege| is |PROFILE_OWNER| or |DEVICE_OWNER|. Does not include the account signed in to the device policy app if that account's domain has only one account. Examples: \"com.example\", \"xyz.com\".", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "ownerType": { - "description": "Output only. Whether the device is owned by the company or an individual", - "enum": [ - "DEVICE_OWNERSHIP_UNSPECIFIED", - "COMPANY", - "BYOD" - ], - "enumDescriptions": [ - "Default value. The value is unused.", - "Company owns the device.", - "Bring Your Own Device (i.e. individual owns the device)" - ], - "readOnly": true, - "type": "string" - }, - "releaseVersion": { - "description": "Output only. OS release version. Example: 6.0.", - "readOnly": true, - "type": "string" - }, - "securityPatchTime": { - "description": "Output only. OS security patch update time on device.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "serialNumber": { - "description": "Serial Number of device. Example: HT82V1A01076.", - "type": "string" - }, - "unifiedDeviceId": { - "description": "Output only. Unified device id of the device.", - "readOnly": true, - "type": "string" - }, - "wifiMacAddresses": { - "description": "WiFi MAC addresses of device.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "DeviceUser": { - "description": "Represents a user's use of a Device in the Cloud Identity Devices API. A DeviceUser is a resource representing a user's use of a Device", - "id": "DeviceUser", - "properties": { - "compromisedState": { - "description": "Compromised State of the DeviceUser object", - "enum": [ - "COMPROMISED_STATE_UNSPECIFIED", - "COMPROMISED", - "NOT_COMPROMISED" - ], - "enumDescriptions": [ - "Compromised state of Device User account is unknown or unspecified.", - "Device User Account is compromised.", - "Device User Account is not compromised." - ], - "type": "string" - }, - "createTime": { - "description": "When the user first signed in to the device", - "format": "google-datetime", - "type": "string" - }, - "firstSyncTime": { - "description": "Output only. Most recent time when user registered with this service.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "languageCode": { - "description": "Output only. Default locale used on device, in IETF BCP-47 format.", - "readOnly": true, - "type": "string" - }, - "lastSyncTime": { - "description": "Output only. Last time when user synced with policies.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "managementState": { - "description": "Output only. Management state of the user on the device.", - "enum": [ - "MANAGEMENT_STATE_UNSPECIFIED", - "WIPING", - "WIPED", - "APPROVED", - "BLOCKED", - "PENDING_APPROVAL", - "UNENROLLED" - ], - "enumDescriptions": [ - "Default value. This value is unused.", - "This user's data and profile is being removed from the device.", - "This user's data and profile is removed from the device.", - "User is approved to access data on the device.", - "User is blocked from accessing data on the device.", - "User is awaiting approval.", - "User is unenrolled from Advanced Windows Management, but the Windows account is still intact." - ], - "readOnly": true, - "type": "string" - }, - "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the DeviceUser in format: `devices/{device_id}/deviceUsers/{device_user_id}`, where `device_user_id` uniquely identifies a user's use of a device.", - "readOnly": true, - "type": "string" - }, - "passwordState": { - "description": "Password state of the DeviceUser object", - "enum": [ - "PASSWORD_STATE_UNSPECIFIED", - "PASSWORD_SET", - "PASSWORD_NOT_SET" - ], - "enumDescriptions": [ - "Password state not set.", - "Password set in object.", - "Password not set in object." - ], - "type": "string" - }, - "userAgent": { - "description": "Output only. User agent on the device for this specific user", - "readOnly": true, - "type": "string" - }, - "userEmail": { - "description": "Email address of the user registered on the device.", - "type": "string" - } - }, - "type": "object" - }, - "DsaPublicKeyInfo": { - "description": "Information of a DSA public key.", - "id": "DsaPublicKeyInfo", - "properties": { - "keySize": { - "description": "Key size in bits (size of parameter P).", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "DynamicGroupMetadata": { - "description": "Dynamic group metadata like queries and status.", - "id": "DynamicGroupMetadata", - "properties": { - "queries": { - "description": "Memberships will be the union of all queries. Only one entry with USER resource is currently supported. Customers can create up to 500 dynamic groups.", - "items": { - "$ref": "DynamicGroupQuery" - }, - "type": "array" - }, - "status": { - "$ref": "DynamicGroupStatus", - "description": "Output only. Status of the dynamic group.", - "readOnly": true - } - }, - "type": "object" - }, - "DynamicGroupQuery": { - "description": "Defines a query on a resource.", - "id": "DynamicGroupQuery", - "properties": { - "query": { - "description": "Query that determines the memberships of the dynamic group. Examples: All users with at least one `organizations.department` of engineering. `user.organizations.exists(org, org.department=='engineering')` All users with at least one location that has `area` of `foo` and `building_id` of `bar`. `user.locations.exists(loc, loc.area=='foo' && loc.building_id=='bar')` All users with any variation of the name John Doe (case-insensitive queries add `equalsIgnoreCase()` to the value being queried). `user.name.value.equalsIgnoreCase('jOhn DoE')`", - "type": "string" - }, - "resourceType": { - "enum": [ - "RESOURCE_TYPE_UNSPECIFIED", - "USER" - ], - "enumDescriptions": [ - "Default value (not valid)", - "For queries on User" - ], - "type": "string" - } - }, - "type": "object" - }, - "DynamicGroupStatus": { - "description": "The current status of a dynamic group along with timestamp.", - "id": "DynamicGroupStatus", - "properties": { - "status": { - "description": "Status of the dynamic group.", - "enum": [ - "STATUS_UNSPECIFIED", - "UP_TO_DATE", - "UPDATING_MEMBERSHIPS", - "INVALID_QUERY" - ], - "enumDescriptions": [ - "Default.", - "The dynamic group is up-to-date.", - "The dynamic group has just been created and memberships are being updated.", - "Group is in an unrecoverable state and its memberships can't be updated." - ], - "type": "string" - }, - "statusTime": { - "description": "The latest time at which the dynamic group is guaranteed to be in the given status. If status is `UP_TO_DATE`, the latest time at which the dynamic group was confirmed to be up-to-date. If status is `UPDATING_MEMBERSHIPS`, the time at which dynamic group was created.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "EndpointVerificationSpecificAttributes": { - "description": "Resource representing the [Endpoint Verification-specific attributes](https://cloud.google.com/endpoint-verification/docs/device-information) of a device.", - "id": "EndpointVerificationSpecificAttributes", - "properties": { - "additionalSignals": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "[Additional signals](https://cloud.google.com/endpoint-verification/docs/device-information) reported by Endpoint Verification. It includes the following attributes: * Non-configurable attributes: hotfixes, av_installed, av_enabled, windows_domain_name, is_os_native_firewall_enabled, and is_secure_boot_enabled. * [Configurable attributes](https://cloud.google.com/endpoint-verification/docs/collect-config-attributes): file, folder, and binary attributes; registry entries; and properties in a plist.", - "type": "object" - }, - "browserAttributes": { - "description": "Details of browser profiles reported by Endpoint Verification.", - "items": { - "$ref": "BrowserAttributes" - }, - "type": "array" - }, - "certificateAttributes": { - "description": "Details of certificates.", - "items": { - "$ref": "CertificateAttributes" - }, - "type": "array" - } - }, - "type": "object" - }, - "EntityKey": { - "description": "A unique identifier for an entity in the Cloud Identity Groups API. An entity can represent either a group with an optional `namespace` or a user without a `namespace`. The combination of `id` and `namespace` must be unique; however, the same `id` can be used with different `namespace`s.", - "id": "EntityKey", - "properties": { - "id": { - "description": "The ID of the entity. For Google-managed entities, the `id` must be the email address of an existing group or user. For external-identity-mapped entities, the `id` must be a string conforming to the Identity Source's requirements. Must be unique within a `namespace`.", - "type": "string" - }, - "namespace": { - "description": "The namespace in which the entity exists. If not specified, the `EntityKey` represents a Google-managed entity such as a Google user or a Google Group. If specified, the `EntityKey` represents an external-identity-mapped group. The namespace must correspond to an identity source created in Admin Console and must be in the form of `identitysources/{identity_source_id}`.", - "type": "string" - } - }, - "type": "object" - }, - "ExpiryDetail": { - "description": "The `MembershipRole` expiry details.", - "id": "ExpiryDetail", - "properties": { - "expireTime": { - "description": "The time at which the `MembershipRole` will expire.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "GetMembershipGraphResponse": { - "description": "The response message for MembershipsService.GetMembershipGraph.", - "id": "GetMembershipGraphResponse", - "properties": { - "adjacencyList": { - "description": "The membership graph's path information represented as an adjacency list.", - "items": { - "$ref": "MembershipAdjacencyList" - }, - "type": "array" - }, - "groups": { - "description": "The resources representing each group in the adjacency list. Each group in this list can be correlated to a 'group' of the MembershipAdjacencyList using the 'name' of the Group resource.", - "items": { - "$ref": "Group" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1AndroidAttributes": { - "description": "Resource representing the Android specific attributes of a Device.", - "id": "GoogleAppsCloudidentityDevicesV1AndroidAttributes", - "properties": { - "ctsProfileMatch": { - "description": "Whether the device passes Android CTS compliance.", - "type": "boolean" - }, - "enabledUnknownSources": { - "description": "Whether applications from unknown sources can be installed on device.", - "type": "boolean" - }, - "hasPotentiallyHarmfulApps": { - "description": "Whether any potentially harmful apps were detected on the device.", - "type": "boolean" - }, - "ownerProfileAccount": { - "description": "Whether this account is on an owner/primary profile. For phones, only true for owner profiles. Android 4+ devices can have secondary or restricted user profiles.", - "type": "boolean" - }, - "ownershipPrivilege": { - "description": "Ownership privileges on device.", - "enum": [ - "OWNERSHIP_PRIVILEGE_UNSPECIFIED", - "DEVICE_ADMINISTRATOR", - "PROFILE_OWNER", - "DEVICE_OWNER" - ], - "enumDescriptions": [ - "Ownership privilege is not set.", - "Active device administrator privileges on the device.", - "Profile Owner privileges. The account is in a managed corporate profile.", - "Device Owner privileges on the device." - ], - "type": "string" - }, - "supportsWorkProfile": { - "description": "Whether device supports Android work profiles. If false, this service will not block access to corp data even if an administrator turns on the \"Enforce Work Profile\" policy.", - "type": "boolean" - }, - "verifiedBoot": { - "description": "Whether Android verified boot status is GREEN.", - "type": "boolean" - }, - "verifyAppsEnabled": { - "description": "Whether Google Play Protect Verify Apps is enabled.", - "type": "boolean" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata": { - "description": "Metadata for ApproveDeviceUser LRO.", - "id": "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse": { - "description": "Response message for approving the device to access user data.", - "id": "GoogleAppsCloudidentityDevicesV1ApproveDeviceUserResponse", - "properties": { - "deviceUser": { - "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser", - "description": "Resultant DeviceUser object for the action." - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata": { - "description": "Metadata for BlockDeviceUser LRO.", - "id": "GoogleAppsCloudidentityDevicesV1BlockDeviceUserMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse": { - "description": "Response message for blocking the device from accessing user data.", - "id": "GoogleAppsCloudidentityDevicesV1BlockDeviceUserResponse", - "properties": { - "deviceUser": { - "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser", - "description": "Resultant DeviceUser object for the action." - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1BrowserAttributes": { - "description": "Contains information about browser profiles reported by the [Endpoint Verification extension](https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1).", - "id": "GoogleAppsCloudidentityDevicesV1BrowserAttributes", - "properties": { - "chromeBrowserInfo": { - "$ref": "GoogleAppsCloudidentityDevicesV1BrowserInfo", - "description": "Represents the current state of the [Chrome browser attributes](https://cloud.google.com/access-context-manager/docs/browser-attributes) sent by the [Endpoint Verification extension](https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1)." - }, - "chromeProfileId": { - "description": "Chrome profile ID that is exposed by the Chrome API. It is unique for each device.", - "type": "string" - }, - "lastProfileSyncTime": { - "description": "Timestamp in milliseconds since the Unix epoch when the profile/gcm id was last synced.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1BrowserInfo": { - "description": "Browser-specific fields reported by the [Endpoint Verification extension](https://chromewebstore.google.com/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg?pli=1).", - "id": "GoogleAppsCloudidentityDevicesV1BrowserInfo", - "properties": { - "browserManagementState": { - "description": "Output only. Browser's management state.", - "enum": [ - "UNSPECIFIED", - "UNMANAGED", - "MANAGED_BY_OTHER_DOMAIN", - "PROFILE_MANAGED", - "BROWSER_MANAGED" - ], - "enumDescriptions": [ - "Management state is not specified.", - "Browser/Profile is not managed by any customer.", - "Browser/Profile is managed, but by some other customer.", - "Profile is managed by customer.", - "Browser is managed by customer." - ], - "readOnly": true, - "type": "string" - }, - "browserVersion": { - "description": "Version of the request initiating browser. E.g. `91.0.4442.4`.", - "type": "string" - }, - "isBuiltInDnsClientEnabled": { - "description": "Current state of [built-in DNS client](https://chromeenterprise.google/policies/#BuiltInDnsClientEnabled).", - "type": "boolean" - }, - "isBulkDataEntryAnalysisEnabled": { - "description": "Current state of [bulk data analysis](https://chromeenterprise.google/policies/#OnBulkDataEntryEnterpriseConnector). Set to true if provider list from Chrome is non-empty.", - "type": "boolean" - }, - "isChromeCleanupEnabled": { - "description": "Current state of [Chrome Cleanup](https://chromeenterprise.google/policies/#ChromeCleanupEnabled).", - "type": "boolean" - }, - "isChromeRemoteDesktopAppBlocked": { - "description": "Current state of [Chrome Remote Desktop app](https://chromeenterprise.google/policies/#URLBlocklist).", - "type": "boolean" - }, - "isFileDownloadAnalysisEnabled": { - "description": "Current state of [file download analysis](https://chromeenterprise.google/policies/#OnFileDownloadedEnterpriseConnector). Set to true if provider list from Chrome is non-empty.", - "type": "boolean" - }, - "isFileUploadAnalysisEnabled": { - "description": "Current state of [file upload analysis](https://chromeenterprise.google/policies/#OnFileAttachedEnterpriseConnector). Set to true if provider list from Chrome is non-empty.", - "type": "boolean" - }, - "isRealtimeUrlCheckEnabled": { - "description": "Current state of [real-time URL check](https://chromeenterprise.google/policies/#EnterpriseRealTimeUrlCheckMode). Set to true if provider list from Chrome is non-empty.", - "type": "boolean" - }, - "isSecurityEventAnalysisEnabled": { - "description": "Current state of [security event analysis](https://chromeenterprise.google/policies/#OnSecurityEventEnterpriseConnector). Set to true if provider list from Chrome is non-empty.", - "type": "boolean" - }, - "isSiteIsolationEnabled": { - "description": "Current state of [site isolation](https://chromeenterprise.google/policies/?policy=IsolateOrigins).", - "type": "boolean" - }, - "isThirdPartyBlockingEnabled": { - "description": "Current state of [third-party blocking](https://chromeenterprise.google/policies/#ThirdPartyBlockingEnabled).", - "type": "boolean" - }, - "passwordProtectionWarningTrigger": { - "description": "Current state of [password protection trigger](https://chromeenterprise.google/policies/#PasswordProtectionWarningTrigger).", - "enum": [ - "PASSWORD_PROTECTION_TRIGGER_UNSPECIFIED", - "PROTECTION_OFF", - "PASSWORD_REUSE", - "PHISHING_REUSE" - ], - "enumDescriptions": [ - "Password protection is not specified.", - "Password reuse is never detected.", - "Warning is shown when the user reuses their protected password on a non-allowed site.", - "Warning is shown when the user reuses their protected password on a phishing site." - ], - "type": "string" - }, - "safeBrowsingProtectionLevel": { - "description": "Current state of [Safe Browsing protection level](https://chromeenterprise.google/policies/#SafeBrowsingProtectionLevel).", - "enum": [ - "SAFE_BROWSING_LEVEL_UNSPECIFIED", - "DISABLED", - "STANDARD", - "ENHANCED" - ], - "enumDescriptions": [ - "Browser protection level is not specified.", - "No protection against dangerous websites, downloads, and extensions.", - "Standard protection against websites, downloads, and extensions that are known to be dangerous.", - "Faster, proactive protection against dangerous websites, downloads, and extensions." - ], - "type": "string" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata": { - "description": "Metadata for CancelWipeDevice LRO.", - "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse": { - "description": "Response message for cancelling an unfinished device wipe.", - "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceResponse", - "properties": { - "device": { - "$ref": "GoogleAppsCloudidentityDevicesV1Device", - "description": "Resultant Device object for the action. Note that asset tags will not be returned in the device object." - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata": { - "description": "Metadata for CancelWipeDeviceUser LRO.", - "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse": { - "description": "Response message for cancelling an unfinished user account wipe.", - "id": "GoogleAppsCloudidentityDevicesV1CancelWipeDeviceUserResponse", - "properties": { - "deviceUser": { - "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser", - "description": "Resultant DeviceUser object for the action." - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1CertificateAttributes": { - "description": "Stores information about a certificate.", - "id": "GoogleAppsCloudidentityDevicesV1CertificateAttributes", - "properties": { - "certificateTemplate": { - "$ref": "GoogleAppsCloudidentityDevicesV1CertificateTemplate", - "description": "The X.509 extension for CertificateTemplate." - }, - "fingerprint": { - "description": "The encoded certificate fingerprint.", - "type": "string" - }, - "issuer": { - "description": "The name of the issuer of this certificate.", - "type": "string" - }, - "serialNumber": { - "description": "Serial number of the certificate, Example: \"123456789\".", - "type": "string" - }, - "subject": { - "description": "The subject name of this certificate.", - "type": "string" - }, - "thumbprint": { - "description": "The certificate thumbprint.", - "type": "string" - }, - "validationState": { - "description": "Output only. Validation state of this certificate.", - "enum": [ - "CERTIFICATE_VALIDATION_STATE_UNSPECIFIED", - "VALIDATION_SUCCESSFUL", - "VALIDATION_FAILED" - ], - "enumDescriptions": [ - "Default value.", - "Certificate validation was successful.", - "Certificate validation failed." - ], - "readOnly": true, - "type": "string" - }, - "validityExpirationTime": { - "description": "Certificate not valid at or after this timestamp.", - "format": "google-datetime", - "type": "string" - }, - "validityStartTime": { - "description": "Certificate not valid before this timestamp.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1CertificateTemplate": { - "description": "CertificateTemplate (v3 Extension in X.509).", - "id": "GoogleAppsCloudidentityDevicesV1CertificateTemplate", - "properties": { - "id": { - "description": "The template id of the template. Example: \"1.3.6.1.4.1.311.21.8.15608621.11768144.5720724.16068415.6889630.81.2472537.7784047\".", - "type": "string" - }, - "majorVersion": { - "description": "The Major version of the template. Example: 100.", - "format": "int32", - "type": "integer" - }, - "minorVersion": { - "description": "The minor version of the template. Example: 12.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1ClientState": { - "description": "Represents the state associated with an API client calling the Devices API. Resource representing ClientState and supports updates from API users", - "id": "GoogleAppsCloudidentityDevicesV1ClientState", - "properties": { - "assetTags": { - "description": "The caller can specify asset tags for this resource", - "items": { - "type": "string" - }, - "type": "array" - }, - "complianceState": { - "description": "The compliance state of the resource as specified by the API client.", - "enum": [ - "COMPLIANCE_STATE_UNSPECIFIED", - "COMPLIANT", - "NON_COMPLIANT" - ], - "enumDescriptions": [ - "The compliance state of the resource is unknown or unspecified.", - "Device is compliant with third party policies", - "Device is not compliant with third party policies" - ], - "type": "string" - }, - "createTime": { - "description": "Output only. The time the client state data was created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "customId": { - "description": "This field may be used to store a unique identifier for the API resource within which these CustomAttributes are a field.", - "type": "string" - }, - "etag": { - "description": "The token that needs to be passed back for concurrency control in updates. Token needs to be passed back in UpdateRequest", - "type": "string" - }, - "healthScore": { - "description": "The Health score of the resource. The Health score is the callers specification of the condition of the device from a usability point of view. For example, a third-party device management provider may specify a health score based on its compliance with organizational policies.", - "enum": [ - "HEALTH_SCORE_UNSPECIFIED", - "VERY_POOR", - "POOR", - "NEUTRAL", - "GOOD", - "VERY_GOOD" - ], - "enumDescriptions": [ - "Default value", - "The object is in very poor health as defined by the caller.", - "The object is in poor health as defined by the caller.", - "The object health is neither good nor poor, as defined by the caller.", - "The object is in good health as defined by the caller.", - "The object is in very good health as defined by the caller." - ], - "type": "string" - }, - "keyValuePairs": { - "additionalProperties": { - "$ref": "GoogleAppsCloudidentityDevicesV1CustomAttributeValue" - }, - "description": "The map of key-value attributes stored by callers specific to a device. The total serialized length of this map may not exceed 10KB. No limit is placed on the number of attributes in a map.", - "type": "object" - }, - "lastUpdateTime": { - "description": "Output only. The time the client state data was last updated.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "managed": { - "description": "The management state of the resource as specified by the API client.", - "enum": [ - "MANAGED_STATE_UNSPECIFIED", - "MANAGED", - "UNMANAGED" - ], - "enumDescriptions": [ - "The management state of the resource is unknown or unspecified.", - "The resource is managed.", - "The resource is not managed." - ], - "type": "string" - }, - "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the ClientState in format: `devices/{device}/deviceUsers/{device_user}/clientState/{partner}`, where partner corresponds to the partner storing the data. For partners belonging to the \"BeyondCorp Alliance\", this is the partner ID specified to you by Google. For all other callers, this is a string of the form: `{customer}-suffix`, where `customer` is your customer ID. The *suffix* is any string the caller specifies. This string will be displayed verbatim in the administration console. This suffix is used in setting up Custom Access Levels in Context-Aware Access. Your organization's customer ID can be obtained from the URL: `GET https://www.googleapis.com/admin/directory/v1/customers/my_customer` The `id` field in the response contains the customer ID starting with the letter 'C'. The customer ID to be used in this API is the string after the letter 'C' (not including 'C')", - "readOnly": true, - "type": "string" - }, - "ownerType": { - "description": "Output only. The owner of the ClientState", - "enum": [ - "OWNER_TYPE_UNSPECIFIED", - "OWNER_TYPE_CUSTOMER", - "OWNER_TYPE_PARTNER" - ], - "enumDescriptions": [ - "Unknown owner type", - "Customer is the owner", - "Partner is the owner" - ], - "readOnly": true, - "type": "string" - }, - "scoreReason": { - "description": "A descriptive cause of the health score.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata": { - "description": "Metadata for CreateDevice LRO.", - "id": "GoogleAppsCloudidentityDevicesV1CreateDeviceMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1CustomAttributeValue": { - "description": "Additional custom attribute values may be one of these types", - "id": "GoogleAppsCloudidentityDevicesV1CustomAttributeValue", - "properties": { - "boolValue": { - "description": "Represents a boolean value.", - "type": "boolean" - }, - "numberValue": { - "description": "Represents a double value.", - "format": "double", - "type": "number" - }, - "stringValue": { - "description": "Represents a string value.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata": { - "description": "Metadata for DeleteDevice LRO.", - "id": "GoogleAppsCloudidentityDevicesV1DeleteDeviceMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata": { - "description": "Metadata for DeleteDeviceUser LRO.", - "id": "GoogleAppsCloudidentityDevicesV1DeleteDeviceUserMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1Device": { - "description": " A Device within the Cloud Identity Devices API. Represents a Device known to Google Cloud, independent of the device ownership, type, and whether it is assigned or in use by a user.", - "id": "GoogleAppsCloudidentityDevicesV1Device", - "properties": { - "androidSpecificAttributes": { - "$ref": "GoogleAppsCloudidentityDevicesV1AndroidAttributes", - "description": "Output only. Attributes specific to Android devices.", - "readOnly": true - }, - "assetTag": { - "description": "Asset tag of the device.", - "type": "string" - }, - "basebandVersion": { - "description": "Output only. Baseband version of the device.", - "readOnly": true, - "type": "string" - }, - "bootloaderVersion": { - "description": "Output only. Device bootloader version. Example: 0.6.7.", - "readOnly": true, - "type": "string" - }, - "brand": { - "description": "Output only. Device brand. Example: Samsung.", - "readOnly": true, - "type": "string" - }, - "buildNumber": { - "description": "Output only. Build number of the device.", - "readOnly": true, - "type": "string" - }, - "compromisedState": { - "description": "Output only. Represents whether the Device is compromised.", - "enum": [ - "COMPROMISED_STATE_UNSPECIFIED", - "COMPROMISED", - "UNCOMPROMISED" - ], - "enumDescriptions": [ - "Default value.", - "The device is compromised (currently, this means Android device is rooted).", - "The device is safe (currently, this means Android device is unrooted)." - ], - "readOnly": true, - "type": "string" - }, - "createTime": { - "description": "Output only. When the Company-Owned device was imported. This field is empty for BYOD devices.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "deviceId": { - "description": "Unique identifier for the device.", - "type": "string" - }, - "deviceType": { - "description": "Output only. Type of device.", - "enum": [ - "DEVICE_TYPE_UNSPECIFIED", - "ANDROID", - "IOS", - "GOOGLE_SYNC", - "WINDOWS", - "MAC_OS", - "LINUX", - "CHROME_OS" - ], - "enumDescriptions": [ - "Unknown device type", - "Device is an Android device", - "Device is an iOS device", - "Device is a Google Sync device.", - "Device is a Windows device.", - "Device is a MacOS device.", - "Device is a Linux device.", - "Device is a ChromeOS device." - ], - "readOnly": true, - "type": "string" - }, - "enabledDeveloperOptions": { - "description": "Output only. Whether developer options is enabled on device.", - "readOnly": true, - "type": "boolean" - }, - "enabledUsbDebugging": { - "description": "Output only. Whether USB debugging is enabled on device.", - "readOnly": true, - "type": "boolean" - }, - "encryptionState": { - "description": "Output only. Device encryption state.", - "enum": [ - "ENCRYPTION_STATE_UNSPECIFIED", - "UNSUPPORTED_BY_DEVICE", - "ENCRYPTED", - "NOT_ENCRYPTED" - ], - "enumDescriptions": [ - "Encryption Status is not set.", - "Device doesn't support encryption.", - "Device is encrypted.", - "Device is not encrypted." - ], - "readOnly": true, - "type": "string" - }, - "endpointVerificationSpecificAttributes": { - "$ref": "GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes", - "description": "Output only. Attributes specific to [Endpoint Verification](https://cloud.google.com/endpoint-verification/docs/overview) devices.", - "readOnly": true - }, - "hostname": { - "description": "Host name of the device.", - "type": "string" - }, - "imei": { - "description": "Output only. IMEI number of device if GSM device; empty otherwise.", - "readOnly": true, - "type": "string" - }, - "kernelVersion": { - "description": "Output only. Kernel version of the device.", - "readOnly": true, - "type": "string" - }, - "lastSyncTime": { - "description": "Most recent time when device synced with this service.", - "format": "google-datetime", - "type": "string" - }, - "managementState": { - "description": "Output only. Management state of the device", - "enum": [ - "MANAGEMENT_STATE_UNSPECIFIED", - "APPROVED", - "BLOCKED", - "PENDING", - "UNPROVISIONED", - "WIPING", - "WIPED" - ], - "enumDescriptions": [ - "Default value. This value is unused.", - "Device is approved.", - "Device is blocked.", - "Device is pending approval.", - "The device is not provisioned. Device will start from this state until some action is taken (i.e. a user starts using the device).", - "Data and settings on the device are being removed.", - "All data and settings on the device are removed." - ], - "readOnly": true, - "type": "string" - }, - "manufacturer": { - "description": "Output only. Device manufacturer. Example: Motorola.", - "readOnly": true, - "type": "string" - }, - "meid": { - "description": "Output only. MEID number of device if CDMA device; empty otherwise.", - "readOnly": true, - "type": "string" - }, - "model": { - "description": "Output only. Model name of device. Example: Pixel 3.", - "readOnly": true, - "type": "string" - }, - "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}`, where device is the unique id assigned to the Device.", - "readOnly": true, - "type": "string" - }, - "networkOperator": { - "description": "Output only. Mobile or network operator of device, if available.", - "readOnly": true, - "type": "string" - }, - "osVersion": { - "description": "Output only. OS version of the device. Example: Android 8.1.0.", - "readOnly": true, - "type": "string" - }, - "otherAccounts": { - "description": "Output only. Domain name for Google accounts on device. Type for other accounts on device. On Android, will only be populated if |ownership_privilege| is |PROFILE_OWNER| or |DEVICE_OWNER|. Does not include the account signed in to the device policy app if that account's domain has only one account. Examples: \"com.example\", \"xyz.com\".", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "ownerType": { - "description": "Output only. Whether the device is owned by the company or an individual", - "enum": [ - "DEVICE_OWNERSHIP_UNSPECIFIED", - "COMPANY", - "BYOD" - ], - "enumDescriptions": [ - "Default value. The value is unused.", - "Company owns the device.", - "Bring Your Own Device (i.e. individual owns the device)" - ], - "readOnly": true, - "type": "string" - }, - "releaseVersion": { - "description": "Output only. OS release version. Example: 6.0.", - "readOnly": true, - "type": "string" - }, - "securityPatchTime": { - "description": "Output only. OS security patch update time on device.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "serialNumber": { - "description": "Serial Number of device. Example: HT82V1A01076.", - "type": "string" - }, - "unifiedDeviceId": { - "description": "Output only. Unified device id of the device.", - "readOnly": true, - "type": "string" - }, - "wifiMacAddresses": { - "description": "WiFi MAC addresses of device.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1DeviceUser": { - "description": "Represents a user's use of a Device in the Cloud Identity Devices API. A DeviceUser is a resource representing a user's use of a Device", - "id": "GoogleAppsCloudidentityDevicesV1DeviceUser", - "properties": { - "compromisedState": { - "description": "Compromised State of the DeviceUser object", - "enum": [ - "COMPROMISED_STATE_UNSPECIFIED", - "COMPROMISED", - "NOT_COMPROMISED" - ], - "enumDescriptions": [ - "Compromised state of Device User account is unknown or unspecified.", - "Device User Account is compromised.", - "Device User Account is not compromised." - ], - "type": "string" - }, - "createTime": { - "description": "When the user first signed in to the device", - "format": "google-datetime", - "type": "string" - }, - "firstSyncTime": { - "description": "Output only. Most recent time when user registered with this service.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "languageCode": { - "description": "Output only. Default locale used on device, in IETF BCP-47 format.", - "readOnly": true, - "type": "string" - }, - "lastSyncTime": { - "description": "Output only. Last time when user synced with policies.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "managementState": { - "description": "Output only. Management state of the user on the device.", - "enum": [ - "MANAGEMENT_STATE_UNSPECIFIED", - "WIPING", - "WIPED", - "APPROVED", - "BLOCKED", - "PENDING_APPROVAL", - "UNENROLLED" - ], - "enumDescriptions": [ - "Default value. This value is unused.", - "This user's data and profile is being removed from the device.", - "This user's data and profile is removed from the device.", - "User is approved to access data on the device.", - "User is blocked from accessing data on the device.", - "User is awaiting approval.", - "User is unenrolled from Advanced Windows Management, but the Windows account is still intact." - ], - "readOnly": true, - "type": "string" - }, - "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the DeviceUser in format: `devices/{device}/deviceUsers/{device_user}`, where `device_user` uniquely identifies a user's use of a device.", - "readOnly": true, - "type": "string" - }, - "passwordState": { - "description": "Password state of the DeviceUser object", - "enum": [ - "PASSWORD_STATE_UNSPECIFIED", - "PASSWORD_SET", - "PASSWORD_NOT_SET" - ], - "enumDescriptions": [ - "Password state not set.", - "Password set in object.", - "Password not set in object." - ], - "type": "string" - }, - "userAgent": { - "description": "Output only. User agent on the device for this specific user", - "readOnly": true, - "type": "string" - }, - "userEmail": { - "description": "Email address of the user registered on the device.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes": { - "description": "Resource representing the [Endpoint Verification-specific attributes](https://cloud.google.com/endpoint-verification/docs/device-information) of a device.", - "id": "GoogleAppsCloudidentityDevicesV1EndpointVerificationSpecificAttributes", - "properties": { - "additionalSignals": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "[Additional signals](https://cloud.google.com/endpoint-verification/docs/device-information) reported by Endpoint Verification. It includes the following attributes: * Non-configurable attributes: hotfixes, av_installed, av_enabled, windows_domain_name, is_os_native_firewall_enabled, and is_secure_boot_enabled. * [Configurable attributes](https://cloud.google.com/endpoint-verification/docs/collect-config-attributes): file, folder, and binary attributes; registry entries; and properties in a plist.", - "type": "object" - }, - "browserAttributes": { - "description": "Details of browser profiles reported by Endpoint Verification.", - "items": { - "$ref": "GoogleAppsCloudidentityDevicesV1BrowserAttributes" - }, - "type": "array" - }, - "certificateAttributes": { - "description": "Details of certificates.", - "items": { - "$ref": "GoogleAppsCloudidentityDevicesV1CertificateAttributes" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata": { - "description": "Metadata for ListEndpointApps LRO.", - "id": "GoogleAppsCloudidentityDevicesV1ListEndpointAppsMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata": { - "description": "Metadata for SignoutDeviceUser LRO.", - "id": "GoogleAppsCloudidentityDevicesV1SignoutDeviceUserMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata": { - "description": "Metadata for UpdateClientState LRO.", - "id": "GoogleAppsCloudidentityDevicesV1UpdateClientStateMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata": { - "description": "Metadata for UpdateDevice LRO.", - "id": "GoogleAppsCloudidentityDevicesV1UpdateDeviceMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata": { - "description": "Metadata for WipeDevice LRO.", - "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1WipeDeviceResponse": { - "description": "Response message for wiping all data on the device.", - "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceResponse", - "properties": { - "device": { - "$ref": "GoogleAppsCloudidentityDevicesV1Device", - "description": "Resultant Device object for the action. Note that asset tags will not be returned in the device object." - } - }, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata": { - "description": "Metadata for WipeDeviceUser LRO.", - "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceUserMetadata", - "properties": {}, - "type": "object" - }, - "GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse": { - "description": "Response message for wiping the user's account from the device.", - "id": "GoogleAppsCloudidentityDevicesV1WipeDeviceUserResponse", - "properties": { - "deviceUser": { - "$ref": "GoogleAppsCloudidentityDevicesV1DeviceUser", - "description": "Resultant DeviceUser object for the action." - } - }, - "type": "object" - }, - "Group": { - "description": "A group within the Cloud Identity Groups API. A `Group` is a collection of entities, where each entity is either a user, another group, or a service account.", - "id": "Group", - "properties": { - "additionalGroupKeys": { - "description": "Output only. Additional group keys associated with the Group.", - "items": { - "$ref": "EntityKey" - }, - "readOnly": true, - "type": "array" - }, - "createTime": { - "description": "Output only. The time when the `Group` was created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "description": { - "description": "An extended description to help users determine the purpose of a `Group`. Must not be longer than 4,096 characters.", - "type": "string" - }, - "displayName": { - "description": "The display name of the `Group`.", - "type": "string" - }, - "dynamicGroupMetadata": { - "$ref": "DynamicGroupMetadata", - "description": "Optional. Dynamic group metadata like queries and status." - }, - "groupKey": { - "$ref": "EntityKey", - "description": "Required. The `EntityKey` of the `Group`." - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Required. One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value. Google Groups are the default type of group and have a label with a key of `cloudidentity.googleapis.com/groups.discussion_forum` and an empty value. Existing Google Groups can have an additional label with a key of `cloudidentity.googleapis.com/groups.security` and an empty value added to them. **This is an immutable change and the security label cannot be removed once added.** Dynamic groups have a label with a key of `cloudidentity.googleapis.com/groups.dynamic`. Identity-mapped groups for Cloud Search have a label with a key of `system/groups/external` and an empty value.", - "type": "object" - }, - "name": { - "description": "Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group`. Shall be of the form `groups/{group_id}`.", - "readOnly": true, - "type": "string" - }, - "parent": { - "description": "Required. Immutable. The resource name of the entity under which this `Group` resides in the Cloud Identity resource hierarchy. Must be of the form `identitysources/{identity_source}` for external [identity-mapped groups](https://support.google.com/a/answer/9039510) or `customers/{customer_id}` for Google Groups. The `customer_id` must begin with \"C\" (for example, 'C046psxkn'). [Find your customer ID.] (https://support.google.com/cloudidentity/answer/10070793)", - "type": "string" - }, - "posixGroups": { - "description": "Optional. The POSIX groups associated with the `Group`.", - "items": { - "$ref": "PosixGroup" - }, - "type": "array" - }, - "updateTime": { - "description": "Output only. The time when the `Group` was last updated.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GroupRelation": { - "description": "Message representing a transitive group of a user or a group.", - "id": "GroupRelation", - "properties": { - "displayName": { - "description": "Display name for this group.", - "type": "string" - }, - "group": { - "description": "Resource name for this group.", - "type": "string" - }, - "groupKey": { - "$ref": "EntityKey", - "description": "Entity key has an id and a namespace. In case of discussion forums, the id will be an email address without a namespace." - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Labels for Group resource.", - "type": "object" - }, - "relationType": { - "description": "The relation between the member and the transitive group.", - "enum": [ - "RELATION_TYPE_UNSPECIFIED", - "DIRECT", - "INDIRECT", - "DIRECT_AND_INDIRECT" - ], - "enumDescriptions": [ - "The relation type is undefined or undetermined.", - "The two entities have only a direct membership with each other.", - "The two entities have only an indirect membership with each other.", - "The two entities have both a direct and an indirect membership with each other." - ], - "type": "string" - }, - "roles": { - "description": "Membership roles of the member for the group.", - "items": { - "$ref": "TransitiveMembershipRole" - }, - "type": "array" - } - }, - "type": "object" - }, - "IdpCredential": { - "description": "Credential for verifying signatures produced by the Identity Provider.", - "id": "IdpCredential", - "properties": { - "dsaKeyInfo": { - "$ref": "DsaPublicKeyInfo", - "description": "Output only. Information of a DSA public key.", - "readOnly": true - }, - "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the credential.", - "readOnly": true, - "type": "string" - }, - "rsaKeyInfo": { - "$ref": "RsaPublicKeyInfo", - "description": "Output only. Information of a RSA public key.", - "readOnly": true - }, - "updateTime": { - "description": "Output only. Time when the `IdpCredential` was last updated.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "InboundSamlSsoProfile": { - "description": "A [SAML 2.0](https://www.oasis-open.org/standards#samlv2.0) federation between a Google enterprise customer and a SAML identity provider.", - "id": "InboundSamlSsoProfile", - "properties": { - "customer": { - "description": "Immutable. The customer. For example: `customers/C0123abc`.", - "type": "string" - }, - "displayName": { - "description": "Human-readable name of the SAML SSO profile.", - "type": "string" - }, - "idpConfig": { - "$ref": "SamlIdpConfig", - "description": "SAML identity provider configuration." - }, - "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the SAML SSO profile.", - "readOnly": true, - "type": "string" - }, - "spConfig": { - "$ref": "SamlSpConfig", - "description": "SAML service provider configuration for this SAML SSO profile. These are the service provider details provided by Google that should be configured on the corresponding identity provider." - } - }, - "type": "object" - }, - "InboundSsoAssignment": { - "description": "Targets with \"set\" SSO assignments and their respective assignments.", - "id": "InboundSsoAssignment", - "properties": { - "customer": { - "description": "Immutable. The customer. For example: `customers/C0123abc`.", - "type": "string" - }, - "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Inbound SSO Assignment.", - "readOnly": true, - "type": "string" - }, - "rank": { - "description": "Must be zero (which is the default value so it can be omitted) for assignments with `target_org_unit` set and must be greater-than-or-equal-to one for assignments with `target_group` set.", - "format": "int32", - "type": "integer" - }, - "samlSsoInfo": { - "$ref": "SamlSsoInfo", - "description": "SAML SSO details. Must be set if and only if `sso_mode` is set to `SAML_SSO`." - }, - "signInBehavior": { - "$ref": "SignInBehavior", - "description": "Assertions about users assigned to an IdP will always be accepted from that IdP. This controls whether/when Google should redirect a user to the IdP. Unset (defaults) is the recommended configuration." - }, - "ssoMode": { - "description": "Inbound SSO behavior.", - "enum": [ - "SSO_MODE_UNSPECIFIED", - "SSO_OFF", - "SAML_SSO", - "DOMAIN_WIDE_SAML_IF_ENABLED" - ], - "enumDescriptions": [ - "Not allowed.", - "Disable SSO for the targeted users.", - "Use an external SAML Identity Provider for SSO for the targeted users.", - "Use the domain-wide SAML Identity Provider for the targeted users if one is configured; otherwise, this is equivalent to `SSO_OFF`. Note that this will also be equivalent to `SSO_OFF` if/when support for domain-wide SAML is removed. Google may disallow this mode at that point and existing assignments with this mode may be automatically changed to `SSO_OFF`." - ], - "type": "string" - }, - "targetGroup": { - "description": "Immutable. Must be of the form `groups/{group}`.", - "type": "string" - }, - "targetOrgUnit": { - "description": "Immutable. Must be of the form `orgUnits/{org_unit}`.", - "type": "string" - } - }, - "type": "object" - }, - "IsInvitableUserResponse": { - "description": "Response for IsInvitableUser RPC.", - "id": "IsInvitableUserResponse", - "properties": { - "isInvitableUser": { - "description": "Returns true if the email address is invitable.", - "type": "boolean" - } - }, - "type": "object" - }, - "ListClientStatesResponse": { - "description": "Response message that is returned in LRO result of ListClientStates Operation.", - "id": "ListClientStatesResponse", - "properties": { - "clientStates": { - "description": "Client states meeting the list restrictions.", - "items": { - "$ref": "ClientState" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Token to retrieve the next page of results. Empty if there are no more results.", - "type": "string" - } - }, - "type": "object" - }, - "ListDeviceUsersResponse": { - "description": "Response message that is returned from the ListDeviceUsers method.", - "id": "ListDeviceUsersResponse", - "properties": { - "deviceUsers": { - "description": "Devices meeting the list restrictions.", - "items": { - "$ref": "DeviceUser" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Token to retrieve the next page of results. Empty if there are no more results.", - "type": "string" - } - }, - "type": "object" - }, - "ListDevicesResponse": { - "description": "Response message that is returned from the ListDevices method.", - "id": "ListDevicesResponse", - "properties": { - "devices": { - "description": "Devices meeting the list restrictions.", - "items": { - "$ref": "Device" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Token to retrieve the next page of results. Empty if there are no more results.", - "type": "string" - } - }, - "type": "object" - }, - "ListGroupsResponse": { - "description": "The response message for GroupsService.ListGroups.", - "id": "ListGroupsResponse", - "properties": { - "groups": { - "description": "The `Group` resources under the specified `parent`.", - "items": { - "$ref": "Group" - }, - "type": "array" - }, - "nextPageToken": { - "description": "A continuation token to retrieve the next page of results, or empty if there are no more results available.", - "type": "string" - } - }, - "type": "object" - }, - "ListIdpCredentialsResponse": { - "description": "Response of the InboundSamlSsoProfilesService.ListIdpCredentials method.", - "id": "ListIdpCredentialsResponse", - "properties": { - "idpCredentials": { - "description": "The IdpCredentials from the specified InboundSamlSsoProfile.", - "items": { - "$ref": "IdpCredential" - }, - "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" - }, - "ListInboundSamlSsoProfilesResponse": { - "description": "Response of the InboundSamlSsoProfilesService.ListInboundSamlSsoProfiles method.", - "id": "ListInboundSamlSsoProfilesResponse", - "properties": { - "inboundSamlSsoProfiles": { - "description": "List of InboundSamlSsoProfiles.", - "items": { - "$ref": "InboundSamlSsoProfile" - }, - "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" - }, - "ListInboundSsoAssignmentsResponse": { - "description": "Response of the InboundSsoAssignmentsService.ListInboundSsoAssignments method.", - "id": "ListInboundSsoAssignmentsResponse", - "properties": { - "inboundSsoAssignments": { - "description": "The assignments.", - "items": { - "$ref": "InboundSsoAssignment" - }, - "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" - }, - "ListMembershipsResponse": { - "description": "The response message for MembershipsService.ListMemberships.", - "id": "ListMembershipsResponse", - "properties": { - "memberships": { - "description": "The `Membership`s under the specified `parent`.", - "items": { - "$ref": "Membership" - }, - "type": "array" - }, - "nextPageToken": { - "description": "A continuation token to retrieve the next page of results, or empty if there are no more results available.", - "type": "string" - } - }, - "type": "object" - }, - "ListOrgMembershipsResponse": { - "description": "The response message for OrgMembershipsService.ListOrgMemberships.", - "id": "ListOrgMembershipsResponse", - "properties": { - "nextPageToken": { - "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is empty, there are no subsequent pages.", - "type": "string" - }, - "orgMemberships": { - "description": "The non-vacuous membership in an orgUnit.", - "items": { - "$ref": "OrgMembership" - }, - "type": "array" - } - }, - "type": "object" - }, - "ListUserInvitationsResponse": { - "description": "Response message for UserInvitation listing request.", - "id": "ListUserInvitationsResponse", - "properties": { - "nextPageToken": { - "description": "The token for the next page. If not empty, indicates that there may be more `UserInvitation` resources that match the listing request; this value can be used in a subsequent ListUserInvitationsRequest to get continued results with the current list call.", - "type": "string" - }, - "userInvitations": { - "description": "The list of UserInvitation resources.", - "items": { - "$ref": "UserInvitation" - }, - "type": "array" - } - }, - "type": "object" - }, - "LookupGroupNameResponse": { - "description": "The response message for GroupsService.LookupGroupName.", - "id": "LookupGroupNameResponse", - "properties": { - "name": { - "description": "Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the looked-up `Group`.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "LookupMembershipNameResponse": { - "description": "The response message for MembershipsService.LookupMembershipName.", - "id": "LookupMembershipNameResponse", - "properties": { - "name": { - "description": "The [resource name](https://cloud.google.com/apis/design/resource_names) of the looked-up `Membership`. Must be of the form `groups/{group_id}/memberships/{membership_id}`.", - "type": "string" - } - }, - "type": "object" - }, - "LookupSelfDeviceUsersResponse": { - "description": "Response containing resource names of the DeviceUsers associated with the caller's credentials.", - "id": "LookupSelfDeviceUsersResponse", - "properties": { - "customer": { - "description": "The customer Id that may be passed back to other Devices API methods such as List, Get, etc.", - "type": "string" - }, - "names": { - "description": "[Resource names](https://cloud.google.com/apis/design/resource_names) of the DeviceUsers in the format: `devices/{device_id}/deviceUsers/{user_resource_id}`, where device_id is the unique ID assigned to a Device and user_resource_id is the unique user ID", - "items": { - "type": "string" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Token to retrieve the next page of results. Empty if there are no more results.", - "type": "string" - } - }, - "type": "object" - }, - "MemberRelation": { - "description": "Message representing a transitive membership of a group.", - "id": "MemberRelation", - "properties": { - "member": { - "description": "Resource name for this member.", - "type": "string" - }, - "preferredMemberKey": { - "description": "Entity key has an id and a namespace. In case of discussion forums, the id will be an email address without a namespace.", - "items": { - "$ref": "EntityKey" - }, - "type": "array" - }, - "relationType": { - "description": "The relation between the group and the transitive membership.", - "enum": [ - "RELATION_TYPE_UNSPECIFIED", - "DIRECT", - "INDIRECT", - "DIRECT_AND_INDIRECT" - ], - "enumDescriptions": [ - "The relation type is undefined or undetermined.", - "The two entities have only a direct membership with each other.", - "The two entities have only an indirect membership with each other.", - "The two entities have both a direct and an indirect membership with each other." - ], - "type": "string" - }, - "roles": { - "description": "The membership role details (i.e name of role and expiry time).", - "items": { - "$ref": "TransitiveMembershipRole" - }, - "type": "array" - } - }, - "type": "object" - }, - "MemberRestriction": { - "description": "The definition of MemberRestriction", - "id": "MemberRestriction", - "properties": { - "evaluation": { - "$ref": "RestrictionEvaluation", - "description": "The evaluated state of this restriction on a group." - }, - "query": { - "description": "Member Restriction as defined by CEL expression. Supported restrictions are: `member.customer_id` and `member.type`. Valid values for `member.type` are `1`, `2` and `3`. They correspond to USER, SERVICE_ACCOUNT, and GROUP respectively. The value for `member.customer_id` only supports `groupCustomerId()` currently which means the customer id of the group will be used for restriction. Supported operators are `&&`, `||` and `==`, corresponding to AND, OR, and EQUAL. Examples: Allow only service accounts of given customer to be members. `member.type == 2 && member.customer_id == groupCustomerId()` Allow only users or groups to be members. `member.type == 1 || member.type == 3`", - "type": "string" - } - }, - "type": "object" - }, - "Membership": { - "description": "A membership within the Cloud Identity Groups API. A `Membership` defines a relationship between a `Group` and an entity belonging to that `Group`, referred to as a \"member\".", - "id": "Membership", - "properties": { - "createTime": { - "description": "Output only. The time when the `Membership` was created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "deliverySetting": { - "description": "Output only. Delivery setting associated with the membership.", - "enum": [ - "DELIVERY_SETTING_UNSPECIFIED", - "ALL_MAIL", - "DIGEST", - "DAILY", - "NONE", - "DISABLED" - ], - "enumDescriptions": [ - "Default. Should not be used.", - "Represents each mail should be delivered", - "Represents 1 email for every 25 messages.", - "Represents daily summary of messages.", - "Represents no delivery.", - "Represents disabled state." - ], - "readOnly": true, - "type": "string" - }, - "memberKey": { - "$ref": "EntityKey", - "description": "Immutable. The `EntityKey` of the member. Either `member_key` or `preferred_member_key` must be set when calling MembershipsService.CreateMembership but not both; both shall be set when returned." - }, - "name": { - "description": "Output only. The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership`. Shall be of the form `groups/{group_id}/memberships/{membership_id}`.", - "readOnly": true, - "type": "string" - }, - "preferredMemberKey": { - "$ref": "EntityKey", - "description": "Required. Immutable. The `EntityKey` of the member. Either `member_key` or `preferred_member_key` must be set when calling MembershipsService.CreateMembership but not both; both shall be set when returned." - }, - "roles": { - "description": "The `MembershipRole`s that apply to the `Membership`. If unspecified, defaults to a single `MembershipRole` with `name` `MEMBER`. Must not contain duplicate `MembershipRole`s with the same `name`.", - "items": { - "$ref": "MembershipRole" - }, - "type": "array" - }, - "type": { - "description": "Output only. The type of the membership.", - "enum": [ - "TYPE_UNSPECIFIED", - "USER", - "SERVICE_ACCOUNT", - "GROUP", - "SHARED_DRIVE", - "CBCM_BROWSER", - "OTHER" - ], - "enumDescriptions": [ - "Default. Should not be used.", - "Represents user type.", - "Represents service account type.", - "Represents group type.", - "Represents Shared drive.", - "Represents a CBCM-managed Chrome Browser type.", - "Represents other type." - ], - "readOnly": true, - "type": "string" - }, - "updateTime": { - "description": "Output only. The time when the `Membership` was last updated.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "MembershipAdjacencyList": { - "description": "Membership graph's path information as an adjacency list.", - "id": "MembershipAdjacencyList", - "properties": { - "edges": { - "description": "Each edge contains information about the member that belongs to this group. Note: Fields returned here will help identify the specific Membership resource (e.g name, preferred_member_key and role), but may not be a comprehensive list of all fields.", - "items": { - "$ref": "Membership" - }, - "type": "array" - }, - "group": { - "description": "Resource name of the group that the members belong to.", - "type": "string" - } - }, - "type": "object" - }, - "MembershipRelation": { - "description": "Message containing membership relation.", - "id": "MembershipRelation", - "properties": { - "description": { - "description": "An extended description to help users determine the purpose of a `Group`.", - "type": "string" - }, - "displayName": { - "description": "The display name of the `Group`.", - "type": "string" - }, - "group": { - "description": "The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Group`. Shall be of the form `groups/{group_id}`.", - "type": "string" - }, - "groupKey": { - "$ref": "EntityKey", - "description": "The `EntityKey` of the `Group`." - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value.", - "type": "object" - }, - "membership": { - "description": "The [resource name](https://cloud.google.com/apis/design/resource_names) of the `Membership`. Shall be of the form `groups/{group_id}/memberships/{membership_id}`.", - "type": "string" - }, - "roles": { - "description": "The `MembershipRole`s that apply to the `Membership`.", - "items": { - "$ref": "MembershipRole" - }, - "type": "array" - } - }, - "type": "object" - }, - "MembershipRole": { - "description": "A membership role within the Cloud Identity Groups API. A `MembershipRole` defines the privileges granted to a `Membership`.", - "id": "MembershipRole", - "properties": { - "expiryDetail": { - "$ref": "ExpiryDetail", - "description": "The expiry details of the `MembershipRole`. Expiry details are only supported for `MEMBER` `MembershipRoles`. May be set if `name` is `MEMBER`. Must not be set if `name` is any other value." - }, - "name": { - "description": "The name of the `MembershipRole`. Must be one of `OWNER`, `MANAGER`, `MEMBER`.", - "type": "string" - }, - "restrictionEvaluations": { - "$ref": "RestrictionEvaluations", - "description": "Evaluations of restrictions applied to parent group on this membership." - } - }, - "type": "object" - }, - "MembershipRoleRestrictionEvaluation": { - "description": "The evaluated state of this restriction.", - "id": "MembershipRoleRestrictionEvaluation", - "properties": { - "state": { - "description": "Output only. The current state of the restriction", - "enum": [ - "STATE_UNSPECIFIED", - "COMPLIANT", - "FORWARD_COMPLIANT", - "NON_COMPLIANT", - "EVALUATING" - ], - "enumDescriptions": [ - "Default. Should not be used.", - "The member adheres to the parent group's restriction.", - "The group-group membership might be currently violating some parent group's restriction but in future, it will never allow any new member in the child group which can violate parent group's restriction.", - "The member violates the parent group's restriction.", - "The state of the membership is under evaluation." - ], - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "ModifyMembershipRolesRequest": { - "description": "The request message for MembershipsService.ModifyMembershipRoles.", - "id": "ModifyMembershipRolesRequest", - "properties": { - "addRoles": { - "description": "The `MembershipRole`s to be added. Adding or removing roles in the same request as updating roles is not supported. Must not be set if `update_roles_params` is set.", - "items": { - "$ref": "MembershipRole" - }, - "type": "array" - }, - "removeRoles": { - "description": "The `name`s of the `MembershipRole`s to be removed. Adding or removing roles in the same request as updating roles is not supported. It is not possible to remove the `MEMBER` `MembershipRole`. If you wish to delete a `Membership`, call MembershipsService.DeleteMembership instead. Must not contain `MEMBER`. Must not be set if `update_roles_params` is set.", - "items": { - "type": "string" - }, - "type": "array" - }, - "updateRolesParams": { - "description": "The `MembershipRole`s to be updated. Updating roles in the same request as adding or removing roles is not supported. Must not be set if either `add_roles` or `remove_roles` is set.", - "items": { - "$ref": "UpdateMembershipRolesParams" - }, - "type": "array" - } - }, - "type": "object" - }, - "ModifyMembershipRolesResponse": { - "description": "The response message for MembershipsService.ModifyMembershipRoles.", - "id": "ModifyMembershipRolesResponse", - "properties": { - "membership": { - "$ref": "Membership", - "description": "The `Membership` resource after modifying its `MembershipRole`s." - } - }, - "type": "object" - }, - "MoveOrgMembershipRequest": { - "description": "The request message for OrgMembershipsService.MoveOrgMembership.", - "id": "MoveOrgMembershipRequest", - "properties": { - "customer": { - "description": "Required. Immutable. Customer on whose membership change is made. All authorization will happen on the role assignments of this customer. Format: customers/{$customerId} where `$customerId` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may also use `customers/my_customer` to specify your own organization.", - "type": "string" - }, - "destinationOrgUnit": { - "description": "Required. Immutable. OrgUnit where the membership will be moved to. Format: orgUnits/{$orgUnitId} where `$orgUnitId` is the `orgUnitId` from the [Admin SDK `OrgUnit` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/orgunits).", - "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" - }, - "OrgMembership": { - "description": "A membership in an OrgUnit. An `OrgMembership` defines a relationship between an `OrgUnit` and an entity belonging to that `OrgUnit`, referred to as a \"member\".", - "id": "OrgMembership", - "properties": { - "member": { - "description": "Immutable. Org member id as full resource name. Format for shared drive resource: //drive.googleapis.com/drives/{$memberId} where `$memberId` is the `id` from [Drive API (V3) `Drive` resource](https://developers.google.com/drive/api/v3/reference/drives#resource).", - "type": "string" - }, - "memberUri": { - "description": "Uri with which you can read the member. This follows https://aip.dev/122 Format for shared drive resource: https://drive.googleapis.com/drive/v3/drives/{$memberId} where `$memberId` is the `id` from [Drive API (V3) `Drive` resource](https://developers.google.com/drive/api/v3/reference/drives#resource).", - "type": "string" - }, - "name": { - "description": "Required. Immutable. The [resource name](https://cloud.google.com/apis/design/resource_names) of the OrgMembership. Format: orgUnits/{$orgUnitId}/memberships/{$membership} The `$orgUnitId` is the `orgUnitId` from the [Admin SDK `OrgUnit` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/orgunits). The `$membership` shall be of the form `{$entityType};{$memberId}`, where `$entityType` is the enum value of [OrgMembership.EntityType], and `memberId` is the `id` from [Drive API (V3) `Drive` resource](https://developers.google.com/drive/api/v3/reference/drives#resource) for OrgMembership.EntityType.SHARED_DRIVE.", - "type": "string" - }, - "type": { - "description": "Immutable. Entity type for the org member.", - "enum": [ - "ENTITY_TYPE_UNSPECIFIED", - "SHARED_DRIVE" - ], - "enumDescriptions": [ - "Equivalent to no resource type mentioned", - "Shared drive as resource type" - ], - "type": "string" - } - }, - "type": "object" - }, - "PosixGroup": { - "description": "POSIX Group definition to represent a group in a POSIX compliant system. Caution: POSIX groups are deprecated. As of September 26, 2024, you can no longer create new POSIX groups. For more information, see https://cloud.google.com/identity/docs/deprecations/posix-groups", - "id": "PosixGroup", - "properties": { - "gid": { - "description": "GID of the POSIX group.", - "format": "uint64", - "type": "string" - }, - "name": { - "description": "Name of the POSIX group.", - "type": "string" - }, - "systemId": { - "description": "System identifier for which group name and gid apply to. If not specified it will default to empty value.", - "type": "string" - } - }, - "type": "object" - }, - "RestrictionEvaluation": { - "description": "The evaluated state of this restriction.", - "id": "RestrictionEvaluation", - "properties": { - "state": { - "description": "Output only. The current state of the restriction", - "enum": [ - "STATE_UNSPECIFIED", - "EVALUATING", - "COMPLIANT", - "FORWARD_COMPLIANT", - "NON_COMPLIANT" - ], - "enumDescriptions": [ - "Default. Should not be used.", - "The restriction state is currently being evaluated.", - "All transitive memberships are adhering to restriction.", - "Some transitive memberships violate the restriction. No new violating memberships can be added.", - "Some transitive memberships violate the restriction. New violating direct memberships will be denied while indirect memberships may be added." - ], - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "RestrictionEvaluations": { - "description": "Evaluations of restrictions applied to parent group on this membership.", - "id": "RestrictionEvaluations", - "properties": { - "memberRestrictionEvaluation": { - "$ref": "MembershipRoleRestrictionEvaluation", - "description": "Evaluation of the member restriction applied to this membership. Empty if the user lacks permission to view the restriction evaluation." - } - }, - "type": "object" - }, - "RsaPublicKeyInfo": { - "description": "Information of a RSA public key.", - "id": "RsaPublicKeyInfo", - "properties": { - "keySize": { - "description": "Key size in bits (size of the modulus).", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "SamlIdpConfig": { - "description": "SAML IDP (identity provider) configuration.", - "id": "SamlIdpConfig", - "properties": { - "changePasswordUri": { - "description": "The **Change Password URL** of the identity provider. Users will be sent to this URL when changing their passwords at `myaccount.google.com`. This takes precedence over the change password URL configured at customer-level. Must use `HTTPS`.", - "type": "string" - }, - "entityId": { - "description": "Required. The SAML **Entity ID** of the identity provider.", - "type": "string" - }, - "logoutRedirectUri": { - "description": "The **Logout Redirect URL** (sign-out page URL) of the identity provider. When a user clicks the sign-out link on a Google page, they will be redirected to this URL. This is a pure redirect with no attached SAML `LogoutRequest` i.e. SAML single logout is not supported. Must use `HTTPS`.", - "type": "string" - }, - "singleSignOnServiceUri": { - "description": "Required. The `SingleSignOnService` endpoint location (sign-in page URL) of the identity provider. This is the URL where the `AuthnRequest` will be sent. Must use `HTTPS`. Assumed to accept the `HTTP-Redirect` binding.", - "type": "string" - } - }, - "type": "object" - }, - "SamlSpConfig": { - "description": "SAML SP (service provider) configuration.", - "id": "SamlSpConfig", - "properties": { - "assertionConsumerServiceUri": { - "description": "Output only. The SAML **Assertion Consumer Service (ACS) URL** to be used for the IDP-initiated login. Assumed to accept response messages via the `HTTP-POST` binding.", - "readOnly": true, - "type": "string" - }, - "entityId": { - "description": "Output only. The SAML **Entity ID** for this service provider.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "SamlSsoInfo": { - "description": "Details that are applicable when `sso_mode` == `SAML_SSO`.", - "id": "SamlSsoInfo", - "properties": { - "inboundSamlSsoProfile": { - "description": "Required. Name of the `InboundSamlSsoProfile` to use. Must be of the form `inboundSamlSsoProfiles/{inbound_saml_sso_profile}`. ", - "type": "string" - } - }, - "type": "object" - }, - "SearchDirectGroupsResponse": { - "description": "The response message for MembershipsService.SearchDirectGroups.", - "id": "SearchDirectGroupsResponse", - "properties": { - "memberships": { - "description": "List of direct groups satisfying the query.", - "items": { - "$ref": "MembershipRelation" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results available for listing.", - "type": "string" - } - }, - "type": "object" - }, - "SearchGroupsResponse": { - "description": "The response message for GroupsService.SearchGroups.", - "id": "SearchGroupsResponse", - "properties": { - "groups": { - "description": "The `Group` resources that match the search query.", - "items": { - "$ref": "Group" - }, - "type": "array" - }, - "nextPageToken": { - "description": "A continuation token to retrieve the next page of results, or empty if there are no more results available.", - "type": "string" - } - }, - "type": "object" - }, - "SearchTransitiveGroupsResponse": { - "description": "The response message for MembershipsService.SearchTransitiveGroups.", - "id": "SearchTransitiveGroupsResponse", - "properties": { - "memberships": { - "description": "List of transitive groups satisfying the query.", - "items": { - "$ref": "GroupRelation" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results available for listing.", - "type": "string" - } - }, - "type": "object" - }, - "SearchTransitiveMembershipsResponse": { - "description": "The response message for MembershipsService.SearchTransitiveMemberships.", - "id": "SearchTransitiveMembershipsResponse", - "properties": { - "memberships": { - "description": "List of transitive memberships satisfying the query.", - "items": { - "$ref": "MemberRelation" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results.", - "type": "string" - } - }, - "type": "object" - }, - "SecuritySettings": { - "description": "The definiion of security settings.", - "id": "SecuritySettings", - "properties": { - "memberRestriction": { - "$ref": "MemberRestriction", - "description": "The Member Restriction value" - }, - "name": { - "description": "Output only. The resource name of the security settings. Shall be of the form `groups/{group_id}/securitySettings`.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "SendUserInvitationRequest": { - "description": "A request to send email for inviting target user corresponding to the UserInvitation.", - "id": "SendUserInvitationRequest", - "properties": {}, - "type": "object" - }, - "SignInBehavior": { - "description": "Controls sign-in behavior.", - "id": "SignInBehavior", - "properties": { - "redirectCondition": { - "description": "When to redirect sign-ins to the IdP.", - "enum": [ - "REDIRECT_CONDITION_UNSPECIFIED", - "NEVER" - ], - "enumDescriptions": [ - "Default and means \"always\"", - "Sign-in flows where the user is prompted for their identity will not redirect to the IdP (so the user will most likely be prompted by Google for a password), but special flows like IdP-initiated SAML and sign-in following automatic redirection to the IdP by domain-specific service URLs will accept the IdP's assertion of the user's identity." - ], - "type": "string" - } - }, - "type": "object" - }, - "Status": { - "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", - "id": "Status", - "properties": { - "code": { - "description": "The status code, which should be an enum value of google.rpc.Code.", - "format": "int32", - "type": "integer" - }, - "details": { - "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", - "items": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", - "type": "string" - } - }, - "type": "object" - }, - "TransitiveMembershipRole": { - "description": "Message representing the role of a TransitiveMembership.", - "id": "TransitiveMembershipRole", - "properties": { - "role": { - "description": "TransitiveMembershipRole in string format. Currently supported TransitiveMembershipRoles: `\"MEMBER\"`, `\"OWNER\"`, and `\"MANAGER\"`.", - "type": "string" - } - }, - "type": "object" - }, - "UpdateInboundSamlSsoProfileOperationMetadata": { - "description": "LRO response metadata for InboundSamlSsoProfilesService.UpdateInboundSamlSsoProfile.", - "id": "UpdateInboundSamlSsoProfileOperationMetadata", - "properties": { - "state": { - "description": "State of this Operation Will be \"awaiting-multi-party-approval\" when the operation is deferred due to the target customer having enabled [Multi-party approval for sensitive actions](https://support.google.com/a/answer/13790448).", - "type": "string" - } - }, - "type": "object" - }, - "UpdateInboundSsoAssignmentOperationMetadata": { - "description": "LRO response metadata for InboundSsoAssignmentsService.UpdateInboundSsoAssignment.", - "id": "UpdateInboundSsoAssignmentOperationMetadata", - "properties": {}, - "type": "object" - }, - "UpdateMembershipRolesParams": { - "description": "The details of an update to a `MembershipRole`.", - "id": "UpdateMembershipRolesParams", - "properties": { - "fieldMask": { - "description": "The fully-qualified names of fields to update. May only contain the field `expiry_detail.expire_time`.", - "format": "google-fieldmask", - "type": "string" - }, - "membershipRole": { - "$ref": "MembershipRole", - "description": "The `MembershipRole`s to be updated. Only `MEMBER` `MembershipRoles` can currently be updated. May only contain a `MembershipRole` with `name` `MEMBER`." - } - }, - "type": "object" - }, - "UserInvitation": { - "description": "The `UserInvitation` resource represents an email that can be sent to an unmanaged user account inviting them to join the customer's Google Workspace or Cloud Identity account. An unmanaged account shares an email address domain with the Google Workspace or Cloud Identity account but is not managed by it yet. If the user accepts the `UserInvitation`, the user account will become managed.", - "id": "UserInvitation", - "properties": { - "mailsSentCount": { - "description": "Number of invitation emails sent to the user.", - "format": "int64", - "type": "string" - }, - "name": { - "description": "Shall be of the form `customers/{customer}/userinvitations/{user_email_address}`.", - "type": "string" - }, - "state": { - "description": "State of the `UserInvitation`.", - "enum": [ - "STATE_UNSPECIFIED", - "NOT_YET_SENT", - "INVITED", - "ACCEPTED", - "DECLINED" - ], - "enumDescriptions": [ - "The default value. This value is used if the state is omitted.", - "The `UserInvitation` has been created and is ready for sending as an email.", - "The user has been invited by email.", - "The user has accepted the invitation and is part of the organization.", - "The user declined the invitation." - ], - "type": "string" - }, - "updateTime": { - "description": "Time when the `UserInvitation` was last updated.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "WipeDeviceRequest": { - "description": "Request message for wiping all data on the device.", - "id": "WipeDeviceRequest", - "properties": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", - "type": "string" - }, - "removeResetLock": { - "description": "Optional. Specifies if a user is able to factory reset a device after a Device Wipe. On iOS, this is called \"Activation Lock\", while on Android, this is known as \"Factory Reset Protection\". If true, this protection will be removed from the device, so that a user can successfully factory reset. If false, the setting is untouched on the device.", - "type": "boolean" - } - }, - "type": "object" - }, - "WipeDeviceResponse": { - "description": "Response message for wiping all data on the device.", - "id": "WipeDeviceResponse", - "properties": { - "device": { - "$ref": "Device", - "description": "Resultant Device object for the action. Note that asset tags will not be returned in the device object." - } - }, - "type": "object" - }, - "WipeDeviceUserRequest": { - "description": "Request message for starting an account wipe on device.", - "id": "WipeDeviceUserRequest", - "properties": { - "customer": { - "description": "Optional. [Resource name](https://cloud.google.com/apis/design/resource_names) of the customer. If you're using this API for your own organization, use `customers/my_customer` If you're using this API to manage another organization, use `customers/{customer_id}`, where customer_id is the customer to whom the device belongs.", - "type": "string" - } - }, - "type": "object" - }, - "WipeDeviceUserResponse": { - "description": "Response message for wiping the user's account from the device.", - "id": "WipeDeviceUserResponse", - "properties": { - "deviceUser": { - "$ref": "DeviceUser", - "description": "Resultant DeviceUser object for the action." - } - }, - "type": "object" - } - }, - "servicePath": "", - "title": "Cloud Identity API", - "version": "v1beta1", - "version_module": true -} \ No newline at end of file